Протокол приема платежей для магазинов

Метод repeatCardPayment

Описание

Повтор платежа с использованием данных карты плательщика (при его согласии) для оплаты товаров и услуг магазина.

Ограничение. 

Для выполнения запросов на повтор платежа банковской картой необходимо подключение по HTTP-протоколу.

Примечание. 
  • После подключения для магазина опции повторных платежей, в запросах проверки заказа (checkOrder) и уведомление о переводе (paymentAviso) будет передаваться параметр rebillingOn (boolean).
    • rebillingOn = true или rebillingOn = 1: пользователь разрешил повторять платеж с его карты. Значение параметра invoceId такого платежа в дальнейшем следует использовать для повторных платежей.
    • rebillingOn = false или rebillingOn = 0: оплата проходит как обычно, повторить ее не получится.

  • Если магазин подключает отложенные платежи и повторы платежей банковской картой, повторяемые платежи будут выполняться как отложенные платежи. Т.е. после запроса на повтор платежа банковской картой (repeatCardPayment) магазину необходимо выполнить запрос подтверждения (confirmPayment) или аннулирования отложенного платежа (cancelPayment).

Адрес для вызова операции repeatCardPayment

https://server:port/webservice/mws/api/repeatCardPayment

Входные параметры

Параметр

Тип

Описание

clientOrderId

ClientTransactionNumber

Уникальный идентификатор операции. Обеспечивает защиту от ошибочных повторов операций. Рекомендуемые значения: целое, положительное, линейно нарастающее десятичное число.

Примечание. 
  • Если запрос отправлен с уже обработанным номером операции (clientOrderId) и остальные параметры запроса, кроме requestDT (дата и время запроса по часам магазина), совпадают с предыдущей попыткой, то Яндекс.Касса вернет результат обработки ранее отправленного запроса.
  • Если запрос отправлен с уже обработанным номером операции (clientOrderId), а остальные параметры имеют отличные от первой попытки значения, то Яндекс.Касса отвергнет такой запрос и вернет в ответе status=3, error=405.

invoiceId

long

Номер транзакции повторяемого перевода.

amount

CurrencyAmount

Сумма, на которую необходимо провести платеж (валюта совпадает с валютой товара).

orderNumber

string

Номер заказа на стороне магазина (может отсутствовать).

Примечание. 

Если магазин в своих запросах использует параметр orderNumber (номер заказа на стороне магазина), то значение данного параметра должно быть уникальным. Т.е. значение этого параметра в запросе на повтор платежа должно отличаться от значения orderNumber платежа, который нужно повторить.

cvv

string

CVC/CVV2 код авторизации карты, может отсутствовать.

ym_merchant_receipt string

Данные для формирования чека в формате JSON.

Параметр передается и является обязательным, если вы настроили взаимодействие со своей онлайн-кассой через Яндекс.Кассу и передаете в платежной форме данные для формирования чека.

Параметры для чека

Эти параметры нужны (и обязательно передаются), если вы настроили взаимодействие со своей онлайн-кассой через Яндекс.Кассу. См. Описание процесса оплаты с отправкой данных для чека

Параметры для чека нужно передавать, если:

  • меняется сумма платежа;
  • меняется состав заказа;
  • платеж, который нужно повторить, проводился без отправки чека.

В этом случае к запросу добавляется параметр ym_merchant_receipt, данные отправляются в формате JSON (так же, как в платежной форме).

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

Выходные параметры

В ответ приходят параметры, общие для всех типов запросов на исполнение финансовых операций.

Дополнительные параметры в запросах checkOrder и paymentAviso

При выполнении запроса на повтор платежа (repeatCardPayment) в запросах проверки заказа (checkOrder) и уведомления о переводе (paymentAviso) придут дополнительные параметры.

Параметр

Тип

Описание

baseInvoiceId

long

Значение параметра invoiceId платежа, который нужно повторить.

cdd_pan_mask string

Маска банковской карты плательщика, содержит 6 первых и 4 последние цифры номера карты в формате XXXXXX|XXXX, например 123456|7890.

Примеры

Пример параметров запроса
clientOrderId=123456789&invoiceId=2000000123&amount=10.00&cvv=643
Пример ответа
<repeatCardPaymentResponse 
         clientOrderId="123456789"
         status="0" error="0"
         processedDT="2011-07-02T20:38:01.000Z"
         techMessage=""
         />

Смотрите также

Сценарий повтора оплаты

Правила обработки запросов

Коды ошибок

Типы данных

Запрос уведомления об успешном платеже