微信支付流程
2015-06-09 16:11:16 49 举报
微信支付流程如下:首先,用户在商户网站或应用内选择商品或服务,确认购买信息后,点击“微信支付”按钮。然后,系统会跳转到微信支付页面,用户在此页面登录自己的微信账号。接着,用户确认支付金额无误后,点击“立即支付”按钮。最后,微信支付系统会调用用户的微信支付功能,用户输入密码或通过指纹、面部识别等方式完成支付。支付成功后,商户会收到微信支付的支付成功通知,用户可以在微信中查看到订单的支付状态。
作者其他创作
大纲/内容
未完成且未关闭
不存在
请求返回重复支付提示
AJAX获取JSAPI支付参数
对order_no进行锁定请求
存在
Logic('ShopOrder')-orderWithSign()检验订单效验码
资金表数据入库js_access_account_lis
合法
失败,写日志
获取open_id失败
入参不正确
一致
根据支付渠道调用业务处理func
根据支付单号获取资金对应的数据
调用getSign生成签名
成功
微信特卖支付func流程
已完成或已关闭,写日志
根据支付渠道检测业务处理func是否存在
支付网关处理流程
根据支付渠道获取异步回调通知地址
检测支付方式是否发生变化,有则更新资金表
PayGatewayModel::pay()处理结束返回
请求返回订单无效
失败返回
跳转订单列表
入参out_trade_no支付单号/body订单内容/total_fee订单金额/notify_url异步通知地址/trade_type:JSAPI/open_id/time_expire交易结束时间
得到业务func返回处理结果
PayGatewayMode微信特卖业务pay_m_wap_wxpay
请求返回页面
记录日志
失败
检测入参
支付网关调用返回
支付参数唤起微信JSSKD支付
PayGatewayModel::pay()处理流程
不存在返回,写日志
Logic('ShopOrder')-get_pay_info_by_order_no()获取订单支付信息
组织资金表数据js_access_account_list
判断订单是否完成或关闭
PayGatewayModel::pay()调用支付网关接口获取支付参数
post xml至微信生成预付单号prepay_id
获取session中的openid
微信特卖下单支付流程
判断之前的资金表数据是否存在
不一致
非法返回
0 条评论
下一页