Single-request payments
Card payments can be processed with a single request—the result is returned immediately in the response. In this case, webhooks from Bank 131 are not sent.
This method is suitable if you are not using the payment form widget.
We do not recommend processing payments with a single request. If you still wish to use this method, please contact your personal account manager at Bank 131.
Step 1. Create a payment with a single request
Start the payment using the session/init/payment/sync method. Pass the payment parameters.
Single-request payment example
curl -X POST \
https://proxy.bank131.ru/api/v1/session/init/payment/sync \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"payment_details": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242",
"expiration_month": "01",
"expiration_year": "22",
"security_code": "123"
}
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"customer": {
"reference": "lucky"
},
"payment_options": {
"return_url": "https://131.ru"
}
}'
Step 2. Wait for the payment result
The payment status is returned in the response in the status parameter of the acquiring_payments/payment_list array:
succeeded— the payment was successfulfailed— the payment failed due to an errorpending— 3D Secure authentication is required. Redirect the payer using the link from thecustomer_interaction.redirect.urlparameter to complete 3D Secure authenticationin_progress— the payment is being processed (returned if processing takes more than 40 seconds)
Successful response example
{
"status": "ok",
"session": {
"id": "ps_3230",
"status": "accepted",
"created_at": "2025-05-27T02:03:00.000000Z",
"updated_at": "2025-05-27T02:03:00.000000Z",
"acquiring_payments": [{
"id": "pm_203",
"status": "succeeded",
"created_at": "2025-05-27T02:03:00.000000Z",
"customer": {
"reference": "lucky"
},
"payment_details": {
"type": "card",
"card": {
"brand": "visa",
"last4": "4242"
}
},
"amount_details": {
"amount": 10000,
"currency": "rub"
},
"payment_options": {
"return_url": "https://131.ru"
}
}]
}
}
info
You can also check the final status using the session/status method.