贝宝错误控制

Paypal Errors control

我正在将 paypal Checkoutserver-side SDK 整合。我正在尝试弄清楚如何处理错误,但我无法得到这些问题的答案:

1)在CreateOrder中,收到Paypal的响应后,我将数据保存在数据库中。如果保存数据出现异常,Paypal 中的数据将与我在 DB 中的数据不一致。有什么方法可以删除在 Paypal 中创建的订单吗? (这是因为我想尝试再次付款,但是由于生成的 order_id 关联了相同的 invoice_Id,这会导致问题,对吧?)。我注意到 Orders API 中没有“删除”,那么如何删除它?

2)如果在我的数据库中保存数据在 CaptureOrder 之后出现异常,我将不得不为那个 capture_id 请求一个 refund 以获得相同的信息在 DB 和 Paypal 中。 refund完成后,我想再次付款,我可以使用相同的invoice_id吗?

无法删除未captured/completed的订单。简单地忘记它们,不要捕获它们。 invoice_id 可用于其他订单,因为它只对已完成的订单有影响。

Re-using 订单退款后的发票 ID 可能不起作用,因为它旨在防止此类重复付款。但是你需要自己测试一下。