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