Выплаты на банковскую карту
Этот способ подходит, если вы храните данные банковских карт на своей стороне и соблюдаете соответствующие требования стандарта PCI DSS.
Как сделать выплату на карту
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 '{
"sum_info": {
"sum": 10000,
"currency_code": "rub"
},
"extra_info": "order123"
}'
2. Начните выплату
Отправьте запрос на проведение выплаты с помощью метода transaction/start/transfer.
В запросе передайте:
- В параметре
session_id— идентификатор сессии, созданной на шаге 1. - В параметре
typeвнутриpayout_info— значениеcard_info. - В объекте
card_details— данные банковской карты получателя.
Пример
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": "card_details",
"card_details": {
"card_number": "4242424242424242"
}
}
},
"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@gmail.com"
}]
},
"payout_info": {
"type": "card_info",
"card_info": {
"card_last4": "4242",
"card_network": "visa"
}
},
"sum_info": {
"sum": 10000,
"currency_code": "rub"
},
"extra_info": "good"
}]
}
}'
4. Подтвердите или отмените выплату
Проверьте данные для выплаты, а затем подтвердите или отмените ее:
- Подтвердить — с помощью запроса
transaction/approve. - Отменить — с помощью запроса
transaction/cancel.
Пример
- Подтверждение выплаты
- Отмена выплаты
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"
}'
curl -X POST \
https://proxy-demo.zetplat.com/api/v1/transaction/cancel \
-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 означает успешную выплату.
Подробнее о статусах выплаты
Описание кодов ошибок и их значений