🇷🇺 RU: Phone Disbursement

📘

"paymentMethodName": "MobileMoneyRU"

Payment Method Features

FeatureMobileMoneyRU
CountryRussia
"paymentMethodName" in APIMobileMoneyRU
Processing CurrenciesRUB
PaymentsNo
DisbursementsYes
-- Min per transaction amountVary, depends on your contract
-- 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.


Workflow: Mobile Disbursements

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.
  • Ensure these all the required fields are completed accurately so that we can process your request correctly.

Request Example

{
    "clientReferenceId": "202510202",
    "disbursements": [
        {
            "payee": {
                "phone": "+71234567890"
            },
            "payeePaymentInstrument": {
                "paymentMethodName": "MobileMoneyRU"
            },
            "submittedAmount": {
                "value": null,
                "currency": "RUB"
            },
            "authAmount": {
                "value": 200,
                "currency": "RUB"
            }
        }
    ]
}

Request fields description:

disbursements[].payee

FieldRequiredTypeDescriptionExample
phoneYesStringRecipient's phone number+71234567890

disbursements[].payeePaymentInstrument

FieldRequiredTypeDescriptionExample
paymentMethodNameYesStringPayment method nameSBP

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 4] 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,
                "currency": "RUB"
            },
            "authAmount": {
                "value": 200,
                "currency": "RUB"
            },
            "payeePaymentInstrument": {
                "id": "3525967789943272833"
            },
            "createdAt": 1761558494.4515812,
            "status": "ACCEPTED"
        }
    ],
    "clientReferenceIntentId": "202510202",
    "intentStatus": "CREATED"
}

[5] Receive the callback 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 CALLBACK WITH TRANSACTION STATUS

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

Test Data

Our system allows you to simulate different disbursement statuses in the sandbox environment. To simulate specific scenarios and receive different results, use POST /processing/api/v1/intents the intent.description parameter.

Phone Disbursement Test flow

High-resolution image is available here

Caseintent.descriptionFinal disbursement status
Successful disbursement--PAID_OUT
Disbursement declinedDeclinedDisbursementDECLINED
Disbursement error occurredCreationErrorERROR

Test scenarios

Case

Steps

Successful disbursement

  1. The client creates an intent via  POST /processing/api/v1/intents .
  2. A synchronous response is returned with status = DISBURSEMENT_REQUESTED.
  3. A callback is received with status = PAID_OUT.

Disbursement declined

  1. The client creates an intent via POST /processing/api/v1/intents using the intent.description parameter with the value "DeclinedDisbursement".
  2. A synchronous response is returned with status = DISBURSEMENT_REQUESTED .
  3. A callback is received with status = DECLINED.

Disbursement error occurred

  1. The client creates an intent via  POST /processing/api/v1/intents using the intent.description parameter with the value "CreationError".
  2. A synchronous response is returned with status = ERROR.