Интеграция с платежной системой с использованием модуля Card
Материал из BiTel WiKi
(Различия между версиями)
Vdd (Обсуждение | вклад) (Новая: Задача интеграции биллинга с платежной системой решена созданием шлюза посредством nginx. Цель создан...) |
Vdd (Обсуждение | вклад) м |
||
| (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 - имя сервера |
| - | + | : 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> - сумма платежа
Ответы сервера стандартные, согласно потоколу дилерских платежей. Потокол дилерский платежей
Реализация:
- Basic авторизация остается в силе.
- Конфигурация 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;
}
}
