Автоплатежи
Автоплатежи позволяют списывать деньги без участия покупателя: покупатель один раз сохраняет способ оплаты, дальше магазин создаёт платежи с payment_method_id. Способы — банковская карта и СБП. Автоплатежи включает поддержка AvantPay: напишите на support@avantpay.io. Без этого запросы ниже получат ответ 403 forbidden.
Сохранение способа оплаты при платеже
Передайте в создании платежа "save_payment_method": true. Покупатель на странице оплаты соглашается на автоплатежи и платит.
{
"amount": { "value": "1.00", "currency": "RUB" },
"capture": true,
"save_payment_method": true,
"confirmation": { "type": "redirect", "return_url": "https://example.com/return" },
"metadata": { "email": "buyer@example.com" }
}
После оплаты в объекте платежа payment_method.saved равен true, payment_method.id — ID сохранённого способа. Он же придёт в уведомлении payment_method.active.
Сохранение карты без платежа
POST https://api.avantpay.io/v3/payment_methodsbank_card: для СБП сохраните способ платежом.
{
"type": "bank_card",
"confirmation": { "type": "redirect", "return_url": "https://example.com/cards" }
}
В ответе — объект способа оплаты со статусом pending и confirmation.confirmation_url. Перенаправьте покупателя по этой ссылке: на карте заблокируется 1 ₽ и сразу вернётся. Когда способ сохранится, статус станет active и придёт уведомление payment_method.active.
Списание
{
"amount": { "value": "499.00", "currency": "RUB" },
"capture": true,
"payment_method_id": "2b6aa501-cb83-493d-b169-e00f2156ec08",
"description": "Подписка, ноябрь"
}
confirmation и metadata.email не нужны. Ответ — объект платежа. Если списание превышает лимиты автоплатежей магазина, платёж сразу canceled с причиной payment_method_limit_exceeded; если покупатель отключил автоплатежи — permission_revoked.
Объект способа оплаты
Приходит в ответе на POST /v3/payment_methods, GET /v3/payment_methods/{payment_method_id}payment_method.active.
| Поле | Описание |
|---|---|
type | bank_card или sbp. |
id | ID способа: передавайте в payment_method_id. |
saved | true — по способу можно списывать. |
status | pending — ждёт покупателя, active — сохранён, inactive — не сохранён или отключён. |
title | Название способа, например Bank card *4444. |
card | Только у bank_card: first6, last4, expiry_month, expiry_year, card_type (MasterCard, Visa, Mir, UnionPay или Unknown), issuer_country, issuer_name. |
payer_bank_details.bank_id | Только у sbp: ID банка в СБП, если банк известен. |
holder.account_id | ID магазина. |
metadata | Ваши данные из запроса. |
confirmation | Только у pending: type — redirect, confirmation_url — ссылка для покупателя, return_url — куда он вернётся. |
Объект может содержать параметры и значения, не описанные здесь. Их следует игнорировать.