贝宝AngellEye DoExpressCheckout-数据不匹配

时间:2018-07-03 13:21:21

标签: php paypal

我刚刚开始将AngelEye库与php一起使用,特别是SetExpressCheckout,它调用DoExpressCheckoutPayment。

我已经建立好我的购物车,并使用SetExpressCheckout功能将其发布到Paypal。

所有操作似乎都正常进行,但是我已将DoExpressCheckoutPayment保留为与演示中的原始购物篮相同。到达Paypal的是这个篮子,而不是我的篮子。

这是正确的吗?我以为会注意到原来的篮子不是最终要处理的东西,并抛出错误。我知道我可以在DoExpressCheckoutPayment中重新构建购物篮,但是我认为它们应该匹配以捕获可能在我的网站和Paypal之间发生的任何干扰-还是我要检查的工作? (如果很好,那就好!)

顺便说一句,当货币代码不匹配时,它确实引发了错误-我不得不将它们都更改为GBP

如果我误解了它应该如何工作,我深表歉意。

1 个答案:

答案 0 :(得分:1)

通常情况下:

SetExpressCheckout中的内容和值需要与允许的领域内的DoExpressCheckoutPayment匹配(您可以在合理范围内更改用户的购买值和项目...)。

为什么可能没有抱怨:

它可能没有完全抱怨的原因是“演示数据”和“实际”之间的差异在允许卖方更改的范围之内。它只是接受了最终交易的差异(除非您指出,货币代码不能更改!)。

请参阅,当您最初将用户发送给Paypal时包含以下信息:

  • 购买产品#4
  • 9.99美元
  • 美元

然后,用户“同意这些条件并授权交易”。您将获得授权代码以继续捕获。但是,此时卖方有一定的变更余地(尽管不建议这样做,因为这样很容易使客户烦恼)。在哪里可以进行以下最终交易:

  • 购买产品#9282(在用户身上切换产品)
  • 11.99美元(提价,声称“已加税”或其他价格)
  • 美元(必须与您指出的相同)

尽管对于PayPal系统而言,这仍然是“可接受的”……这可能不是正确的客户业务。

对干扰的关注:

您对“ 可能发生的干扰”的关注不应该是一个。交易代码,商人ID和机密信息都用于防止这种中间人干预。而且,由于 Set Do 操作都是服务器端的(不是javascript),因此用户无法直接自己更改这些值来以较低的价格获得其他产品。

希望可以帮助您澄清疑虑/问题。