YooMoney API
Old versions of the API
Sign up for YooMoney
repeatCardPayment method
Repeats a payment using the Payer’s card data (with the Payer’s consent) to pay for the store’s products or services.
After enabling the repeat payment option for a merchant, the rebillingOn parameter (boolean) will be passed in the order verification (checkOrder) and payment notification (paymentAviso) requests:
  • rebillingOn=true or rebillingOn=1: The user granted permission to repeat the payment with this card. The value of the invoiceId parameter for such a payment should be used for recurring payments in the future.
  • rebillingOn=false or rebillingOn=0: Normal payment that can’t be repeated.
If the merchant enables deferred payments and recurring payments, the recurring payments will be executed as deferred payments. In other words, after requesting to repeat a bank card or Mir Pay payment (repeatCardPayment), the merchant must execute a confirmation request (confirmPayment) or cancellation request (cancelPayment) for the deferred payment.
Address for calling the operation
Request parameters
Unique transaction ID. Provides protection from repeating operations by mistake. Recommended values: linearly increasing decimal integers.
If a request was sent with a previously processed operation number (clientOrderId) and all the request parameters other than requestDT (the request date and time in the merchant’s time) match the previous attempt, then YooMoney returns the result of the previously sent request.
If the request was sent with a previously processed operation number (clientOrderId) and all the parameters have different values from the first attempt, then YooMoney declines this request and returns status=3, error=405 in the response.
invoiceIdlongTransaction number of the recurring transfer.
amountCurrencyAmountThe amount to make the payment for (the currency matches the product’s currency).
The order number in the merchant’s system (optional).
If the merchant uses the orderNumber parameter (the order number in the merchant’s system) in requests, this parameter value must be unique. In other words, the value of this parameter specified in the request to repeat a payment must be different from the orderNumber value for the payment to repeat.
cvvstringThe CVS/CVV2 card authorization code. Optional.
Details for creating a receipt in the JSON format.
The parameter is transmitted and presents as mandatory if you set up interaction with your online sales register via YooMoney and transmits the details for creating the receipt in the payment form.
Example of request parameters
Parameters for the receipt
These parameters are required (and are mandatory for transmitting) if you set up interaction with your online sales register via YooMoney. See Description of payment process with receipt data transmission
The parameters for the receipt should be transmitted in the following cases:
  • payments amount is changed;
  • order contents is changed;
  • the payment subject to repeating is made without transmitting the receipt.
In this case, the ym_merchant_receipt parameter is added to the request; the details are transmitted in the JSON format (as in the payment form).
In other cases, the details transmitted with the initial payment is used for the receipt.
The response contains parameters that are shared for all types of financial transaction request.
Example of the response
         status="0" error="0"
Additional parameters in notifications
When making a request to repeat a payment (repeatCardPayment), additional parameters will be included in the order verification (checkOrder) and payment notification (paymentAviso) requests.
baseInvoiceIdlongThe value of the invoiceId parameter of the payment to repeat.
cdd_pan_maskstringThe mask of the payer’s bank card. It contains the first six and last four digits of the card number, in the format XXXXXX|XXXX. For example, 123456|7890.
See also
Scenario for repeated payments Rules for processing requests Error codes Data types Request for notification of successful payment