Payouts
SBP (RUB)
How to create payouts using SBP phone numbers
Payouts allow you to send funds from your merchant account to phone numbers via SBP.
Before you start
How to authorize requests
Before making requests, ensure that your merchant account has sufficient funds for the payout.
Creating a payout
Send a POST request to create a new payout:
POST /v1/payoutsRequest example
curl -X POST "https://api.panel.valutix.kz/v1/payouts" \
-H "Content-Type: application/json" \
-H "X-Api-Token: YOUR_API_TOKEN" \
-d '{
"amount": 1000,
"currency": "RUB",
"paymentType": "SIM",
"account": {
"name": "John Doe",
"requisites": "78005553535",
"userId": "user_12345"
},
"note": "Payout for order #1234"
}'Request parameters
Main parameters
| Field | Type | Required | Description |
|---|---|---|---|
| amount | number | ✅ Yes | Payout amount |
| currency | string | ✅ Yes | Currency code |
| paymentType | string | ✅ Yes | Payment type |
| account | object | ✅ Yes | Recipient details |
| note | string | ❌ No | Note for the payout |
Account object
| Field | Type | Required | Description |
|---|---|---|---|
| name | string | ✅ Yes | Recipient name |
| requisites | string | ✅ Yes | Account details (phone number) |
| userId | string | ✅ Yes | User ID in your system |
Supported currencies
| Value | Description |
|---|---|
| RUB | Russian Ruble |
Payment types
| Value | Description |
|---|---|
| SIM | Phone transfer |
Successful response example
{
"id": "123e4567-e89b-12d3-a456-426614174000",
"merchantId": "123e4567-e89b-12d3-a456-426614174000",
"amount": "1000",
"account": {
"name": "John Doe",
"requisites": "78005553535",
"userId": "user_12345"
},
"status": "CREATED",
"type": "SIM",
"requisites": {},
"statusMessage": null,
"metadata": null,
"createdAt": "2023-03-21T12:34:56Z",
"updatedAt": "2023-03-21T12:34:56Z",
"completedAt": null
}Response fields
| Field | Type | Description |
|---|---|---|
| id | string | Payout UUID |
| merchantId | string | Your merchant UUID |
| amount | string | Payout amount |
| account | object | Recipient details |
| status | string | Current payout status |
| type | string | Payment type |
| requisites | object | Additional requisites |
| statusMessage | string / null | Status message (if any) |
| metadata | object / null | Additional metadata |
| createdAt | string | Creation time |
| updatedAt | string | Last update time |
| completedAt | string / null | Completion time |
Payout statuses
| Status | Description |
|---|---|
| CREATED | Payout created |
| PENDING | Payout is being processed |
| COMPLETED | Payout completed successfully |
| FAILED | Payout failed |
| CANCELED | Payout canceled |
| EXPIRED | Payout expired |
Checking payout status
To check the current status of a payout, send a GET request:
GET /v1/payouts/{payoutId}Request example
curl -X GET "https://api.panel.valutix.kz/v1/payouts/123e4567-e89b-12d3-a456-426614174000" \
-H "X-Api-Token: YOUR_API_TOKEN"There are no webhooks for payouts. To receive status updates, periodically poll the status by ID (for example, every 30 minutes).
Recommendations
- Always check your merchant balance before creating payouts
- Save the payout
idfrom the response for status tracking - Implement periodic status polling for updates
- Handle all possible status values in your integration