Трансграничный приём
Плательщик переводит деньги в банк (или оператору связи) другой страны: сумма заказа задаётся в валюте currency, а плательщик вносит сумму к оплате в валюте реквизита — requisites.amount_local.
| Метод | Реквизит (requisites.type) |
|---|---|
CROSS_BORDER | card — номер карты или phone — номер телефона |
CROSS_BORDER_CARD | то же, что CROSS_BORDER |
CROSS_BORDER_SIM | sim — номер телефона абонента у оператора связи |
currency обязательна и должна совпадать с валютой терминала. country — необязательно, страна, в которую направить платёж (ISO-2); для нерублёвой заявки при отсутствии реквизитов в этой стране платёж направляется как без country. Для CROSS_BORDER_SIM в bank можно передать код оператора (для Таджикистана: tcell, babilon_mobile, megafon_tjs, beeline_tj, zet_mobile); коды — в GET /v1/public/banks.
Сумма
currency = валюта реквизита | currency ≠ валюта реквизита (напр. RUB) | |
|---|---|---|
requisites.amount_local | равна amount | сумма к оплате в валюте реквизита |
Пример запроса
curl -X POST https://api.bopay.io/v1/payments \
-H "Content-Type: application/json" \
-H "X-Identity: <API-key>" \
-H "X-Signature: <Signature>" \
-d '{
"ext_id": "order_1",
"amount": 10000,
"currency": "RUB",
"method": "CROSS_BORDER_CARD",
"country": "KZ"
}'
Пример ответа
{
"id": "550e8400-e29b-41d4-a716-446655440000",
"ext_id": "order_1",
"amount": 10000,
"currency": "RUB",
"rate": 92.5,
"payin_rate": 7,
"terminal_id": "6f15ad5b-325f-44ca-8f36-233379dcaf4c",
"terminal_name": "Main Terminal",
"status": "PENDING",
"method": "CROSS_BORDER_CARD",
"requisites": {
"type": "card",
"value": "4400430212345678",
"bank": "kaspi",
"bank_name": "Kaspi Bank",
"country": "KZ",
"currency": "KZT",
"amount_local": 54500.00
},
"payment_url": "https://pay.bopay.io/invoice?id=550e8400-e29b-41d4-a716-446655440000",
"valid_until": "2026-01-30T12:30:00Z",
"created_at": "2026-01-30T12:15:00Z"
}
Плательщик переводит amount_local в валюте requisites.currency по реквизиту requisites.value. Остальные поля — как в создании платежа.
Ошибки
| Код | HTTP | Причина |
|---|---|---|
PAY_002 | 400 | currency is required for method CROSS_BORDER — не передана currency |
PAY_002 | 400 | currency KZT does not match terminal currency RUB — валюта не совпадает с валютой терминала |
PAY_002 | 400 | unsupported currency: XYZ / unsupported country: XX |
PAY_004 | 503 | Нет доступных реквизитов для страны/метода |