Отправка чеков
Если вы используете решение ЮKassa для платформ, вы можете создавать чек прихода, чек возврата прихода и чек зачета предоплаты от имени магазина, в котором пользователь приобрел товар. Для этого всем магазинам, с которыми вы работаете, нужно подключить сценарий отправки чеков Сначала платеж, потом чек.
Для каждого магазина нужно создавать отдельный чек прихода, чек возврата прихода и чек зачета предоплаты.
 
Создание чека прихода
Чтобы сформировать чек прихода, отправьте ЮKassa запрос на создание чека . Обязательно передайте в нём
on_behalf_of
с идентификатором магазина, от лица которого хотите отправить чек,
payment_id
с идентификатором платежа, который приняли от пользователя, и 
type
со значением
payment
(чек прихода).
Если пользователь оплатил несколько товаров из разных магазинов, вам необходимо создать отдельный чек от имени каждого магазина.
Пример запроса на создание чека прихода
cURL
PHP
Python
curl https://payment.yandex.net/api/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer": {
          "email": "johndoe@yandex.ru",
          "phone": "79000000000"
        },
        "type": "payment",
        "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df",
        "on_behalf_of": "123",
        "send": true,
        "items": [
          {
            "description": "Платок Gucci",
            "quantity": "1.00",
            "amount": {
              "value": "3000.00",
              "currency": "RUB"
            },
            "supplier": {
              "name": "Красота в платках",
              "phone": "79000000000",
              "inn": "1000000000"
            },
            "agent_type": "commissioner",
            "vat_code": 2,
            "payment_mode": "full_payment",
            "payment_subject": "commodity",
            "country_of_origin_code": "IT"
          }
        ],
        "tax_system_code": 1,
        "settlements": [
          {
            "type": "cashless",
            "amount": {
              "value": "2000.00",
              "currency": "RUB"
            }
          },
          {
            "type": "postpayment",
            "amount": {
              "value": "1000.00",
              "currency": "RUB"
            }
          }
        ]
      }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе. Помимо основных параметров в ответе вернется
on_behalf_of
c идентификатором магазина, от имени которого вы отправляете чек.
Пример объекта чека
JSON
{
  "id": "rt-2da5c87d-0384-50e8-a7f3-8d5646dd9e10",
  "type": "payment",
  "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df",
  "on_behalf_of": "123",
  "status": "pending",
  "items": [
    {
      "description": "Платок Gucci",
      "quantity": 1.000,
      "amount": {
        "value": "3000.00",
        "currency": "RUB"
      },
      "supplier": {
        "name": "Красота в платках",
        "phone": "79000000000",
        "inn": "1000000000"
      },
      "agent_type": "commissioner",
      "vat_code": "2",
      "payment_mode": "full_payment",
      "payment_subject": "commodity",
      "country_of_origin_code": "IT"
    }
  ],
  "settlements": [
    {
      "type": "cashless",
      "amount": {
        "value": "2000.00",
        "currency": "RUB"
      }
    },
    {
      "type": "postpayment",
      "amount": {
        "value": "1000.00",
        "currency": "RUB"
      }
    }
  ],
  "tax_system_code": 1
}
 
Создание чека возврата прихода
Чек возврата прихода необходимо формировать в следующих случаях:
 
Чек при возврате успешного платежа
Чек для возврата создается аналогично чеку прихода, но в запросе вместо
payment_id
с идентификатором платежа необходимо передать
refund_id
с идентификатором возврата, а в параметре
type
 — значение
refund
(чек возврата прихода).
Вам нужно сформировать чек возврата прихода вне зависимости от того, кто сделал возврат — вы или магазин. Чтобы узнавать о возвратах, сделанных магазином, настройте входящие уведомления о событии
refund.succeeded
.
 
Чек при частичном подтверждении или отмене платежа
Чтобы сформировать чек возврата прихода для отмененного или частично подтвержденного платежа, в запросе на создание чека  нужно передать параметр
type
со значением
refund
и 
payment_id
с идентификатором этого платежа.
 
Создание чека зачета предоплаты
При создании чека зачета предоплаты передайте в запросе дополнительный параметр
on_behalf_of
с идентификатором магазина, на счет которого перечислены деньги.
Пример запроса на создание чека зачета предоплаты
cURL
PHP
Python
curl https://payment.yandex.net/api/v3/receipts \
  -X POST \
  -u <Идентификатор магазина>:<Секретный ключ> \
  -H 'Idempotence-Key: <Ключ идемпотентности>' \
  -H 'Content-Type: application/json' \
  -d '{
        "customer": {
        "email": "johndoe@yandex.ru",
        "phone": "79000000000"
        },
        "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df",
        "on_behalf_of": "123",
        "type": "payment",
        "send": "true",
        "items": [
        {
          "description": "Платок Gucci",
          "quantity": "1.00",
          "amount": {
            "value": "3000.00",
            "currency": "RUB"
          },
          "supplier": {
            "name": "Красота в платках",
            "phone": "79000000000",
            "inn": "1000000000"
          },
          "agent_type": "commissioner",
          "vat_code": "2",
          "payment_mode": "full_payment",
          "payment_subject": "commodity",
          "country_of_origin_code": "IT"
        }
        ],
        "settlements": [
        {
          "type": "prepayment",
          "amount": {
            "value": "2000.00",
            "currency": "RUB"
          }
        },
        {
          "type": "cashless",
          "amount": {
            "value": "1000.00",
            "currency": "RUB"
          }
        }
      ]
    }'
В ответ ЮKassa отправит вам объект чека  в актуальном статусе.
Пример объекта чека зачета предоплаты
JSON
{
  "id": "rt_1da5c87d-0984-50e8-a7f3-8de646dd9ec9",
  "type": "payment",
  "payment_id": "24e89cb0-000f-5000-9000-1de77fa0d6df",
  "on_behalf_of": "123",
  "status": "pending",
  "items": [
    {
      "description": "Платок Gucci",
      "quantity": 1.000,
      "amount": {
        "value": "3000.00",
        "currency": "RUB"
      },
      "supplier": {
        "name": "Красота в платках",
        "phone": "79000000000",
        "inn": "1000000000"
      },
      "agent_type": "commissioner",
      "vat_code": "2",
      "payment_mode": "full_payment",
      "payment_subject": "commodity",
      "country_of_origin_code": "IT"
    }
  ],
  "settlements": [
    {
      "type": "prepayment",
      "amount": {
        "value": "2000.00",
        "currency": "RUB"
      }
    },
    {
      "type": "cashless",
      "amount": {
        "value": "1000.00",
        "currency": "RUB"
      }
    }
  ]
}
 
Что почитать еще
Прием платежей спомощью решения для платформВозврат платежей для платформОплата по 54-ФЗ