配置內(nèi)容:
其中1 2都為域名,而且不需要http等內(nèi)容,直接X(jué)XX.XXX.com即可,可以為二級(jí)域名
1只能設(shè)置一個(gè),因此,為了保證測(cè)試環(huán)境和線上環(huán)境都可以同時(shí)使用,請(qǐng)注意項(xiàng)目部署。
2 3域名可以為多個(gè),因此,可以忽略項(xiàng)目部署情況。
支付授權(quán)目錄配置注意事項(xiàng):
這里很重要我就是在這里折騰了很久。怎么設(shè)置呢,首先要看你支付的當(dāng)前頁(yè)面URL
比如是:http://www.taidupa.com/wxpay/js_api_call.php
你就必須填寫: http://www.taidupa.com/wxpay/
假如是:http://www.taidupa.com/wxpay/order/id/56.html
你就必須寫:http://www.taidupa.com/wxpay/order/id/
看出規(guī)律了吧,就是把最后一個(gè)反斜杠后面的內(nèi)容去掉就OK了。
流程
oauth方式獲取code
注意:redirect_uri需要進(jìn)行UrlEncode編碼
坑:#wechat_redirect 該內(nèi)容有可能會(huì)丟失, 需要用encodeURIComponent編碼
坑:網(wǎng)頁(yè)回調(diào)域名和JS安全域名,都不用加http://
location.+ encodeURIComponent('#wechat_redirect');
根據(jù)code獲取openId
用多種設(shè)備嘗試測(cè)試,有些提示會(huì)不同,但是原因是相同的,可以綜合考慮得出正確結(jié)論。(重要)
生成簽名的時(shí)候,需要所有不為空的參數(shù)參與生成
預(yù)支付接口,body為中文時(shí),會(huì)出現(xiàn)簽名錯(cuò)誤的問(wèn)題。在調(diào)用接口時(shí),發(fā)送的參數(shù),需要進(jìn)行以下編碼
Response response = HttpUtils.post(
this.url + "/pay/unifiedorder"
, new String(xml.getBytes(), "ISO8859-1")
, "text/xml"
, HttpUtils.DEFAULT_CHARSET_NAME
);