支付寶小程序:模板模式接入獲取會員手機號

小編:啊南 146閱讀 2020.12.28

產品介紹簡介

獲取會員手機號旨在幫助商家便捷獲取用戶聯系方式,在獲得用戶充分授權和認可,且充分保護用戶隱私的前提下快速創建會員體系或開展其他業務。有關獲取會員手機號能力的詳細介紹,請參見 獲取會員手機號。

準入條件
  • 開發者需充分尊重用戶個人隱私,妥善使用手機號碼的使用范圍,不得隨意打擾用戶。若發現信息存在超出約定范圍使用或者不合理使用等情況,平臺有權永久收回接口權限。

  • 為進一步規約和確認安全資質,開發者需加入 螞蟻數據安全與隱私保障聯盟,并嚴格遵守《支付寶開放平臺用戶信息處理規范》、《開放平臺第三方應用安全開發指南》。

收費模式

免費。

接入流程

接入準備第一步:創建應用及模板

系統服務商(ISV)需 創建第三方應用 并 創建小程序模板 后才可接入獲取會員手機號能力。

第二步:添加能力

登錄 開放平臺控制臺 >選擇相應的第三方應用并點擊進入管理后臺 > 在 能力列表 中點擊 添加能力 > 選擇添加 獲取會員手機號 應用AES密鑰管理 能力。

image

第三步:配置應用

接入獲取會員手機號能力前,ISV 需為模板所屬第三方應用配置 應用網關、接口內容加密方式 。

配置應用網關
  1. 登錄 開放平臺控制臺 >選擇相應的第三方應用并點擊進入管理后臺 > 開發管理,在 開發信息 > 應用網關 中,點擊 設置。

    image

  2. 輸入 ISV 服務器的網關,選擇加簽方式,點擊 確定。應用網關應符合以下要求:

  • 支持所設置的加簽方式;

  • 外網可訪問;

  • 可接收 post 數據 。

image

配置接口內容加密方式
  1. 登錄 開放平臺控制臺 >選擇相應的第三方應用并點擊進入管理后臺 > 設置 > 開發信息 > 在 接口內容加密方式 中,點擊 設置。image

  2. 確認提示內容,點擊 生成新密鑰,即完成配置。

image

模板開發第一步:接口調用
  1. ISV 在小程序端調用 my.getPhoneNumber 接口,再將接口返回的結果通過 my.request 接口傳入第三方應用的網關地址。

    注意:

    • ISV 代商家獲取用戶手機號信息時需傳入 isvAppID(第三方應用 AppID)。

    • 使用 protocols 要求 基礎庫 版本為 1.22.0 及以上;支付寶客戶端版本為 10.1.72 及以上。請使用my.canIUse('getPhoneNumber.object.protocols')進行 兼容處理。

    示例代碼:

    my.canIUse('getPhoneNumber.object.protocols')//兼容性處理my.getPhoneNumber({    protocols:{       // 小程序模板所屬的第三方應用APPID            isvAppId: '第三方應用APPID'    },    success: (res) => {        let encryptedData = res.response; // 手機號及簽名加密信息        my.request({            url: 'ISV服務端地址',            data: encryptedData,        });    },    fail: (res) => {        console.log(res);        console.log('getPhoneNumber_fail');   },});
  1. ISV 需在服務端解密小程序端返回的手機號信息,更多語言驗簽及解密示例詳情參見 內容加密指引。

    注意:

    • 服務端解密時,需使用商家小程序 AES 密鑰。

    • 調試小程序模板時,使用模板 AES 密鑰。

    示例代碼:

    public void decryptPhoneNum(){        String response ="";// 前端接口返回的加密信息        //1. 獲取解密所需要的參數        Map<String, String> openapiResult = JSON.parseObject(response,      new TypeReference<Map<String, String>>() {        }, Feature.OrderedField);        String charset = "UTF-8";        String encryptType = "AES";        String content = openapiResult.get("response");        // 判斷是否為加密內容        boolean isDataEncrypted = !content.startsWith("{");        String decryptKey = "B_AES_KEY"; // 商家小程序 AES 密鑰        //AES密鑰,這里參數不能寫成固定的,開發階段需傳入模板的AES密鑰,實例化后應傳入商家小程序的AES密鑰        // 解密        String plainData = null;        if (isDataEncrypted) {            try {                System.out.println("AlipayEncrypt");                plainData = AlipayEncrypt.decryptContent(content, encryptType, decryptKey,charset);                System.out.println("AlipayEncrypt Trance done");            } catch (AlipayApiException e) {                //解密異常, 記錄日志                                try {                    throw new Exception("解密異常");                } catch (Exception e1) {                    // TODO Auto-generated catch block                    e1.printStackTrace();                }            }        } else {            plainData = content;        }        System.out.println(plainData);}
第二步:模板調試

ISV 完成模板開發后,在提審模板前需在本地進行功能調試,完成調試后即可提審發布為服務,供商家訂購使用。

模板授權

ISV 將小程序模板授權給第三方應用,詳情參見 將模板授權給所屬第三方應用。

image

配置 AES 密鑰

ISV 需調用 alipay.open.auth.app.aes.set(授權應用aes密鑰設置) 接口,以第三方應用自調用(即不傳 app_auth_token)方式為小程序模板設置 接口內容加密方式(即 AES 密鑰)

示例代碼:

//encryptKey填入當前第三方應用的AES密鑰,encryptType為"AES" AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","第三方應用APPID","your private_key","json","GBK","alipay_public_key","RSA2","encryptKey","encryptType");AlipayOpenAuthAppAesSetRequest request = new AlipayOpenAuthAppAesSetRequest();request.setBizContent ("{"   +          //為模板設置就填寫小程序模板APPID,為商家設置就填寫商家小程序APPID        ""merchant_app_id":"20191223601234500""   +    "}");AlipayOpenAuthAppAesSetResponse response = alipayClient.execute(request);if (response.isSuccess ()){      System.out.println ( response.getAesKey());      System.out.println ("調用成功");}  else  {      System.out.println ("調用失敗");}

注意:

  • 配置 AES 密鑰場景構造 alipayClient 時,構造方法中需傳入 encryptKey 和 encryptType,encryptKey 為當前第三方應用的 AES 密鑰,encryptType 為固定值 ?AES。

  • merchant_app_id:應用的 APPID,代模板設置時傳入小程序模板 APPID,代商家小程序設置時傳入商家小程序 APPID。

ISV 還可調用 alipay.open.auth.app.aes.get(授權應用aes密鑰查詢)接口(不傳 app_auth_token),查詢已授權給第三方應用的小程序模板或小程序應用的 AES 密鑰。

//encryptKey填入當前第三方應用的AES密鑰,encryptType為"AES" AlipayClient alipayClient = new DefaultAlipayClient("https://openapi.alipay.com/gateway.do","第三方應用APPID","your private_key","json","GBK","alipay_public_key","RSA2","encryptKey","encryptType");AlipayOpenAuthAppAesGetRequest request = new AlipayOpenAuthAppAesGetRequest();request.setBizContent ("{"   +    ""merchant_app_id":"20191223601234500""   + //填寫需查詢密鑰的應用APPID  "}" );AlipayOpenAuthAppAesGetResponse response = alipayClient.execute(request);if (response.isSuccess ()){  System.out.println(response.getAesKey());  System.out.println( "調用成功" );}  else  {  System.out.println( "調用失敗" );}
代模板申請用戶信息

代模板申請用戶信息后,模板才有權限獲取會員手機號。

  1. 登錄 開放平臺控制臺 >選擇相應的第三方應用并點擊進入管理后臺 > 功能管理 > 獲取會員手機號,點擊 代申請用戶信息。

?image

  1. 選擇需要申請用戶信息的小程序模板,點擊 下一步。

image

  1. 選擇類目和用戶信息,點擊 下一步。

image

  1. 閱讀了解相關規范,并如實詳細填寫申請信息。確認無誤后,點擊 提交申請。

image

  1. 審核時長約為 2~3 個工作日,審核通過后可獲得該信息字段的權限?傻卿 支付寶開放平臺,進入 控制臺 > 第三方應用詳情 > 功能管理 > 獲取會員手機號,點擊 代申請用戶信息 ,點擊 已提交的申請,進入頁面后,查看 狀態 列,即可獲取當前審核狀態。image

代商家接入

ISV 需代商家申請用戶信息、設置商家小程序 AES 密鑰后,再 構建商家小程序版本,否則商家小程序將無法正常運行獲取會員手機號能力。

設置商家小程序 AES 密鑰的操作,請參見 模板代碼實現。

第一步:商家訂購

商家完成 訂購服務 或者 線下授權 后,商家小程序會授權給 ISV 的第三方應用。

第二步:構建商家小程序版本

開發者需為商家小程序設置 內容加密方式(即 AES 密鑰)再 構建商家小程序版本,否則商家小程序將無法正常運行獲取會員手機號能力。

  1. AES 密鑰配置詳情參見上文 模板開發 > 第二步:模板調試 > 配置 AES 密鑰。

  2. 構建商家小程序版本詳情參見 構建商家小程序版本。

第三步:配置小程序類目

ISV 代商家小程序申請用戶信息前,需調用 alipay.open.mini.category.query(小程序類目樹查詢)接口查詢商家小程序可用類目,再調用 alipay.open.mini.baseinfo.modify(小程序修改基礎信息)接口,代商家小程序設置 mini_category_ids(前臺類目即小程序主營行業類目)。詳情參見上文 模板開發 > 第二步:模板調試 > 配置模板前臺類目。

商家小程序后臺效果:

image.png

第四步:代商家小程序申請用戶信息
  1. 登錄 開放平臺控制臺 >選擇相應的第三方應用并點擊進入管理后臺 > 功能管理 > 獲取會員手機號,點擊 代申請用戶信息。

image

  1. 選擇需要申請用戶信息的商家小程序,后續步驟與上文 ?模板開發 > 第二步:模板調試 > 代模板申請用戶信息?一致。

image

第五步:進行測試

實例化商家小程序 后,在體驗版中測試商家小程序是否能成功獲取會員手機號,如不能,可參見下方 FAQ。若體驗版正常無誤,可進行 提審商家小程序。

FAQQ1:一個第三方應用最多只能代多少個授權的商家應用獲取手機號?

A:ISV 在界面申請時單次最多可代 50 個已授權的應用申請用戶信息,其余無數量限制。

Q2:提示 isv.missing-encrypt-key 缺少加密配置的報錯?

A:需要調用 ?接口給模板小程序設置 AES 密鑰。

Q3:代商戶獲取手機號,獲取手機號時,沒有傳回 sign,什么原因?

A:檢查小程序后臺是否配置接口加簽方式、AES 密鑰、應用網關。

Q4:模板代申請用戶手機號屢次被拒,駁回原因應用名稱被釋放,如何解決?

A:建議提交審核時做修改;虻卿 商家中心,點擊首頁右側“螞蟻哥”頭像在線咨詢。

Q5:代商戶申請手機號,有的商戶不可以申請,什么原因?

A:并不是所有小程序都可以獲取用戶手機號的,和小程序行業、商家風險等相關。

關聯標簽:
欧美日韩在线精品视频二区_日本高清在线精品一区_天天看片天天av免费观看