支付网关实施
Posted
技术标签:
【中文标题】支付网关实施【英文标题】:Payment Gateway Implementation 【发布时间】:2012-05-27 15:38:11 【问题描述】:我正在用 php 将其中一个支付网关集成到我的网站,在继续之前,由于我是新手,我有一些疑问(用例/场景),所以我需要一个解决方案来处理这些场景。我在这里列出了它们
1) 如何将唯一ID传递给支付网关,虽然它认为它是一个订单号,但在实际场景中,订单号/ID只有在交易成功时才会生成。我想向支付网关发送一个随机数。交易成功后,我可以存储在 Order 表中。
表格:顺序
1) aID:(唯一,主要,AI)
2) RandomNo(唯一)
3) 订购日期
这是个好主意
2) 要向用户显示哪个 ID 作为 ORDER ID aID 或 RandomNO
3) 我是否需要将来自支付网关的响应存储在数据库中,例如支付 ID(唯一)、响应代码、订单号和金额。它会有什么用处。
4) 支付网关集成后可能出现哪些情况,如何处理
【问题讨论】:
通常支付网关会有回答所有这些问题的文档,甚至可能有 PHP 库来为您完成大部分繁重的工作。你读过他们的手册吗? 【参考方案1】:1) 如何将唯一ID传递给支付网关,虽然它认为它是一个订单号,但在实际场景中,订单号/ID只有在交易成功时才会生成。我想向支付网关发送一个随机数。交易成功后,我可以存储在 Order 表中。
ANS :首先将订单插入数据库,然后再重定向到支付网关,并使用该插入的唯一 ID 作为订单 ID。
2) 向用户显示哪个 ID 作为 ORDER ID 是 aID 或 RandomNO
ANS : 上面提到的订单id可以显示给用户。
3) 我是否需要将来自支付网关的响应存储在数据库中,例如支付 ID(唯一)、响应代码、订单号和金额。它会有什么用处。
回答:是的!您必须存储来自支付网关的响应,以备将来发生任何争议时使用。
4) 支付网关集成后可能出现的场景有哪些,如何处理
ANS:我没有回答你这个问题。
【讨论】:
在重定向到支付网关之前存储数据可能会在数据库中创建垃圾行,如果用户返回或在不成功的交易中插入的行将是垃圾,这是对数据库的不必要条目 @Vinay 如果您在重定向之前没有将数据存储在数据库中,如果支付网关无法处理您的订单,您可能会丢失订单数据。 我会将数据存储在会话中,即使事务失败,数据也会在会话中,除非用户清除会话,实际上我是要求用户在事务失败时再次执行事务,但是交易成功,我将会话数据存储到数据库。那么为什么要在重定向之前将数据存储到数据库中。以上是关于支付网关实施的主要内容,如果未能解决你的问题,请参考以下文章
使用 Sylius 0.16 和 Payum 实施异地支付网关时如何完成订单