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

關(guān)閉
公眾號(hào)二維碼

# 四、上報(bào)接口對(duì)接

# 上報(bào)接口場(chǎng)景說(shuō)明

交易上報(bào)付款碼上報(bào) 接口集成二選一,具體集成根據(jù)商戶(hù)適合場(chǎng)景。

交易上報(bào): 針對(duì)非刷臉支付交易,接口根據(jù)商戶(hù)號(hào)(子商戶(hù)號(hào))和生成的商戶(hù)訂單號(hào)作為請(qǐng)求上報(bào)。

付款碼上報(bào): 針對(duì)微信付款碼支付交易,而無(wú)法獲取到商戶(hù)號(hào)和訂單號(hào)的可以通過(guò)此接口做交易上報(bào)。

# 接入步驟

1、確保網(wǎng)絡(luò)符合微信刷臉支付sdk依賴(lài)的網(wǎng)絡(luò)環(huán)境,若涉及代理可參考代理設(shè)置
2、APP版本:交易上報(bào)接口需1.12及以上版本;付款碼上報(bào)接口需2.11及以上版本
3、推薦使用付款碼上報(bào)接口,若無(wú)法獲取付款碼,可使用交易上報(bào)接口
4、具體接口使用詳見(jiàn)接口介紹和實(shí)踐指引
5、調(diào)用上報(bào)成功后請(qǐng)聯(lián)系[微信]進(jìn)行驗(yàn)收

注:調(diào)用上報(bào)接口,請(qǐng)確保SDK是正常初始化成功的;接口調(diào)用時(shí)序需在非刷臉交易成功后調(diào)用上報(bào)接口

# 1. 付款碼上報(bào)接口

# 付款碼上報(bào)(reportPaycode)

接口作用: 設(shè)備獲取到微信付款碼,而無(wú)法獲取到商戶(hù)號(hào)和訂單號(hào)的可以通過(guò)此接口做交易上報(bào)

支持版本: 2.11及以上

//付款碼上報(bào)
public void reportPaycode(final Map info, final IWxPayfaceCallback callback);

# 請(qǐng)求參數(shù)

參數(shù) 必填 類(lèi)型 說(shuō)明
auth_code string 微信支付18位付款碼

# 接口返回

參數(shù) 必填 類(lèi)型 說(shuō)明
return_code string 錯(cuò)誤碼。公共定義見(jiàn) 公共錯(cuò)誤碼
err_code Integer 可為空,二級(jí)錯(cuò)誤碼,公共定義見(jiàn) 二級(jí)錯(cuò)誤碼
return_msg string(128) 對(duì)錯(cuò)誤碼的描述

# 實(shí)踐指引

//上報(bào)付款碼
Map<String, String> m1 = new HashMap<String, String>();
m1.put("auth_code", "填您的微信支付18位付款碼");
WxPayFace.getInstance().reportPaycode(m1, new WxpayfaceCallback(){
            @Override
            public void response(Map info) throws RemoteException {
                if (info == null) {
                    new RuntimeException("調(diào)用返回為空").printStackTrace();
                    return ;
                }
                String code = (String) info.get("return_code");
                Integer errcode = (Integer) info.get("err_code");
                String msg = (String) info.get("return_msg");
                Log.d(TAG, "response info :: " + code + " | " + msg);
                if (code == null || !code.equals("SUCCESS")) {
                    new RuntimeException("調(diào)用返回非成功信息: " + msg).printStackTrace();
                    return ;
                }
                Log.d(TAG, "調(diào)用返回成功");
                /*
                 在這里處理您自己的業(yè)務(wù)邏輯
                 */
            }
});

# 2. 訂單上報(bào)接口

# 訂單上報(bào)接口(reportOrder)

接口作用: 設(shè)備產(chǎn)生的非刷臉支付交易,都必須調(diào)用此接口上報(bào)交易信息, 建議每筆非刷臉支付交易發(fā)生后,都調(diào)用該接口。

支持版本: 1.12及以上

# 接口函數(shù)

//訂單上報(bào)接口。
public void reportOrder(final Map info, final IWxPayfaceCallback callback);

# 請(qǐng)求參數(shù)

參數(shù) 必填 類(lèi)型 說(shuō)明
mch_id string 商戶(hù)號(hào)。(若是服務(wù)商模式, 則填服務(wù)商商戶(hù)號(hào))
sub_mch_id string 子商戶(hù)號(hào)。(服務(wù)商模式填寫(xiě), 其它不填)
out_trade_no string 商戶(hù)訂單號(hào)。

# 返回參數(shù)

參數(shù) 必填 類(lèi)型 說(shuō)明
return_code string 錯(cuò)誤碼。公共定義見(jiàn) 公共錯(cuò)誤碼
err_code Integer 可為空,二級(jí)錯(cuò)誤碼,公共定義見(jiàn) 二級(jí)錯(cuò)誤碼
return_msg string(128) 對(duì)錯(cuò)誤碼的描述

# 實(shí)踐指引

    public void reportOrder() {
        Map<String, Object> m1 = new HashMap<String, Object>();
        m1.put("mch_id", "填您的商戶(hù)號(hào)"); // 商戶(hù)號(hào)
//        m1.put("sub_mch_id", "填您的子商戶(hù)號(hào)"); // 子商戶(hù)號(hào)(非服務(wù)商模式不填)
        m1.put("out_trade_no", "填您的商戶(hù)訂單號(hào)");  // 填寫(xiě)商戶(hù)訂單號(hào)
        WxPayFace.getInstance().reportOrder(m1, new IWxPayfaceCallback() {
            @Override
            public void response(Map info) throws RemoteException {
                if (info == null) {
                    new RuntimeException("調(diào)用返回為空").printStackTrace();
                    return ;
                }
                String code = (String) info.get("return_code");
                Integer errcode = (Integer) info.get("err_code");
                String msg = (String) info.get("return_msg");
                Log.d(TAG, "response info :: " + code + " | " + msg);
                if (code == null || !code.equals("SUCCESS")) {
                    new RuntimeException("調(diào)用返回非成功信息: " + msg).printStackTrace();
                    return ;
                }
                Log.d(TAG, "調(diào)用返回成功");


                /*
                 在這里處理您自己的業(yè)務(wù)邏輯
                 */
            }
        });
    }

# 常見(jiàn)上報(bào)不成功問(wèn)題

Q1: 同一個(gè)程序邏輯,有些設(shè)備可以上報(bào)成功,有些設(shè)備卻不行?
A1: 和設(shè)備沒(méi)有關(guān)系,主要是設(shè)備自身是否能連同外網(wǎng),是否有內(nèi)網(wǎng)防火墻攔截,iot長(zhǎng)連接是否初始化成功等,商戶(hù)調(diào)度的只是簡(jiǎn)單的人臉SDK接口,理論上刷臉通的話,上報(bào)接口就是通的

Q2: 上報(bào)接口,重復(fù)上報(bào)了會(huì)有問(wèn)題嗎?或者沒(méi)交易成功的上報(bào)了會(huì)怎么樣?
A2:重復(fù)上報(bào)和沒(méi)交易成功上報(bào)只會(huì)影響統(tǒng)計(jì),實(shí)際商戶(hù)側(cè)上報(bào)的數(shù)量會(huì)遠(yuǎn)大于微信側(cè)核實(shí)的上報(bào)數(shù)量

Q3: 非刷臉支付的mch_id和sub_mch_id和掃臉支付的是同一個(gè)么?上報(bào)時(shí)是否可以直接使用掃臉支付的這兩個(gè)參數(shù)?
A3:是同一個(gè),使用刷臉的mch_id和sub_mch_id即可

Q4: 付款碼交易上報(bào)接口是否只能針對(duì)微信付款碼?
A4: 需使用設(shè)備獲取到微信付款碼

上次更新: 12/9/2022, 2:54:48 PM