web、app跳转微信支付解决方案

前言:之前一直为web跳转微信支付二搜索百度,居然没有得到想要的结果,所以现在给出以下解决方案。

其实微信的H5支付就是可以解决这个问题的

1,公众号首先开通H5支付;

2,通过微信“统一支付订单”api请求

   

#1.生成字符串:
appid=wx12a881c60697&attach=sd&body=测试&device_info=wx&goods_tag=asdsd&mch_id=128521402&nonce_str=8991731¬ify_url=http://www.hhh.com&out_trade_no=20180906101016&sign_type=MD5&spbill_create_ip=58.42.243.5&time_expire=20180908101133&time_start=20180906101133&total_fee=1&trade_type=MWEB

#2.连接商户key:
appid=wx12a881c60697&attach=sd&body=测试&device_info=wx&goods_tag=asdsd&mch_id=128521402&nonce_str=8991731¬ify_url=http://www.hhh.com&out_trade_no=20180906101016&sign_type=MD5&spbill_create_ip=58.42.243.5&time_expire=20180908101133&time_start=20180906101133&total_fee=1&trade_type=MWEB&key=987987987asdfdasf

#3.md5编码并转成大写:
sign=D89552C4391EED648F9E07F3B07B0751

#4.对body做utf-8编码(不是url编码)

最终提交的xml:

	wx12a881c60697
	sd
	测试
	wx
	asdsd
	128521402
	8991731
	http://www.hhh.com
	20180906101016
	MD5
	58.42.243.5
	20180908101133
	20180906101133
	1
	MWEB
	D89552C4391EED648F9E07F3B07B0751


请求地址:https://api.mch.weixin.qq.com/pay/unifiedorder
请求返回:












3,请求返回的mweb_url就是我们最终需要的连接,我用手机浏览器和app直接打开此链接可以正常打开微信进行支付;

4,其实在第三部以上就可以正常使用了,但是我好奇,就抓包分析一下得到如下数据

通过请求一下地址,注意要加上Referer参数。

https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx06110302299753e417cbfb4d3746332941&package=4027105385

返回的数据如下:




    
    
    
    
    
    weixin
    


在以上数据可以看到:

weixin://wap/pay?prepayid%3Dwx061040101593518ac1f0ddc61295444268&package=3242339213&noncestr=1536201747&sign=1d861e648b025e36118319fca263e29c

到此数据分析完毕,此链接我们是不能直接生成的,而是要通过第四部请求微信后返回得到。

源文地址:

https://blog.csdn.net/yunwu009/article/details/82457907

作者:[email protected],QQ群:695080688 

你可能感兴趣的:(web微信支付,微信H5支付,c#,asp.net,mvc,asp-net-mvc,框架设计)