支付宝小程序:参数详细说明
小编:啊南 1605阅读 2020.12.28
商家使用支付宝账号登录?alipass券模板编辑器 在线设计券模板样式。设计完成后下载卡券模板文件并解压,打开 pass.json 文件并 修改参数,其值即为?alipay.pass.template.add(创建卡券模板接口)的参数 tpl_content 中 content 的值。本文将详细介绍 pass.json 文件中所有参数信息。
示例代码{r "evoucherInfo":{r "title":"上优酷,看世界杯优酷VIP会员3天",r "type":"marketVoucher",r "product":"free",r "startDate":"$activeTime$",r "endDate":"$expireTime$",r "operation":[r {r "format":"url",r "message":"$url$",r "altText":"立即激活"r }r ],r "einfo":{r "logoText":"3天",r "secondLogoText":"64场高清直播,进球就下红包雨",r "auxiliaryFields":[rr ],r "customFields":[r {r "label":"详细说明",r "value":"",r "type":"url",r "more":{r "url":"http://xxxxxxxxxxxx"r }r }r ],r "useLimitDesc":"优酷VIP会员",r "brandName":"上优酷,看世界杯",r "originPrice":"",r "banner":{r "bannerImg":"",r "url":""r },r "passImg":"https://tfsimg.alipay.com/images/alipassprod/TB17fLOXB8rDuNk6Xejwu2EYXXa",r "passImgRatio":"2.79"r }r },r "platform":{r "channelID":"2018041602567779"r },r "style":{r "backgroundColor":"RGB(233,16,78)"r },r "fileInfo":{r "formatVersion":"4",r "canShare":true,r "canBuy":false,r "canPresent":false,r "serialNumber":"$serialNumber$"r },r "source":"alipassprod",r "merchant":{r "mname":"优酷视频",r "mcallbackUrl":"https://test.callback.com/alipay/callback.htm"r }r}
为了保证卡券展示的灵活扩展,卡券展示使用 JSON 格式的字符串来存储。其中一些是固定节点,控制在钱包中的展示位置;一部分是用户自定义的展示文案,文案可以是在模板设计时就设计好的固定文案,也可以是变量,使用?$var$?来表示,等券实例化时再传入具体的 var 代表的值来替换,其中 var 为变量名,可以是任何有意义的名称,建议全部由英文字母组成。
pass.json 对象结构视图
参数 |
类型 |
必填 |
描述 |
范例 |
evoucherInfo |
String |
是 |
基础属性。pass 的基础信息,如 pass 标题、pass 类型等。 |
参见 基础属性(evoucherInfo) |
style |
String |
否 |
样式属性。pass 在 app 展现时的样式信息。 |
参见 样式属性(style) |
fileInfo |
String |
是 |
文件属性。Alipass 文件的相关信息。 |
参见 文件属性(fileInfo) |
merchant |
String |
是 |
商户属性。pass 对应的第三方信息。 |
参见 商户属性(merchant) |
platform |
String |
是 |
渠道属性。pass 发布渠道或者平台信息。 |
参见 渠道属性(platform) |
appInfo |
String |
否 |
应用属性。第三方手机客户端应用信息。 |
参见 应用属性(appInfo) |
属性描述
参数 |
类型 |
必填 |
描述 |
goodsId |
String(64) |
否 |
商品 ID。pass 对应商品的 id。 |
title |
String(256) |
是 |
pass 名称。pass的名称,如优惠券的名称。 示例值:**优惠券 |
type |
String(16) |
是 |
卡券大类型(展示模板)。支付宝当前支持pass的类型(不同类型会有不同的详情展示模板)。 示例值:coupon |
product |
String(16) |
是 |
卡券子类型(产品业务)。支付宝当前支持 pass 的子类型,与 type 字段结合确定 pass 的准确类型。 示例值:free |
startDate |
String(16) |
是 |
开始时间。pass 生效时间(起飞时间),YYYY-MM-dd HH:mm:ss 格式字符串。可设置成动态参数:$activeTime$。 示例值:2016-6-30 15:44:11 |
endDate |
String(19) |
是 |
结束时间。pass 失效时间(落地时间)(可与startDate相同),需要精确到秒,可设置成动态参数:$expireTime$。 示例值:2013-05-01 23:59:59 |
einfo |
EInfo(4000) |
是 |
pass 特性。不同类型 pass 对应的特定属性。 示例值:["wave","text"] |
operation |
Operation(1000) |
是 |
操作信息。支持文本、二维码、声波等核销内容展示,也可作为启动应用操作。 |
remindInfo |
RemindInfo |
100 |
提醒信息。用于在 pass 生效或截止前提示用户,可设置时间提前量、提醒的内容。 |
支付宝卡券支持以下 3 种 type 类型,不同模板类型有不同的展示模板排版结构。
模板类型名称 |
模板描述 |
coupon |
优惠券类默认展示模板。 |
eventTicket |
事件票务类默认展示模板。 |
boardingPass |
登车、船、飞机票务等默认展示模板。 |
支付宝卡券支持以下 11 种产品业务类型。接口调用方可以根据自身的业务场景,选择合适的产品类型。
产品业务类型 |
描述 |
free |
免费券 |
price |
兑换券 |
groupon |
团购券 |
lottery |
彩票 |
movie |
电影票 |
tourist |
旅游景点门票等 |
hotel |
酒店 |
boarding |
登机牌 |
air |
机票 |
train |
火车票 |
bus |
汽车票 |
格式为 yyyy-MM-dd hh:mm:ss。
-
若将 evoucherInfo -> startDate 字段值,配置成动态参数 $activeTime$ ,则开发者在生成卡券预览页时 templateParams 必须传入此参数值用于预览页渲染,否则会报错 预览页渲染失败/系统错误。
-
若将 evoucherInfo -> endDate 字段值,配置成动态参数 $expireTime$ ,则开发者在生成卡券预览页时 templateParams 必须传入此参数值用于预览页渲染,否则会报错 预览页渲染失败/系统错误。
einfo 数据是 Alipass 的主体信息,主要用于展示给用户。如:电影票、登机牌、优惠券等均有自有行业特定的信息。 第三方可根据实际需要按照约定的 JSON 数据格式将内容进行组装。这些数据最终会按照组装顺序显示在 Alipass 的详情中(正面和背面均支持)。目前主要包含:headFields、primaryFields、secondaryFields、auxiliaryFields、backFields 几大块区域。
einfo 结构区域描述(einfo)?
参数 |
必填 |
描述 |
logo |
是 |
PassLogo。从 alipass 文件包中获取:即 logo.png。 |
logoText |
否 |
Logo旁白。logo 旁白区域。 |
secendLogoText |
是 |
辅助 Logo 旁白。第二行 logo 旁白区域(可选)。 |
Thumbnail |
是 |
缩略图。从 alipass 文件包中获取:即 strip.png。 |
headFields |
是 |
内容。头部右端区域块【EinfoUnit列表】。 |
primaryFields |
是 |
第一区域块。第一区域块需要展示的内容【EinfoUnit列表】。 |
secondaryFields |
是 |
第二区域块。第二区域块需要展示的内容【EinfoUnit列表】。 |
auxiliaryFields |
是 |
辅助区域块。辅助域块需要展示的内容【EinfoUnit列表】。 |
backFields |
是 |
背面区域块。背面区域块需要展示的内容【EinfoUnit列表】。 |
说明:headFields、primaryFields、secondaryFields、auxiliaryFields、backFields 区域,至少有一个区域有值。
区块规则(EinfoUnit)
参数 |
类型 |
必填 |
说明 |
key |
String |
是 |
字段关键字 |
label |
String |
否 |
显示名称 |
value |
String |
否 |
显示具体值 |
type |
String |
否 |
字段类型。可选类型:
根据不同的类型,将在该字段前添加相应的icon,并会根据实际情况相应支持电话拨出、启动浏览器跳转连接地址、启动手机应用客户端、地图等功能。 |
说明:如果 key 的值不为空,则 label 和 value 必须有一个值非空。
einfo 业务必要属性声明因部分业务需要,除基础属性外在 einfo 同样有部分特有的关键属性信息(key 值固定,显示名称不做限制)不得为空,并且需要保证在einfo中关键业务的key值没有重复,但并不限制排版位置。如下表所示:?
Product业务类型 |
必要属性名称(名称可自定义) |
参数(固定) |
train(火车票) |
出发地 |
from |
目的地 |
to |
|
列车号 |
trainNo |
|
boarding(登机牌) |
出发地 |
from |
目的地 |
to |
|
航班号 |
fltNo |
|
air(机票) |
出发地 |
from |
目的地 |
to |
|
航班号 |
fltNo |
|
bus(汽车票) |
出发地 |
from |
目的地 |
to |
|
车次号 |
busNo |
核销操作区目前支持:wave(声波方式)、qrcode(二维码方式)、barcode(条码方式)、text(文本方式)、应用启动(app)、网页链接(url)、图片(img)。
核销方式 |
模板中核销区(operation)示例 |
备注 |
声波方式 |
"operation": [{ "message": "$ackCode$", "messageEncoding": "UTF-8", "format": "wave", "altText": "$ackCode$" }] |
如果是声波类型,message 字符长度规则如下:
|
条形码方式 |
"operation": [{ "message": "$ackCode$", "messageEncoding": "UTF-8", "format": "barcode", "altText": "$ackCode$" }] |
?无 |
二维码方式 |
"operation": [{ "message": "$ackCode$", "messageEncoding": "UTF-8", "format": "qrcode", "altText": "$ackCode$" }] |
?无 |
文本方式 |
"operation": [{ "altText": "兑换码", "message": [{ "label": "序列号", ?? "value": "$ackCode$" },{ "label": "验证码", "value": "4958" }], "messageEncoding": "utf-8", "format": "text" }] |
如果 format 为文本方式,message 需要为 json 数组。 |
应用方式 |
"operation": [{ "message": { "android_appid": "androidId", "android_launch": "android启动地址", "android_download": "Android下载地址", "ios_appid": "IOSId", "ios_launch": "ios启动地址", "ios_download": "ios下载地址" }, "format": "app", "messageEncoding": "utf-8", "altText": "按钮文字" } |
跳转启动外部应用 |
图片 |
"operation": [{ "message": { "img": "*****.png", ???? "target": "" }, "format": "img", "messageEncoding": "utf-8", "altText": "核销图片" }] |
?无 |
链接 |
"operation": [{ "format": "url", "message": "https://****", "messageEncoding": "utf-8", "altText": "请使用" }] |
?无 |
卡券平台设置提醒信息注意:r仅支持设置到期前提醒时间,不支持自定义提醒内容。支付宝将根据如下规则自动生成提醒文案。提醒文案示例如下,提醒文案中的的变量会从 pass 的 基础属性 和 einfo 中捞取,并会根据实际展示需要进行格式化:r
-
机票r:您从#from#到#to#的航班将于今(明天)天#startDate#起飞,请提前做好安排。
-
酒店r:您将于#startDate#入住#title#店,请提前做好安排。
-
门票r:您预订了#startDate#的#title#门票,请提前做好安排。
参数 |
类型 |
必填 |
描述 |
offset |
String |
否 |
提前时间。提醒默认的提前秒数,(3600-24×3600秒之间) |
-
机票:您从#from#到#to#的航班将于今(明天)天#startDate#起飞,请提前做好安排。
-
酒店:您将于#startDate#入住#title#店,请提前做好安排。
-
门票:您预订了#startDate#的#title#门票,请提前做好安排。
说明:提醒文案中的的变量会从 pass 的 基础属性 和 einfo 中捞取,并会根据实际展示需要进行格式化。
商户属性(merchant)商户属性是指归属于第三方的最终商户,比如天猫商城是一个第三方,其中深航机票是一个最终商户。
结构视图
属性描述
参数 |
类型 |
必填 |
描述 |
mname |
String |
是 |
商户全称。商户完整名称。 |
mshortName |
String |
否 |
商户简称。商户的简称。 |
maddr |
String |
否 |
商户地址。商户的通讯地址。 |
mtel |
String |
否 |
商户电话。商户的服务电话。 |
minfo |
String |
否 |
商户简介。商户的介绍。 |
属性描述
参数 |
类型 |
必填 |
长度 |
描述 |
channelID |
String |
是 |
32 |
渠道商 ID。第三方在支付宝的 partnerId。 若已入驻支付宝开放平台则使用对应的 appId。 |
channelScene |
String |
否 |
32 |
渠道场景。可以设置为 public、server,如果设置 pubic 则当发券时不给用户发 PUSH 消息,设置 server 会发 PUSH。 |
webServiceUrl |
String |
是 |
128 |
去的商服务地址。第三方服务 url,用于将支付宝相关的信息同步给第三方。 |
属性描述
参数 |
必填 |
描述 |
backgroundColor |
是 |
背景颜色。整体卡券背景颜色。 |
属性描述
参数 |
类型 |
字段长度 |
描述 |
formatVersion |
String |
10 |
Pass文件版本。Alipass 的版本,现为 4。 |
canPresent |
Boolean |
10 |
是否支持转赠。当设置为可转赠则可以在钱包中点击转赠按钮,将拥有的券转赠给其他用户。 |
canShare |
Boolean |
10 |
是否支持共享。当前 Alipass 是否指定到单一用户,如果支持共享则可以有多个用户拥有同一张 pass 文件。 |
serialNumber |
String |
32 |
Pass 文件序列号,同一第三方提供的序列号需要唯一; 同一用户重复添加的 pass,对应的 serialNumber 要求一致(多份购买行为例外)。 |
属性描述
参数 |
类型 |
必填 |
描述 |
label |
String |
否 |
名称。在 alipass 中显示的 app 应用名称。 |
message |
String |
否 |
应用描述。应用的简短描述,可能会展示在alipass的应用信息区。 |
app |
String |
否 |
应用具体信息。包含:
应用ID:*_appid、应用启动地址:_launch、应下载地址:*_download,其中*代表 android 和 ios |
相关推荐