Интеграция с платежной системой с использованием модуля Card

Материал из BiTel WiKi

(Различия между версиями)
Перейти к: навигация, поиск
(Новая: Задача интеграции биллинга с платежной системой решена созданием шлюза посредством nginx. Цель создан...)
м
 
(3 промежуточные версии не показаны)
Строка 4: Строка 4:
Для платежной системы протокол обмена выглядит следующим образом:
Для платежной системы протокол обмена выглядит следующим образом:
-
Запрос поиска договора по номеру телефона: https://<IP>/check/phone/<p_number>
+
: Запрос поиска договора по номеру телефона: <nowiki>https://<IP>/check/phone/<p_number></nowiki>
-
Оплата: https://<IP>/payment/<cid>/<tid>/<summ>
+
: Оплата: <nowiki>https://<IP>/payment/<cid>/<tid>/<summ></nowiki>
-
<IP> - адрес шлюза
+
:: <IP> - адрес шлюза
-
<p_number> - номер телефона
+
:: <p_number> - номер телефона
-
<cid> - идентификатор договора
+
:: <cid> - идентификатор договора
-
<tid> - инедтификатор транзакции
+
:: <tid> - инедтификатор транзакции
-
<summ> - сумма платежа
+
:: <summ> - сумма платежа
 +
 
Ответы сервера стандартные, согласно потоколу дилерских платежей. [[Потокол дилерский платежей]]
Ответы сервера стандартные, согласно потоколу дилерских платежей. [[Потокол дилерский платежей]]
Реализация:
Реализация:
-
Basic авторизация остается в силе.
+
# Basic авторизация остается в силе.
-
 
+
# Конфигурация SSL сервера nginx:
-
Конфигурация SSL сервера nginx:
+
: x.xxx.xx - имя сервера
-
xxx.xxx.xx - имя сервера
+
: MID - id модуля Card
-
MID - id модуля Card
+
: B.B.B.B - внутренний адрес сервера биллинга
-
B.B.B.B - внутренний адрес сервера биллинга
+
: для лучшей надежности можно заменить <nowiki>phone_number_2=$1</nowiki> на <nowiki>phone_number_2=<E.164 prefix>$1</nowiki>
<pre>
<pre>
   # HTTPS server
   # HTTPS server

Текущая версия на 12:19, 16 апреля 2009

Задача интеграции биллинга с платежной системой решена созданием шлюза посредством nginx.

Цель создания такого фильтра-шлюза: убрать ненужные платежной системе подробности дилерского интерфейса, сохранив дополнительную информацию (например, баланс), которую протоколы mps не предоставляют.

Для платежной системы протокол обмена выглядит следующим образом:

Запрос поиска договора по номеру телефона: https://<IP>/check/phone/<p_number>
Оплата: https://<IP>/payment/<cid>/<tid>/<summ>
<IP> - адрес шлюза
<p_number> - номер телефона
<cid> - идентификатор договора
<tid> - инедтификатор транзакции
<summ> - сумма платежа

Ответы сервера стандартные, согласно потоколу дилерских платежей. Потокол дилерский платежей

Реализация:

  1. Basic авторизация остается в силе.
  2. Конфигурация SSL сервера nginx:
x.xxx.xx - имя сервера
MID - id модуля Card
B.B.B.B - внутренний адрес сервера биллинга
для лучшей надежности можно заменить phone_number_2=$1 на phone_number_2=<E.164 prefix>$1
  # HTTPS server

    server {
        listen       443;
        server_name  xxx.xxx.xx;

        ssl                  on;
        ssl_certificate      cacert.pem;
        ssl_certificate_key  privkey.pem;

        ssl_session_timeout  5m;

        ssl_protocols  SSLv2 SSLv3 TLSv1;
        ssl_ciphers  ALL:!ADH:!EXPORT56:RC4+RSA:+HIGH:+MEDIUM:+LOW:+SSLv2:+EXP;
        ssl_prefer_server_ciphers   on;

        location /payment{
            rewrite  ^/payment/(.*)/(.*)/(.*)$  /bgbilling/idealer?action=PaymentAdd&cid=$1&trans=$2&summ=$3&mid=MID break;
            proxy_pass   http://B.B.B.B:8080;
            proxy_redirect off;
        }

        location /check/phone{
            rewrite  ^/check/phone/(.*)$  /bgbilling/idealer?action=ContractFind&phone_number_2=$1&mid=MID  break;
        proxy_pass   http://B.B.B.B:8080;
            proxy_redirect off;
        }
    }
Личные инструменты