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

Возвраты платежей

Успешный платеж может быть возвращен пользователю двумя способами:

  • в рамках операции refund — это наиболее распространенный случай, платеж может быть возвращен полностью или частично;
  • в рамках процедуры chargeback — партнер не может инициировать ее самостоятельно, уведомление приходит от Zetplat, сумма списывается из возмещения.

Записи о refund и chargeback заносятся в реестры.

Как провести возврат платежа

1. Создайте возврат

Отправить запрос можно только на refund, но не на chargeback.

Отправьте запрос transaction/refund. В поле session_id передайте идентификатор платежной сессии из платежа, который нужно вернуть. В поле sum_info.sum укажите сумму возврата. Если не укажете, сумма платежа вернется полностью.

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

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

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

Пример
curl - X POST \
https: //partner.ru \
-H 'Content-Type: application/json' \
-H 'X-Signature: signature' \
-d '{
"type": "checkout_refunded",
"session_info": {
"id": "ps_3230",
"transaction_status": "completed",
"created_date": "2024-05-27T02:03:00.000000Z",
"updated_at": "2024-05-27T02:03:00.000000Z",
"payments": [{
"id": "pm_2705",
"transaction_status": "successful",
"created_date": "2024-05-27T02:03:00.000000Z",
"completed_date": "2024-05-27T02:03:00.000000Z",
"user_info": {
"user_id": "lucky"
},
"payment_info": {
"type": "card_info",
"card_info": {
"card_network": "visa",
"card_last4": "4242"
}
},
"sum_info": {
"sum": 1000,
"currency_code": "rub"
},
"extra_info": "good",
"moneyback": [{
"id": "rf_203",
"transaction_status": "completed",
"created_date": "2024-05-27T02:03:00.000000Z",
"completed_date": "2024-05-27T02:03:00.000000Z",
"sum_info": {
"sum": 1000,
"currency_code": "rub"
}
}],
"transaction_info": {
"fps_transaction_id": "A50581324524670W0000040011450701"
}
}]
}
}'

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