ОПИСАНИЕ ПРОГРАММНОГО ИНТЕРФЕЙСА

Содержание

Основные термины

  • ПРОДАВЕЦ

    Продавцом считается пользователь системы Bridge Pay, принимающий на внутренний счет системы оплату от покупателей сети интернет.
    Предполагается, что продавец принимает оплату за товары или услуги, предоставляемые им через Интернет, и следовательно, имеет собственный веб-сайт.

  • ПОКУПАТЕЛЬ

    Покупателем считается пользователь сети интернет покупающий товар или услугу через сайт продавца.

Описание Bridge Pay Payment Interface

  • ПАРАМЕТРЫ ПРИЕМА ПЛАТЕЖЕЙ

    Помимо регистрации в системе Bridge Pay для приема платежей через сервис, продавец должен настроить ряд параметров для своего добавленного в систему магазина, регулирующих порядок приема платежей и оповещения продавца о факте проведения платежа.
    Настройка параметров выполняется на странице "Управление магазинами" сайта https://www.bridge-pay.com.
    Внимание!! Для каждого магазина, в сервисе хранится свой набор значений, т.е. для каждого магазина будет своя настройка!

    Полный перечень параметров и их назначение приведено ниже:

    Название параметра Формат Описание
    Status URL 255 символов (case sensitive) URL (на веб-сайте продавца), на который сервис Bridge Pay посылает HTTP/POST оовещение о совершении платежа с его детальными реквизитами. Если продавец не определил этот URL, он не будет оповещаться сервисом о совершенных платежах. URL должен начинаться с префикса "http://", "https://". При использовании префикса "http://" сервис посылает оповещение на порт 80, а при использовании префикса "https://" сервис посылает оповещение на порт 443.
    Status Method OFF, POST, GET Метод, который будет использоваться при оповещении о совершении платежа на Status URL. При значении OFF продавец не будет оповещаться сервисом о прошедших платежах, признчении POST или GET, продавец будет оповещаться методом POST или GET соответственно.
    Success URL 255 символов (case sensitive) URL (на веб-сайте продавца), на который будет переведен интернет-браузер покупателя в случае успешного выполнения платежа в сервисе Bridge Pay. URL должен иметь префикс "http://" или "https://".
    Success Method OFF, POST, GET Метод, который будет использоваться при переходе на Success URL. При значении OFF покупатель останется на странице сервиса.
    Fail URL 255 символов (case sensitive) URL (на веб-сайте продавца), на который будет переведен интернет-браузер покупателя в том случае, если платеж в сервисе Bridge Pay не был выполнен по каким-то причинам. URL должен иметь префикс "http://" или "https://".
    Fail Method OFF, POST, GET Метод, который будет использоваться при переходе на Fail URL. При значении OFF покупатель останется на странице сервиса.
    E-mail для уведомлений до 255 символов, может содержать латинские буквы, цифры, '_', '.', '@' и '-' (ci). E-mail адрес на который будет высылаться письмо с информацией о прошедшем платеже. Если его оставить пустым, то письма отправляться не будут.
    Плательщик комисии Магазин, Плательщик, Пополам Указывается кто будет оплачивать комиссию Bridge Pay.
    Валюта счета Опционально Валюта по умолчанию в которой магазин высталяет счета.
    Ссылка на магазин в мегасток URL Эта опция необходима для приема Webmoney. В дополнение к этому необходимо заполнение поля WMID
    WMID 12 числовых символов Эта опция необходима для приема Webmoney. Запоняется вместе с ссылкой на каталог мегасток.
    Secret key 50 символов (case sensitive Строка символов, добавляемая к реквизитам платежа, высылаемым продавцу вместе с оповещением. Эта строка используется для повышения надежности идентификации высылаемого оповещения. Содержание строки известно только сервису Bridge Pay и продавцу!

    ФОРМЫ HTML

    Для передачи информации между веб-сайтом продавца и сервисом Bridge Payиспользуютcя следующие HTML-формы:

    • Форма запроса платежа - генерируется веб-сайтом продавца для формирования запроса на проведение платежа в сервисе Bridge Pay и передачи его через веб-браузер покупателя.
    • Форма оповещения о платеже - генерируется сервисом Bridge Pay для передачи оповещения о платеже на веб-сайт продавца. Оповещение передается без использования веб-браузера покупателя.
    • Форма выполненного платежа - генерируется сервисом Bridge Pay в случае успешного выполнения платежа и передается на веб-сайт продавца через веб-браузер покупателя.
    • Форма невыполненного платежа - генерируется сервисом Bridge Pay в случае невыполнения платежа и передается на веб-сайт продавца через веб-браузер покупателя.
    Форма запроса платежа

    Эта форма передает запрос с веб-сайта продавца в сервис Bridge Pay через веб-браузер покупателя. Она должна имееть следующие атрибуты и поля:

    Action - http[s]://bridge-pay.com/lib/payment.php

    Method - POST

    Fields - поля, передаваемые в форме, описаны в таблице ниже:

    Название HTML Field Name Обязательный? Описание
    ID магазина ASU_SHOP_ID Да Идентификационный номер магазина
    Сумма платежа ASU_PAYMENT_AMOUNT Да Сумма платежа, которую продавец желает получить от покупателя. Сумма должна быть больше нуля, дробная часть отделяется точкой.
    Валюта платежа ASU_PAYMENT_CURRENCY Нет Идентификатор валюты (ISO 4217)
    643 — Российский рубль
    840 - Доллар США
    Валюта в которой выставляется счет покупателю. По умолчанию значние берется из настроек магазина, если в настройках не задано, то счет будет выставлен в валюте баланса магазина.
    Назначение платежа ASU_PAYMENT_DESC Нет Описание товара или услуги. Формируется продавцом.
    Максимальная длина - 255 символов.
    Внутренний номер покупки продавца ASU_PAYMENT_NO Нет В этом поле продавец задает номер покупки в соответствии со своей системой учета. Несмотря на то, что параметр не является обязательным, мы рекомендуем всегда задавать его. Желательно использовать уникальный номер для каждого платежа, что позволит быстро получить относящуюся к нему информацию через другие интерфейсы системы Bridge Pay.
    Максимальная длина - 12 символов.
    E-mail покупателя ASU_PAYMENT_EMAIL Нет E-mail покупателя, на который будет отправляться информация о платеже. Если не задано, то покупатель введет его самостоятельно.
    Пользовательское поле ASU_USER_FIELD Нет Дополнительные параметры продавца.
    Максимальная длина - 255 символов.


    ПримерФрагмент "Формы запроса платежа"
    <html> <head> ... </head> <body> ... <form method="POST" action="https://bridge-pay.com/lib/payment.php"> <input type="hidden" name="ASU_SHOP_ID" value="527EA4E-0565778-D462839-3292E3E-BDEF"> <input type="hidden" name="ASU_PAYMENT_AMOUNT" value="173.75"> <input type="hidden" name="ASU_PAYMENT_CURRENCY" value="840"> <input type="hidden" name="ASU_PAYMENT_DESC" value="Покупка ваучера"> <input type="hidden" name="ASU_PAYMENT_NO" value="45532245"> <input type="hidden" name="ASU_PAYMENT_EMAIL" value="sample@sample.ru"> <input type="hidden" name="ASU_USER_FIELD" value="user_field"> <input type="submit" value="Оплатить"> </form> ... </body> </html>

    Форма оповещения о платеже

    Эта форма передает продавцу реквизиты выполненного платежа в момент его совершения. Она имеет следующие атрибуты и поля:

    Action - Status URL

    Method - POST

    Fields - поля, передаваемые в форме, описаны в таблице ниже:

    Название HTML Field Name Описание
    ID магазина ASU_SHOP_ID Идентификационный номер магазина
    Сумма платежа ASU_PAYMENT_AMOUNT Сумма платежа, которую продавец желает получить от покупателя. Сумма должна быть больше нуля, дробная часть отделяется точкой.
    Дата зачисления ASU_SYS_DATE Дата и время в которое система Bridge Pay получила данные о выполненном платеже от выбранной покупателем платежной системы. В это же время производится зачисление средств на баланс продавца. формат: ГГГГ-ММ-ДД ЧЧ:ММ:СС
    ID платежа ASU_INTNUM_ID Идентификационный номер платежа в система Bridge Pay.
    Номер платежа ASU_INTNUM_PAY Номер платежа в система Bridge Pay.
    Статус платежа ASU_STATUS_PAY Статус платежа. Если 0 - новый счет (не оплачен), 1 - оплачен, 2 - отказ от оплаты (не оплачен)
    Система оплаты ASU_SYSTEM_PAY Система оплаты платежа. Например: Webmoney [WMZ]
    Пользовательское поле ASU_USER_FIELD Дополнительные параметры продавца указанные в форме запроса платежа.
    Контрольная подпись ASU_SIGN Контрольная подпись оповещения о выполнении платежа, которая используется для проверки целостности полученной информации и однозначной идентификации отправителя. Алгоритм формирования описан в разделе "Контрольная подпись данных о платеже".

    Внимание!
    Продавец обязательно должен предусмотреть проверку информации, присланной в "Форме оповещения о платеже" в соответствии с рекомендациями раздела "Алгоритм формирования и проверки контрольной подписи".



    Пример.Фрагмент "Формы оповещения о платеже"
    <html> <head> ... </head> <body> ... <form method="<Status Method>" action="<Status URL>"> <input type="hidden" name="ASU_SHOP_ID" value="527EA4E-0565778-D462839-3292E3E-BDEF"> <input type="hidden" name="ASU_PAYMENT_AMOUNT" value="173.75"> <input type="hidden" name="ASU_SYS_DATE" value="2008-10-10 15:43:31"> <input type="hidden" name="ASU_INTNUM_ID" value="1567"> <input type="hidden" name="ASU_INTNUM_PAY" value="2008101015402000"> <input type="hidden" name="ASU_STATUS_PAY" value="1"> <input type="hidden" name="ASU_SYSTEM_PAY" value="Webmoney [WMU]"> <input type="hidden" name="ASU_USER_FIELD" value="User field"> <input type="hidden" name="ASU_SIGN" value="87F03952CDA5C280133D4CC550A4690C"> ... </form> ... </body> </html>

    ВНИМАНИЕ!! Интернет-магазин должен обработать запрос оповещения о результате оплаты и вернуть ответ.
    OK - Если платеж успешно обработан;
    Пустую строку - если платеж пока не обработан - в этом случае, система Bridge Pay пошлет оповещение повторно.

    Форма выполненного платежа

    Эта форма передает реквизиты выполненного платежа на веб-сайт продавца после успешного выполнения операции. Данные передаются через веб-браузер покупателя только в том случае, если выбран метод вызова Success URL "GET" или "POST". Форма имеет следующие атрибуты и поля:

    Action - Success URL

    Method - Success Method

    Fields - поля, передаваемые в форме, описаны в таблице ниже:

    Название HTML Field Name Описание
    Номер платежа ASU_INTNUM_PAY Номер платежа в система Bridge Pay.
    Пользовательское поле ASU_USER_FIELD Дополнительные параметры продавца указанные в форме запроса платежа.
    Дата и время ASU_SYS_DATE Дата и время оповещения. Формат: ГГГГ-ММ-ДД ЧЧ:ММ:СС


    Пример.Фрагмент "Формы выполненного платежа"
    <html> <head> ... </head> <body> ... <form method="<Success Method>" action="<Success URL>"> <input type="hidden" name="ASU_INTNUM_PAY" value="2008101015454581"> <input type="hidden" name="ASU_USER_FIELD" value="1622"> <input type="hidden" name="ASU_SYS_DATE" value="2008-10-10 15:53:27"> ... </form> ... </body> </html>


    Форма невыполненного платежа

    Эта форма передает реквизиты невыполненного платежа на веб-сайт продавца. Данные передаются через веб-браузер покупателя только в том случае, если выбран метод вызова Success URL "GET" или "POST". Она имеет следующие атрибуты и поля:

    Action - Fail URL

    Method - Fail Method

    Fields - поля, передаваемые в форме - такие же как и для выполненного платежа.


    Пример.Фрагмент "Формы невыполненного платежа"
    <html> <head> ... </head> <body> ... <form method="<Fail Method>" action="<Fail URL>"> <input type="hidden" name="ASU_INTNUM_PAY" value="2008101015454581"> <input type="hidden" name="ASU_USER_FIELD" value="1622"> <input type="hidden" name="ASU_SYS_DATE" value="2008-10-10 15:53:27"> ... </form> ... </body> </html>

    ПРОВЕРКА ИНФОРМАЦИИ О ПЛАТЕЖЕ

    • При выполнении платежа Bridge Pay высылает оповещение о платеже через "Форму оповещения о платеже" на Status URL, указанный продавцом.
      Мы рекомендуем вам проверить данные, полученные через "Форму оповещения о платеже":

      • Проверить, действительно ли данные переданы от сервиса Bridge Pay (Проверка источника данных)
      • Проверить, не исказились ли данные в процессе передачи (Проверка целостности данных)
      • Проверить сумму платежа
      • Проверить идентификационный номер магазина

    Проверка источника данных

    Проверка источника данных заключается в проверке IP-адреса с которого поступил запрос. (Диапазон адресов которые использует сервис можно узнать в тех.поддержке).

    Проверка целостности данных

    Высылая оповещение о проведении платежа, Bridge Pay сервис передает реквизиты платежа и контрольную подпись, позволяющую проверять неизменность передаваемых данных.

    Контрольная подпись данных о платеже

    Контрольная подпись данных о платеже позволяет продавцу проверять как источник данных, так и целостность данных, переданных на Status URL через "Форму оповещения о платеже".
    При формировании контрольной подписи сервис Bridge Pay "склеивает" значения полей, передаваемых "Формой оповещения о платеже", в одну строку с разделителем "::" в следующем порядке:

    • ID магазина (ASU_SHOP_ID);
    • Сумма платежа (ASU_PAYMENT_AMOUNT);
    • Дата зачисления (ASU_SYS_DATE);
    • ID платежа (ASU_INTNUM_ID);
    • Номер платежа (ASU_INTNUM_PAY);
    • Статус платежа (ASU_STATUS_PAY);
    • Система оплаты (ASU_SYSTEM_PAY);
    • Пользовательское поле (ASU_USER_FIELD);
    • Секретный ключ (Secret Key).

    При формирования контрольной подписи формируется последовательность из 32-х шестнадцатеричных цифр в соответствии с широко распространенным алгоритмом Message Digest 5 (MD5).

    Проверка контрольной подписи

    • Сформируйте строку путем "склеивания" значений параметров, полученных через "Форму оповещения о платеже", в том же порядке, что и при формировании контрольной подписи в сервисе Bridge Pay (см. выше), причем для разделе параметров используется "::" (двойное двоеточие).
      Помните, что при формировании подписи используется Secret Key.
    • Вычислите MD5 полученной строки.
    • Сравните полученное значение с значением параметра "ASU_SIGN", полученного через "Форму оповещения о платеже".
    Если сформированная подпись совпадает с полученной через "Форму оповещения о платеже", данные не изменены, и источник данных действительно сервис Bridge Pay.

    Проверка суммы платежа

    Несмотря на то, что покупатель не может изменить сумму платежа, продавцу рекомендуетсяконтролировать информацию о сумме платежа, передаваемую через параметр " ASU_PAYMENT_AMOUNT".

    Проверка ID магазина

    Несмотря на то, что покупатель не может изменить ID магазина, в который совершается платеж, продавцу рекомендуется контролировать данный параметр, который передается через параметр "ASU_SHOP_ID", особенно при использовании нескольких магазинов при работе с Bridge Pay.


www.interkassa.com http://www.megastock.ru/ www.w1.ru www.okpay.com www.payeer.com