Paypal IPN / Webhook 异步回调流程是怎样的? - V2EX
V2EX = way to explore
V2EX 是一个关于分享和探索的地方
现在注册
已注册用户请  登录
moxuanyuan
V2EX    PHP

Paypal IPN / Webhook 异步回调流程是怎样的?

  •  
  •   moxuanyuan 2020-12-09 04:12:53 +08:00 2551 次点击
    这是一个创建于 1834 天前的主题,其中的信息可能已经有所发展或是发生改变。

    先贴一个 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,没考虑周全,没深入研究。

    正常的支付交易流程是怎样的?开发需要考虑什么?

    1 条回复    2020-12-09 09:38:30 +08:00
    ben1024
        1
    ben1024  
       2020-12-09 09:38:30 +08:00
    个人理解
    1.paypal 回调与客户端无关
    2.在接收回调处理流程和接收过程异常三方不负责
    3.再处理订单时先进行主动确认验证
    关于     帮助文档     自助推广系统     博客     API     FAQ     Solana     4375 人在线   最高记录 6679       Select Language
    创意工作者们的社区
    World is powered by solitude
    VERSION: 3.9.8.5 21ms UTC 10:02 PVG 18:02 LAX 02:02 JFK 05:02
    Do have faith in what you're doing.
    ubao msn snddm index pchome yahoo rakuten mypaper meadowduck bidyahoo youbao zxmzxm asda bnvcg cvbfg dfscv mmhjk xxddc yybgb zznbn ccubao uaitu acv GXCV ET GDG YH FG BCVB FJFH CBRE CBC GDG ET54 WRWR RWER WREW WRWER RWER SDG EW SF DSFSF fbbs ubao fhd dfg ewr dg df ewwr ewwr et ruyut utut dfg fgd gdfgt etg dfgt dfgd ert4 gd fgg wr 235 wer3 we vsdf sdf gdf ert xcv sdf rwer hfd dfg cvb rwf afb dfh jgh bmn lgh rty gfds cxv xcv xcs vdas fdf fgd cv sdf tert sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf sdf shasha9178 shasha9178 shasha9178 shasha9178 shasha9178 liflif2 liflif2 liflif2 liflif2 liflif2 liblib3 liblib3 liblib3 liblib3 liblib3 zhazha444 zhazha444 zhazha444 zhazha444 zhazha444 dende5 dende denden denden2 denden21 fenfen9 fenf619 fen619 fenfe9 fe619 sdf sdf sdf sdf sdf zhazh90 zhazh0 zhaa50 zha90 zh590 zho zhoz zhozh zhozho zhozho2 lislis lls95 lili95 lils5 liss9 sdf0ty987 sdft876 sdft9876 sdf09876 sd0t9876 sdf0ty98 sdf0976 sdf0ty986 sdf0ty96 sdf0t76 sdf0876 df0ty98 sf0t876 sd0ty76 sdy76 sdf76 sdf0t76 sdf0ty9 sdf0ty98 sdf0ty987 sdf0ty98 sdf6676 sdf876 sd876 sd876 sdf6 sdf6 sdf9876 sdf0t sdf06 sdf0ty9776 sdf0ty9776 sdf0ty76 sdf8876 sdf0t sd6 sdf06 s688876 sd688 sdf86