支付网关可能的问题

时间:2011-06-03 09:02:55

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

我在我的应用程序中实现了2个支付网关(paypal和datatrans)。在两个网关中,支付都发生在网关站点上,即用户被重定向到付款网关站点,然后付费,然后重定向回我们的站点。 我已经确定了一些在整个支付流程中存在问题的情况。 E.g。

  • 付款后丢失了互联网连接,因此没有下订单,但是从用户的帐户中扣款“
  • PayPal发送了响应,但应用程序出现异常,因此用户未收到确认
  • 因交易正在进行时点击刷新按钮而双重付款

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

1 个答案:

答案 0 :(得分:3)

双重付款。

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

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

丢失了互联网连接,或未获得确认

Paypal有3种与您联系的方式。

  1. IPN
  2. PDT
  3. 电子邮件。
  4. 一个是您在付款后从用户退回中获取信息,另一种方法是PayPal与您沟通并向您发送付款信息,最后您会收到电子邮件。

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

    实际上,他们永远都不会失败。实际上他们从未失败过任何一件事。

    异常和错误

    有时您无法避免错误,因此请监控您的付款并记录任何可能的错误以解决问题。用paypal付款7年后,我仍会监控他们的问题,欺诈,问题,新思维等,并且还会不时做出一些小的调整。