Refunds
Using the YooMoney API, you can refund successful payments. No commission is charged for a refund. The YooMoney commission for payment processing does not return after the refund.
 
Specifics
Payment refunds can be full or partial. In the former case, you return an accepted payment in full, in the latter, only a part of it, for example, if you want to make a refund for one item instead of the whole purchase. Some payment methods don’t support partial refunds.
Before making a payment refund, make sure that:
  • the payment with the 
    sberbank
    payment method has been created less than a year ago, and payments with other methods have been created less than three years ago;
  • the payment has been successfully processed and is now is 
    succeeded
    status;
  • the payment method supports the type of refund you need (full, partial).
 
Full refund
To make a full refund, specify the unique identifier (
payment_id
) and amount (
amount
) of the refunded payment in the refund creation request.
Example of request for a refund
cURL
PHP
Python
curl https://api.yookassa.ru/v3/refunds \
  -X POST \
  -u <Shop ID>:<Secret Key> \
  -H 'Idempotence-Key: <Idempotence Key>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "2.00",
          "currency": "RUB"
        },
        "payment_id": "21740069-000f-50be-b000-0486ffbf45b0"
      }'
Example of the response body
JSON
  {
    "id": "216749f7-0016-50be-b000-078d43a63ae4",
    "status": "succeeded",
    "amount": {
      "value": "2.00",
      "currency": "RUB"
    },
    "created_at": "2017-10-04T19:27:51.407Z",
    "payment_id": "21740069-000f-50be-b000-0486ffbf45b0"
  }
 
Partial refund
Partial refunds are created the same way as the full refunds, except the 
amount
parameter must contain only the part of the accepted amount that you want to return. You’re allowed to make an infinite number of partial refunds, as long as:
  • the total amount of all partial refunds does not exceed the payment amount;
  • the amount of the refund is larger than 1 ruble;
  • the remaining amount is larger than 1 ruble.

Do you have any questions or comments regarding the documentation?

We can set up a call and discuss them: we'll help you solve the problem and you'll help us understand what we need to improve. To do that, share your contact information and select the time.
Yes, I'd like to set up a meeting
 
See also
Reports on refundsPayment processPayment by 54-FZPayment methods