【发布时间】:2021-04-22 19:17:20
【问题描述】:
我的网络应用程序遭受重复支付交易的困扰。它使用Payflow Pro JAVA SDK 调用PayPal Gateway 来处理用户通过PayPal 支付的款项。
作为一个短期解决方案,我们决定通过INV NUM,正如article 中所建议的那样,这样 PayPal 可以跟踪它并拒绝具有相同发票 ID 以及相应错误代码和消息的交易。
在测试修复时,我仍然收到statusCode 0 和重复交易的交易消息APPROVED。但是,对于重复交易,DUPLICATE 标志设置为 true,我相信它会将其标识为重复交易,但我不明白这是否意味着交易未成功处理,这意味着用户没有第二次被收费。
发票生成方法如下所示:
Invoice inv = new Invoice();
/* Set Amount. */
Currency amt = new Currency(pip.getFeeAmount(), "USD");
inv.setAmt(amt);
inv.setPoNum(poNum);
// INV NUM e.g.: 988755aa8aeb262a506ec01
inv.setInvNum(pip.getInvNum());
BrowserInfo bi = new BrowserInfo();
bi.setButtonSource(buttonSource);
inv.setBrowserInfo(bi);
return inv;
谁能告诉我为什么它不起作用?
【问题讨论】:
标签: java paypal payment-gateway paypal-sandbox