先贴一个 stackoverflow 的问题《 Can Paypal trigger IPN / Webhook without processing data from return_url?》
里面提到的内容跟我遇到的差不多,我使用的是 Omnipay Paypal 包。
我之前直以为只要用户在 paypal 端完成支付,无论是否跳转回网站执行同步回调,IPN / Webhook 异步回调都会执行,通知服务器付款交易信息。
事实,如果没有执行同步回调,更准确说,没向 paypal 发出 DoExpressCheckoutPayment API 指令,异步回调是一直都不会执行。
问题是,用户在 paypal 端完成支付后,能否跳转回网站执行同步回调,这个是不可靠的,因为用户端可能因为网络原因,无法跳转回网站,或者此时服务器 down 了没法完成 DoExpressCheckoutPayment API 指令,那么此时交易就一直不能完成。在 paypal 的商户账户交易记录页面上也看不到这笔交易。
我现在费解,究竟 paypal 交易流程就是这样,还是我 paypal 设置和代码有问题才这样?
几年前也做过简单 paypal 支付的开发,但当时只是直接使用 paypal sdk,参考了 sdk 提供的 example,没考虑周全,没深入研究。
正常的支付交易流程是怎样的?开发需要考虑什么?
这是一个专为移动设备优化的页面(即为了让你能够在 Google 搜索结果里秒开这个页面),如果你希望参与 V2EX 社区的讨论,你可以继续到 V2EX 上打开本讨论主题的完整版本。
V2EX 是创意工作者们的社区,是一个分享自己正在做的有趣事物、交流想法,可以遇见新朋友甚至新机会的地方。
V2EX is a community of developers, designers and creative people.