全域緩存微信access_token, jsapi ticket等。
多路轉發微信回呼訊息。
簡化微信oauth2 認證流程。
簡化微信支付流程。
簡化微信JSSDK 簽章流程。
註冊app:
https://wx.aiportal.net/register?key=test&appid=wx06766a90ab72960e&secret=05bd8b6064a9941b72ee44d5b3bfdb6a
access_token:
https://wx.aiportal.net/app/test/api
https://wx.aiportal.net/app/test/api/new
OAuth2:
首先專注於測試號碼:微信測試號碼接著用微信開啟連結:https://wx.aiportal.net/app/test/auth/info?call=/echo
微信掃碼支付:
<img src="https://wx.aiportal.net/app/aiportal/pay/qrcode?fee=1&name=支付测试&call=/echo"><img>
微信公眾號支付:(version 2.02)
<script src="/app/aiportal/pay/js?fee=1&var=payConfig&call=/echo&openid=o62SMjlZ378PMI6j5b5x8HAoX9YA"></script>
function pop_pay(config) {
// 弹出微信支付界面
WeixinJSBridge.invoke('getBrandWCPayRequest', payConfig, function (res) {
alert(res.err_msg);
});
}
參考頁面: https://wx.aiportal.net/example/jspay.html
微信JSSDK配置:
<script src="/app/test/js/config?debug=true"></script>
參考頁:https://wx.aiportal.net/example/jsapi.html
/register?key=...&appid=...&secret=...
&token=&aes=
&mch_id=&mch_key=&server_ip=
&expires=&call=/msg&call=/api&call=...
參數說明:
key: 自訂的app名稱,支援中文,也可以是隨機產生的字串。 (必填)
appid: 微信公眾號的appid。 (必填)
secret: 微信公眾號的secret。 (必填)
token, aes: 用於微信回呼訊息加解密的秘鑰。 (/msg介面)
如果設定了此項參數,後台應用程式可以直接以json明文格式接收和回覆微信回呼訊息。 (/msg/json介面)
mch_id, mch_key, server_ip: 用於微信支付的帳號、密碼金鑰和伺服器IP。 (/pay介面) 如果設定了此項參數, 可以使用簡單的url 請求實現微信支付功能。
expires: 過期時間,單位秒。如果設定此項參數,註冊資訊會在到期後自動刪除。 call: 可用API,可以重複多次。若設定此項參數,該app註冊資訊僅可用於已列出的api介面。
新增功能:
v2.02 開始,允許以merge 方式補充參數內容。 即key,appid,secret三個參數必填, 其他可選參數會自動merge到目前註冊資料中,不必一次提交。
v2.03 開始,允許使用/app/ 路徑查看已註冊的參數內容,其中涉密參數使用********代替。
access_token 全域快取自動取得最新的access_token 值快取在代理伺服器記憶體中。
access_token 全域快取支援多進程、多伺服器共享access_token,還可以無限次獲取,簡化後台服務的開發難度。
呼叫/register介面完成註冊後,使用已註冊的test 名稱呼叫/api 介面:
/app/test/api
/app/test/qyapi
強制刷新access_token:
/app/test/api/new
/app/test/qyapi/new
微信回呼訊息的多路轉送可以將微信公眾號的回呼訊息轉送給多個後台服務,依照call參數的設定順序傳回第一個非空的處理結果。
如果在/register介面中設定了token和aes參數,/msg/json 介面支援微信訊息的自動加解密服務,後台call網址可直接使用json 明文協定實現互動。
/app/test/msg?call=...&call=...
/app/test/msg/json?call=...&call=...
snsapi_base 方式登入驗證:
/app/test/auth?call=...&state=&lang=
snsapi_info 方式登入驗證:
/app/test/auth/info?call=...&state=&lang=
驗證成功時,call網址將收到json 封包(POST),包含使用者的openid, unionid, 以及使用者的其他資訊。
state和lang是可選參數,具體意義請參考微信官方文件。
微信支付二維碼:直接返回二維碼圖片,用戶使用微信掃碼後即可付款。
/app/test/pay/qrcode?fee=...&name=&call=&...
公號網頁付款:公眾號網頁內調起付款窗口完成付款。 (參考實作:/example/jspay.html)
/app/test/pay/js?openid=...&fee=...&name=&call=&...
統一下單:服務端可呼叫統一下單介面取得支付訂單,省去簽章運算等步驟。
/app/test/pay?fee=...&name=&call=&...
參數說明:
fee: 訂單金額,單位分。 (必填)
openid: 使用者在該公眾號下的openid。 (網頁付款必填) 允許使用客戶端cookie 傳遞此參數。
name: 訂單名稱。 call: 回呼通知網址。訂單付款成功後將付款結果寄至此網址。 (JSON)
其他參數(高階用法):支援微信統一下單一介面所列舉的其他訂單參數。具體請參考微信官方文件。 (sign, sign_type 由程式自動生成,不可覆蓋)
jsapi_ticket 全域緩存:
/app/test/jsapi
JSSDK 權限驗證配置:直接回傳wx.config({...}); 預設取得全部API權限。
可選參數:
debug: true或false。
apilist: 逗號分隔的JSSDK API 清單。
<script src="/app/test/js/config?debug=true"></script>
微信卡券簽名:
/app/test/js/card