php-binbank-client
Класс PHP клиента онлайн-оплаты через интернет-эквайринг банка ОТКРЫТИЕ (бывший "БИНБАНК") www.binbank.ru
И запрос на платёж, и обратный запрос от банка подписаны цифровой подписью для шифрования.
Требования
Версия PHP >= 7.0,
Стили (S)CSS в этом примере для Bootstrap 3, но вы можете легко заменить стили на свои.
Установка
Включить PHP файл класса Payment__binbank.class.php в свой проект:
require_once 'Payment__binbank.class.php';
Задать настройки мерчанта в конструкторе класса
(рабочие настройки выдаст ваш менеджер, а тестовые включены в файл):
$this->setToken('ТОКЕН');
$this->setKey('КЛЮЧ ШИФРОВАНИЯ');
$this->setCurrency('RUB');
$this->setMerchantName('НАЗВАНИЕ МАГАЗИНА');
$this->setCallbackUrl('https://АДРЕС ОБРАТНОГО ВЫЗОВА НА ВАШЕМ САЙТЕ - CALLBACK');
$this->setReturnUrl('https://АДРЕС ПЕРЕНАПРАВЛЕНИЯ НА ВАШЕМ САЙТЕ "Вернуться в магазин" ПОСЛЕ ОПЛАТЫ');
$this->setApiUrl('https://АДРЕС API');
$this->setTimezone('Europe/Moscow');
Подключить стиль (S)CSS button_style.scss,
Указать путь к логотипу Бинбанка для отображения на кнопке.
Использование
Кнопка "Оплатить"
$Payment = new Payment__binbank();
//Чтобы включить отладку, раскомментируйте:
//$Payment->setDebugOn();
//Вывести кнопку оплаты, например:
$Payment
->setOrderId( 'тестовый платёж #1501813130' ) //строка -- уникальный идентификатор платежа
->setAmountSum( 91 ) //сумма в рублях, без копеек
->setDescripton( 'Тестовое описание' ) //необязательно
->drawButton(); // вывести кнопку
В результате должна получиться кнопка для оплаты с указанными параметрами:
И форма оплаты по нажатию на кнопку:
Выполненные платежи вы увидите в своём личном кабинете мерчанта.
Обработка обратного запроса (callback) от банка "Открытие"
После совершения платежа (успешного или нет), банк отправляет вам информацию о транзакции POST-запросом на адрес, указанный при установке в $this->setCallbackUrl('https:// АДРЕС ОБРАТНОГО ВЫЗОВА НА ВАШЕМ САЙТЕ - CALLBACK');
Пропишите по этому адресу обработчик:
$Payment = new Payment__binbank();
$Payment->processCallback();
Затем в методе processCallback() в файле Payment__binbank.class.php добавьте нужную вам обработку обратного запроса.
Например, для сохранения информации о транзакциях, создайте MySQL таблицу из файла mysql - sys_payment.sql и поставьте на выполнение к вашей БД SQL-запрос, уже содержащийся в методе processCallback.
Поддержка
- Документация API (раздел WEB HTML), свежую версию ищите на сайте БИНБАНК
- Поддержка банка "Открытие" -- www.binbank.ru/contacts