# 微信支付k12人臉接入常見問題Q&A
更新記錄
版本 | 簡要說明 | 修改日期 |
---|---|---|
1.1.1 | 新增:小程序相關(guān)、后臺接口相關(guān)、簽名相關(guān)、離線刷臉終端、其他相關(guān)(流程)FAQ | 2020/08/15 |
1.1.2 | 新增:小程序FAQ1.17;1.18;1.19后臺接口FAQ2.2 優(yōu)化:小程序FAQ1.13排查指引、優(yōu)化整體FAQ對應(yīng)分類 | 2021/01/08 |
1.1.2 | 新增:重采小程序相關(guān)說明及流程FAQ1.20;1.21 新增:小程序FAQ1.22;1.23 新增:指定銀行卡簽約FAQ2.3;2.4;2.5 新增:用戶簽約解約時間查詢FAQ2.6 優(yōu)化:簽名相關(guān)FAQ | 2021/01/27 |
# 開發(fā)類
# 1.小程序
1.1 用戶信息接口是終端接口還是后端接口?接口提供時間?
- 個采
· 緊急聯(lián)系人手機(jī)號同步給服務(wù)商接口
· 簽約第二步用戶信息界面,是否允許編輯照片,需雙方研發(fā)協(xié)調(diào)確定一個接口
· 用戶在開平小程序簽約完成后,回調(diào)小程序的接口
手機(jī)號由服務(wù)商收集,然后傳給微信側(cè)
提供補(bǔ)拍照片的能力 在官方組件回調(diào)商戶小程序頁面的接口
- 集采
· 會員數(shù)據(jù)什么時候同步給微信,如增刪改接口?
小程序側(cè)提供接口,拍照時上傳數(shù)據(jù);同時后臺也會提供接口,如果平時有信息修改,可通過后臺接口同步給微信側(cè)
1.2 小程序調(diào)用憑證是否是一個用戶一個憑證?小程序憑證的有效期是多久?一個用戶采集多次,是否每次都需獲取憑證。
在同一個機(jī)構(gòu)id下,一個用戶對應(yīng)唯一id,能采集拍照多次
1.3 當(dāng)用戶被禁用刷臉支付時,微信側(cè)能否提供通知接口。用戶被禁用刷臉支付能力,服務(wù)商無法感知,若不主動通知,服務(wù)商需定時批量拉取。
需要接入用戶簽約解約回調(diào)通知
1.4 服務(wù)商創(chuàng)建小程序申請創(chuàng)建小程序的流程和注意事項?
可參考:小程序注冊流程
- 注意:
①小程序內(nèi)容發(fā)布失敗,提示涉及采集用戶生物特征(人臉照片或視頻)及其他敏感信息,平臺暫不支持?」服務(wù)商小程序調(diào)取官方采集人臉小程序,所以小程序是不能做這些內(nèi)容的。
②小程序如果要做訂餐業(yè)務(wù)需要怎么樣的資質(zhì)?
上線訂餐需要有相關(guān)的餐飲許可證等證件。
1.5 服務(wù)商創(chuàng)建的小程序和商戶號是同主體,存在多個APPid 該如何進(jìn)行綁定?
服務(wù)商只能綁定一個appid,默認(rèn)綁定申請生成商戶號對應(yīng)的appid。
如果需要替換為新申請的APPid,需要先解綁之前默認(rèn)綁定的appid。
1.6 用戶簽約解約后的狀態(tài)有沒有回調(diào)通知
需按簽約解約回調(diào)接入流程配置,建議直接配置正式環(huán)境
1.7 學(xué)校商戶號收款需要調(diào)起服務(wù)商小程序appid 需要在服務(wù)商后臺進(jìn)行綁定后才能調(diào)起支付成功。
服務(wù)商為特約商戶配置AppID(即sub_appid)操作指引
1.8 服務(wù)商申請進(jìn)行小程序創(chuàng)建后,怎么去采集人臉信息,只需要在服務(wù)商的小程序做采集和免密簽約入口然后把學(xué)生的相關(guān)信息傳過去就行了吧?然后直接跳轉(zhuǎn)微信的采集小程序和免密簽約小程序。
服務(wù)商創(chuàng)建好小程序后,服務(wù)商側(cè),采集人臉是跳轉(zhuǎn)到微信官方采集人臉小程序,簽約是調(diào)起簽約組件即可
1.9 一個用戶能在不同的機(jī)構(gòu)下分別有一個out_user_id嗎?
可以,需要分別簽約
1.10 關(guān)于雙胞胎采集簽約疑問
1、一個家長有2個小孩在同一個學(xué)校上學(xué),需分別錄2次人臉,同1個賬戶簽約代扣2次需要2次?
2、一個家長有2個小孩在不同學(xué)校上學(xué),開通人臉賬戶的話,也是分別別錄2次人臉簽約2次代扣?
3、如果簽約兩次,解約的時候,是一次全部解約嗎?
是的,都需要分別錄臉,簽約2次代扣,解約是分別解約
1.11 學(xué)生是否自己可以直接錄臉簽約人臉代扣?有風(fēng)險嗎?
法律層面未成年人應(yīng)該受到家長監(jiān)管,需由家長開通簽約代扣
1.12 采集人臉提示系統(tǒng)繁忙
確認(rèn)服務(wù)商采集簽約的流程
1.檢查身份證信息是否按照正常的身份證提交
2.檢查token等參數(shù)是否傳錯
3.檢查其他參數(shù)是否正確
1.13 采集人臉提示網(wǎng)絡(luò)異常
可按照下面步驟進(jìn)行排查
- 確保out_user_id長度大于5位
- 檢查傳入的手機(jī)號是否存在非法字符/手機(jī)號是否合法
- 檢查傳入的證件號長度是否大于7位
1.14 out_user_id在什么時候在哪個位置自定義
添加簽約的用戶時候定義
1.15 采集人臉拍照無反應(yīng)
蘋果手機(jī)需注意小程序是否打開攝像頭:
步驟如下:采集小程序--右上角三個點--設(shè)置--攝像頭狀態(tài)
安卓手機(jī)需注意是否相機(jī)授權(quán)微信
1.16 小程序簽約采集無法調(diào)起刷臉組件
需要在app.json配置相關(guān)信息
1.17 out_user_id和userid有什么區(qū)別?
out_user_id是商戶側(cè)對用戶的唯一標(biāo)識,userid是微信側(cè)對用戶的唯一標(biāo)識
1.18 跳轉(zhuǎn)微信側(cè)人臉小程序完成人臉授權(quán),過程中,我怎樣調(diào)用預(yù)簽約接口,從而建立微信人臉user_id與out_user_id(會員ID)關(guān)系
通過預(yù)簽約接口傳入out_user_id,獲取presign_token跳轉(zhuǎn)簽約小程序,用戶簽約完成之后,會返回對應(yīng)out_user_id的userid,實現(xiàn)out_user_id和userid關(guān)聯(lián)
1.19 確保雙胞胎能夠進(jìn)行刷臉識別,其簽約規(guī)則是怎樣?
1、2.13版本及以下:雙胞胎只能使用不同手機(jī)號、不同微信號進(jìn)行簽約;終端識別時需增加手機(jī)尾號校驗流程
2、2.21版本及以上:雙胞胎簽約:
1.使用同一個手機(jī)號,同一微信號進(jìn)行簽約,識別時無需手機(jī)尾號校驗
2.使用不同手機(jī)號,不同微信號進(jìn)簽約,識別時需增加手機(jī)尾號校驗
我們建議:2.21及以上版本,雙胞胎用戶簽約使用同一個手機(jī)號,同一微信號
1.20 關(guān)于采集小程序、簽約小程序、重采小程序,這三個小程序有什么區(qū)別嗎?
采集小程序:用戶進(jìn)行采集照片的小程序
簽約小程序:用戶進(jìn)行簽約代扣的小程序
重采小程序:用戶進(jìn)行更換底照的小程序
1.21 重采小程序,用戶進(jìn)行更換底照這個流程怎么實現(xiàn)?
首先,重采小程序是已簽約用戶在不解約的情況下進(jìn)行更換底照;未簽約用戶無法跳轉(zhuǎn)到重采小程序
重采更換底照流程:已簽約用戶需要先走采集拍照流程,然后再走確認(rèn)信息流程,完成重采更換;需進(jìn)行家長確認(rèn)流程才能重采才能生效;如下圖所示:
1.22 采集和簽約流程,必須是按照先采集后簽約這種方式嗎?
采集簽約,沒有固定的先后順序,按照想實現(xiàn)的方式來即可
1.23 同一個微信號,簽約完一個用戶之后,我想簽約另外一個用戶,提示登錄態(tài)過期
同一個微信號簽約多個用戶需注意:
一個用戶對應(yīng)一個授權(quán)憑證(token),簽約另外的用戶時,需重新獲取授權(quán)憑證;同時,同一個微信無法簽約同名用戶。
# 2.后臺接口
2.1 后臺接口調(diào)用返回錯誤提示
1.請求接口
2.請求參數(shù)
3.返回參數(shù)
4.請求時間
接口問題均按照上面的模板提供下信息,方便問題快速定位
2.2 當(dāng)刷臉支付用戶的賬戶因為欠款原因被凍結(jié),此時請求<申請扣款接口>,接口同步返回結(jié)果狀態(tài)碼是200(成功)還是其他?如果是其他,返回值有哪些?
申請扣款接口返回的狀態(tài)碼200表示接口調(diào)用成功,但并不是代表訂單扣款成功;訂單扣款狀態(tài)需根據(jù)返回的錯誤碼和Message進(jìn)行處理
2.3 指定銀行卡簽約,我應(yīng)該使用哪個接口?
指定銀行卡簽約,只能使用預(yù)簽約接口,用預(yù)簽約接口返回的presign_token跳轉(zhuǎn)小程序
2.4 預(yù)簽約接口和獲取授權(quán)憑證接口怎么區(qū)別,有啥區(qū)別?
指定銀行卡簽約使用預(yù)簽約接口
普通簽約使用獲取授權(quán)憑證接口
2.5 預(yù)簽約接口中,簽約模式怎么理解?
簽約模式非必填,如果傳入的話,根據(jù)傳入的字段判斷簽約模式。
指定卡簽約:必須使用指定卡簽約,沒綁卡會觸發(fā)一鍵綁卡邏輯,扣款時不墊資,不輪卡。
優(yōu)先卡簽約:優(yōu)先使用傳入的卡號簽約,沒綁卡會觸發(fā)一鍵綁卡邏輯,若因為手機(jī)號錯誤會降級為不指定卡,允許用戶使用其他卡簽約,指定成功扣款時不墊資、不輪卡,降級后會墊資會輪卡。
任意卡簽約:就是普通簽約。
2.6 我怎么查詢用戶的簽約時間、解約時間?
- 調(diào)用刷臉用戶信息查詢接口,獲取接口返回的簽約id,同時就能獲取用戶的簽約狀態(tài)
- 根據(jù)簽約id調(diào)用簽約查詢接口,即可知悉用戶的簽約時間、解約時間以及簽約狀態(tài)
# 3.簽名相關(guān)
3.1 接口文檔中哪些是用api簽名,哪些是api v3簽名
獲取authinfo用api簽名,其他接口都是api v3簽名
3.2 接口返回“簽名錯誤,驗簽失敗”
注意開發(fā)語言
- python語言:轉(zhuǎn)義問題, python語言會自動處理漢字的轉(zhuǎn)義, 默認(rèn)轉(zhuǎn)義, 商戶發(fā)的和我們收到的不一樣,參數(shù)轉(zhuǎn)json字符串的時候,里面的中文我們需要的是ascii
- 其他語言:參考api v3文檔即可
- 注意時間格式
簽名排查指引:
1、使用簽名檢查工具校驗簽名算法是否有誤
2、確認(rèn)秘鑰是否有誤(服務(wù)商模式使用服務(wù)商商戶號秘鑰,秘鑰是在商戶平臺配置,如果同一商戶號調(diào)用其它接口成功可排除是秘鑰問題)
3、確認(rèn)接口實際的請求參數(shù)與生成簽名原串的參數(shù)一致,不能增加或缺少參數(shù)(可通過打印簽名原串進(jìn)行排查)
4、確認(rèn)參數(shù)的大小寫,參數(shù)名與接口文檔一致
5、簽名原串的參數(shù)值使用原始值,不需要encode
6、接口需要使用UTF-8編碼
7、openid是否對應(yīng)當(dāng)前調(diào)起授權(quán)的微信號
8、H5授權(quán)跳轉(zhuǎn)URL排查URL格式是否正確,如是否多了空格、車牌參數(shù)是否沒有進(jìn)行URL編碼轉(zhuǎn)義(注:車牌參數(shù)跳轉(zhuǎn)url中需要轉(zhuǎn)義,參與sign生成的時不需要)
簽名問題,微信側(cè)不做定位
# 4.離線刷臉終端
4.1 終端接口調(diào)用,demo調(diào)試問題
1.請求接口
2.請求參數(shù)
3.返回參數(shù)
4.請求時間
終端問題均按照上面的模板提供下信息,方便問題快速定位
4.2 如果沒有聯(lián)網(wǎng),是否可以初始化離線刷臉SDK?
不可以,每次調(diào)用都需要刷臉SDK都需要初始化;
4.3 離線刷臉SDK的初始化,是否每次啟動離線刷臉SDK都需要初始化,初始化授權(quán)憑證有效期是多久,多久需要更新?
authinfo有效時間是36個小時,我們建議是一個小時進(jìn)行更新一次
4.4 家長在采集人臉的時候采集簽約成功后,在食堂就餐的時候無法識別人臉怎么辦?
- 服務(wù)商需明確下,用戶簽約之后,對應(yīng)的人臉特征值是否下發(fā)到設(shè)備上(一般在網(wǎng)絡(luò)情況良好的情況下用戶簽約5分鐘之后就會下發(fā))
- 如用戶人臉特征值未自動下發(fā),可調(diào)用終端手動更新人臉庫接口手動拉取下人臉特征
- 如手動拉取不到用戶的人臉特征值,建議提供具體信息給到微信側(cè)
# 5.其他相關(guān)
5.1 測試商戶號每日限額是多少,能調(diào)高限額嘛?
測試商戶號每日限額是一元,不可調(diào)整額度,測試時可調(diào)整測試金額大小完成測試
5.2 退款接口是否使用現(xiàn)有接口?
通用退款接口
5.3 風(fēng)險用戶輸入手機(jī)號的前端提示頁面是服務(wù)商構(gòu)建還是微信側(cè)直接彈出?
服務(wù)商彈出
5.4 商戶的代扣權(quán)限在商戶號上開通,機(jī)構(gòu)ID的關(guān)系怎樣維護(hù)?
服務(wù)商理解:通過公共參數(shù)與機(jī)構(gòu)ID建立關(guān)系,雙方維護(hù)商戶號與機(jī)構(gòu)id的關(guān)系,商戶號與機(jī)構(gòu)ID可以多對1嗎,商戶號變更如何處理。
機(jī)構(gòu)id與商戶號無關(guān)系,保證唯一即可;機(jī)構(gòu)id只與服務(wù)商商戶號有關(guān)
5.5 支付用戶信息查詢接口是否支持批量查詢?
若微信無法提供用戶凍結(jié)/解凍通知,服務(wù)商只能批量去查詢用戶的賬戶狀態(tài),此時批量查詢使用的是否還是<支付用戶信息查詢>接口,還是其他接口?
扣款完成/失敗/賬戶禁用等信息,微信側(cè)會同步給服務(wù)商
5.6 異步扣款的通知頻率是怎樣的,和線上一致么?
微信總共會發(fā)起10次通知,通知頻率為15s/15s/30s/3m/10m/20m/30m/30m/30m/60m/3h/3h/3h/6h/6h - 總計 24h4m) 和線上一樣
5.7 正式商戶號的限額情況如何
微信人臉代扣的單筆限額100元 當(dāng)日限額500元。服務(wù)商可在此基礎(chǔ)做個性化限額;
5.8 墊資怎么接入,一個用戶能墊資多少次,墊資訂單怎么查詢
1.墊資接入需要根據(jù)墊資接入流程文檔進(jìn)行申請;
2.每個用戶有三次墊資次數(shù),超過三次未還無法繼續(xù)墊資;
3.墊資訂單的查詢需要調(diào)用通用查單接口去查詢,目前該功能正在排期中
5.9 學(xué)生在設(shè)備處刷臉/刷卡消費(fèi)之后,服務(wù)商系統(tǒng)如何獲取到這個消費(fèi)信息,然后向微信側(cè)發(fā)起扣款申請。設(shè)備服務(wù)商在接入微信支付時,需要按微信側(cè)的規(guī)范實現(xiàn)一些設(shè)備接口,還是說要服務(wù)商側(cè)跟設(shè)備提供上進(jìn)行具體的對接來獲取這個消費(fèi)信息。
- 學(xué)生消費(fèi)確認(rèn)支付,SDK會返回支付憑證給服務(wù)商,服務(wù)商自己保存上傳到服務(wù)商后臺,后臺根據(jù)憑證去支付后臺發(fā)起扣款,支付成功就是成功了,具體的扣款成功的結(jié)果和消費(fèi)信息需要去找后臺對接
5.10 沒有網(wǎng)絡(luò) 可以消費(fèi)嗎?
離線是指 刷臉識別不依賴網(wǎng)絡(luò)、人臉特征和算法都下載到了設(shè)備上,能進(jìn)行離線識別。
設(shè)備本身還是需要正常聯(lián)網(wǎng)的,以便更新算法、人臉庫、商戶app。
- 訂單被墊資、墊資后用戶還款,這些狀態(tài) 服務(wù)商可以后臺接口查詢到。這樣服務(wù)商就能記錄每個用戶的墊資情況。服務(wù)商可以把這個狀態(tài)同步到設(shè)備上,對沒有墊資資格的用戶進(jìn)行禁止交易。
2.用戶刷了多筆交易,在終端提交訂單給服務(wù)商后臺時候,服務(wù)商后臺可以做判斷,如果超出限制,可以通知終端禁止交易。(這種需要設(shè)備聯(lián)網(wǎng),用戶刷臉識別后、在提交訂單給服務(wù)商后臺,服務(wù)商后臺做判斷)
消費(fèi)機(jī)要求常態(tài),是聯(lián)網(wǎng)狀態(tài),聯(lián)網(wǎng)狀態(tài)下同步了的人員,在這個時候斷網(wǎng)過后,已經(jīng)同步的信息就能脫機(jī)刷臉用。理論上,斷網(wǎng)過后,新錄人員是用不了的
# 產(chǎn)品類
# 問題一:
需求: 代扣說明-12用戶凍結(jié)/解凍信息可通知服務(wù)商,能否一期提供?(需二期)
問: 當(dāng)此交易為墊資交易場景,服務(wù)商會主動查詢用戶狀態(tài);以便將用戶被凍結(jié)的狀態(tài)更新,但用戶被解凍,我們無法得知,此時功能殘缺,無法使用。 答: 用戶被禁用,會同步給服務(wù)商(一期可提供)
# 問題二:
需求: 當(dāng)前服務(wù)商側(cè)調(diào)用委托代扣接口走墊資場景,異步通知時,能否告知服務(wù)商側(cè)此交易為墊資?
答: 服務(wù)商提交扣款申請,平臺會進(jìn)行扣款,如果扣款失敗,平臺側(cè)會自動發(fā)起墊資,無需服務(wù)商提交墊資交易申請
您描述的我們明白,目前我們希望知道這筆交易走的墊資,但是沒有明確的標(biāo)識告訴我們,我們希望在墊資場景下的異步通知,告知我們此交易為墊資。
答: 如果用戶這次消費(fèi)是墊資,我們會通知服務(wù)商。這樣有利于提醒家長還款,但一期的開發(fā)量比較大,所以這個要放到二期來實現(xiàn)了。
問: 若是一期不能實現(xiàn),則期間存在傷害點:
用戶體驗,當(dāng)學(xué)生現(xiàn)場無法就餐,服務(wù)商無法準(zhǔn)確查詢原因,只能根據(jù)微信側(cè)返回的提示告知現(xiàn)場;
若學(xué)生出現(xiàn)一次欠款后,學(xué)校側(cè)、服務(wù)商側(cè)無法準(zhǔn)確預(yù)知學(xué)生即將無法就餐,只能等到學(xué)生無法就餐后,才能知悉。
答: 目前墊資回調(diào)通知開發(fā)完成,功能測試中
# 問題三:
位置: 設(shè)備使用過程-3.攝像頭保護(hù):攝像頭預(yù)識別30秒沒有人臉,則關(guān)閉,前屏界面出現(xiàn)按鈕,點擊按鈕激活攝像頭。
場景補(bǔ)充: 此場景只是其中一個場景,攝像頭保護(hù)的所有場景為:
預(yù)識別-開啟引導(dǎo)頁:攝像頭預(yù)識別30秒沒有人臉,則關(guān)閉,前屏界面出現(xiàn)按鈕,點擊按鈕激活攝像頭
預(yù)識別-關(guān)閉引導(dǎo)頁:攝像頭預(yù)識別10分鐘沒有人臉,則關(guān)閉,前屏界面出現(xiàn)按鈕,點擊按鈕激活攝像頭
后識別:開啟攝像頭識別后,若60s內(nèi)無比對成功結(jié)果,則超時關(guān)閉攝像頭
問: 已提供給微信側(cè)具體場景視頻,待確定是否滿足。
答: 計劃提供四個接口:
1)開啟攝像頭
2)關(guān)閉攝像頭
3)開始攝像頭但屏幕不顯示畫面
4)開啟攝像頭屏幕顯示畫面。
這樣開啟/關(guān)閉的時間完全由服務(wù)商根據(jù)需要進(jìn)行控制,應(yīng)該可以滿足以上需要了。
# 問題四:
需求: 委托代扣簽約完成后能否返回微信簽約賬號(可以脫敏)?
(賬號信息不能返回,只是返回學(xué)生id)
問: 傷害點:服務(wù)商售后支持在接到簽約相關(guān)問題時,無法回答家長為學(xué)生簽約錯賬號、當(dāng)學(xué)生無法就餐時,無法告知家長應(yīng)該查看哪個微信賬號。
答: 服務(wù)商可通過后臺接口獲取的簽約id明確簽約微信賬號
# 問題五:
問: 請問新增加的<代扣風(fēng)控>階段是服務(wù)商委托代扣提交申請的同步返回,還是異步通知返回?
答: 扣款的結(jié)果同時給出,如果是異步扣款,那就跟異步扣款結(jié)果同時給出
問: 用戶賬戶被風(fēng)控掉,是否可以走墊資?
答: 兩種情況:
1、用戶如果欠款過多被禁用,則無法使用刷臉服務(wù),也不會墊資
2、如果是提交訂單被風(fēng)控判斷為異常訂單,比如地點不對、時間不對等,也無法代扣和墊資
# 問題六:
問: 墊資發(fā)起是服務(wù)商發(fā)起還是微信發(fā)起?
答: 墊資是由微信側(cè)發(fā)起: 服務(wù)商提交訂單,微信側(cè)發(fā)起用戶扣款,如果扣款失敗,則微信則就會發(fā)起墊資 如果墊資失敗,則服務(wù)商再次提交訂單,微信側(cè)再次發(fā)起墊資