Калькулятор комиссии

HTML форма оплаты

Используя возможности платежной платформы PayKeeper, можно создать любую собственную форму для инициализации платежа. Данный метод будет полезен в следующих случаях:

  • Необходим собственный дизайн формы оплаты
  • Необходимо передавать в PayKeeper дополнительную информацию о плательщике
  • Необходима собственная сложная логика инициализации оплаты
  • Стандартная форма PayKeeper не удовлетворяет вашим требованиям и вы хотите ее заменить

Ваша форма оплаты на сайте должна иметь метод POST и action, указывающий на /create/ вашего сервера PayKeeper (Пример: http://demo.paykeeper.ru/create/). Форма должна передавать следующие поля:

  Параметр Назначение Обязательный  
  sum Сумма к оплате. Да  
  clientid Идентификатор клиента. Нет  
  orderid Номер заказа. Нет  
  service_name Название услуги. Нет  
  client_email Адрес электронной почты плательщика. Нет  
  client_phone Телефон плательщика. Нет  
  pstype Тип платёжной системы. Нет  
  sign Цифровая подпись запроса. Нет  

Ниже приведён пример HTML-кода, который отображает простую форму оплаты:

<form method='POST' action='http://demo.paykeeper.ru/create/' >
  Введите сумму оплаты: <input type='text' name='sum' value='100'/> <br />
  Введите номер заказа: <input type='text' name='orderid' value='123456'/> <br />
  Введите номер телефона: <input type='text' name='client_phone' value=''/> <br />
  <input type='submit' value='Перейти к оплате' />
</form>

Вставленный код будет отображать форму оплаты следующим образом:

Введите сумму оплаты:
Введите номер заказа:
Введите номер телефона:

С помощью CSS стилей форме можно придать любое необходимое оформление.

По умолчанию, система не проверяет цифровую подпись запроса. Если данная проверка необходима, нужно запросить её включение на сервере.

Цифровая подпись представляет собой SHA-256 хэш от конкатенации параметров запроса 1-7 (если параметра нет, то он подставляется как пустая строка) и секретного слова. Результат хэширования записывается в виде строки из шестнадцатеричных цифр. Секретное слово задаётся в настройках в личном кабинете PayKeeper, в разделе «Получение информации о платежах», при выборе способа получения уведомлений «POST-оповещения».

Пример кода для составления цифровой подписи запроса:

<?php
# Предполагаем, что здесь уже известны параметры заказа 
# (те, что не известны, берутся пустыми строками: $service_name = "" ) ;
$sum, $clientid, $orderid, $service_name , $client_phone , $client_email
$to_hash = number_format ($sum , 2 , '.' , '') . $clientid .
                     $orderid . $service_name . $client_email . $client_phone . $secret_seed;
# Цифровая подпись: 
$sign = hash ('sha256' , $to_hash);
?>