Smart payment
The most simple method of integration with YooMoney. You only need to redirect the user to the YooMoney page where they’ll select one of the available payment methods, enter information for the payment, and confirm the payment. To accept a payment using this method, you’ll need to create a payment and implement the Redirect confirmation scenario.
 
Specifics
Smart payment supports all payment methods except SberBank Business Online. The payment form displays all the payment methods available for your store.
By implementing Smart payment, you accept the terms and conditions of the Apple Pay payment service.
The payment form page processes unsuccessful attempts of payments via Apple Pay and Google Pay: if a payment didn’t go through, the payment form displays an error message to the user and prompts them to try paying again with an option to select a different payment method. You can disable this setting and set up a custom scenario of processing unsuccessful attempts.
Saving payment methods for recurring payments is not supported in Smart payment.
 
Payment process
Step 1. Create a payment  with the 
redirect
type as well as the URL of a page on your side for redirecting the user after the payment in the 
confirmation
object. You don’t need to specify the payment method information (
payment_method_data
,
payment_token
,
payment_method_id
).
Example of request
cURL
PHP
Python
curl https://api.yookassa.ru/v3/payments \
  -X POST \
  -u <Shop ID>:<Secret Key> \
  -H 'Idempotence-Key: <Idempotence Key>' \
  -H 'Content-Type: application/json' \
  -d '{
        "amount": {
          "value": "100.00",
          "currency": "RUB"
        },
        "capture": true,
        "confirmation": {
          "type": "redirect",
          "return_url": "https://www.merchant-website.com/return_url"
        },
        "description": "Order No. 1"
      }'
Step 2. Redirect the user to the 
confirmation_url
that you received in the payment  object. This is a link to the YooMoney page where the user will select the required method and enter information for the payment.
Example of a created payment object
JSON
{
  "id": "23d93cac-000f-5000-8000-126628f15141",
  "status": "pending",
  "paid": false,
  "amount": {
    "value": "100.00",
    "currency": "RUB"
  },
  "confirmation": {
    "type": "redirect",
    "confirmation_url": "https://yoomoney.ru/api-pages/v2/payment-confirm/epl?orderId=23d93cac-000f-5000-8000-126628f15141"
  },
  "created_at": "2019-01-22T14:30:45.129Z",
  "description": "Order No. 1",
  "metadata": {},
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "refundable": false,
  "test": false
}
Step 3. Wait for the payment to be successfully completed: you will receive a notification from YooMoney, or you can send periodic requests for payment information .

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
Integration scenariosPayment by 54-FZDeclined paymentsNotifications