YooMoney API
Old versions of the API
Sign up for YooMoney
Mir Pay
  • Payment method type in the API: bank_card
  • Confirmation scenario: Redirect
  • Payment term: 1 hour
  • Holding: 7 days
  • Code in reports: AC
  • Refund: yes, full and partial
  • Refund processing time: 0 to 3 days (depends on the issuer)
  • Recurring payments: yes
  • Limits: the minimum payment amount is 1 ruble, and the maximum amount is 350,000 rubles, there are additional restrictions
  • Supported version of the Mir Pay app: or newer
Integration scenarios
Ready-made solutions:
Manual integration: the Mir Pay button is displayed for payments via bank cards on the ready-made YooMoney page. Mir Pay can be displayed as a separate button only in the YooMoney widget with certain configuration settings.
Mir Pay is available by default if you accept payments via bank cards.
Mir Pay is available for payments in the payment form in the YooMoney widget, Smart payment and for payments via bank cards on the ready-made YooMoney page: no need for any additional configuration.
To disable Mir Pay for all payment processing scenarios at once, contact your YooMoney manager.
Payment process
Payment process from user's perspective
  1. User selects Mir Pay as the payment method when paying via a mobile device.
  2. The payment form redirects the user to the Mir Pay mobile app.
  3. User confirms the payment in the Mir Pay app.
  4. User returns to the mobile version of your website or to your mobile app and finds out the status of the payment.
Users can make a payment if they have the Mir Pay app version or newer installed on the device they're using for the payment. If the user has an old version of the Mir Pay app installed on their device, the payment won't go through, and the user will be able to select a different payment method. We recommend prompting the user to update the Mir Pay app.
If a user doesn't have the Mir Pay app installed on their device, they can install it from the app store or select a different payment method.
What a payment via Mir Pay looks like in the API
If Mir Pay was used for a payment, information about it will be displayed in the payment object  with the succeeded status: in the payment_method object, the type parameter will be returned with the bank_card value and the card.source parameter will be returned with the mir_pay value.
Example of a successful payment
  "id": "22e12f66-000f-5000-8000-18db351245c7",
  "status": "succeeded",
  "paid": true,
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  "captured_at": "2021-04-12T13:59:33.681Z",
  "created_at": "2021-04-12T13:49:33.026Z",
  "income_amount": {
    "value": "2.00",
    "currency": "RUB"
  "payment_method": {
    "type": "bank_card",
    "id": "22e12f66-000f-5000-8000-18db351245c7",
    "saved": false,
    "card": {
      "first6": "555555",
      "last4": "4444",
      "expiry_month": "01",
      "expiry_year": "2030",
      "card_type": "MIR",
      "card_product": {
        "code": "MCP",
        "name": "MIR Privilege"
      "issuer_country": "RU",
      "issuer_name": "Sberbank",
      "source": "mir_pay"
  "recipient": {
    "account_id": "100500",
    "gateway_id": "100700"
  "refundable": true,
  "refunded_amount": {
    "value": "0.00",
    "currency": "RUB"
  "test": false,
  "authorization_details": {
    "rrn": "10000000000",
    "auth_code": "000000",
    "three_d_secure": {
      "applied": false

See also