【问题标题】:Payment gateway possible issues支付网关可能的问题
【发布时间】:2011-09-07 16:14:41
【问题描述】:

我在我的应用中实现了 2 个支付网关(paypal 和 datatrans)。在这两个网关中,支付都发生在网关站点上,即用户被重定向到他支付的支付网关站点,然后被重定向回我们的站点。 我已经确定了一些在整个支付流程中存在问题的场景。例如

  • 付款后互联网连接中断,因此无法下订单,但款项已从用户帐户中扣除
  • PayPal 发送响应,但应用程序出现异常,因此用户没有得到确认
  • 交易进行时点击刷新按钮导致双重支付

我想知道在支付网关集成中应该处理哪些标准异常。 任何有关 paypal 的示例都会对我有很大帮助,我使用 asp.net mvc 3。谢谢。

【问题讨论】:

    标签: asp.net exception-handling paypal payment-gateway


    【解决方案1】:

    双重付款。

    为避免它们,您需要为每个订单创建一个唯一 ID,在用户从您的网站移动到贝宝或其他网站后,此 ID 必须是只读的,并且如果用户在失败后返回您的网站或其他原因,并要求重新订购相同的购物车,您必须创建一个新的购物车和一个新的订单 ID。

    对于每个订单 ID,paypal 和其他网站只允许一次付款(或一次失败)。

    失去互联网连接,或没有得到确认

    Paypal 有 3 种方式与您联系。

    1. IPN
    2. PDT
    3. 电子邮件。

    一种是你在付款后从用户的返回中获取信息,另一种是paypal与你沟通并给你发送付款信息,最后你会收到email。

    在极少数情况下全部失败,用户会在几天后通知您他没有收到订单。

    实际上,他们永远不会失败所有这些。实际上他们从来没有失败过。

    异常和错误

    有时您无法避免错误,因此请监控您的付款并记录任何可能的错误以进行修复。在使用贝宝付款 7 年后,我仍然会监控他们是否存在问题、欺诈、问题、新想法等,并且仍然会不时进行一些小的调整。

    【讨论】:

    • 同意并希望在 PayPal 产品上添加更多内容。 PDT仅适用于WPS,而IPN适用于WPS和EC等。所以我个人会选择IPN。此外,发票号码确实解决了重复付款问题。并且,如果你使用EC(快速结账),即使买家刷新也不会成功支付:EC使用token,支付成功后token会过期。
    猜你喜欢
    • 2011-02-25
    • 2015-03-10
    • 1970-01-01
    • 2016-03-25
    • 2018-09-11
    • 2021-09-07
    • 2012-09-03
    • 1970-01-01
    • 2011-03-16
    相关资源
    最近更新 更多