支付相关-支付宝H5支付流程-微信公众号支付

版权声明:本文为博主原创文章,未经博主允许不得转载。 https://blog.csdn.net/lineuman/article/details/82432472

支付宝 微信支付 支付相关

相关概念
notify_url 支付状态异步通知接口
return_url 支付成功或者失败跳转的页面地址
支付宝官方流程图
这里写图片描述

通俗流程如下

  • 用户受到前端页面的吸引下单,
  • 商户系统构造支付请求,
  • 支付宝系统接受商户系统的请求,为商户系统生成前台页面请求需要的完整form表单的html(包含自动提交脚本),并把这段字符串发送给商户系统,商户系统把这段html字符串转交给前端进行显示
  • 前端进入支付宝页面,完成支付流程

流程效果图
通过如下的流程,我们可以看到,有关联的地方就是这个表单,但凡是通过这个表单打开的需要进行支付的订单都是一样的,而一旦完成了支付
可见这个表单和支付宝服务器内部的某种关联。

  • 前端点击确认支付
    这里写图片描述

  • 商户系统构造支付请求并从支付宝服务端获取html表单字符串

"<form name="punchout_form" method="post" action="https://openapi.alipay.com/gateway.do?charset=UTF-8&method=alipay.trade.wap.pay&sign=...&return_url=...&notify_url=...&version=1.0&app_id=...&sign_type=RSA2&timestamp=2018-09-05+22%3A36%3A50&alipay_sdk=alipay-sdk-java-dynamicVersionNo&format=json">
<input type="hidden" name="biz_content" value="{&quot;out_trade_no&quot;:&quot;201809050101000393053510&quot;,&quot;total_amount&quot;:0.01,&quot;subject&quot;:&quot;付费业务名称&quot;,&quot;product_code&quot;:&quot;QUICK_WAP_WAY&quot;,&quot;timeout_express&quot;:&quot;120m&quot;}">
<input type="submit" value="立即支付" style="display:none" >
</form>
<script>document.forms[0].submit();</script>"
  • 前端打开上一步的html表单字符串,进入支付宝页面
    这里写图片描述

  • 用户支付宝登陆,完成付款

这里写图片描述

微信支付相关

微信h5支付

trade_type=MWEB

公众号支付

https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1

前端
商户服务端
微信服务端

我们的支付设计

app -> 业务服务端 -> 中间层 -> 支付中心 ->支付宝或者微信或者连连等

支付并不能立即获取结果,往往是通过http接口进行异步通知。
通用的逻辑是
创建订单
发起支付请求
用户进行支付
通过回调判断真正的支付状态

展开阅读全文

没有更多推荐了,返回首页