Оплата
Транзакция оплаты - это операция списания средств со счета пользователя в альтернативной платежной системе. Каждая платежная система устанавливает свои условия проведения операции оплаты и имеет собственный механизм списания средств.
Запрос
Для проведения оплаты отправьте POST запрос на https://api.bepaid.by/beyag/transactions/payments со следующими параметрами:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Пример запроса
{
"request":{
"amount":100,
"currency":"USD",
"description":"description",
"test": false,
"expired_at": "2025-01-01T15:00:00+01:00",
"tracking_id":"your_uniq_number",
"ip":"127.0.0.1",
"language":"en",
"notification_url":"https://merchant.ltd/notification",
"return_url":"https://merchant.ltd/return",
"customer":{
"first_name":"John",
"last_name":"Doe",
"middle_name": "Mid",
"country":"US",
"city":"Denver",
"zip":"96002",
"address":"1st Street",
"phone":"17777777777",
"device_id":"12312312321fff67",
"external_id": "123bh7",
"taxpayer_id": "010200A9618"
},
"custom_fields": {
"custom_field_1": {
"label": "Номер карты лояльности",
"value": "34"
},
"custom_field_2": {
"label": "Номер договора",
"value": "12349"
},
"custom_field_3": {
"label": "Дополнительный идентификатор заказа",
"value": "09876"
}
},
"method":{
"type": ":method_name"
},
"additional_data": {
"referer": "https://example.com/server/cs_post/post.php?order_id=5304380&security=949247¤cy=USD"
}
}
}
Ответ
Если запрос на оплату принят успешно, в ответ на него придет сообщение, содержащее в строковом виде JSON-объект с дополнительными информационными полями. Такое же сообщение будет отправлено после проведения оплаты в уведомлении на адрес, указанный в notification_url. Полученный в ответе JSON-объект имеет единственный ключ transaction, значением которого является другой JSON-объект со следующими полями:
|
|||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
В случае ошибки ответ на запрос будет иметь следующие параметры:
|
|||||||||
Пример ответа
{
"transaction":{
"uid":"2-52671c8733",
"type":"payment",
"status":"successful",
"amount":100,
"currency":"USD",
"description":"Test transaction",
"created_at":"2024-06-11T12:04:59+03:00",
"updated_at":"2024-06-11T12:04:59+03:00",
"tracking_id":"tracking_id_000",
"message":"Successfully processed",
"test":true,
"method_type":":method_name",
"receipt_url": "https://merchant.bepaid.by/customer/transactions/2-52671c8733/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
":method_name":{
"type":":method_name",
"token":"55524-1559836037-0-1800"
},
"payment":{
"status":"successful",
"gateway_id":85,
"ref_id":"777888",
"message":"The operation was successfully processed",
"bank_code": null,
"rrn": null
},
"customer":{
"ip":"127.0.0.1",
"email":"john@example.com"
},
"billing_address":{
"first_name":"John",
"last_name":"Doe",
"address":"1st Street",
"country":"US",
"city":"Denver",
"zip":"96002",
"phone":17777777777
},
"smart_routing_verification": {
"status": "successful"
},
"additional_data": {
"referer": "https://example.com/server/cs_post/post.php?order_id=5304380&security=949247¤cy=USD"
}
}
}
Пример ответа с параметрами формы
{
"transaction":{
"status":"pending",
"type":"payment",
"uid":"8759cf84-e56d-44b7-a8ae-62640f6402c4",
"amount":1000,
"currency":"USD",
"description":"Order #123",
"tracking_id":"AB8923",
"created_at":"2024-12-07T14:21:24.420Z",
"expired_at":"2025-12-07T14:51:240Z",
"paid_at":"2024-12-07T14:40:120Z",
"test":true,
"method_type":":method_name",
"receipt_url": "https://merchant.bepaid.by/customer/transactions/2-52671c8733/11443f39ae75aa1f955a9c9283cd5045bfb0413b65d666f834a9da4e7d3926b5",
"language":"en",
"billing_address":{
"first_name": "Ivan",
"middle_name": "M",
"last_name": "Doe",
"country": "LV",
"city": "Riga",
"zip": "LV1024",
"address": "Brivibas str, 123",
"phone": "+372500000000"
},
"customer":{
"email":"ivan@example.com",
"ip":"127.0.0.7"
},
"payment":{
"ref_id":null,
"message":null,
"status":"pending",
"gateway_id":1,
"bank_code": null,
"rrn": null
},
":method_name":{
"type":":method_name",
"account":"myaccount@example.com",
},
"form":{
"action":"https://pay.method-name.com",
"method":"GET",
"fields":[
{
"type":"hidden",
"name":"sid",
"id":"sid",
"value":"185737d3d7f665641ab339ea38dc06bc"
}
]
}
}
}
Пример ответа с ошибкой
{
"message": "Unknown 'method_name_new' payment method",
"errors": {
"system": [
"System error."
]
}
}
Пример HTML-формы на основе ответа
На основе ответа из примера выше необходимо сформировать и предоставить пользователю для отправки следующую HTML-форму:
<form id="payment-form" action="https://pay.method-name.com" accept-charset="UTF-8" method="get">
<input name="utf8" type="hidden" value="✓" />
<input type="hidden" name="sid" id="sid" value="185737d3d7f665641ab339ea38dc06bc" />
<input type="submit" name="submit" value="Оплатить">
</form>
Обратите внимание на то, что в ответе выше отсутствует параметры кнопки отправки формы (<input type="submit" name="submit" value="Оплатить">) - её вам необходимо добавить самостоятельно в соответствии с дизайном вашего сайта и языковыми предпочтениями.