我们在 Ruby on Rails 上运行电子商务网站,为了处理信用卡,我们使用 ActiveMerchant 插件使用我们的 API 凭据连接到我们的 PayPal 网站支付专业帐户。
作为结帐过程的一部分,我们首先在网关对象上调用授权函数,然后,在进一步检查之后,我们执行捕获部分。
我们最近遇到了一个错误,即一笔金额在客户的帐户中被保留两次:一次是授权费用,第二次是最终购买。因此,对于客户来说,看起来我们向他收费了两次(一次是为了授权,一次是为了最终购买),而我们实际上只收到了一次钱,而他账户上的“第二次收费”只是我们不明确的授权由于某些原因。(这似乎尤其发生在 PayPal FMF 拒绝我们的交易并且我们重新处理时。)
我正在尝试通过为买方和卖方创建 PayPal 沙盒帐户来解决此问题。我通过 Rails 控制台逐行运行代码并模拟不同的条件以尝试复制错误。但是,我成功的信用卡交易只出现在我的“卖家”/“商家”账户中,而不出现在 PayPal 沙盒的“买家”账户中,所以我看不到我的代码序列对客户卡的影响。这篇文章似乎表明事情就是这样,确实不可能测试对买方信用卡方面的影响。这篇文章建议使用 PayPal Express Checkout 但这不是我们网站上需要的,因为我们'
如何测试我的代码对客户信用卡的影响?是不是我在 PayPal 中遗漏了一些东西,或者 ActiveMerchant 中是否有一些模式/日志/监视器可以用来查看?我需要找到导致我们两次授权的代码行。