Использование компонента оплаты без интернет-магазина

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

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

Компонент может выводить:

  • кнопку "Оплатить", по нажатию на которую происходит переход на платежный шлюз Тинькофф;

  • кнопку "Оплатить", с открытием платежного виджета прямо на сайте;

  • QR-код для оплаты в системе быстрых платежей.

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

В настройках компонента обязательно нужно указать идентификатор и пароль от терминала и сумму в рублях

Также желательно указать идентификатор товара и дополнительный идентификатор платежа. Итоговый идентификатор платежа в Тинькофф формируется как "#идентификатор товара#_#дополнительный идентификатор платежа#". Если не задан дополнительный идентификатор платежа, то вместо него берется текущая временная метка.

Остальные параметры опциональны. Они описаны в меню настройки компонента.

Итоговый идентификатор платежа должен быть уникальным для каждой оплаты! Создать вторую оплату с тем же идентификатором банк не даст, будет выведена ошибка.

Передача данных для печати чека

В параметр RECEIPT компонента можно передать массив для формирования чека. Структура массива аналогична структуре, описанной в официальной документации 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 — везде в копейках.

Обработка нотификаций

  1. В качестве ссылки для уведомления установите https://#ваш домен#/bitrix/components/rover/tinkoff.payform/result.php

  2. Добавьте в файл init.php обработчик события onNotification. В этом обработчике в параметре request будет приходить вся информация из отправленных банком оповещений. Пример обработчика