新零售支付全家桶


Native支付接口说明

<h2>创建支付订单</h2> <p>Navtive支付的流程跟小程序支付很像,也是分成两个步骤。现在的这个时序图展现的是如何创建支付订单。</p> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/1f46a2dec1e6efdf13debda41db5a7c6?showdoc=.jpg" alt="" /></p> <ol> <li> <p>首先用户在网站上面购物,选好了商品,然后下单。通常情况下,商户系统创建出本地的商品订单后,让用户选择用什么方式来付款。比如说我们选择了微信付款,然后点击网页上面的支付按钮。</p> </li> <li> <p>因为我们的电商系统是前后端分离架构的,所以网页要向后端系统发出Ajax请求,上传商品订单号,以及用户的Token令牌。</p> </li> <li> <p>后端系统经过验证通过之后,会向微信平台发出请求,让微信平台创建支付订单,当然了,这个过程还是要上传很多数据的,包括商户号、APPID、随机字符串、数字签名等等。</p> </li> <li> <p>微信平台经过验证之后,就可以创建支付订单了。并且把支付订单的相关信息返回给商户系统,也就是renren-fast后端系统</p> </li> <li> <p>这时候,商户系统要从接收到的信息里面提取支付链接,并且把支付链接生成二维码图片。</p> </li> <li>这时候商户系统把这个二维码图片的URL地址返回给网页,于是网页上面就出现了支付二维码。总体上来说,创建支付订单的流程还是跟原来差不太多,我们有开发小程序微信支付的经验,做起Native支付来,应该问题不大。</li> </ol> <h2>用户付款</h2> <p><img src="https://www.showdoc.cc/server/api/common/visitfile/sign/21b9f3cdf0c552b8882337a4f5791931?showdoc=.jpg" alt="" /></p> <ol> <li> <p>首先用户在网页上面看到二维码,于是就用微信APP扫描了这个二维码。接下来会发生什么事情呢?微信APP会向微信平台发出请求,查询商户系统创建的支付订单。还是那句话,万一商户系统创建了一个跟商品订单金额不一致的支付订单呢?用户不放心这件事情。所以微信APP扫码之后,会立即到微信平台上面查询支付订单的信息。</p> </li> <li> <p>然后用户的手机上面就弹出了对话框,写着哪个商户创建的支付订单,订单的金额是多少。</p> </li> <li> <p>用户觉得没问题,于是就在手机上面输入了支付密码,或者输入指纹也行,于是这个付款请求就发送给了微信平台。</p> </li> <li> <p>微信平台收到请求,经过验证之后,于是就执行扣款。</p> </li> <li>扣款成功以后,微信平台会把支付结果,分别发送给商户系统和用户的手机。于是大家都知道了这笔交易的付款结果。</li> </ol> <h2>注意事项</h2> <p>说到这里,不得不旧事重提,咱们的项目现在没有发布到外网,接收不到微信平台发送的支付通知。所以我们还是得让商户系统主动查询支付结果。现在是用户的微信APP上面接收到了支付的结果,我们没办法控制微信APP向商户系统发出请求。那么就只能在网页上面动手脚了。要么你弹出个对话框,让用户自己选择支付成功还是失败了,如果支付成功了,那么网页向后端系统发出请求,让后端系统主动查询支付的结果。另一种做法是网页每隔几秒钟就像后端系统发出请求,让后端系统主动查询支付结果。当然了,网页也不是无限制的想后端系统发出请求,发送十次请求之后,就自动弹出对话框,让用户自己选择支付的结果。那么各位同学,你们觉得哪一种方案更好一点呢?我自己觉得第二种方案更好,因为在10次轮询之内,用户付款成功,那么商户系统就自动更改了商品订单的状态,并且刷新了页面,我们就能在网页面看到订单已经变成已付款状态了,完全不需要用户做额外的确认。</p>

页面列表

ITEM_HTML