公众号_JSAPI_H5支付
<p>公众号/H5支付是微信支付宝给到线下/线上行业的一种收款方式。
用户使用微信支付宝APP扫码商家提供的聚合二维码或通过访问商家手机H5网站,在微信支付宝APP内通过JSSDK调起支付控件完成支付。</p>
<h1>场景介绍</h1>
<p>以下以微信支付为例,说明H5支付的使用场景,支付宝场景和微信类似:</p>
<p>商户已有H5网站,用户通过消息或扫描二维码在微信内打开网页时,可以调用微信支付完成下单购买的流程。</p>
<p><strong>步骤(1)</strong>:商户下发图文消息或者通过自定义菜单吸引用户点击进入商户网页,商户也可以把商品网页的链接生成二维码,用户扫一扫打开后即可完成购买支付。</p>
<p><strong>步骤(2)</strong>:进入商户网页,用户选择购买,完成选购流程。
<img src="https://cdn.nlark.com/yuque/279/2018/png/97819/1537839451318-909d45f2-cafc-4b9b-ba06-4cf5a7ac2633.png#align=left&display=inline&height=556&originHeight=556&originWidth=632&status=done&width=632" alt="" /></p>
<p><strong>步骤(3)</strong>:商户前端页面调用PayCloud平台H5支付地址,PayCloud平台H5调起微信支付控件,用户开始输入支付密码。</p>
<p><strong>步骤(4)</strong>:密码验证通过,支付成功。商户后台得到PayCloud平台支付成功的通知。
<img src="https://cdn.nlark.com/yuque/279/2018/png/97819/1537839480461-71a1a30f-3e2c-4fda-a495-b5d090124909.png#align=left&display=inline&height=553&originHeight=553&originWidth=622&status=done&width=622" alt="" /></p>
<h4>交互细节:</h4>
<p>以下是支付场景的交互细节,请认真阅读,设计商户页面的逻辑:
(1)用户打开商户网页选购商品,发起支付,在网页通过JavaScript调用开放服务网关接口,发起微信支付请求,用户进入支付流程。
(2)用户成功支付点击完成按钮后,会重定向到商家网页,商户可直接跳转到支付成功的静态页面进行展示。
(3)商户后台收到来自PayCloud平台支付成功回调通知,标志该笔订单支付成功。
注:(2)和(3)的触发不保证遵循严格的时序。前端跳转作为触发商户网页跳转的标志,但商户后台应该只在收到PayCloud平台的支付成功回调通知后,才能做真正的支付成功的处理。</p>
<h1>业务流程</h1>
<p><img src="https://cdn.nlark.com/yuque/0/2018/png/97189/1541067090169-d1608ddc-a13a-4aec-af51-e1f442085ce8.png#align=left&display=inline&height=459&originHeight=726&originWidth=1307&status=done&width=827" alt="" />
流程详细说明:
(1)用户在微信支付宝内置浏览器内访问商户H5页面浏览商品创建订单;
(2)商户提交订单,商户H5提交下单请求到商户后台;
(3)商户后台使用【H5支付下单API】提交预支付下单请求给PayCloud平台;
(4)开放服务网关验证支付请求,保存订单信息,同步返回PayCloud平台H5收银台页面地址给商户后台;
(5)商户后台同步返回PayCloud平台H5收银台页面地址给商家H5页面;
(6)商家H5页面请求服务商返回的PayCloud平台H5收银台页面地址;
(7)PayCloud平台H5收银台页面地址请求PayCloud平台后台预支付下单;
(8)PayCloud平台后台请求微信/支付宝后台预支付下单;
(9)微信/支付宝后台同步返回PayCloud平台后台支付相关信息;
(10)PayCloud平台后台同步返回H5收银台支付相关信息;
(11)PayCloud平台H5收银台使用JS SDK调起微信支付宝APP支付控件;
(12)微信支付宝APP调用后台进行支付;
(13)微信/支付宝后台处理支付,如果需要验证用户交易密码,则通知用户输入密码;
(14)微信支付宝异步通知用户APP支付结果;
(15)对于交易状态不明确的交易,PayCloud平台通过主动查询获取支付结果;
(16)对于交易状态不明确的交易,商家后台通过主动查询获取支付结果,请参考【[查询订单API]】;
(17)支付成功后,wb平台会异步通知商户后台支付成功,请参考【[异步通知]】。</p>