用户登录

用户使用支付宝完成支付以后,支付宝会把用户带到我们设置的同步返回地址上 .. 就是这里你看到的这个感谢页面 .. 上面会显示订单相关的信息 ..

支付宝返回到这个页面上的时候,地址里面会带着一些参数 .. 就是地址里的问号后面这些东西 .. 注意这里的这个 key 并不是支付宝返回的数据 .. key 以后的参数才是 .. 就是从 charset 这个参数开始 ..

这个感谢页面提供了一个勾子,想在这个页面上做点什么可以把它挂载到这个勾子上 ..

打开支付宝插件里的 woocommerce-alipay.php .. 用一个 add_action .. 挂载一个勾子 .. 名字是 woocommerce_thankyou 后面可以再加上一个特定的支付 id .. 比如 alipay ,这样就只会影响到使用支付宝支付的时候展示的感谢页面 ..

挂载一个 woocommerce_alipay_thank_you .. 下面再去定义一下这个函数 .. 名字是 woocommerce_alipay_thank_you .. 方法接收一个 $order_id 参数 .. 就是订单号 ..

在函数里面,添加一个 $vars .. 让它等于 $_GET .. 得到请求参数 .. 这些参数里面的 key 并不是支付宝返回的 .. 所以可以 unset 一下 $vars 里的 key ..

下面把这个 $vars 里的内容输出到日志里检查一下 .. WC_Gateway_Alipay::log .. 输出 $vars .. 级别是 info .. 第三个参数是 true ..

回到这个感谢页面 ... 刷新一下 ..

再找一下支付宝支付相关的日志 .. 打开最近的这个日志文件 .. 这里你会看到支付宝在地址参数带的一些数据 ..

out_trade_no 是外部交易号 .. total_amount 是支付的金额 .. 这个 sign 是支付宝对这些数据的一个签名 .. 如果我们在应用里想要使用这里提供的这些数据,需要使用支付宝公钥去验证一下这个签名到底是不是真的是支付宝签发的 .. 如果是,我们才能相信这些数据 ..

下面这个 trade_no 是在支付宝那里的一个交易号 ..

支付宝同步返回里带的数据《 电商网站案例:支付通知 》

统计

14696
分钟
0
你学会了
0%
完成

社会化网络

关于

微信订阅号

扫描微信二维码关注宁皓网,每天进步一点