使用POST请求对支付网关执行多个事务

时间:2012-02-13 14:33:47

标签: ajax e-commerce payment-gateway

使用POST请求对支付网关进行多次交易的最佳做法是什么?

我们的用例是:

  • 我们需要立即付款,并安排其他时间(月等)
  • 我们希望避免强制用户输入两次相同的(CC / ACH)信息
  • 我们希望避免敏感数据触及我们的服务器,因此请将其直接发布到支付网关
  • 我们希望处理所有提供给用户的用户界面(即不希望用户需要与支付网关ui / forms / etc进行交互)
  • 我们看到的大多数支付网关都不够灵活,无法在一次POST呼叫中执行初始+计划(其中一些可以保存敏感信息并返回我们可以进行后续交易的令牌,但大多数都不能,我们希望保持我们的选择开放)
  • 我们可以依赖在浏览器中启用了javascript的用户

最好的方法是什么?

我们目前的计划是:

  • 向支付网关发出两个ajax POST呼叫(一个用于初始支付,另一个用于设置预定支付)
  • 等待网关将每个网关重定向到我们的服务器,并记录成功/失败
  • 同时,表单页面轮询服务器以查看两个事务是否已完成/超时,如果出现错误,则显示错误(并允许用户立即在表单中更正),或重定向到成功页面如果两个交易都成功

有没有更好的方法来做这件事和/或这样做会有问题吗?

1 个答案:

答案 0 :(得分:0)

回答我自己的问题以防其他人有同样的困境:

我们最终做的解决方案是选择一个支付网关,该支付网关可以存储有关用户的付款信息,并返回参考ID以用于将来的付款。

我们对服务执行了正常的单个POST请求,该请求处理了第一个事务并存储了信息。重定向回我们的应用后,我们使用提供的付款方式参考ID创建了另一笔交易。