1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > node.js接入支付宝小程序的实名认证接口

node.js接入支付宝小程序的实名认证接口

时间:2019-02-13 23:24:55

相关推荐

node.js接入支付宝小程序的实名认证接口

本文档可以对照官方文档来看:支付宝身份验证

一、配置支付宝开放平台

1.1 开启身份认证功能

1.2 使用支付宝开放平台开发助手生成密钥

二、开始写代码

2.1 添加node.js的sdk

import AlipaySdk from "alipay-sdk";import AlipayFormData from "alipay-sdk/lib/form";

2.2身份认证初始化

准备接口必要参数,通过alipay.user.certify.open.initialize接口调用身份认证初始化服务

/*** 身份认证初始化* @param cert_name 姓名* @param cert_no 证件号*/async certifyOpenInitialize(params: ICertifyOpenInitialize) {try {//身份信息json对象const identityObj = {identity_type: "CERT_INFO", //身份类型,必填cert_type: "IDENTITY_CARD", //证件类型,必填cert_name: params.certName, //真实姓名,必填cert_no: params.certNo, //证件号码,必填};//商户配置json对象const merchantConfigObj = {return_url:"https://test/ss",};//生成一个随机数作为订单号var random_no = "";for (var i = 0;i < 12;i++ //j位随机数,用以加在时间戳后面。) {random_no += Math.floor(Math.random() * 10);}random_no = new Date().getTime() + random_no;//身份认证初始化服务业务参数数据const bizContentObj = {outer_order_no: random_no,biz_code: "FACE",identity_param: identityObj,merchant_config: merchantConfigObj,};const res = await sdk.exec("alipay.user.certify.open.initialize", {bizContent: bizContentObj,});return res;} catch (error) {console.log(error);throw new Error("身份认证初始化错误");}}export interface ICertifyOpenInitialize {certName: string;certNo: string;}

2.3 生成认证服务请求地址

将生成的 certify_id 作为入参,调用身份认证开始认证服务接口alipay.user.certify.open.certify

/*** 开始认证* @param certifyID 初始化返回的certify_id*/async certifyOpenCertify(params: ICertifyOpenCertify) {try {let bizContentObj = {certify_id: params.certifyID,};const formData = new AlipayFormData();formData.setMethod("get");formData.addField("biz_content", bizContentObj);const res = await sdk.exec("alipay.user.certify.open.certify",{},{ formData: formData });return { url: res };} catch (error) {console.log(error);throw new Error("身份认证错误");}}export interface ICertifyOpenCertify {certifyID: string;}

2.4验证本次认证结果

调用身份认证查询服务接口alipay.user.certify.open.query

/*** 认证查询* @param certifyID 初始化返回的certify_id*/async certifyOpenQuery(params: ICertifyOpenCertify) {try {//设置certify_idlet bizContentObj = {certify_id: params.certifyID,};const res = await sdk.exec("alipay.user.certify.open.query", {bizContent: bizContentObj,});return res;} catch (error) {console.log(error);throw new Error("身份认证查询错误");}}export interface ICertifyOpenCertify {certifyID: string;}

2.5 进行业务代码中的认证信息保存

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。