升级至 3.1 版本(极速版)
老模式和新模式差异
新模式的优势
新模式适用场景
新老模式开卡流程
老模式交互时序图

新模式信息交互时序图
如何升级到新模式
实现开卡 SPI
注意事项
infos
出参一致,可直接获取用户提交的表单信息。示例代码
更新模板
spi_app_id
字段。spi_app_id 设置规则:
商家监听开卡结果消息(可选)
注意事项
String appId = "your appid" ;
// 目标支付宝服务端地址,线上环境为 openchannel.alipay.com
String serverHost = "openchannel.alipay.com" ;
// 数据签名方式,请与应用设置的默认签名方式保持一致
String signType = "RSA2" ;
// 应用私钥
String appPrivateKey = "your app private key" ;
// 支付宝公钥
String alipayPublicKey = "alipay public key" ;
// 获取client对象,一个appId对应一个实例
final AlipayMsgClient alipayMsgClient = AlipayMsgClient.getInstance(appId);
alipayMsgClient.setConnector(serverHost);
alipayMsgClient.setSecurityConfig(signType, appPrivateKey, alipayPublicKey);
alipayMsgClient.setMessageHandler(new MsgHandler() {
/**
* 客户端接收到消息后回调此方法
* @param msgApi 接收到的消息的消息api名
* @param msgId 接收到的消息的消息id
* @param bizContent 接收到的消息的内容,json格式
*/
@Override
public void onMessage(String msgApi, String msgId, String bizContent) {
System.out.println( "receive message. msgApi:" + msgApi + " msgId:" + msgId + " bizContent:" + bizContent);
//商户处理收到开卡结果后置逻辑
}
});
alipayMsgClient.connect();
调整小程序插件调用参数
订购开卡插件
前端引入插件
第一步:声明插件
{
"plugins": {
"alipassToolKit": { // 请自定义插件名称
"version": "*", // 目前只支持设置 * 拉取当前上架最新版本
"provider": "2021001107697072" // 固定值,插件 ID
}
}
}
第二步:使用插件
<!-- .axml -->
<view class="action">
<button type="ghost" class="btn-integration" onTap="onOpenCard">领取会员卡</button>
</view>
// .js
onOpenCard(){
var plugin = requirePlugin("alipassToolKit") // 引用名称需与 app.json 中定义名称相同
let params = {
cardParams:{//开卡入参,
templateId:'xxx', // 开卡的卡模板ID
templateAppId:'xxx', // 卡模板ID 所关联的 AppId
outString:'xxx',//商户自定义透传信息
pageType:'half',//可选,默认是 half,其他参数 full
},
callback: function (res) {
console.log('======', res)
if (res.success === true) {
console.log('----- success')
}
}
}
plugin.openCard(params);// 接口参数说明如下
},
plugin.openCard(params) 接口说明
参数名称 | 参数类型 | 是否必填 | 描述 |
---|---|---|---|
cardParams | String | 是 | 开卡入参。 |
L cardParams.templateId | String | 是 | 开卡的卡模板 ID。 |
L cardParams.templateAppId | String | 是 | 卡模板 ID 所关联的 APPID。 |
L cardParams.outString | String | 否 | 商户自定义透传信息。 |
L cardParams.pageType | String | 否 | 开卡组件样式。默认 half (半屏开卡)。枚举支持:full:全屏开卡。half:半屏开卡。 |
L cardParams.joinBenefitType | String | 否 | 扩展功能 入会有礼 专用。为入会有礼对应的权益类型,固定传入:VOUCHER_MRCH。 |
L cardParams.joinBenefitId | String | 否 | 扩展功能 入会有礼 专用。为入会有礼对应的活动 id(商家平台配置所得)。 |
callback | Any | 是 | 开卡完成回调 function。 |
参数名称 | 参数类型 | 描述 |
---|---|---|
success | Boolean | 开卡结果。 |
resultCode | String | 结果码。10000:用户领卡成功。10001:用户主动退出。10002:网络链接错误。 |
resultMsg | String | 结果信息描述。 |
extInfo | Object | 扩展信息。 |