视频一区二区三区自拍_千金肉奴隷1985未删减版在线观看_国产成人黄色视频在线播放_少女免费播放片高清在线观看_国产精品v欧美精品v

Login expired. Please log in again.

Feedback

0/300

Feedback

Submitted successfully

ok

Feedback

Network exception, please try again later

ok

開發(fā)指引

業(yè)務(wù)流程


商戶系統(tǒng)和微信支付系統(tǒng)主要交互說明:

步驟1 用戶在商戶側(cè)完成下單,使用微信支付進行支付


步驟2 由商戶后臺向微信支付發(fā)起下單請求(調(diào)用H5支付下單接口)注:交易類型trade_type=MWEB


步驟3 H5支付下單接口返回支付相關(guān)參數(shù)給商戶后臺,如支付跳轉(zhuǎn)url(參數(shù)名“mweb_url”),商戶通過mweb_url調(diào)起微信支付中間頁。


步驟4 中間頁進行H5權(quán)限的校驗,安全性檢查


步驟5 如支付成功,商戶后臺會接收到微信側(cè)的異步通知


步驟6 用戶在微信支付收銀臺完成支付或取消支付,返回商戶頁面(默認為返回支付發(fā)起頁面).


步驟7 商戶在展示頁面,引導用戶主動發(fā)起支付結(jié)果的查詢.


步驟8、9 商戶后臺判斷是否接到收微信側(cè)的支付結(jié)果通知,如沒有,后臺調(diào)用我們的訂單查詢接口確認訂單狀態(tài).


步驟10 展示最終的訂單支付結(jié)果給用戶.


H5支付獲取用戶IP指引

H5支付要求商戶在統(tǒng)一下單接口中上傳用戶真實ip地址“spbill_create_ip”,為保證微信端獲取的用戶ip地址與商戶端獲取的一致,提供了以下獲取用戶ip的指引,希望對大家有所幫助。

沒有代理的情況

在商戶的前端接入層沒有做代理的情況下獲取ip的方式比較簡單,直接獲取'REMOTE_ADDR '即可。

有代理的情況

在有代理的情況下,因為要代替客戶端去訪問服務(wù)器,所以,當請求包經(jīng)過反向代理后,在代理服務(wù)器這里這個IP數(shù)據(jù)包的IP包頭做了修改,最終后端WEB服務(wù)器得到的數(shù)據(jù)包的頭部源IP地址是代理服務(wù)器的IP地址。這樣一來,后端服務(wù)器的程序就無法獲取用戶的真實ip。


nginx有代理的情況:

在nginx中配置中加入

vi /usr/local/apache/conf/httpd.conf
Include conf/extra/httpd-remoteip.conf
vi /usr/local/apache/conf/extra/httpd-remoteip.conf
LoadModule remoteip_module modules/mod_remoteip.so
RemoteIPHeader X-Forwarded-For
RemoteIPinternalProxy 127.0.0.1


Apache有代理的情況:

proxy_set_header Host $host;
proxy_set_header X-Real-IP $remote_addr;
proxy_set_header X-Real-Port $remote_port;
proxy_set_header X-Forwarded-For $proxy_add_x_forwarded_for;

代碼示例


string GetClientIp(CgiInput * poInput) {
	string client_ip = "";
	string strClientIPList;
	GetHttpHeader("X-Forwarded-For", strClientIPList);

	if (strClientIPList.empty()) {
		GetHttpHeader("X-Real-IP", strClientIPList);
	}

	if (!strClientIPList.empty()) {
		size_t iPos = strClientIPList.find(",");
		if (iPos != std::string::npos) {
			client_ip = strClientIPList.substr(iPos);
		} else {
			client_ip = strClientIPList;
		}
	}

	if (client_ip.empty()) {
		GetHttpHeader("PROXY_FORWARDED_FOR", strClientIPList);
		// 做下兼容 
		if (strClientIPList.empty()) {
			client_ip = getRemoteAddr();
		} else {
			size_t iPos = strClientIPList.find(",");
			if (iPos != std::string::npos) {
				client_ip = strClientIPList.substr(iPos);
			} else {
				client_ip = strClientIPList;
			}
		}
	}
	if (!MMPayCommFunc::IsIp(client_ip))
		client_ip = getRemoteAddr();
	return client_ip;
}

常見問題

回調(diào)頁面

正常流程用戶支付完成后會返回至發(fā)起支付的頁面,如需返回至指定頁面,則可以在MWEB_URL后拼接上redirect_url參數(shù),來指定回調(diào)頁面。
如您希望用戶支付完成后跳轉(zhuǎn)至https://www.wechatpay.com.cn,則可以做如下處理:


假設(shè)您通過統(tǒng)一下單接口獲到的MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096


則拼接后的地址為MWEB_URL= https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn

注意:

1、需對redirect_url進行urlencode處理;

2、由于設(shè)置redirect_url后,回跳指定頁面的操作可能發(fā)生在:1,微信支付中間頁調(diào)起微信收銀臺后超過5秒 2,用戶點擊“取消支付“或支付完成后點“完成”按鈕。因此無法保證頁面回跳時,支付流程已結(jié)束,所以商戶設(shè)置的redirect_url地址不能自動執(zhí)行查單操作,應(yīng)讓用戶去點擊按鈕觸發(fā)查單操作。回跳頁面展示效果可參考下圖。


其它常見錯誤

問題 問題說明 解決方案
網(wǎng)絡(luò)環(huán)境未能通過安全驗證,請稍后再試 1. 商戶側(cè)統(tǒng)一下單傳的終端IP(spbill_create_ip)與用戶實際調(diào)起支付時微信側(cè)檢測到的終端IP不一致導致的,這個問題一般是商戶在統(tǒng)一下單時沒有傳遞正確的終端IP到spbill_create_ip導致,詳細可參見客戶端ip獲取指引

2. 統(tǒng)一下單與調(diào)起支付時的網(wǎng)絡(luò)有變動,如統(tǒng)一下單時是WIFI網(wǎng)絡(luò),下單成功后切換成4G網(wǎng)絡(luò)再調(diào)起支付,這樣可能會引發(fā)我們的正常攔截,請保持網(wǎng)絡(luò)環(huán)境一致的情況下重新發(fā)起支付流程
商家參數(shù)格式有誤,請聯(lián)系商家解決 1. 當前調(diào)起H5支付的referer為空導致,一般是因為直接訪問頁面調(diào)起H5支付,請按正常流程進行頁面跳轉(zhuǎn)后發(fā)起支付,或自行抓包確認referer值是否為空

2. 如果是APP里調(diào)起H5支付,需要在webview中手動設(shè)置referer,如(
Map extraHeaders = new HashMap();
extraHeaders.put("Referer", "商戶申請H5時提交的授權(quán)域名");//例如 http://www.baidu.com ))

商家存在未配置的參數(shù),請聯(lián)系商家解決 1,當前調(diào)起H5支付的域名(微信側(cè)從referer中獲取)與申請H5支付時提交的授權(quán)域名不一致,如需添加或修改授權(quán)域名,請登陸商戶號對應(yīng)的商戶平臺--"產(chǎn)品中心"--"開發(fā)配置"自行配置

2,如果設(shè)置了回跳地址redirect_url,請確認設(shè)置的回跳地址的域名與申請H5支付時提交的授權(quán)域名是否一致
支付請求已失效,請重新發(fā)起支付 統(tǒng)一下單返回的MWEB_URL生成后,有效期為5分鐘,如超時請重新生成MWEB_URL后再發(fā)起支付
請在微信外打開訂單,進行支付 H5支付不能直接在微信客戶端內(nèi)調(diào)起,請在外部瀏覽器調(diào)起
IOS:簽名驗證失敗
安卓:系統(tǒng)繁忙,請稍后再試
1,請確認同一個MWEB_URL只被一個微信號調(diào)起,如果不同微信號調(diào)起請重新下單生成新的MWEB_URL

2,如MWEB_URL有添加redirect_url,請確認參數(shù)拼接格式是否有誤,是否有對redirect_url的值做urlencode,可對比以下例子格式:

https://wx.tenpay.com/cgi-bin/mmpayweb-bin/checkmweb?prepay_id=wx20161110163838f231619da20804912345&package=1037687096&redirect_url=https%3A%2F%2Fwww.wechatpay.com.cn

About  WeChat  Pay

Powered By Tencent & Tenpay Copyright©

2005-2024 Tenpay All Rights Reserved.

Contact Us
Wechat Pay Global

WeChat Pay Global