Метод repeatCardPayment
Это старая версия API. Переходите на API ЮKassa.
Описание
Повтор платежа с использованием данных карты плательщика (при его согласии) для оплаты товаров и услуг магазина.
Для выполнения запросов на повтор платежа банковской картой необходимо подключение по HTTP-протоколу.
После подключения для магазина опции повторных платежей, в запросах проверки заказа (
checkOrder) и уведомление о переводе (paymentAviso) будет передаваться параметр rebillingOn (boolean):rebillingOn=trueилиrebillingOn=1: пользователь разрешил повторять платеж с его карты. Значение параметраinvoceIdтакого платежа в дальнейшем следует использовать для повторных платежей.rebillingOn=falseилиrebillingOn=0: оплата проходит как обычно, повторить ее не получится.
Если магазин подключает отложенные платежи и повторы платежей, повторяемые платежи будут выполняться как отложенные платежи. Т.е. после запроса на повтор платежа банковской картой или через Mir Pay (
repeatCardPayment) магазину необходимо выполнить запрос подтверждения (confirmPayment) или аннулирования отложенного платежа (cancelPayment).Формат запроса
Адрес для вызова операции
https://shop.yookassa.ru/webservice/mws/api/repeatCardPayment
Параметры запроса
| Параметр | Тип | Описание |
|---|---|---|
clientOrderId | ClientTransactionNumber | Уникальный идентификатор операции. Обеспечивает защиту от ошибочных повторов операций. Рекомендуемые значения: целое, положительное, линейно нарастающее десятичное число. Если запрос отправлен с уже обработанным номером операции ( clientOrderId) и остальные параметры запроса, кроме requestDT (дата и время запроса по часам магазина), совпадают с предыдущей попыткой, то ЮKassa вернет результат обработки ранее отправленного запроса.Если запрос отправлен с уже обработанным номером операции ( clientOrderId), а остальные параметры имеют отличные от первой попытки значения, то ЮKassa отвергнет такой запрос и вернет в ответе status=3, error=405. |
| invoiceId | long | Номер транзакции повторяемого перевода. |
| amount | CurrencyAmount | Сумма, на которую необходимо провести платеж (валюта совпадает с валютой товара). |
orderNumber | string | Номер заказа на стороне магазина (может отсутствовать). Если магазин в своих запросах использует параметр orderNumber (номер заказа на стороне магазина), то значение данного параметра должно быть уникальным. Т.е. значение этого параметра в запросе на повтор платежа должно отличаться от значения orderNumber платежа, который нужно повторить. |
| cvv | string | CVC/CVV2 код авторизации карты, может отсутствовать. |
ym_merchant_receipt | string | Данные для формирования чека в формате JSON. Параметр передается и является обязательным, если вы настроили взаимодействие со своей онлайн-кассой через ЮKassa и передаете в платежной форме данные для формирования чека. |
topped_up_phone | string, до 15 символов, только цифры | Только для тех, кто пополняет баланс телефона (МСС 4814) Номер телефона для пополнения. Пример: 79110000000.Обязательный параметр при пополнении баланса телефона. |
Пример запроса
clientOrderId=123456789&invoiceId=2000000123&amount=10.00&cvv=643
Пример запроса при пополнении баланса телефона
clientOrderId=123456789&invoiceId=2000000123&amount=10.00&cvv=643&topped_up_phone=79000000000
Параметры для чека
Эти параметры нужны (и обязательно передаются), если вы настроили взаимодействие со своей онлайн-кассой через ЮKassa. См. Описание процесса оплаты с отправкой данных для чека
Параметры для чека нужно передавать, если:
- меняется сумма платежа;
- меняется состав заказа;
- платеж, который нужно повторить, проводился без отправки чека.
В этом случае к запросу добавляется параметр
ym_merchant_receipt, данные отправляются в формате JSON (так же, как в платежной форме).В остальных случаях используются данные для чека, которые передавались при исходном платеже.
Формат ответа
В ответ приходят параметры, общие для всех типов запросов на исполнение финансовых операций.
Пример ответа
XML
<repeatCardPaymentResponse clientOrderId="123456789" status="0" error="0" processedDT="2011-07-02T20:38:01.000Z" techMessage="" />
Дополнительные параметры в уведомлениях
При выполнении запроса на повтор платежа (
repeatCardPayment) в запросах проверки заказа (checkOrder) и уведомления о переводе (paymentAviso) придут дополнительные параметры.| Параметр | Тип | Описание |
|---|---|---|
| baseInvoiceId | long | Значение параметра invoiceId платежа, который нужно повторить. |
| cdd_pan_mask | string | Маска банковской карты плательщика, содержит 6 первых и 4 последние цифры номера карты в формате XXXXXX|XXXX, например 123456|7890. |
Что почитать еще