1. 程式人生 > >通過lua指令碼識別微信,支付寶,龍支付

通過lua指令碼識別微信,支付寶,龍支付

需求:微信,支付寶,龍支付的APP中的掃一掃掃描二維碼,根據不同的瀏覽器,調起不同的支付。這裡要通過lua指令碼識別掃碼之後支付型別。
lua指令碼判斷支付型別,要知道各種支付的標誌性欄位,比如微信,js可以獲取請求的使用者代理頭,包含”MicroMessenger”欄位,可以判斷是微信中的掃一掃,進行掃描的。如果是支付寶==>Alipay,建行龍支付==>CCBWebView(當然這裡建行的js判斷不出來的,因為他用了post請求)。

lua指令碼示例:


local user_agent_ccb = ""
local user_agent_wx = ""
local user_agent_zfb = ""
--使用者使用掃一掃後,首先跳轉到此指令碼中,先獲取到請求頭資訊,判斷支付型別,然後重定向到html介面,調起支付 --獲取請求頭資訊 local headers = ngx.req.get_headers() log(m_uuid,"request headers=="..cjson.encode(headers)) --遍歷請求頭中的欄位 for k, v in pairs(headers) do log(m_uuid,v) local findstr_ccb = string.match(v,"CCBWebView")--建行龍支付 local findStr_wx = string
.match(v,"MicroMessenger")--微信支付 local findStr_zfb = string.match(v,"Alipay")--支付寶支付 --根據不同的支付方式,把標誌性欄位傳遞給html中,由html中處理相應的業務邏輯 end