Перейти к основному содержимому

Выплаты на банковскую карту по токену

Этот способ подходит, если:

Возможность выплаты не зависит от проекта (X-Project-Id в header запроса), на котором был получен токен.

Как сделать выплату на карту по токену

1. Создайте платежную сессию

Отправьте запрос на создание сессии transaction/initiate. В ответе придет идентификатор платежной сессии.

Пример
curl -X POST \
https://proxy-demo.zetplat.com/api/v1/transaction/initiate \
-H 'Content-Type: application/json' \
-H 'X-Project-Id: your_project_name' \
-H 'X-Signature: signature' \
-d '{}'

2. Начните выплату

Отправьте запрос на проведение выплаты с помощью метода transaction/start/transfer.

В запросе передайте:

  • В параметре session_id — идентификатор сессии, созданной на предыдущем шаге.
  • Один из следующих параметров, в зависимости от типа имеющихся у вас данных:

Уточнить информацию о токене или карте получится с помощью метода token/state. Например, оттуда можно извлечь последние 4 цифры номера карты, чтобы показать клиенту, куда придет выплата.

Пример
curl -X POST \
https://proxy-demo.zetplat.com/api/v1/session/start \
-H 'Content-Type: application/json' \
-H 'X-Project-Id: your_project_name' \
-H 'X-Signature: signature' \
-d '{
"session_id": "3230",
"payout_info": {
"type": "card_info",
"card_info": {
"type": "tokenized_card",
"tokenized_card": {
"token": "759c9852dde2211d7531b3d905c1d513fbfb914bee87fb567d99c7b2f2c2ad44"
}
}
},
"participant_info": {
"payee_info": {
"full_name": "Ivanov Ivan"
}
},
"extra_info": "good"
}'

3. Дождитесь вебхука для выплаты

Zetplat отправит вам вебхук approve_pending и будет ждать подтверждения или отмены.

Пример
curl -X POST \
https://partner.ru \
-H 'Content-Type: application/json' \
-H 'X-Signature: signature' \
-d '{
"type": "approve_pending",
"session_info": {
"id": "ps_3230",
"transaction_status": "ongoing",
"created_date": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"next_step": "approve",
"payouts": [{
"id": "po_1234",
"transaction_status": "pending",
"created_date": "2024-05-27T02:03:00.000000Z",
"user_info": {
"user_id": "user",
"contact_info": [{
"email_address": "user@test.ru"
}]
},
"payout_info": {
"type": "card_info",
"card_info": {
"type": "tokenized_card",
"tokenized_card": {
"token": "759c9852dde2211d7531b3d905c1d513fbfb914bee87fb567d99c7b2f2c2ad44"
}
}
},
"sum_info": {
"sum": 10000,
"currency_code": "rub"
},
"extra_info": "good"
}]
}
}'

4. Подтвердите или отмените выплату

Проверьте данные для выплаты, а затем подтвердите или отмените ее:

Пример
curl -X POST \
https://proxy-demo.zetplat.com/api/v1/transaction/approve \
-H 'Content-Type: application/json' \
-H 'X-Project-Id: your_project_name' \
-H 'X-Signature: signature' \
-d '{
"session_id": "3230"
}'

5. Дождитесь результата выплаты

Zetplat отправит вам вебхук checkout_results. Статус successful означает успешную выплату.

Подробнее о статусах выплаты
Описание кодов ошибок и их значений