我刚刚开始将AngelEye库与php一起使用,特别是SetExpressCheckout,它调用DoExpressCheckoutPayment。
我已经建立好我的购物车,并使用SetExpressCheckout功能将其发布到Paypal。
所有操作似乎都正常进行,但是我已将DoExpressCheckoutPayment保留为与演示中的原始购物篮相同。到达Paypal的是这个篮子,而不是我的篮子。
这是正确的吗?我以为会注意到原来的篮子不是最终要处理的东西,并抛出错误。我知道我可以在DoExpressCheckoutPayment中重新构建购物篮,但是我认为它们应该匹配以捕获可能在我的网站和Paypal之间发生的任何干扰-还是我要检查的工作? (如果很好,那就好!)
顺便说一句,当货币代码不匹配时,它确实引发了错误-我不得不将它们都更改为GBP
如果我误解了它应该如何工作,我深表歉意。
答案 0 :(得分:1)
通常情况下:
SetExpressCheckout中的内容和值需要与允许的领域内的DoExpressCheckoutPayment匹配(您可以在合理范围内更改用户的购买值和项目...)。
为什么可能没有抱怨:
它可能没有完全抱怨的原因是“演示数据”和“实际”之间的差异在允许卖方更改的范围之内。它只是接受了最终交易的差异(除非您指出,货币代码不能更改!)。
请参阅,当您最初将用户发送给Paypal时包含以下信息:
然后,用户“同意这些条件并授权交易”。您将获得授权代码以继续捕获。但是,此时卖方有一定的变更余地(尽管不建议这样做,因为这样很容易使客户烦恼)。在哪里可以进行以下最终交易:
尽管对于PayPal系统而言,这仍然是“可接受的”……这可能不是正确的客户业务。
对干扰的关注:
您对“ 可能发生的干扰”的关注不应该是一个。交易代码,商人ID和机密信息都用于防止这种中间人干预。而且,由于 Set 和 Do 操作都是服务器端的(不是javascript),因此用户无法直接自己更改这些值来以较低的价格获得其他产品。
希望可以帮助您澄清疑虑/问题。