【发布时间】:2017-04-17 03:58:53
【问题描述】:
我正在为我的应用程序实施 PayPal 付款。 我正在使用 Laravel 框架和 Mercer-sdk-php 包来处理 NVP/SOAP API。我实际上更喜欢 REST API,但我需要客户在非固定时间段内进行不同数量的参考交易,据我所知,只有 NVP/SOAP API 才有可能。
快捷支付流程:
1。付款人点击“连接”按钮,即使用“SetExpressCheckout”方法创建计费协议。金额设置为 0 并添加账单协议字段以请求。客户被重定向到 PayPal,登录到他的帐户,同意直接付款,最后重定向到我的退货网址。
2。响应到来后,将触发返回操作(在 returnurl 字段中传递的那个)。接下来使用来自 paypal resposne 的令牌,我使用 CreateBillingAgreement 方法来获取我存储在数据库中的“BillingAgreementID”。
3。使用“BillingAgreementID”我提出“DoReferenceTransaction”请求。没有提示登录,一切都在幕后发生。最后我在交易后得到回应。
我想知道的想法是:
1。有没有办法获得一个电子邮件地址,在创建计费协议时,哪个消费者曾经登录过?我想在应用程序中显示直接借记设置为哪个 PayPal 帐户(与提到的电子邮件相关)?
2。我想在“BillingAgreementID”和“DoReferenceTransaction”之后在数据库中执行一些操作。响应状态“Success”以及“DoReferenceTransaction”字段“PaymentStatus”设置为“Completed”是否足以得出结论,该交易已完全完成,我不能分享一些数字商品,还是我应该等待这个请求的 IPN?
感谢所有贡献!
【问题讨论】: