🇷🇺 RU: Bank Card Disbursement

📘

"paymentMethodName": "DisbursementBankCardRUS"


Payment Method Features

FeatureDisbursementBankCardRUS
CountryRussia
"paymentMethodName" in APIDisbursementBankCardRUS
Processing CurrenciesRUB
PaymentsNo
DisbursementsYes
-- Min per transaction amount1 RUB
-- Max per transaction amountVary, depends on your contract
RefundsNo
ChargebacksNo

Possible Disbursement Scenarios:

Our API will provide you with all the necessary information to execute on of the following scenario:

  1. The client requests a disbursement
  2. The system returns a disbursement status and info

The latest disbursement status is returned via a callback.


RU Bank Card Disbursement Workflow

Download in high resolution


[Step 2] You need to create a new intent

  • Use the following API method to create an intent: POST /processing/api/v1/intents.
  • When creating the intent, complete the Disbursement object.
  • Most fields are common across all payment methods and are thoroughly described in the API Reference section.
  • Method-specific parameters ( please make sure you provided them correctly):
  •   "incomingDetails": {
        "number": "4111111111111111",
        "holderName": "Will Rush",
        "expiryMonth": 12,
        "expiryYear": 2035,
        "cvv": "123"
      }
  • Ensure these all the required fields are completed accurately so that we can process your request correctly.

Request Example

{
    "clientReferenceId": "202510202",
    "disbursements": [
        {
            "payeePaymentInstrument": {
                "paymentMethodName": "DisbursementBankCardRUS",
                "incomingDetails": {
                    "number": "4111111111111111",
                    "holderName": "Will Rush",
                    "expiryMonth": 12,
                    "expiryYear": 2035,
                    "cvv": "123"
                }
            },
            "submittedAmount": {
                "value": null,
                "currency": "RUB"
            },
            "authAmount": {
                "value": 200,
                "currency": "RUB"
            }
        }
    ]
}

payments[].payeePaymentInstrument.incomingDetails for RU Bank Card Disbursement

FieldRequiredTypeDescriptionExample
numberYesStringBank Card Number of client. Length is 3-22 characters4111111111111111
holderNameOptionalStringFull name of the cardholder as printed on the card.Will Rush
expiryMonthOptionalNumberTwo-digit expiration month of the card.12
expiryYearOptionalNumberFour-digit expiration year of the card.2035
cvvOptionalStringCard Verification Value — the 3-digit security code printed on the card.123

disbursements[].submittedAmount and disbursements[].authAmount

Having two objects that looks similar might be confusing, however we need both objects to process your request correctly when the FX is involved.

Please follow the instruction on the dedicated page Amount Fields: submittedAmount and authAmount


[Step 5] Return the status in response

  • In the response, you will receive an disbursement id and status

Response Example

{
    "intentId": "24148546870213835",
    "payments": [],
    "disbursements": [
        {
            "id": "241485668832161722",
            "submittedAmount": {
                "value": 200.00,
                "currency": "RUB"
            },
            "authAmount": {
                "value": 200.00,
                "currency": "RUB"
            },
            "payeePaymentInstrument": {
                "id": "3525967789943272833",
                "storedDetails": {
                    "number": "4111111111111111",
                    "holderName": "Will Rush",
                    "expiryMonth": 12,
                    "expiryYear": 2035,
                    "cvv": "123"
                }
            },
            "createdAt": 1761558494.451581186,
            "status": "ACCEPTED"
        }
    ],
    "clientReferenceIntentId": "202510202",
    "intentStatus": "CREATED"
}

[9] Receive the webhook with the transaction status

🔗

More about Disbursement Callbacks on the dedicated page

  • After the transaction was processed and reached its final status (PAID_OUT or DECLINED)
  • The Platform will notify you about the latest status change via the callback

SIMPLE WEBHOOK WITH TRANSACTION STATUS

{
    "transactionType": "DISBURSEMENT",
    "transactionId": "111122223333444455",
    "status": "ACCEPTED"
}

Test Data

Our system allows you to simulate different disbursement statuses in the sandbox environment by using magic numbers. Please use the following payment method:

📘

"paymentMethodName": "TestPaymentMethod"


Magic Numbers

Magic numbers are special values that can be applied to simulate different disbursement statuses during testing. They allow you to emulate the business process and force the platform to return a specific status.

  • Magic numbers must be applied to the decimal part of the authAmount.value
  • The platform will use the last digit in the decimal part to determine the resulting status.
Last DigitDisbursement Status
2PAID_OUT
3DECLINED

❗️

Sandbox environment only.
When creating a test disbursement, please fill in the incomingDetails correctly. The test card data has set of required values that differs from the production method.

Test Disbursement Request Example

{
  "clientReferenceId": "12345672",
  "disbursements": [
    {

      "payeePaymentInstrument": {
        "paymentMethodName": "TestPaymentMethod",
        "incomingDetails": {
                    "brand": "VISA",
                    "number": "4111111111111111",
                    "cvv": "123",
                    "holderName": "Will Rush",
                    "expiryMonth": 12,
                    "expiryYear": 2035
                }
      },
      "submittedAmount": {
        "value": null,
        "currency": "RUB"
      },
      "authAmount": {
        "value": 100.2,
        "currency": "RUB"
      }
    }
  ]
}

payments[].payeePaymentInstrument.incomingDetails for TestPaymentMethod

FieldRequired
brandYes
numberYes
holderNameYes
expiryMonthYes
expiryYearYes
cvvYes