Payouts to Russia
How to make payouts to Russian cards
For payouts to Russian cards, it is mandatory to provide the recipient's full name, exactly as it is stated in their passport: not a made-up name, not a random sequence of characters, not just the name printed on the recipient's card (cardholder name). You can write it using the Cyrillic or Latin alphabet, whichever you prefer.
Payout parameters
Without our widget
Name | Mandatory | Type | Description |
---|---|---|---|
payment_method/payout_details | + | object | Payout details |
type | + | string | Value: card |
card | + | object | Bank card payment |
type | + | string | Value: bank_card |
bank_card | + | object | Unencrypted card details |
number | + | string | Card number |
amount_details | + | object | Amount |
amount | + | int | Amount in ruble in decimal format. The value must be greater than zero. If you are sending 100 rubles, you need to specify 10000 |
currency | + | string | Currency code according to ISO 4217. Case insensitive. Always: rub |
participant_details | + | object | Information on the payout participants |
recipient | + | object | Recipient details |
full_name | + | string | Recipient's name (as it appears in the passport) |
With our widget
Name | Mandatory | Type | Description |
---|---|---|---|
payment_method/payout_details | + | object | Payout data |
type | + | string | Value: card |
card | + | object | Bank card payment details |
type | + | string | Value: encrypted_card |
encrypted_card | + | object | Encrypted card details |
number_hash | + | string | Card number hash |
amount_details | + | object | Amount |
amount | + | int | Amount in ruble decimal format. The value must be greater than zero. If you are sending 100 rubles, you will need to specify 10000 |
currency | + | string | Currency code according to ISO 4217. Case insensitive. Always: rub |
participant_details | + | object | Information on the payout participants |
recipient | + | object | Recipient details |
full_name | + | string | Recipient's name (as it appears in the passport) |
With a token
To get a token, use the tokenize/elements
method.
Name | Mandatory | Type | Description |
---|---|---|---|
payment_method/payout_details | + | object | Payout data |
type | + | string | Value: card |
card | + | object | Bank card payment details |
type | + | string | Value: tokenized_card |
tokenized_card | + | object | Tokenized card details |
token | + | string | Token hash |
amount_details | + | object | Amount |
amount | + | int | Amount in ruble decimal format. The value must be greater than zero. If you are sending 100 rubles, you will need to specify 10000 |
currency | + | string | Currency code according to ISO 4217. Case insensitive. Always: rub |
participant_details | + | object | Information on the payout participants |
recipient | + | object | Recipient details |
full_name | + | string | Recipient's name (as it appears in the passport) |
Example
Without our widget
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d'{
"session_id": "ps_1053680",
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"amount_details": {
"amount": "10000",
"currency": "rub"
},
"participant_details": {
"recipient": {
"full_name": "John Johnson"
}
}
}'
With our widget
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d'{
"session_id": "ps_1053680",
"payment_method": {
"type": "card",
"card": {
"type": "encrypted_card",
"encrypted_card": {
"number_hash": "064e7045a239e2d5d0448c2f72be84beb8d6dc47020f5b1174bccb6f3b9b2f1b"
}
}
},
"amount_details": {
"amount": "10000",
"currency": "rub"
},
"participant_details": {
"recipient": {
"full_name": "John Johnson"
}
}
}'
With a token
curl -X POST \
https://demo.smart-glocal.com/api/v1/session/start/payout \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d'{
"session_id": "ps_1053680",
"payment_method": {
"type": "card",
"card": {
"type": "tokenized_card",
"tokenized_card": {
"token": "759c9852dde2211d7531b3d905c1d513fbfb914bee87fb567d99c7b2f2c2ad44"
}
}
},
"amount_details": {
"amount": "10000",
"currency": "rub"
},
"participant_details": {
"recipient": {
"full_name": "John Johnson"
}
}
}'
tokenize/elements method
Use this method to get a tokenized card number to further make payouts by a token.
Endpoint
cds/v1/tokenize/elements
Request parameters
Name | Mandatory | Type | Description |
---|---|---|---|
card_elements | + | object | Card number |
ref | + | string | Fixed value, always number |
type | + | string | Fixed value, always card_number |
card_number | + | string | Card number |
Request example
curl -X POST \
https://demo.smart-glocal.com/cds/v1/tokenize/elements \
-H 'Content-Type: application/json' \
-H 'X-PARTNER-PROJECT: your_project_name' \
-H 'X-PARTNER-SIGN: signature' \
-d '{
"card_elements": [
{
"ref": "number",
"type": "card_number",
"card_number": "4242424242424242"
}
]
}'
Response parameters
Name | Mandatory | Type | Description |
---|---|---|---|
status | + | string | Status. Options: error , ok |
data | + | object | Card data |
number | + | object | Card token |
token | + | string | Card token |
info | + | object | Card details |
masked_card_number | + | string | Masked card number |
card_network | + | string | Card network |
card_type | + | string | Card type |
error | - | object | Error description |
Successful response example
{
"status": "ok",
"data": {
"number": {
"token": "adb0eb0ac3f1f5f627f15aa8ca47b13483325ec42baab5e87cbff5f784dca919",
"info": {
"masked_card_number": "424242******4242",
"card_network": "visa",
"card_type": "visa"
}
}
}
}
Unsuccessful response example
{
"status": "error",
"error": {
"description": "error description",
"code": "error code"
}
}