Инициирующий платеж
Инициирующий платеж
Для осуществления инициирующего платежа можно воспользоваться JSON API либо сформировать форму со специальными полями, значения и описания которых представлены в разделе Поля формы оплаты и Дополнительные поля формы оплаты. Затем POST-методом перенаправить покупателя на страницу платежного сервиса.
Для того, чтобы в тестовой среде был доступен ввод разных номеров карт, необходимо параметр wsb_test передать со значением 0.
Для предотвращения несанкционированных изменений в форме платежа должна присутствовать электронная подпись заказа, параметр wsb_signature. Попытки осуществить платежи без электронной подписи не будут рассматриваться платежной системой.
Обратите внимание
При работе с банком-эквайером "Приорбанк" ОАО предусмотрена возможность проведения инициирующего платежа с нулевой суммой для осуществления верификации платежной карты. Для подключения указанной возможности необходимо обратиться в службу поддержки WEBPAY support@webpay.by.
Обратите внимание
Для формирования электронной подписи необходимо установить значение поля "Секретный ключ" (SecretKey) в настройках вашего биллинг-аккаунта (ознакомиться можно в разделе Установка секретного ключа).
Подпись вычисляется по следующему алгоритму:
Указанные поля должны быть объединены в одну строку, порядок объединения не должен быть нарушен:
wsb_seedwsb_storeidwsb_customer_idwsb_order_numwsb_testwsb_currency_idwsb_totalwsb_operation_typeSecretKey
Далее в зависимости от указанной версии протокола (
wsb_version), считаетсяMD5(если версия не указана), либоSHA1(для версии2) объединенной строки.
<form action="https://securesandbox.webpay.by/" method="post">
<input type="hidden" name="*scart">
<input type="hidden" name="wsb_version" value="2">
<input type="hidden" name="wsb_language_id" value="russian">
<input type="hidden" name="wsb_storeid" value="11111111">
<input type="hidden" name="wsb_store" value="Название Вашего магазина">
<input type="hidden" name="wsb_order_num" value="ORDER-12345678">
<input type="hidden" name="wsb_test" value="0">
<input type="hidden" name="wsb_currency_id" value="BYN">
<input type="hidden" name="wsb_seed" value="1242649174">
<input type="hidden" name="wsb_return_url" value="http://yoursiteurl.com/success.php">
<input type="hidden" name="wsb_cancel_return_url" value="http://yoursiteurl.com/cancel.php">
<input type="hidden" name="wsb_notify_url" value="http://yoursiteurl.com/notify.php">
<input type="hidden" name="wsb_invoice_item_name[0]" value="Товар 1">
<input type="hidden" name="wsb_invoice_item_quantity[0]" value="2">
<input type="hidden" name="wsb_invoice_item_price[0]" value="10">
<input type="hidden" name="wsb_invoice_item_name[1]" value="Товар 2">
<input type="hidden" name="wsb_invoice_item_quantity[1]" value="1">
<input type="hidden" name="wsb_invoice_item_price[1]" value="0.5">
<input type="hidden" name="wsb_total" value="20.90">
<!-- Значение SecretKey в примере равно 1 -->
<input type="hidden" name="wsb_signature" value="ebefd130602a41f95238b5bd5cd1f3f803456093">
<input type="hidden" name="wsb_shipping_name" value="Стоимость доставки">
<input type="hidden" name="wsb_shipping_price" value="0.98">
<input type="hidden" name="wsb_discount_name" value="Скидка на товар">
<input type="hidden" name="wsb_discount_price" value="0.58">
<input type="hidden" name="wsb_email" value="ivanov@test.by">
<input type="hidden" name="wsb_phone" value="375291234567">
<input type="hidden" name="wsb_customer_id" value="aA1217Zz">
<input type="hidden" name="wsb_operation_type" value="recurring_bind">
<input type="submit" value="Купить">
</form>Оповещение после инициирующей оплаты
После успешной оплаты Плательщику отправляется email с чеком оплаты и сообщением о подписке. Магазину отправляется нотификатор в виде специально сформированного POST-запроса. Поля содержащиеся в нотификаторе представлены ниже.
| Название | Описание |
|---|---|
batch_timestamp | Время совершения транзакции |
currency_id | Валюта транзакции |
amount | Сумма транзакции |
payment_method | Метод совершения транзакции. Возможные значения: cc — банковская карточка |
order_id | Номер заказа в системе WEBPAY |
site_order_id | Номер (имя) заказа, присвоенный Магазином |
transaction_id | Номер транзакции |
payment_type | Тип транзакции. Подробнее можно ознакомиться в разделе Типы транзакций |
rrn | Номер транзакции в системе VISA/MASTERCARD |
wsb_signature | Электронная подпись |
action | Код платежа процессинга |
rc | Внутренний код WEBPAY результата операции |
approval | Код операции процессинга |
rc_text | Текстовое представление внутреннего кода WEBPAY |
card | Маскированный номер карты, по которой осуществлены платеж и привязка |
customer_id | Идентификатор пользователя в системе Магазина |
operation_type | Наименование выполненной операции:
|
recurring_token | Токен привязки карты, предназначенный для выполнения последующих рекуррентных (CoF) платежей |
offer_exp_date | Срок действия карты в формате YYYY-MM-DD (например, 2020-10-31) |
Параметр wsb_signature сформирован согласно следующему правилу. Значения следующих полей должны быть объединены в одну строку, порядок объединения не должен быть нарушен:
batch_timestampcurrency_idamountpayment_methodorder_idsite_order_idtransaction_idpayment_typerrncardcustomer_idoperation_typerecurring_tokenoffer_exp_dateSecretKey
По умолчанию считается MD5 строки.
Обратите внимание
В случае если по каким-либо причинам не был получен нотификатор, а плательщик утверждает, что оплата была осуществлена успешно, рекомендуем воспользоваться методом GetTransactionStatus API для управления карточными операциями либо обратиться в службу поддержки WEBPAY на support@webpay.by для уточнения статуса по операции.