Direct carrier billing
 
Specifics
 
Integration scenarios
Ready-made solutions: Smart payment
 
Payment via direct carrier billing
Step 1. Create a payment  with the 
mobile_balance
type as well as the user’s phone number for making the payment in the 
payment_method_data
object, and the 
external
type in the 
confirmation
object.
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": "2.00",
          "currency": "RUB"
        },
        "payment_method_data": {
          "type": "mobile_balance",
          "phone": "79000000000"
        },
        "confirmation": {
          "type": "external"
        },
        "description": "Order No. 72"
      }'
Example of a created payment object
JSON
{
  "id": "22c80e01-000f-5000-a000-14ce15eb7b74",
  "status": "pending",
  "paid": false,
  "amount": {
    "value": "2.00",
    "currency": "RUB"
  },
  "confirmation": {
    "type": "external"
  },
  "created_at": "2018-06-29T09:22:09.367Z",
  "description": "Order No. 72",
  "metadata": {},
  "payment_method": {
    "type": "mobile_balance",
    "id": "22c80e01-000f-5000-a000-14ce15eb7b74",
    "saved": false
  },
  "recipient": {
    "account_id": "100001",
    "gateway_id": "1000001"
  },
  "refundable": false,
  "test": false
}
Step 2. Inform the user that they need to confirm the payment.
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
Payment processDeclined paymentsPayment by 54-FZ