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

Автоплатежи

Автоплатежи позволяют списывать деньги без участия покупателя: покупатель один раз сохраняет способ оплаты, дальше магазин создаёт платежи с 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_methods, ключ идемпотентности обязателен. Только bank_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.

ПолеОписание
typebank_card или sbp.
idID способа: передавайте в payment_method_id.
savedtrue — по способу можно списывать.
statuspending — ждёт покупателя, 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_idID магазина.
metadataВаши данные из запроса.
confirmationТолько у pending: type — redirect, confirmation_url — ссылка для покупателя, return_url — куда он вернётся.

Объект может содержать параметры и значения, не описанные здесь. Их следует игнорировать.