支持以下2种方式,实现客户支付宝小程序直接唤起e签宝支付宝小程序完成签署 。
- 方法一,使用支付宝官方提供的方法,唤起e签宝支付宝小程序
- 方法二,使用外部链接唤起e签宝支付宝小程序
方法一:支付宝官方方法
接口描述
完成签署流程配置后,通过获取到的flowId和signerId使用支付宝小程序my.navigateToMiniProgram方法调用e签宝小程序进行文件签署。小程序跳转方法详见支付宝官方文档(https://docs.alipay.com/mini/api/yz6gnx)
请求参数
参数 | 类型 | 是否必填 | 说明 |
env | string | 否 | 对接接口环境,默认为prod: prod=生产环境,sml=模拟环境 |
page | string | 是 | 签署页面路径,签署页固定 'sign' |
flowId | string | 是 | 签署流程ID |
signerId | string | 是 | 签署人ID |
forwardHome | boolean | 否 | 签署完成页是否引导前往支付宝首页,默认为true |
请求示例
my.navigateToMiniProgram( { appId:'2019042964339413',(值固定,无需改动) path:'pages/startup/index', (值固定,无需改动) extraData:{ page:'pages/startup/index', query:{ env:'prod', page:'sign', flowId:'123456789', signerId:'ABC123', forwardHome:'true', }, }, success:(res) => { console.log(res.extraData.code)//{ code, msg, data } }, fail:(res) => { console.log(JSON.stringify(res)) } });
小程序返回结果
用户操作完成后,我们会回跳原小程序,可在extraData中获取操作结果。可能出现的操作结果如下表:
code(number) | msg(string) | data(object) |
000 | 签署成功 | |
001 | 等待用印审批 | |
002 | 部分签署失败 | 原因+失败文档 |
003 | 签署失败 | 原因 |
004 | 签署中,请稍后查询结果 | |
101 | 支付宝账号未实名,无法签署 | |
102 | 签署人信息不一致,无法签署 | |
103 | 不支持的证件类型 | |
201 | 签署人拒绝签署 | |
202 | 发起人撤回流程 |
方法二:外部链接唤起方法
也可以基于上述参数拼接支付宝urlscheme,有两种方式进行签署:
- 生成小程序签署二维码,用户使用支付宝扫码后,可打开e签宝小程序进行签署;
- 使用url跳转小程序进行签署。
const appId = '2019042964339413' const page = '/pages/startup/index' const query = 'env=prod&page=sign&flowId=12346789&signerId=ABC123&forwardHome=true' `alipays://platformapi/startapp? appId=${appId}&query=${encodeURIComponent(query)}&page=${encodeURIComponent(page)}`