Автор Тема: Вопрос по отправке запроса электонной платежной системе  (Прочитано 3981 раз)

0 Пользователей и 1 Гость просматривают эту тему.

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Перевожу один интернет магазин с PHP на Perl.

Все хорошо, но нужен совет:

При подтверждении окончательной формы в которую заносится номер кредитной карточки, запрос идет не на платежную систему, а на отдельный скрипт, который пересобирает заново запрос и отправляет куда нужно.
Единственно, чем примечателен скрипт, так принудительным указанием HTTP_REFERER.
Сама платежная система переадресует на другой (результирующий) скрипт магазина. В итоге, в качестве результата запроса первого скрипта выводится результат запроса второго скрипта после переадресации платежной системы.

IMHO довольно гемморно сделано. Тем более, что мне не нравится, так это возможность дублирования запроса к платежной системе.

Неужели настолько часто отсутсвует в заголовке HTTP_REFERER, что приходится делать подобную рокировку? (Платежная система не принимает запросы при отсутсвии рефера или его не соостветсвия)

Оффлайн Kwazar

  • Философ
  • Постоялец
  • ***
  • Сообщений: 201
  • +0/-0
  • 2
    • Просмотр профиля
    • http://www.uhuhu.ru/
Может стоит работать через 2checkout?
[OFF]Ссылку поправил[/OFF]
« Последнее редактирование: 27 Февраля 2005, 13:57:22 от Kwazar »
С уважением Сергей

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
Kwazar

Ссылка битая...
Платежную систему выбираю не я...

...
use 
LWP::UserAgent;
...
# Подготовка пакета
my $pack = \'blablabla\';
...
my $ua = new LWP::UserAgent;
...
# Установка рефера
my $header = new HTTP::Headers;
$header->referer(\'https://my_host/cgi-bin/this_script.pl\');
...
my $req = new HTTP::Request POST => \'https://transact_system_address\', $header;
$req->content($pack);
my $res = $ua->request($req);
...


Смысл скрипта, только в $header, остальное можно передать спокойно и с помощью формы.
Я, до этого, не использовал такой алгоритм, поэтому и спрашиваю вопрос его целесообразности, тем более я чуть-ли не подделываю заголовок...

Оффлайн 2NetFly

  • Модератор
  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 144
  • +0/-0
  • 0
    • Просмотр профиля
    • http://feotast.net
Вообще стандартная практика такая: покупатель заполняет форму, она идет в локальный скрипт, локальный скрипт формирует запрос в платежную систему, система обрабатывает его и возвращает результат локальному скрипт, а тот – клиенту. Локальный скрипт - тот, который стоит на сервере с магазином.
There Is More Than One Way To Do It (c)

Оффлайн NeoNox

  • Координатор
  • Глобальный модератор
  • Ветеран
  • *****
  • Сообщений: 3012
  • +0/-0
  • 0
    • Просмотр профиля
Цитировать
2NetFly:
Вообще стандартная практика такая

Это в идеале. По своему опыту, в платежных системах полнейшая анархия.
The documentations is your friend

Оффлайн Phoinix

  • RW
  • Ветеран
  • *****
  • Сообщений: 1097
  • +0/-0
  • 2
    • Просмотр профиля
    • http://phoinix.ucoz.ru
NeoNox
Цитировать
По своему опыту, в платежных системах полнейшая анархия

Вот и я про то же... каждый раз новое открытие...
2NetFly
Цитировать
покупатель заполняет форму, она идет в локальный скрипт...

С точки зрения покупателя, не особо хочется, что бы твои данные проходили где-то еще, кроме как в платежной ситеме...

В общем, как я понял, это не принципиально... где-то находишь, где-то теряешь...

Оффлайн 2NetFly

  • Модератор
  • Глобальный модератор
  • Постоялец
  • *****
  • Сообщений: 144
  • +0/-0
  • 0
    • Просмотр профиля
    • http://feotast.net
Когда я работал над биллингом, мы были подключены к нескольким платежным системам и выбор конкретной системы производился на основе данных, веденных пользователем (страна, тип кредитной карты etc.). Кроме того, подобный способ позволяет не светить платежную систему, что очень часто бывает довольно полезно =)

А насчет анархии - согласен. Лично мне чаще всего встречались системы, которым данные отдавались постом и они тут же возвращали результат, но были и такие, которые возвращали результат на определенный урл, а одна из система вообще требовала установки дополнительного софта на сервер и обмен xml запросами производился посредством этого софта
There Is More Than One Way To Do It (c)

 

Sitemap 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28