我正在使用SpringMVC + Paypal付款并发现我写的愚蠢代码(虽然它工作正常).我正在使用paypal表单,将金额,项目名称,成功网址,取消网址等数据提交给PayPal付款.它包含发送数据的隐藏字段,因为我们都知道隐藏的字段不再隐藏:)
任何人都可以右键单击表单并使用inspect元素,并可以更改金额的值.此外,当我完成付款后,我必须单击"返回到...."链接返回到我的页面,在那里我无法读取paypal返回的有关交易的任何数据.
所以我想问一下,在我转移到paypal页面之前是否还有另一种解决方法,我使用我的API密钥获得一些令牌,付款完成后,paypal自动重定向回我的网址(不必点击"返回" ......")我可以在那之后验证交易
我试过并且能够使用谷歌找到一些代码,但他们都使用自己的帐户付款.
在我的应用程序中,客户端必须在到达paypal页面时输入他们的paypal帐户信息
急切地等待回复,谢谢和问候
如果您需要代码,我也会发布我的表单代码,但我知道使用表单和会话进行付款并不是一个好方法
我不知道如何在Spring MVC中完全做到这一点(因为我是面向PHP的),但一般来说这个工作流程与所使用的语言无关.基本上,您将使用PayPal API,它在服务器端执行远离用户的操作.
这就是说你需要一些"立即付款"按钮,它会在你的网站上将用户重定向到另一个页面(控制器/动作,因为你正在使用MVC),它执行以下操作:
SetExpressCheckout使用付款信息(说明,总金额,货币等)启动API,您还应指定2个网址:(如果returnURL用户授权付款,用户将从PayPal重定向cancelURL到哪个页面),以及(将向哪个页面用户重定向)来自PayPal以防他取消授权)redirectURL您应将用户重定向到PayPal的字段,以便他授权付款returnURL.当用户被重定向回您的网站时,PayPal会附加token参数,您可以使用该参数来验证并完成使用GetExpressCheckoutDetails和DoExpressCheckoutPaymentAPI调用的付款.基本上,所有事情都发生在服务器端,因此您可以安全地避免在客户端进行篡改.
是的,用户可以token在重定向到您的网站后进行修改,但没有必要这样做.调用GetExpressCheckoutDetailsAPI后,您可以检查呼叫是否成功并采取相应措施.
在PayPal文档中,您可以找到各种示例和用例,因此我建议您查看一下,特别是:这(如果您想立即处理付款),或者这个(或者如果您想稍后处理付款,请说几天后).
请注意,PayPal有两个版本的API:Classic(更旧,更彻底,有点难以开始)和REST(更新,更容易掌握,但仍缺少一些高级用例).但无论如何,我上面给你的链接应该可以帮助你理解Express Checkout的工作原理.
| 归档时间: |
|
| 查看次数: |
8625 次 |
| 最近记录: |