微信公众号支付 开发总结

我的开发环境:

1.windows 10 操作系统

2.MyEclipse 2014 开发工具

3.微信公众号(服务号)

4.一个一级域名 + 腾讯云租的最低配服务器

最重要的支付步骤:

1.生成商户订单

首先使用Map来存储一些生成订单的数据。

(1). 公众号ID (key="appid")
(2). 商品信息 (key="body")
(3). 设备号  (key="device_info")
(4). 币种    (key="fee_type")
(5). 商户号ID (key="mch_id")
(6). 随机字符串 (key="nonce_str")
(7). 回调URL (统一下单后用来接受微信服务器发来的信息的地址)(key="notify_url")
(8). 用户唯一识别码 (五分钟有效,可以通过刷新微信内置浏览器来重新获取)(key="open_id")
(9). 商户订单号 (key="out_trade_no")
(10). 客户端IP (key="spbill_create_ip")
(11). 支付方式 (key="trade_type") 有多种选择,具体可以观看文档
(12). 金额 (key="totle_fee") 单位:分。
(13). 签名 (key="sign")

注: 1>.openid的获取过程:

用户通过点击公众号菜单通过授权的形式跳转网页

跳转成功后,后台会接收到code参数

通过code获取openid,方式发送code请求到

https://api.weixin.qq.com/sns/oauth2/access_token
?appid=APPID
&code=CODE
&grant_type=authorization_code

正确时返回的JSON数据包如下:

{ "access_token":"ACCESS_TOKEN",
"expires_in":7200,
"refresh_token":"REFRESH_TOKEN",
"openid":"OPENID",
"scope":"SCOPE" }

公众号菜单跳转网页的链接格式应为:  

https://open.weixin.qq.com/connect/oauth2/authorize
?appid=APPID
&redirect_uri=REDIRECT_URI
&response_type=code
&scope=SCOPE
&state=STATE
#wechat_redirect

2>.sign的生成方式为,将上述(1)-(12)项的内容,以Map形式进行MD5/HMACSHA256加密,官方demo中有具体的加密方法。很实用。

2.通过统一下单来获取prepay_id.

3.将获取到的prepay_id与其他几个参数一起返回JSAPI的调用界面
参数如下
appid
prepar_id 
timeStamp(时间戳获取方法在官方demo中有)
nonce_str
paySign(签名)

paySign的获取方式:
将包含
appid
package
timeStamp
nonce_str
signType
的Map数据进行md5加密后的值就是paySign

JSAPI界面内容(我是在一个单独JSP中显示)


                    
                    

你可能感兴趣的:(微信)