微信H5支付接口开发步骤
来源:互联网 发布:定格动画软件 编辑:程序博客网 时间:2024/05/18 03:42
接口流程图
1、用户在商户侧完成下单,使用微信支付进行支付
2、由商户后台向微信支付发起下单请求(调用统一下单接口)注:交易类型trade_type=MWEB
3、统一下单接口返回支付相关参数给商户后台,如支付跳转url(参数名“mweb_url”),商户通过mweb_url调起微信支付中间页
4、中间页进行H5权限的校验,安全性检查(此处常见错误请见下文)
5、如支付成功,商户后台会接收到微信侧的异步通知
6、用户在微信支付收银台完成支付或取消支付,返回商户页面(默认为返回支付发起页面)
7、商户在展示页面,引导用户主动发起支付结果的查询
8,9、商户后台判断是否接到收微信侧的支付结果通知,如没有,后台调用我们的订单查询接口确认订单状态
10、展示最终的订单支付结果给用户
常见问题
一、回调页面
正常流程用户支付完成后会返回至发起支付的页面,如需返回至指定页面,则可以在MWEB_URL后拼接上redirect_url参数,来指定回调页面。
如,您希望用户支付完成后跳转至https://www.wechatpay.com.cn,则可以做如下处理:
假设您通过统一下单接口获到的MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096
则拼接后的地址为MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn
1.需对redirect_url进行urlencode处理
2.由于设置redirect_url后,回跳指定页面的操作可能发生在:1,微信支付中间页调起微信收银台后超过5秒 2,用户点击“取消支付“或支付完成后点“完成”按钮。因此无法保证页面回跳时,支付流程已结束,所以商户设置的redirect_url地址不能自动执行查单操作,应让用户去点击按钮触发查单操作。回跳页面展示效果可参考下图
二、其它常见错误
2. 统一下单与调起支付时的网络有变动,如统一下单时是WIFI网络,下单成功后切换成4G网络再调起支付,这样可能会引发我们的正常拦截,请保持网络环境一致的情况下重新发起支付流程
2268443815商家参数格式有误,请联系商家解决1. 当前调起H5支付的referer为空导致,一般是因为直接访问页面调起H5支付,请按正常流程进行页面跳转后发起支付,或自行抓包确认referer值是否为空
2. 如果是APP里调起H5支付,需要在webview中手动设置referer,如(
Map extraHeaders = new HashMap();
extraHeaders.put("Referer", "商户申请H5时提交的授权域名");//例如 http://www.baidu.com ))
2,如果设置了回跳地址redirect_url,请确认设置的回跳地址的域名与申请H5支付时提交的授权域名是否一致4268498468支付请求已失效,请重新发起支付统一下单返回的MWEB_URL生成后,有效期为5分钟,如超时请重新生成MWEB_URL后再发起支付6请在微信外打开订单,进行支付H5支付不能直接在微信客户端内调起,请在外部浏览器调起
- 微信H5支付接口开发步骤
- 微信H5支付接口开发步骤
- 微信H5支付接口开发步骤
- 微信H5支付开发步骤
- 微信H5支付开发步骤
- java开发h5微信支付接口
- 微信H5支付开发指南
- java进行微信h5支付开发
- 微信支付接口开发
- 微信支付 h5
- h5微信支付
- 微信h5支付
- 微信H5支付
- 微信h5支付
- 微信支付 h5 支付
- H5微信公众号开发,微信支付
- 微信支付配置信息,JSAPI接口,H5调用微信js接口支付,微信公众号支付
- 微信公众号支付开发步骤
- 测试金字塔 TestPyramid
- A bug's life(带权并查集)
- 并发编程之CAS(Compare and Swap)原理
- ReentrantLock实现原理
- 《Java核心技术》 Class类文件结构
- 微信H5支付接口开发步骤
- 《Java核心技术》 JVM指令集
- Iaas,paas,saas区别与联系
- 《深入解析Hello,World》 :第三章 java源代码是怎样变成class文件的
- Android获取手机联系人及检索
- final 和static
- 《深入解析Hello,World》 :第四章 class文件是怎样被读取解析执行的,JVM执行引擎
- python存储16bit和32bit图像
- Paul Graham:梦寐以求的编程语言