微信h5支付sdk及示例源碼
廣告:
需要調(diào)用統(tǒng)一下單接口:
https://api.mch.weixin.qq.com/pay/unifiedorder
必須參數(shù):
公眾賬號(hào)ID appid 是 String(32) wxd678efh567hg6787 微信支付分配的公眾賬號(hào)ID(企業(yè)號(hào)corpid即為此appId)
商戶號(hào) mch_id 是 String(32) 1230000109 微信支付分配的商戶號(hào)
隨機(jī)字符串 nonce_str 是 String(32) 5K8264ILTKCH16CQ2502SI8ZNMTM67VS 隨機(jī)字符串,長(zhǎng)度要求在32位以內(nèi)。推薦隨機(jī)數(shù)生成算法
簽名 sign 是 String(32) C380BEC2BFD727A4B6845133519F3AD6 通過簽名算法計(jì)算得出的簽名值,詳見簽名生成算法
商品描述 body 是 String(128) 騰訊充值中心-QQ會(huì)員充值 商品簡(jiǎn)單描述,該字段請(qǐng)按照規(guī)范傳遞,具體請(qǐng)見參數(shù)規(guī)定
商品詳情 detail 否 String(6000) 商品詳細(xì)描述,對(duì)于使用單品優(yōu)惠的商戶,改字段必須按照規(guī)范上傳,詳見“單品優(yōu)惠參數(shù)說明”
商戶訂單號(hào) out_trade_no 是 String(32) 20150806125346 商戶系統(tǒng)內(nèi)部訂單號(hào),要求32個(gè)字符內(nèi),只能是數(shù)字、大小寫字母_-|*@ ,且在同一個(gè)商戶號(hào)下唯一。詳見商戶訂單號(hào)
標(biāo)價(jià)金額 total_fee 是 Int 88 訂單總金額,單位為分,詳見支付金額
終端IP spbill_create_ip 是 String(16) 123.12.12.123 APP和網(wǎng)頁支付提交用戶端ip,Native支付填調(diào)用微信支付API的機(jī)器IP。
通知地址 notify_url 是 String(256) http://www.weixin.qq.com/wxpay/pay.php 異步接收微信支付結(jié)果通知的回調(diào)地址,通知url必須為外網(wǎng)可訪問的url,不能攜帶參數(shù)。
data.SetValue("scene_info", "{\"h5_info\": {\"type\":\"Wap\",\"wap_url\": \"http://weixin.xiyaohe.com\",\"wap_name\": \"喜吆喝交易平臺(tái)\"}}");
交易類型 trade_type 是 String(16) MWEB 取值如下:JSAPI,NATIVE,APP,MWEB等,說明詳見參數(shù)規(guī)定
trade_type=MWEB
回調(diào)頁面 mweb_url 后拼接上redirect_url參數(shù) 打開mweb_url頁面可喚起微信
eg:
<xml>
<appid>wx2421b1c4370ec43b</appid>
<attach>支付測(cè)試</attach>
<body>JSAPI支付測(cè)試</body>
<mch_id>10000100</mch_id>
<detail><![CDATA[{ "goods_detail":[ { "goods_id":"iphone6s_16G", "wxpay_goods_id":"1001", "goods_name":"iPhone6s 16G", "quantity":1, "price":528800, "goods_category":"123456", "body":"蘋果手機(jī)" }, { "goods_id":"iphone6s_32G", "wxpay_goods_id":"1002", "goods_name":"iPhone6s 32G", "quantity":1, "price":608800, "goods_category":"123789", "body":"蘋果手機(jī)" } ] }]]></detail>
<nonce_str>1add1a30ac87aa2db72f57a2375d8fec</nonce_str>
<notify_url>http://wxpay.wxutil.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>
返回結(jié)果:
返回狀態(tài)碼 return_code 是 String(16) SUCCESS SUCCESS/FAIL 此字段是通信標(biāo)識(shí),非交易標(biāo)識(shí),交易是否成功需要查看result_code來判斷
返回信息 return_msg 否 String(128) 簽名失敗 返回信息,如非空,為錯(cuò)誤原因 簽名失敗 參數(shù)格式校驗(yàn)錯(cuò)誤
詳細(xì)見微信api接口說明網(wǎng)址:sdk包下載其他接口一樣的開發(fā)包:WxPayAPI_CS_v3.zip
https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_1
https://pay.weixin.qq.com/wiki/doc/api/H5.php?chapter=9_20&index=1
常見問題:
1. 使用ios手機(jī)訪問微信公眾號(hào)點(diǎn)擊自定義菜單微信網(wǎng)頁授權(quán)登錄出現(xiàn):安全域名校驗(yàn)出錯(cuò),錯(cuò)誤碼:10003
檢查網(wǎng)頁授權(quán)域名是否配置成功
步驟 公眾號(hào)設(shè)置--看到賬號(hào)詳情和功能設(shè)置
配置功能設(shè)置里邊的網(wǎng)頁授權(quán)域名。即可 如:wx.xxx.com
2. 簽名錯(cuò)誤
可能有多余的參數(shù)或者參數(shù)順序不對(duì)
廣告: