Компоненты для приёма оплаты в любом месте сайта

Обновлено 28.04.2024


Размещение в публичной части

После установки модуля, компоненты будут доступны в визуальном редакторе по адресу «Компоненты Rover» > «Интернет-эквайринг Тинькофф приём платежей».

Каждый из этих компонентов позволяет разместить в любом месте сайта:

  • кнопку «Оплатить», по нажатию на которую происходит переход на платежный шлюз Тинькофф;
  • кнопку «Оплатить», с открытием платежного виджета прямо на сайте;
  • QR-код для оплаты в системе быстрых платежей.

Их отличие заключается том, какие данные им необходимы для формирования платёжной формы.

Компоненты необходимо устанавливать туда, где по логике сайта должен располагаться переход к оплате.

Печать чеков

Компоненты «Платежная форма Tinkoff Bank (по заказу)» и «Платежная форма Tinkoff Bank (по оплате)» формируют чек автоматически, на основе настроек соответствующей платежной системы. Однако, есть возможность задать чек вручную, передав его в параметр RECEIPT компонента. Также для этих компонентов доступно событие afterBuildReceipt.

Для формирования чека в компоненте «Платежная форма Tinkoff Bank (без интернет-магазина)», его обязательно необходимо передавать в параметр RECEIPT. Событие afterBuildReceipt для этого компонента недоступно.

Структура массива чека аналогична структуре, описанной в официальной документации https://www.tinkoff.ru/kassa/develop/api/receipt/

Пример:

$APPLICATION->IncludeComponent(
    "rover:tinkoff.payform",
    ".default",
    [
        ...

        "SUM"     => 500,
        "RECEIPT" => [
            'Email'    => '[email protected]',
            'Phone'    => '79999999999',
            'Taxation' => 'usn_income',
            'Items'    => [
                [
                    'Name'          => 'Тестовый товар',
                    'Quantity'      => 2,
                    'Amount'        => 40000,
                    'Price'         => 20000,
                    'Tax'           => 'none',
                    'PaymentMethod' => 'full_payment',
                    'PaymentObject' => 'commodity',
                ],
                [
                    'Name'          => 'Тестовая доставка',
                    'Quantity'      => 1,
                    'Amount'        => 10000,
                    'Price'         => 10000,
                    'Tax'           => 'none',
                    'PaymentMethod' => 'full_payment',
                    'PaymentObject' => 'service',
                ],
            ]
        ],

        ...
    ], false);
Обратите внимание, что в параметре SUM стоимость указывается в рублях, а в RECEIPT — везде в копейках.