Documentation

Documentation

  • Bank 131 API
  • Languages iconEnglish
    • Русский

›Payment Scenarios

131 Documentation

  • API features
  • Where to begin

Introduction to API

  • Interaction
  • API libraries
  • Testing
  • Version history

How Payouts Work

  • Features
  • How it all works
  • Main payout scenario
  • Payout refunds
  • The Self-employed

    • Payouts to the self-employed
    • Fiscalization

    Payout Methods

    • To a Russian bank card
    • To a Russian bank account
    • To a QIWI Wallet
    • To a YooMoney (Yandex.Money)
    • To the Russian Federal Tax Agency
    • Via FPS by a phone number

    Payout Scenarios

    • Payout to a card via widget
    • Payout from a nominal account to a bank card
    • Single-request payout
    • Payout to a card with PCI DSS
    • Payout to a self-employed person with fiscal receipt

How Payments Work

  • Features
  • Payment process
  • Payments via bank card
  • Payments with later capture
  • Refunds
  • Recurring payments
  • Payments via FPS by QR code
  • Payments via Telegram

    • How to create your Telegram bot
    • How to connect your Telegram bot
    • How to setup your Telegram bot

    Split Payments

    • Features and options
    • Split payments out of the box
    • Split payments using API

    Payment Scenarios

    • Paying via payment form
    • Paying with PCI DSS
    • Single-request payment

Widgets

  • Widget to get card details
  • Payment form widget
  • Widget for linking a self-employed person to the Bank

Passport Verification

  • Features
  • Interaction
  • Methods

    • Verification request
    • Verification status
  • Response and errors

The Self-employed

  • General info
  • Linking
  • Testing
  • Verification
  • Notifying
  • Accruals

Reports

  • Payouts report
  • Payments report
  • Monthly report

API Reference

  • Objects
  • Methods
  • Webhooks
  • Error codes

Single-request payment

You can send a payment as single request, with no interim steps (if you can do it without them). You will shortly get the payment result in response.

This option can work if:

  • you have the PCI DSS certificate
  • you don't use the payment form widget

Here, a payment with immediate capture is described. More about payments with later capture

How to enable

For such payments, there is a special method, session/init/payment/sync. Inform the Bank 131 manager that you want to use it.

In this case, you will not receive webhooks from Bank 131. You can learn the transaction status with the request session/status.

How to perform a payment

Send the request session/init/payment/sync.

In the field payment_method.type, specify the value card. In the object BankCard, specify user bank card details. In the field payment_options.return_url, specify the address to which the user should be redirected after the payment is processed (it is required).

The payment result will be returned in response to the request in the field payment.status:

  • succeeded — the payment has completed successfully
  • failed — the payment has not gone through because of an error
  • pending — the user needs to go through 3D Secure verification.

More about payment statuses

Payment request example

cURL
curl --location --request POST 'https://proxy.bank131.ru/api/v1/session/init/payment/sync' \
--header 'Content-Type: application/json' \
--header 'X-PARTNER-SIGN: sign' \
--header 'X-PARTNER-PROJECT: project' \
--data-raw '{
"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"
}
}'

If a result is not returned

Sometimes, the final payment status is not returned in response to a request. For instance, if a payment is being processed for a very long time or the user card requires 3D Secure.

Too long payment

If payment processing lasts more than 40 seconds, the intermediate payment status, in_progress, will be included in the response.

To learn the final payment status, send the request session/status.

3D Secure card

If a user card requires 3D Secure, redirection details will be returned in response to the request. Redirect the user to customer_interaction.redirect.url.

After that, send the request session/status to learn the final payment status.

← Paying with PCI DSSWidget to get card details →
  • How to enable
  • How to perform a payment
  • If a result is not returned
    • Too long payment
    • 3D Secure card
Documentation
Documentation
PayoutsPaymentsAPI ReferenceService documents
Step by step
Payout to a card via widgetPayout to a card with PCI DSSPayout to the self-employed Paying via payment form
Get in touch
Ideas and partnerships — partners@131.ruMedia — press@131.ru
© 2023 Bank 131