выполнение нескольких транзакций с запросами POST к платежному шлюзу - PullRequest
0 голосов
/ 13 февраля 2012

Каковы лучшие практики для выполнения нескольких транзакций с POST-запросами к платежному шлюзу?

Наш вариант использования:

  • Нам нужно инициировать один немедленный платеж и запланировать другойв более позднее время (месяц и т. д.)
  • Мы хотим не заставлять пользователя дважды вводить одну и ту же (CC / ACH) информацию
  • Мы хотим, чтобы конфиденциальные данные никогда не касались нашего сервера,поэтому изучаем POST-сообщение непосредственно на платежном шлюзе
  • Мы хотим обработать все пользовательский интерфейс, представленный пользователю (то есть не хотим, чтобы пользователь нуждался во взаимодействии с пользовательским интерфейсом / формами платежного шлюза/ etc)
  • Большинство платежных шлюзов, которые мы видели, недостаточно гибки, чтобы выполнять начальное + планирование в одном вызове POST (некоторые из них могут сохранять конфиденциальную информацию и возвращать токен, с помощью которого мы можем выполнять последующие транзакции, но большинство не может, и мы хотели бы оставить наши опции открытыми)
  • Мы можем положиться на пользователя, включившего JavaScript в браузере

Какой лучший способ сделатьThis?

Наш текущий план заключается в следующем:

  • сделать два вызова ajax POST к платежному шлюзу (один для первоначального платежа, другой для настройки запланированного платежа)
  • дождитесь, пока шлюз перенаправит каждую из них на наш сервер, и запишите succcess / failures
  • . Тем временем, страница формы опрашивает сервер, чтобы увидеть, завершены ли обе транзакции / истекло ли время, отображает ошибку (и дать пользователю возможность немедленно исправить в форме), если произошла ошибка, или перенаправить на страницу успеха, если обе транзакции были успешными

Есть ли лучший способ сделать это и / или есть проблемыделать это так?

1 Ответ

0 голосов
/ 02 мая 2012

Отвечая на мой собственный вопрос в случае, если у кого-то есть такая же дилемма:

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

Мы сделали обычный одиночный POST-запрос к сервису, который обработал первую транзакцию и сохранил информацию.После перенаправления обратно в наше приложение мы создали еще одну транзакцию, используя предоставленный идентификационный номер метода оплаты.

...