Skip to main content

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

NameMandatoryTypeDescription
payment_method/payout_details+objectPayout details
 type+stringValue: card
 card+objectBank card payment
  type+stringValue: bank_card
  bank_card+objectUnencrypted card details
   number+stringCard number
amount_details+objectAmount
 amount+intAmount in ruble in decimal format. The value must be greater than zero. If you are sending 100 rubles, you need to specify 10000
 currency+stringCurrency code according to ISO 4217. Case insensitive. Always: rub
participant_details+objectInformation on the payout participants
 recipient+objectRecipient details
  full_name+stringRecipient's name (as it appears in the passport)

With our widget

NameMandatoryTypeDescription
payment_method/payout_details+objectPayout data
 type+stringValue: card
 card+objectBank card payment details
  type+stringValue: encrypted_card
  encrypted_card+objectEncrypted card details
   number_hash+stringCard number hash
amount_details+objectAmount
 amount+intAmount in ruble decimal format. The value must be greater than zero. If you are sending 100 rubles, you will need to specify 10000
 currency+stringCurrency code according to ISO 4217. Case insensitive. Always: rub
participant_details+objectInformation on the payout participants
 recipient+objectRecipient details
  full_name+stringRecipient's name (as it appears in the passport)

With a token

To get a token, use the tokenize/elements method.

NameMandatoryTypeDescription
payment_method/payout_details+objectPayout data
 type+stringValue: card
 card+objectBank card payment details
  type+stringValue: tokenized_card
  tokenized_card+objectTokenized card details
   token+stringToken hash
amount_details+objectAmount
 amount+intAmount in ruble decimal format. The value must be greater than zero. If you are sending 100 rubles, you will need to specify 10000
 currency+stringCurrency code according to ISO 4217. Case insensitive. Always: rub
participant_details+objectInformation on the payout participants
 recipient+objectRecipient details
  full_name+stringRecipient'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

NameMandatoryTypeDescription
card_elements+objectCard number
 ref+stringFixed value, always number
 type+stringFixed value, always card_number
 card_number+stringCard 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

NameMandatoryTypeDescription
status+stringStatus. Options: error, ok
data+objectCard data
 number+objectCard token
  token+stringCard token
  info+objectCard details
   masked_card_number+stringMasked card number
   card_network+stringCard network
   card_type+stringCard type
error-objectError 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"
}
}