Проверка баланса счета
Остаток на счету
Механизм взаимодействия, описанный на данной странице предоставит Вам возможность отслеживать баланс ваших счетов.
Формирование запроса происходит POST запросам, вам необходимо передать логин и пароль.
Если вам нужен конкретный счет, вы можете передать его номер, или же не вводить и
получите весь список счетов. Вы можете выбрать формат ответа JSON, XML, TEXT.
POST
https://uapi.bpay.md/v1/balance
$json = [ 'login' => $this->login, /* Логин */ 'password' => $this->password, /* Пароль */ 'format' => 'json', /* Формат */ 'account' => '2222222', /* Номер счета, Указывайте если хотите получить данные определенного счета */ ];
Для передачи запроса, необходимо воспользоваться CURL. И Реализовать как пример ниже,
для того что бы управлять форматами ответа.
function request(string $url, array $json){ $url = $url . "?format={$json['format']}"; /* Управление форматами */ unset($json['format']); $jsonrequest = json_encode($json); $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent=Mozilla/5.0 Firefox/1.0.7"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonrequest); $_PROVIDER_ANSWER = curl_exec($curl); return $_PROVIDER_ANSWER; }
Поле | Тип | Значение | Описание |
---|---|---|---|
login | String | Обязательно | Указанный при регистрации в системе bpay.md и используемый для входа |
password | String | Обязательно | Пароль, указанный при регистрации в системе bpay.md и используемый для входа |
format | String | Необязательно | По стандарту формат ответа json. Вы можете выбрать формат который больше всего подходит json, xml, text. |
account | Number | Необязательно | Если не указывать данный параметр , вы получите весь список счетов. Укажите номер счета и получите конкретный счет с информацией. |
{ "code": 100, "text": "success", "result": [ { "account": 11999019, "sum": "49547.00", "valute": "498", "valutename": "MDL" } ] }
» Формат: XML
<?xml version="1.0" encoding="utf-8"?> <response> <code>100</code> <text>success</text> <result> <account>11999019</account> <sum>49547.00</sum> <valute>498</valute> <valutename>MDL</valutename> </result> </response>
{ "code": 100, "text": "success", "result": [ [ { "account": "11861932", "sum": "-5302.32", "valute": "498", "valutename": "MDL" }, { "account": "11999019", "sum": "49547.00", "valute": "498", "valutename": "MDL" } ] ] }
» Формат: XML
<?xml version="1.0" encoding="utf-8"?> <response> <code>100</code> <text>success</text> <result> <item key="0"> <account>11861932</account> <sum>-5302.32</sum> <valute>498</valute> <valutename>MDL</valutename> </item> <item key="1"> <account>11999019</account> <sum>49547.00</sum> <valute>498</valute> <valutename>MDL</valutename> </item> </result> </response>
<?php class UserApi{ private $login = 'Login'; private $password = 'Password'; private $apiURL = 'https://uapi.bpay.md/v1/balance'; public function balance(){ $json = [ 'login' => $this->login, 'password' => $this->password, 'format' => 'xml', ]; return $this->request($this->apiURL , $json); } private function request(string $url, array $json){ $url = $url . "?format={$json['format']}"; unset($json['format']); $jsonrequest = json_encode($json); $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent=Mozilla/5.0 Firefox/1.0.7"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonrequest); $_PROVIDER_ANSWER = curl_exec($curl); return $_PROVIDER_ANSWER; } } $ApiClient = new UserApi(); echo $ApiClient->balance();
Получение выписки с счета
Данный запрос служит для получения выписки по счету по указанному аккаунту
account.
Отправка данных совершается следующим образом.
POST
https://www.bpay.md/user-api/getpaymentshistory
<request> <auth type="1"> <login>your_login</login> <password>your_password</password> </auth> <account>1</account> <date_start>1</date_start> <date_end>1</date_end> <state>1</state> <service>1</service> <date_type>1</date_type> </request>
» Формат: JSON
POST
https://www.bpay.md/user-api-v2/
$json = [ 'auth' => [ 'login' => 'Login', 'password' => 'Password', ], 'account' => '11656558', 'date_end' => '2019-04-24', 'date_start' => '2019-04-24', 'aditional' => [ 'service' => 'bpay', 'date_type' => 1, 'state' => 100, ] ];
Поле | Тип | Значение | Описание |
---|---|---|---|
auth | String | Обязательно | Объединяет в себе параметр login и password |
login | String | Обязательно | Указанный при регистрации в системе bpay.md и используемый для входа |
password | String | Обязательно | Пароль, указанный при регистрации в системе bpay.md и используемый для входа |
account | Number | Обязательно | Номер bpay кошелька |
date_start | Date | Обязательно | Дата с |
date_end | Date | Обязательно | Lата по |
state | Number | Необязательно | Сатус платежей. При отсутствии какого-либо значения будут получены все имеющиеся платежи. Коды можно просмотреть ниже в таблице. |
service | Number | Необязательно | Идентификатор услуги в пользу которой осуществлен платеж. Если поле пустое, то в ответе будут получены все имеющиеся платежи |
date_type | String | Необязательно | Eсли поле пустое , то в ответе будут получены платежи по времени создания(addtime), если указана 1 ,то будут получены платежи по времени финального статуса(statetime) |
После верного формирования запроса, вы получите ответ с данными.
» Формат: XML
<?xml version='1.0' encoding="utf8"?> <result> <code>100</code> <text>Success</text> <payments> <payment trid="111111" addtime="2016-11-23 13:09:10" statetime="2016-11-23 18:09:10" service=" Infocom" serviceaccount=" 1123548895" amount=" -1.00" description=" achitarea serviciilor Infocom" receipt=" 101496327083089" balance=" 497.98"> guid="3214b276-b965-11e7-b414-525400464f7d"> </payment> <payment trid="1115669" addtime="2016-11-25 20:09:10" statetime="2016-11-25 20:10:10" service=" bpay" serviceaccount=" 1113333555" amount=" -100.00" description=" achitarea serviciilor bpay" receipt=" 201496327083089" balance=" 500.98"> guid="3214b273-b965-11e7-b414-525400464f7d"> </payment> </payments> <total> <total_sum>-101</total_sum> <total_payments>2</total_payments> </total> </result>
» Формат: JSON
{ "code":100, "text":"OK", "payments":[ { "TrID":"5701299", "AddTime":"2020-04-21 09:04:03", "Service":"bpay", "ServiceAccount":"123", "ToAmount":"10.00", "Description":"Описание товара", "Receipt":"104557702648042", "FromAcc":"4", "ToAcc":"11042704", "State":"100", "Context":null, "RestFrom":"9990.00", "RestTo":"12022.58", "Guid":"0c74780d-83af-11ea-bf30-0200c0a87304", "StateTime":"2020-04-21 11:09:16" }, { "TrID":"5701321", "AddTime":"2020-04-21 20:07:42", "Service":"bpay", "ServiceAccount":"11600653", "ToAmount":"10.00", "Description":"Описание товара", "Receipt":"105901732459573", "FromAcc":"4", "ToAcc":"11042704", "State":"100", "Context":"{"rettrid": 5701322}", "RestFrom":"9957.59", "RestTo":"11916.82", "Guid":"c2574c76-840b-11ea-bf30-0200c0a87304", "StateTime":"2020-04-21 20:41:43" } ], "total":[ { "TotalToAmount":"39.09", "CountPayments":"4" } ] }
Параметры | Значение |
---|---|
code | Статус запроса. Все статусы можно просмотреть ниже в таблице. |
text | текстовое описание статуса |
trid | уникальный номер платежа |
addtime | дата и время платежа |
statetime | дата и время финального статуса |
service | название оплаченной услуги |
serviceaccount | номер счета/фактуры указанный плательщиком при платеже |
amount | сумма платежа |
description | описание платежа |
receipt | номер чека |
balance | баланс bpay кошелька после проведенной транзакции |
guid | (Globally Unique Identifier) — статистически уникальный 128-битный идентификатор |
total_sum | общая сумма платежей за выбранный период |
total_payments | количество платежей за выбранный период |
Код | Описание |
---|---|
100 | запрос успешен |
-10 | запрос на выписку по счета для указанного аккаунта запрещен |
-20 | ошибка авторизации |
-26 | <не представляется возможным извлечь платежи старше 40 дней/td> |
-80 | ошибка базы данных |
-85 | error in json parsing |
<?php $xml=" <request> <auth type=\"1\"> <login>myusername</login> <password>mypassword</password> </auth> <account>11212640</account> <date_start>2016-11-23 13:12:00</date_start> <date_end>2016-11-25 23:59:59</date_end> </request>"; $resp=request($xml, 'https://www.bpay.md/user-api/getpaymentshistory'); echo $resp; function request($xmlrequest, $address) { $curl = curl_init(); curl_setopt($curl,CURLOPT_CUSTOMREQUEST,"POST"); curl_setopt($curl,CURLOPT_POST, 1); curl_setopt($curl,CURLOPT_URL, $address); curl_setopt($curl,CURLOPT_USERAGENT,"User-Agent=Mozilla/5.0 Firefox/1.0.7"); curl_setopt($curl,CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl,CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl,CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl,CURLOPT_POSTFIELDS, $xmlrequest); $_PROVIDER_ANSWER = curl_exec($curl); return $_PROVIDER_ANSWER; } ?>
/** * Class UserApi */ class UserApi{ private $login = 'your login'; private $password = 'your password'; private $apiURL = 'https://www.bpay.md/user-api-v2/'; /** * @param array $rdata * @return bool|string */ public function getPaymentsHistory(array $rdata){ $json = [ 'auth' => [ 'login' => $this->login, 'password' => $this->password, ], 'account' => $rdata['account'], 'date_start' => $rdata['date_start'], 'date_end' => $rdata['date_end'] ]; $json = array_merge($json,$rdata['aditional']); $url = $this->apiURL.'getPaymentsHistory'; return $this->request($url,$json); } /** * @param string $url * @param array $json * @return bool|string */ private function request(string $url, array $json){ $jsonrequest = json_encode($json); $curl = curl_init(); curl_setopt($curl, CURLOPT_CUSTOMREQUEST, "POST"); curl_setopt($curl, CURLOPT_POST, 1); curl_setopt($curl, CURLOPT_URL, $url); curl_setopt($curl, CURLOPT_USERAGENT, "User-Agent=Mozilla/5.0 Firefox/1.0.7"); curl_setopt($curl, CURLOPT_RETURNTRANSFER, 1); curl_setopt($curl, CURLOPT_SSL_VERIFYHOST, false); curl_setopt($curl, CURLOPT_SSL_VERIFYPEER, false); curl_setopt($curl, CURLOPT_POSTFIELDS, $jsonrequest); $_PROVIDER_ANSWER = curl_exec($curl); return $_PROVIDER_ANSWER; } $ApiClient = new UserApi(); echo $ApiClient->getPaymentsHistory([ 'account' => '11656558', 'date_end' => '2019-04-24', 'date_start' => '2019-04-24', 'aditional' => [ 'service' => 'bpay', 'date_type' => 1, 'state' => 100, ] ]); }