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. To send 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. To send 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. To send 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"
}
}