微信H5支付开发指南
来源:互联网 发布:北航网络继续教育学院 编辑:程序博客网 时间:2024/05/21 09:11
最近在QQ交流群看到,很多微信小白在问微信H5开发,怎么开发的问题。
对这个问题,根据我个人经验进行了一个必要条件的梳理,总结如下:
1. 必须具备备案的域名以及公网IP
2. 登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名“
3. appId-微信公众号身份的唯一标识 Mchid-商户ID,身份标识Key-商户支付密钥KeyAppsecret-微信公众号秘钥
4. H5页面的开发-引入js -http://res.wx.qq.com/open/js/jweixin-1.0.0.js 如果你的页面启用了https,务必引入 https://res.wx.qq.com/open/js/jweixin-1.0.0.js
WeixinJSBridge.invoke('getBrandWCPayRequest',{
"appId" : "wx2421b1c4370ec43b", //公众号名称,由商户传入
"timeStamp":" 1395712654", //时间戳,自1970年以来的秒数
"nonceStr" : "e61463f8efa94090b1f366cccfbbb444", //随机串
"package" : "prepay_id=u802345jgfjsdfgsdg888",
"signType" : "MD5", //微信签名方式
"paySign" : "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
}
5. 如何获取prepay_id ,需要调用统一下单接口,根据成功的返回值,获取。
URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
Java代码实现参考 httpcomponents-client-4.3.4
请求参数:
<xml>
<appid>wx2421b1c4370ec43b</appid>
<attach>支付测试</attach>
<body>JSAPI支付测试</body>
<mch_id>10000100</mch_id>
<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
<notify_url>http://wxpay.weixin.qq.com/pub_v2/pay/notify.v2.php</notify_url>
<openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
<out_trade_no>1415659990</out_trade_no>
<spbill_create_ip>14.23.150.211</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>JSAPI</trade_type>
<sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml>
返回结果:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
</xml>
注:参数值用XML转义即可,CDATA标签用于说明数据不被XML解析器解析。
6.签名(md5签名)
下面定义了一段生成sign字符串的示范过程:
假设以下为package传入参数:
appid=wxd930ea5d5a258f4f
auth_code=123456
body=test
device_info=123
mch_id=1900000109
nonce_str=960f228109051b9969f76c82bde183ac
out_trade_no=1400755861
spbill_create_ip=127.0.0.1
total_fee=1
key=8934e7d15453e97507ef794cf7b0519d
i:经过a过程URL键值对字典序排序后的字符串string1为:
appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&mch_id=1900000109&nonce_str=960f228109051b9969f76c82bde183ac&out_trade_no=140075586
1&spbill_create_ip=127.0.0.1&total_fee=1
ii:经过b过程后得到sign为:
sign
=md5(string1&key=8934e7d15453e97507ef794cf7b0519d).toUpperCase
=md5
(appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&mch_id=1900000109&nonce_str=960f228109051b9969f76c82bde183ac&out_trade_no=14007558
61&spbill_create_ip=127.0.0.1&total_fee=1&key=8934e7d15453e97507ef794cf7b0519d).toUpperCase()
="c380bec2bfd727a4b6845133519f3ad6".toUpperCase()
="C380BEC2BFD727A4B6845133519F3AD6"
提供微信教材与微信源码工程+一对一入门辅导,非诚勿扰:
咨询QQ:(928271079,提供优质的服务)
对这个问题,根据我个人经验进行了一个必要条件的梳理,总结如下:
1. 必须具备备案的域名以及公网IP
2. 登录微信公众平台进入“公众号设置”的“功能设置”里填写“JS接口安全域名“
3. appId-微信公众号身份的唯一标识 Mchid-商户ID,身份标识Key-商户支付密钥KeyAppsecret-微信公众号秘钥
4. H5页面的开发-引入js -http://res.wx.qq.com/open/js/jweixin-1.0.0.js 如果你的页面启用了https,务必引入 https://res.wx.qq.com/open/js/jweixin-1.0.0.js
WeixinJSBridge.invoke('getBrandWCPayRequest',{
"appId" : "wx2421b1c4370ec43b", //公众号名称,由商户传入
"timeStamp":" 1395712654", //时间戳,自1970年以来的秒数
"nonceStr" : "e61463f8efa94090b1f366cccfbbb444", //随机串
"package" : "prepay_id=u802345jgfjsdfgsdg888",
"signType" : "MD5", //微信签名方式
"paySign" : "70EA570631E4BB79628FBCA90534C63FF7FADD89" //微信签名
},
function(res){
if(res.err_msg == "get_brand_wcpay_request:ok" ) {
}
5. 如何获取prepay_id ,需要调用统一下单接口,根据成功的返回值,获取。
URL地址:https://api.mch.weixin.qq.com/pay/unifiedorder
Java代码实现参考 httpcomponents-client-4.3.4
请求参数:
<xml>
<appid>wx2421b1c4370ec43b</appid>
<attach>支付测试</attach>
<body>JSAPI支付测试</body>
<mch_id>10000100</mch_id>
<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
<notify_url>http://wxpay.weixin.qq.com/pub_v2/pay/notify.v2.php</notify_url>
<openid>oUpF8uMuAJO_M2pxb1Q9zNjWeS6o</openid>
<out_trade_no>1415659990</out_trade_no>
<spbill_create_ip>14.23.150.211</spbill_create_ip>
<total_fee>1</total_fee>
<trade_type>JSAPI</trade_type>
<sign>0CB01533B8C1EF103065174F50BCA001</sign>
</xml>
返回结果:
<xml>
<return_code><![CDATA[SUCCESS]]></return_code>
<return_msg><![CDATA[OK]]></return_msg>
<appid><![CDATA[wx2421b1c4370ec43b]]></appid>
<mch_id><![CDATA[10000100]]></mch_id>
<nonce_str><![CDATA[IITRi8Iabbblz1Jc]]></nonce_str>
<sign><![CDATA[7921E432F65EB8ED0CE9755F0E86D72F]]></sign>
<result_code><![CDATA[SUCCESS]]></result_code>
<prepay_id><![CDATA[wx201411101639507cbf6ffd8b0779950874]]></prepay_id>
<trade_type><![CDATA[JSAPI]]></trade_type>
</xml>
注:参数值用XML转义即可,CDATA标签用于说明数据不被XML解析器解析。
6.签名(md5签名)
下面定义了一段生成sign字符串的示范过程:
假设以下为package传入参数:
appid=wxd930ea5d5a258f4f
auth_code=123456
body=test
device_info=123
mch_id=1900000109
nonce_str=960f228109051b9969f76c82bde183ac
out_trade_no=1400755861
spbill_create_ip=127.0.0.1
total_fee=1
key=8934e7d15453e97507ef794cf7b0519d
i:经过a过程URL键值对字典序排序后的字符串string1为:
appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&mch_id=1900000109&nonce_str=960f228109051b9969f76c82bde183ac&out_trade_no=140075586
1&spbill_create_ip=127.0.0.1&total_fee=1
ii:经过b过程后得到sign为:
sign
=md5(string1&key=8934e7d15453e97507ef794cf7b0519d).toUpperCase
=md5
(appid=wxd930ea5d5a258f4f&auth_code=123456&body=test&device_info=123&mch_id=1900000109&nonce_str=960f228109051b9969f76c82bde183ac&out_trade_no=14007558
61&spbill_create_ip=127.0.0.1&total_fee=1&key=8934e7d15453e97507ef794cf7b0519d).toUpperCase()
="c380bec2bfd727a4b6845133519f3ad6".toUpperCase()
="C380BEC2BFD727A4B6845133519F3AD6"
提供微信教材与微信源码工程+一对一入门辅导,非诚勿扰:
咨询QQ:(928271079,提供优质的服务)
0 0
- 微信H5支付开发指南
- java进行微信h5支付开发
- 微信H5支付开发步骤
- 微信H5支付开发步骤
- 微信H5支付接口开发步骤
- 微信H5支付接口开发步骤
- 微信H5支付接口开发步骤
- java开发h5微信支付接口
- 微信支付 h5
- h5微信支付
- 微信h5支付
- 微信H5支付
- 微信h5支付
- 微信支付 h5 支付
- H5微信公众号开发,微信支付
- 微信支付及支付宝支付开发指南
- 支付开发(一)----微信支付开发之H5非微信浏览器支付JAVA版
- h5+php微信支付
- 风雨caffe(一):基于ubuntu14.04的无GPU模式的caffe安装
- SSH
- JSON解析技巧
- java的动态绑定与双分派
- 查看LINUX当前目录下的文件夹大小
- 微信H5支付开发指南
- 用WCF上传文件
- 295. Find Median from Data Stream
- struts开发使用基本步骤
- 分类或检索 评价指标FRR, FAR, TPR, FPR, ROC curve, ACC, SPC, PPV, NPV
- Centos下安装ECSHOP操作指南
- 电话号码等常见的正则表达式
- 将 CONNECT BY 移植到 DB2
- vsftpd 500