Payouts to bank cards
You can make a payout to a card following one of two scenarios described below.
All API operations are carried out within a payment session. One payment session can include several operations: for example, you can accept and then refund a payment.
Payout parameters
- With a token
- Without a token
To get a token, use our tokenization 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 rubles in decimal format. The value must be greater than zero. To send 100 USD, specify 10000 |
| currency | + | string | Currency code according to ISO 4217. Case insensitive |
| participant_details | + | object | Information on the payout participants |
| recipient | + | object | Recipient details |
| full_name | + | string | Recipient's full name |
| sender | - | object | Sender details |
| Name | Mandatory | Type | Description |
|---|---|---|---|
| payment_method/payout_details | + | object | Payout data |
| type | + | string | Value: card |
| card | + | object | Bank card payment details |
| type | + | string | Value: bank_card |
| bank_card | + | object | Card details |
| number | + | string | Card number |
| amount_details | + | object | Amount |
| amount | + | int | Amount in rubles in decimal format. The value must be greater than zero. To send 100 USD, specify 10000 |
| currency | + | string | Currency code according to ISO 4217. Case insensitive |
| participant_details | + | object | Information on the payout participants |
| recipient | + | object | Recipient details |
| full_name | + | string | Recipient's full name |
| sender | - | object | Sender details |
- With a token
- Without a token
To create a payout using our widget, complete the following steps:
-
Complete Steps 1-5.
-
Create a payment session sending a
session/createrequest.Alternatively, you can use the session-init-payout method. In this case, specify all the payout parameters right away as it is specified in the next step.
-
Send a
session/start/payoutrequest to start the payout.In the
EncryptedCardobject, pass the tokenized bank card details obtained from the widget.Example
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_31222806",
"amount_details": {
"amount": 3290,
"currency": "eur"
},
"payment_method": {
"type": "card",
"card": {
"type": "encrypted_card",
"encrypted_card": {
"number_hash": "3c6cdac9a24f4653512e35d62c76b329f145af5475028c3205dd219517cee33d"
}
}
},
"participant_details": {
"recipient": {
"full_name": "John Johnson"
},
"sender": {}
},
"customer": {
"reference": "984753"
},
"metadata": {
"metadata": "withdrawal_116",
"proxy_to_host": ""
}
}'To find information on the token or card, use the
token/infomethod. This method also returns the last 4 numbers of the card, so that you can show the user where the amount is going. -
Wait for a
ready_to_confirmwebhook. When you received it, it means that Smart Glocal is ready to make the payout and is waiting for your confirmation. -
Send a
session/confirmrequest or asession/cancelrequest to confirm or cancel the operation. -
Wait for a
payment_finishedwebhook containing the result of the payout. If the status issucceeded, the payout was successful. Learn more about the payout statuses
Sequence diagram of payouts with the widget

To create a payout, complete the following steps:
-
Create a payment session sending a
session/createrequest.Alternatively, you can use the session/init/payout method. In this case, specify all the payout parameters right away and skip the next step.
-
Send a
session/start/payoutrequest to start the payout.Example
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_31222806",
"payment_method": {
"type": "card",
"card": {
"type": "bank_card",
"bank_card": {
"number": "4242424242424242"
}
}
},
"participant_details": {
"recipient": {
"full_name": "John Johnson"
},
"sender": {}
},
"customer": {
"reference": "984753"
},
"metadata": {
"metadata": "withdrawal_116",
"proxy_to_host": ""
},
"amount_details": {
"amount": 1000,
"currency": "usd"
}
}' -
Wait for a
ready_to_confirmwebhook. When you receive it, it means that Smart Glocal is ready to make the payout and is waiting for your confirmation. -
Send a
session/confirmrequest or asession/cancelrequest to confirm or cancel the operation. -
Wait for a
payment_finishedwebhook containing the result of the payout. If the status issucceeded, the payout was successful. Learn more about the payout statuses
Sequence diagram of payouts without use of the payment form
