微信開發 微信支付

此處的微信支付是指微信支付V3版
如何確認本身申請的微信版本是V3版 1.基本9月20之後申請的微信支付均爲V3版本 2.查看微信發送的郵件 若其中包含如下信息 商戶ID、申請編號、登陸賬號、登陸密碼、商戶API密碼 商戶API證書、證書密鑰、CA證書 即爲V3版本的微信支付
因爲微信支付V2 跟 V3版的參數不一樣 支付的流程不一樣 致使微信支付V2版本跟V3版不兼容...php

微信支付V3的 支付流程以下: (JSAPI支付爲例)微信

  1. 根據文檔中所寫 採用JSAPI進行支付 則用戶的openid 爲必須參數 因此官方給的Demo第一步採用了Oauth 認證獲取用戶的Openid,此處須要注意 在傳遞Oauth認證的回調URL中 應該使用 urlencode()函數 對URL進行編碼 不然如 &a=1&b=2 相似的URL可能出現找不到的現象.

固然若是你在支付的頁面直接把openid 帶過去了...能夠直接去掉支付中的oauth認證這步app

2.支付成功後的 notify_url ,沒法接受到數據問題. 首先 notify_url 一樣不能使用入如 &a=1&b=2 格式 應使用以下 /a/1/b/2 Pathinfo模式 若是是Linux環境還須要對文件夾有 相應的權限 才能寫入信息.開發者能夠在 notify_url 中根據 支付返回的狀態進行一些相應的操做 例如修改訂單狀態...發送模板消息 提醒用戶交易成功等等..微信公衆平臺

關於支付測試:
1. 登錄微信的公衆平臺後臺(微信公衆平臺)---> 微信支付-->開發者配置 填寫上傳 測試的受權目錄 和 微信測試白名單 注意: 若是須要用到支付中的oauth 還應該去配置下 oauth認證的受權目錄(是否是很麻煩....)curl

2.若是出現 access_token:not_allow 之類信息 通常都是 支付的受權目錄 不正確.函數

3.若是下載的是微信支付V3版本的官方Demo,那麼請首先修改其中的代碼 curl_setopt($ch, CURLOP_TIMEOUT, $this->curl_timeout); 修改成 curl_setopt($ch, CURLOPT_TIMEOUT, $this->curl_timeout); 分別位於 WxPayPubHelper.php 的 155 821行 ,註釋掉 171行.測試

4.支付參數解析 配置文件中的 appid 和 appsecret 是開發者模式中的 appid 和 appsecret, mchid 和 key 分別在 微信發送的郵件中能夠找到.微信支付

相關文章
相關標籤/搜索