Paypal如何在故障转移中工作

时间:2015-08-05 15:14:58

标签: javascript node.js express paypal

我正在为具有以下架构的客户工作:

  • 后端
    • Java Server
  • 前端
    • 代理(Node JS + Express应用程序)

我们向服务器发出的所有请求都需要通过代理(安全功能)。

我们需要在我们的应用程序中集成Paypal API,因此我们为OK和KO回调创建了两个操作(让我们说/proxy/paymentOK/proxy/paymentKO)来调用我们的服务器并更新记录的状态。

现在是解决问题的时候了:

  • 让我们说用户付款。因此,paypal将调用我们的OK回调(/proxy/paymentOK)。如果代理和服务器之间出现问题(例如,电源或网络故障),付款会发生什么?付款将自动退还给客户? Paypal如何知道打完电话后一切顺利?

  • 在发送paypal请求之前,我会保留一些值,因此我有一个状态为PENDING_PAYMENT的记录的ID。 Paypal需要知道此参数,因为无论付款接受还是拒绝,我都必须使用ACCEPTEDREFUSED状态更新记录。如何将此ID发送给Paypal以及如何在Paypal进行回拨时获取该ID?

谢谢大家!

1 个答案:

答案 0 :(得分:2)

过程如下:

  1. 创建付款

    这只是声明有关交易的详细信息,但不会让用户参与付款。付款可以根据需要编辑,直到第2步。您将收到此付款的ID和网址。

  2. 用户付款

    您为用户提供交易的网址,用户付费。您会收到通知(您不应该信任OK / KO回调,只需支付付款ID)。

  3. 批准付款

    您检查付款状态,如果处于暂挂状态,则执行/批准。交易完成。

  4. 如果你崩溃第1步,没什么可担心的,交易甚至没有启动。你可以安全地开始另一个。

    如果您崩溃第2步,则在启动服务器时,您将拥有所有付款ID,并且应该为每个付款ID执行第3步。

    如果您崩溃第3步,您可以安全地重做它,paypal会通知您此付款已经执行,并告知您其状态。

    注意:即使您丢失了信息,也可以随时检索。 (List payments或获得payment informations