Приём платежей

Возвраты

Верните покупателю всю сумму или её часть. Деньги уходят тем же способом, которым был оплачен заказ.

Частичный возврат
curl -X POST https://api.nordpay.pro/v1/payments/pay_2Kq8sD1fVxJ7mN4p/refunds \
  -H "Authorization: Bearer $NORDPAY_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 150000,
    "reason": "Возврат одной позиции"
  }'

Создать возврат

Возврат возможен для платежа в статусе succeeded или partially_refunded. Частичных возвратов может быть несколько, пока их сумма не превысит сумму платежа.

Параметры
ПараметрТипОписание
amountintegerСумма возврата в копейках. Не указана — возвращается весь остаток платежа.
reasonstringПричина для вашего учёта: например, «Отмена заказа» или «Товар не подошёл».
Возвраты тоже стоит отправлять с Idempotency-Key: повтор запроса после таймаута не вернёт деньги дважды.
Полный возврат
curl -X POST https://api.nordpay.pro/v1/payments/pay_2Kq8sD1fVxJ7mN4p/refunds \
  -H "Authorization: Bearer $NORDPAY_SECRET_KEY" \
  -H "Idempotency-Key: $(uuidgen)" \
  -H "Content-Type: application/json" \
  -d '{}'
Ответ · 201
{
  "id": "re_5Hc1vN8pQz2K",
  "object": "refund",
  "payment_id": "pay_2Kq8sD1fVxJ7mN4p",
  "amount": 150000,
  "status": "succeeded",
  "reason": "Возврат одной позиции",
  "livemode": false,
  "created_at": "2026-11-09T09:15:02Z"
}

Объект возврата

  • id — идентификатор с префиксом re_.
  • payment_id, amount, reason — к какому платежу, сколько и почему.
  • status — succeeded, когда возврат принят к исполнению, или pending, пока он обрабатывается.

После возврата платёж переходит в partially_refunded или refunded, а на ваш адрес приходит событие payment.refunded. Сумма возврата списывается с вашего баланса.

Сроки поступления денег покупателю зависят от метода и банка покупателя. Об оспариваниях операций (чарджбэках) и порядке работы с ними — в вопросах и ответах и в кодах ошибок для отказов.

Платёж после частичного возврата
{
  "id": "pay_2Kq8sD1fVxJ7mN4p",
  "object": "payment",
  "status": "partially_refunded",
  "amount": 499000,
  "amount_refunded": 150000
}