/php-binbank-client

PHP class for binbank web payment

Primary LanguagePHPBSD 2-Clause "Simplified" LicenseBSD-2-Clause

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(); // вывести кнопку

В результате должна получиться кнопка для оплаты с указанными параметрами:

Screenshot

И форма оплаты по нажатию на кнопку:

Screenshot2

Выполненные платежи вы увидите в своём личном кабинете мерчанта.

Обработка обратного запроса (callback) от банка "Открытие"

После совершения платежа (успешного или нет), банк отправляет вам информацию о транзакции POST-запросом на адрес, указанный при установке в $this->setCallbackUrl('https:// АДРЕС ОБРАТНОГО ВЫЗОВА НА ВАШЕМ САЙТЕ - CALLBACK');

Пропишите по этому адресу обработчик:

$Payment = new Payment__binbank();  
$Payment->processCallback();

Затем в методе processCallback() в файле Payment__binbank.class.php добавьте нужную вам обработку обратного запроса.

Например, для сохранения информации о транзакциях, создайте MySQL таблицу из файла mysql - sys_payment.sql и поставьте на выполнение к вашей БД SQL-запрос, уже содержащийся в методе processCallback.

Поддержка