我正在使用当前的REST API和Java SDK编写与PayPal集成的概念证明。我已经设置了测试应用程序等,包括客户端ID和密码。
我的目标是让用户离开我的网站,然后回到我的网站,完全处理他们在PayPal方面的付款 - 除了获取付款ID之外,我们不需要进一步的互动。
我正在使用付款API和相应的付款DTO:https://developer.paypal.com/docs/api/payments/
我还在使用付款体验API:https://developer.paypal.com/docs/api/payment-experience/#definition-flow_config
我通过payment.create(APIContext)创建付款,然后从生成的DTO链接中删除approval_url并重定向到该URL。在PayPal沙箱中,我使用我的测试买家帐户登录。我显示“立即付款”按钮,其中包含我的所有订单详细信息,然后单击“立即付款”按钮。我被重定向回到我指定的重定向网址,但是当我使用邮递员检查与paymentID URL参数关联的付款时,当我希望它被“批准”时,它的状态就会被“创建”。此外,当我作为我的测试买家登录时,我没有看到PayPal余额的更新,也没有在我的测试商家帐户中看到交易。
当我使用Postman执行付款时,交易显示在我的测试商家帐户上,我的测试买家帐户的余额减少了。
我认为如果我在FlowConfig中为我的付款附加的网络个人资料中指定了user_action = commit,这意味着一旦我从PayPal回来,我就不需要经历实际执行付款的单独步骤
来自FlowConfig的API参考:
设置user_action = commit。将买家重定向到PayPal付款页面,该页面显示“立即付款”按钮。当买家点击立即付款时,会立即处理付款。
“立即处理付款”是否等同于“批准并执行付款”?我还缺少一个额外的选项,还是我误解了“立即付款”选项?