开发者社区
社区提问意见反馈
开发者钉组织
扫描二维码
加入支付宝开发者钉组织
文档中心
邀测站点 
商户会员卡(新) > 接入指南 > 极速版开卡升级指南

极速版开卡升级指南 -凯发app官方网站

收藏
我的文档
设置
简介
本文适用于所有已经接入 小程序商户会员卡 功能商户,并想要与支付宝进行合作的商家(例如:入会与会员积分兑换打通、开卡送券、进入公域投放开卡等活动)阅读。
完成升级后商户发卡链路的性能将得到大幅提升, 减少发卡链路商户与支付宝的交互次数,从而提升用户端的领卡体验。建议所有已经接入商户会员卡的商户,尽快根据本文档指引进行能力升级。
注意
同一支付宝账号下任意应用创建的会员卡模板可通用,且历史创建会员卡模板也可继续使用
在小程序内使用半屏开卡组件时,必须升级新模式开卡,否则无法使用半屏开卡组件。
线上已接入老模式开卡的商家/服务商需先完成新模式对接再逐步迁移业务,确保升级操作不会影响用户正常使用。
老模式和新模式差异
新模式的优势
简化开卡流程,降低商户接入成本
老模式开卡流程,收到支付宝回调后(http get),商户还需调用 alipay.system.oauth.token(换取授权访问令牌接口)alipay.marketing.card.activateform.query(查询用户提交的会员卡表单信息接口)alipay.marketing.card.open(会员卡开卡接口) 3 个接口,才能完成整个开卡流程,商户接入成本高、流程长。
新模式开卡流程,回调商户方式改成 spi 模式,商户在收到支付宝spi回调后,从入参中获取用户授权的开卡信息,即可实现同步制卡并返回卡信息,商户无需再调用 alipay.system.oauth.token(换取授权访问令牌接口)alipay.marketing.card.activateform.query(查询用户提交的会员卡表单信息接口)alipay.marketing.card.open(会员卡开卡接口)
缩短用户端开卡耗时,提高用户领卡体验
由于简化了接入流程,减少了系统间调用的时间开销,整体的开卡耗时会下降,用户体验会提升。
新模式适用场景
线下 iot 刷脸机具
商家私域小程序
新老模式开卡流程
老模式交互时序图
老模式时序.png

新模式信息交互时序图
新模式时序.svg

如何升级到新模式
1. 实现开卡 spi
商家开发者需根据 spi 三方服务接入指南,实现 spi.alipay.user.opencard.get会员卡开通,获取会员卡信息接口),提供获取商家私域会员卡信息的能力。支付宝卡包会在用户确认开卡后,调用此 spi 获取商家私域会员卡信息,执行开卡动作,将此会员卡落入支付宝卡包。
接入详见可查看  实现获取会员卡 spi 接口
注意事项
spi 接口中字段详情介绍见接口文档 spi.alipay.user.opencard.get会员卡开通,获取会员卡信息接口),接入过程中需要注意以下几点:
为保证用户体验,商家在收到支付宝 spi 消息后,需在 3s 内返回会员卡信息。
入参中的 user_info 字段,与老模式流程中 alipay.marketing.card.activateform.query(查询用户提交的会员卡表单信息接口) 的 infos 出参一致,可直接获取用户提交的表单信息。
入参中的 biz_card_no 字段,为预生成的支付宝业务卡号,与老模式流程中 alipay.marketing.card.open(会员卡开卡接口)返回的 biz_card_no 一致。商家需要存储 biz_card_no,后续可根据 biz_card_no 更新、查询会员卡。
出参数中的 card_info 字段,与老模式流程中 会员卡开卡 的 card_ext_info 字段保持一致,其中 external_card_no 语义是商家卡号,针对同个 user_id,需要固定且唯一。
用户领卡成功后,可能会在支付宝卡包中主动删除会员卡。删除后,用户可能会重新进入开卡组件进行开卡,因此 spi 实现需要支持重复回调,大体逻辑如下:
商家/服务商 crm 系统中没有该用户的会员卡信息,则需重新为用户开卡并返回卡信息。
商家/服务商 crm 系统中已有该用户的会员卡,则可以直接返回已有的卡信息。
示例代码
2. 更新模版
商家开发者使用极速版开卡模式,需要在卡模版中指定实现 spi 接口的 appid,因此升级过程中,需要调用 alipay.marketing.card.template.modify(会员卡模板修改接口)更新模板,设置 spi_app_id 字段。
spi_app_id 设置规则:
若是第三方代理模式,可以设置成服务商的 appid 或者是商家自己的 appid。
若不是第三方代理模式,只能设置商家自己的 appid。
3. 商家监听开卡结果消息(可选)
若商家/服务商关心支付宝侧开卡结果(例如:关注线上开卡的成功率、需要排查开卡失败原因),可以订阅 alipay.user.opencard.result.notify(会员卡开卡结果通知接口),支付宝完成开卡后将通过此接口向商家/服务商的 应用网关地址 发送结果消息。
接入详见可查看 监听开卡结果消息
注意事项
消息参数等信息可查看 alipay.user.opencard.result.notify(会员卡开卡结果通知接口)文档,接入过程中需要注意以下几点:
推荐使用 websocket 长连接 sdk 来接收 from 蚂蚁消息
消息体中的开卡错误信息:error_code、error_msg,与老模式流程中:会员卡开卡 接口返回的错误码一致。
4. 调整小程序插件调用参数
4.1 订购开卡插件
如果商户需要在小程序内向用户发卡,商户需订购
说明:两种开卡组件样式(全屏和半屏两种样式),如需在商家小程序内打开,均需要先为商家小程序订阅 支付宝开卡插件
4.2 前端引入插件
第一步:声明插件
开发者需在小程序 app.json 文件中声明卡包插件。
第二步:使用插件
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
扩展信息。
内容没有解决您的问题?您还可以前往 或 寻求帮助
凯发k8官方网娱乐官方 copyright © 支付宝(杭州)信息技术有限公司  | icp证浙b2-20160559
该文档对你是否有帮助?
当前页面目录
网站地图