连连开放平台文档
  • 指引&规范
  • 收单服务
  • 账户服务
  • 信用分期
  • 商户管理
  • 公共服务
    • 更新日志
    • 接入准备
    • 开发指引
      • 密码控件
      • 风控参数
      • 全球根证书升级
    • 公共类API接口
    • 公共资源
  • 跨境服务
  • 易企汇
logoPowered by Apifox
  1. 公共服务
  2. 开发指引

密码控件

密码控件

请先浏览密码控件接入准备,并且完成相关准备后继续查看此文档。

接入指引

可以先拿下载下来HTML文件(源码)做单独调试,调试成功后再集成到自己系统中。 浏览器中打开该链接,浏览器右键查看源代码,拷贝源码即可 使用 [申请密码控件token](https://api-doc.lianlianpay.com/openplatform/api-3481658) 接口获取初始化密码控件的参数,按照具体场景替换下载的前端源码中的参数。 接口返回参数示例如下: ```json { "oid_partner": "2020042200284052", "password_element_token": "769006ee8d764ab0d5208b20ee552ffc", "ret_code": "0000", "ret_msg": "交易成功" } ``` 替换前端源码中如下数据: ```js oidPartner: '2020042300285003', // 商户号 userId: '91755872196523', // 用户号 passwordElementToken: 'e47d0adf94dc51c7dc96c2b1510667fe', // 向服务端请求生成的 token ``` 本地打开这个HTML文件,点击唤起密码控件,在弹框中输入密码,点击确认后,回调函数会被触发,浏览器控制打印出password和randomKey,传递给后端使用。 ![image.png](https://api-test.lianlianpay-inc.com/api/v1/projects/345299/resources/338442/image-preview) 可以先拿下载下来HTML文件(源码)做单独调试,调试成功后再集成到自己系统中。 浏览器中打开该链接,浏览器右键查看源代码,拷贝源码即可 使用 [随机密码因子获取](apifox://link/endpoint/3477903)接口获取初始化密码控件的参数,按照具体场景替换下载的前端源码中的参数。 接口返回参数示例如下: ```json { "license": "aEY4Z3UxQVNqNFJvQW9pR2pTOVhpb25oUU1IUGQzSmExZ0RsV3ZhdkYxRTJjYVcwTVBFbFk2U05nQTkvdXNhMGxGWmVqNXV2MTBoekpQeUlsemZoYjVFRzg5S0QvOTJJZDUxZDN5OTdxY1NaUXhDOTdKVW11U3FqL1duMTVabU5vdUxOSGpyT1cycGd6c0oxNGQvWlo0dmpWdkQ0QkRGeXcwejhQYnlqVWpFPXsiaWQiOjAsInR5cGUiOiJ0ZXN0IiwicGxhdGZvcm0iOjEwLCJub3RiZWZvcmUiOiIyMDI0MDgyMSIsIm5vdGFmdGVyIjoiMjAyNTAyMjEifQ==", "map_arr": "WycxMjUnLCAnMTE1JywgJzU5JywgJzExOScsICc0NCcsICc5MycsICc2OScsICc2MycsICc3MycsICc1MCcsICc0MicsICc4MicsICczMycsICczNScsICc4MCcsICcxMDQnLCAnNDYnLCAnOTEnLCAnMTIwJywgJzU4JywgJzg3JywgJzQ5JywgJzM0JywgJzExNicsICc5NScsICc4MycsICc5MicsICczOCcsICc5NycsICcxMTcnLCAnNjcnLCAnNzUnLCAnNzInLCAnNDAnLCAnMTA3JywgJzExMCcsICc1MicsICc5OCcsICc0MScsICcxMjEnLCAnMTAyJywgJzM2JywgJzc3JywgJzc0JywgJzExNCcsICc1NicsICczNycsICc5NCcsICc1NCcsICc4NScsICcxMjYnLCAnOTYnLCAnMTIyJywgJzU3JywgJzY1JywgJzc2JywgJzY0JywgJzEyNCcsICc2MCcsICc0OCcsICcxMDknLCAnNTUnLCAnNzgnLCAnODgnLCAnODQnLCAnNjEnLCAnODEnLCAnMTE4JywgJzQzJywgJzEwMycsICc2OCcsICcxMDYnLCAnMTA1JywgJzQ1JywgJzEwOCcsICc4NicsICc2NicsICcxMDEnLCAnOTknLCAnNDcnLCAnNzAnLCAnODknLCAnMTAwJywgJzUzJywgJzkwJywgJzEyMycsICcxMTInLCAnMTEzJywgJzcxJywgJzM5JywgJzUxJywgJzc5JywgJzExMScsICc2Midd", "oid_partner": "2020042200284052", "random_key": "5a112213-0f5f-4c7f-96b9-f3c1a5014466", "random_value": "63516575557234678162093048061867", "ret_code": "0000", "ret_msg": "交易成功", "rsa_public_content": "308189028181009017e40c4b053ef663903066618131e705a91641441d8bc5de082a12147559dcbc790e7b85a0e42a388effa2b7d0c5f734733ef14869fb735b5245bda1d79e32c35004288190e080f8abe8ae7c8f2ff81738c1c32d6e944be7ad1197cb1d8c76455d6da8d623a0513647f5a59d1e9aa6ca077f136040b550ad411728455bf6230203010001", "user_id": "LLianPayTest-In-User-12345" } ``` 替换前端源码中如下数据: ```js const random = { license: "TU5rUDluQzI1SXZtODRkbjFzMWtrcEtXRFBmaWhNK1RQSU5rM0VOb29tOUJhZEVZY0lYZmgvTFRTMXpGUTB1c1kvZTJ0eXF6Ynk4SkRodWJjQ2tTeXVHUXNGa2dBVUpXTTJVcVdQaU92cFJQa0JFaUw5T0VJc05UK2NLS0t0dmNSMmdzTEhneGc2emdzSWs4Q3hXOGhHVTZzM0hmRXprWnY5WFM3VlRJMmtjPXsiaWQiOjAsInR5cGUiOiJ0ZXN0IiwicGxhdGZvcm0iOjEwLCJub3RiZWZvcmUiOiIyMDIxMTEyNiIsIm5vdGFmdGVyIjoiMjAyMjA1MjYifQ==", map_arr: "WycxMDYnLCAnODUnLCAnNzAnLCAnMTAxJywgJzg5JywgJzExNScsICc0NicsICczMycsICc5MicsICczOScsICc5NCcsICcxMDcnLCAnOTAnLCAnMTA1JywgJzgyJywgJzcxJywgJzY2JywgJzY0JywgJzEwOCcsICc3NCcsICcxMTcnLCAnNTInLCAnNzYnLCAnMTEyJywgJzExNCcsICc4OCcsICc0MycsICc4MScsICc0NCcsICczOCcsICc1NCcsICcxMjInLCAnNjEnLCAnNTAnLCAnODMnLCAnNTMnLCAnMTI2JywgJzQ4JywgJzM0JywgJzc4JywgJzg2JywgJzk5JywgJzkzJywgJzEyMScsICc1OCcsICc3NScsICc1NScsICc4NCcsICc5NicsICczNicsICc3MicsICc3NycsICc1MScsICc5NScsICc2NycsICczNycsICcxMDAnLCAnMzUnLCAnNjAnLCAnMTI1JywgJzU3JywgJzQ5JywgJzU2JywgJzg3JywgJzkxJywgJzExMCcsICcxMDMnLCAnMTE5JywgJzEyMCcsICc3OScsICcxMDknLCAnNjInLCAnNDEnLCAnMTE2JywgJzYzJywgJzExMScsICcxMjMnLCAnMTI0JywgJzY5JywgJzY1JywgJzU5JywgJzEwMicsICc3MycsICc4MCcsICc0MicsICcxMTgnLCAnMTA0JywgJzQwJywgJzQ3JywgJzY4JywgJzQ1JywgJzExMycsICc5NycsICc5OCdd", random_key: "f8800463-74c5-41b4-8b19-0a4f0f449780", random_value: "51415436736623557729299974094373", rsa_public_content: "308189028181009017e40c4b053ef663903066618131e705a91641441d8bc5de082a12147559dcbc790e7b85a0e42a388effa2b7d0c5f734733ef14869fb735b5245bda1d79e32c35004288190e080f8abe8ae7c8f2ff81738c1c32d6e944be7ad1197cb1d8c76455d6da8d623a0513647f5a59d1e9aa6ca077f136040b550ad411728455bf6230203010001", } ``` - 本地使用chrome浏览器打开这个HTML文件,打开浏览器的开发者工具(因为加密后的密文会打印在浏览器开发者工具的Console中) - 在输入框输入密码,点击“获取密码”按钮,可以在浏览器控制台看到password和random_key被打印出来,把这两个值传递给后端使用。 ![image.png](https://api-test.lianlianpay-inc.com/api/v1/projects/345299/resources/338443/image-preview) :::caution[] 这个demo只是演示密码控件中的“按钮button”对应的JS方法如何使用,具体的功能(获取密文功能,清空输入框功能,对比两次输入密码是否一致功能),然后把这个密文提供给后端API接口使用
  按钮button功能说明:
  
  - “确认”按钮,输出输入密文的hash值,可以使用这个hash值判断用户输入的两次密码是否相同
  - “清除密码”按钮,清除密码输入框的内容
  - “获取密码”按钮,获取真正后端需要的加密后的密文

:::




可以先拿下载下来HTML文件(源码)做单独调试,调试成功后再集成到自己系统中。
浏览器中打开该链接,浏览器右键查看源代码,拷贝源码即可


使用 随机密码因子获取接口获取初始化密码控件的参数,按照具体场景替换下载的前端源码中的参数。
接口返回参数示例如下:

{
    "license": "aEY4Z3UxQVNqNFJvQW9pR2pTOVhpb25oUU1IUGQzSmExZ0RsV3ZhdkYxRTJjYVcwTVBFbFk2U05nQTkvdXNhMGxGWmVqNXV2MTBoekpQeUlsemZoYjVFRzg5S0QvOTJJZDUxZDN5OTdxY1NaUXhDOTdKVW11U3FqL1duMTVabU5vdUxOSGpyT1cycGd6c0oxNGQvWlo0dmpWdkQ0QkRGeXcwejhQYnlqVWpFPXsiaWQiOjAsInR5cGUiOiJ0ZXN0IiwicGxhdGZvcm0iOjEwLCJub3RiZWZvcmUiOiIyMDI0MDgyMSIsIm5vdGFmdGVyIjoiMjAyNTAyMjEifQ==",
    "map_arr": "WycxMjUnLCAnMTE1JywgJzU5JywgJzExOScsICc0NCcsICc5MycsICc2OScsICc2MycsICc3MycsICc1MCcsICc0MicsICc4MicsICczMycsICczNScsICc4MCcsICcxMDQnLCAnNDYnLCAnOTEnLCAnMTIwJywgJzU4JywgJzg3JywgJzQ5JywgJzM0JywgJzExNicsICc5NScsICc4MycsICc5MicsICczOCcsICc5NycsICcxMTcnLCAnNjcnLCAnNzUnLCAnNzInLCAnNDAnLCAnMTA3JywgJzExMCcsICc1MicsICc5OCcsICc0MScsICcxMjEnLCAnMTAyJywgJzM2JywgJzc3JywgJzc0JywgJzExNCcsICc1NicsICczNycsICc5NCcsICc1NCcsICc4NScsICcxMjYnLCAnOTYnLCAnMTIyJywgJzU3JywgJzY1JywgJzc2JywgJzY0JywgJzEyNCcsICc2MCcsICc0OCcsICcxMDknLCAnNTUnLCAnNzgnLCAnODgnLCAnODQnLCAnNjEnLCAnODEnLCAnMTE4JywgJzQzJywgJzEwMycsICc2OCcsICcxMDYnLCAnMTA1JywgJzQ1JywgJzEwOCcsICc4NicsICc2NicsICcxMDEnLCAnOTknLCAnNDcnLCAnNzAnLCAnODknLCAnMTAwJywgJzUzJywgJzkwJywgJzEyMycsICcxMTInLCAnMTEzJywgJzcxJywgJzM5JywgJzUxJywgJzc5JywgJzExMScsICc2Midd",
    "oid_partner": "2020042200284052",
    "random_key": "5a112213-0f5f-4c7f-96b9-f3c1a5014466",
    "random_value": "63516575557234678162093048061867",
    "ret_code": "0000",
    "ret_msg": "交易成功",
    "rsa_public_content": "308189028181009017e40c4b053ef663903066618131e705a91641441d8bc5de082a12147559dcbc790e7b85a0e42a388effa2b7d0c5f734733ef14869fb735b5245bda1d79e32c35004288190e080f8abe8ae7c8f2ff81738c1c32d6e944be7ad1197cb1d8c76455d6da8d623a0513647f5a59d1e9aa6ca077f136040b550ad411728455bf6230203010001",
    "user_id": "LLianPayTest-In-User-12345"
}
    替换前端源码中如下数据:
  var options = {
    "map_arr": "Wyc0MycsICc1NycsICc3MScsICcxMjEnLCAnMTI2JywgJzEyNCcsICc5MCcsICcxMTInLCAnODknLCAnOTMnLCAnMTA1JywgJzgxJywgJzExMycsICcxMjUnLCAnNjgnLCAnMzgnLCAnODUnLCAnNjUnLCAnMTE4JywgJzgwJywgJzg3JywgJzkxJywgJzQ0JywgJzMzJywgJzc4JywgJzg4JywgJzk2JywgJzEwOScsICc2MScsICc2NicsICc0MCcsICc4MicsICc3MicsICcxMjAnLCAnOTUnLCAnMTEwJywgJzQ2JywgJzg2JywgJzEwNycsICc1MCcsICc3MCcsICc5OCcsICcxMTcnLCAnMzYnLCAnMTAxJywgJzgzJywgJzQ4JywgJzExNCcsICc2NycsICc3NycsICcxMDgnLCAnMTAwJywgJzM1JywgJzczJywgJzY5JywgJzk5JywgJzEwMicsICc3NicsICc3NScsICcxMDQnLCAnNDknLCAnOTInLCAnNjInLCAnNTgnLCAnNTMnLCAnNzknLCAnOTcnLCAnNDUnLCAnNDEnLCAnMTE5JywgJzEyMycsICc1MScsICc2MycsICc0NycsICcxMDYnLCAnMzknLCAnMTExJywgJzExNScsICczNCcsICc5NCcsICcxMjInLCAnNjQnLCAnNTknLCAnMTE2JywgJzM3JywgJzc0JywgJzU1JywgJzYwJywgJzU0JywgJzUyJywgJzQyJywgJzg0JywgJzEwMycsICc1Nidd",
    "license":"UjNpRHFyYWhSYzk5R1AzcTBCb1ZucURyLzhpekNiN1dGYkRWM1A3NjlnSzZnK0VZMDVzeno3akYrYS84VlR4UHhxRkFJRjJmeWdWKzJsU1hTV2hNMzg5WTBpbFk0bGhzU01GcXQvOTcyQmZ4akNtUXlrNEpMVnk0OXR0eXhRZ3RpYmFIMXkxcHg5UDZIbnBweG8rbGZqcS9Yekh1VGJ1K3kyZnBFS3didC9nPXsiaWQiOjAsInR5cGUiOiJ0ZXN0IiwicGxhdGZvcm0iOjEwLCJub3RiZWZvcmUiOiIyMDIyMDUzMCIsIm5vdGFmdGVyIjoiMjAyMjExMzAifQ==",
    "oid_partner":"2020042904425468",
    "random_key":"241a606e-a4ff-49f4-b102-882b61b36bdf",
    "random_value":"63000403063155227830323742731688",
    "ret_code":"0000",
    "ret_msg":"交易成功",
    "rsa_public_content":"308189028181009017e40c4b053ef663903066618131e705a91641441d8bc5de082a12147559dcbc790e7b85a0e42a388effa2b7d0c5f734733ef14869fb735b5245bda1d79e32c35004288190e080f8abe8ae7c8f2ff81738c1c32d6e944be7ad1197cb1d8c76455d6da8d623a0513647f5a59d1e9aa6ca077f136040b550ad411728455bf6230203010001",
    "sm2_key_hex":"1093A047C5CBF48283EC7A210703F3FF9EA4448DC15D56B4CD82FCB27DAD2D45F2BB0BF953BCEBB635D9D34E473ECEFC9F25880EB1669F94DE050A29AC86F308",
    "user_id":"2021060401291390051"
}
  </Step>
  <Step title="使用密码控件,获取加密后的密文和random_key">
    - 本地使用chrome浏览器打开这个HTML文件,打开浏览器的开发者工具(因为加密后的密文会打印在浏览器开发者工具的Console中)
    - 在输入框输入密码,点击“获取密码”按钮,可以在浏览器控制台看到password和random_key被打印出来,把这两个值传递给后端使用。       

image.png


:::caution[]
这个demo只是演示密码控件中的“按钮button”对应的JS方法如何使用,具体的功能(获取密文功能,对比两次输入密码是否一致功能),然后把这个密文提供给后端API接口使用

  - 可以使用这个hash值判断用户输入的两次密码是否相同
  - “获取密码”按钮,获取真正后端需要的加密后的密文

:::




可以先拿下载的demo做单独调试,调试成功后再集成到自己系统中。