支付宝小程序:参数详细说明

小编:啊南 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 对象结构视图


image属性分类描述

参数

类型

必填

描述

范例

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)


基础属性(evoucherInfo)结构视图


image

属性描述

参数

类型

必填

描述

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 生效或截止前提示用户,可设置时间提前量、提醒的内容。


卡券类型(type 和 product)type 类型

支付宝卡券支持以下 3 种 type 类型,不同模板类型有不同的展示模板排版结构。

模板类型名称

模板描述

coupon

优惠券类默认展示模板。

eventTicket

事件票务类默认展示模板。

boardingPass

登车、船、飞机票务等默认展示模板。

product 分类

支付宝卡券支持以下 11 种产品业务类型。接口调用方可以根据自身的业务场景,选择合适的产品类型。

产品业务类型

描述

free

免费券

price

兑换券

groupon

团购券

lottery

彩票

movie

电影票

tourist

旅游景点门票等

hotel

酒店

boarding

登机牌

air

机票

train

火车票

bus

汽车票


卡券有效时间设置(startDate 和 endDate)

格式为 yyyy-MM-dd hh:mm:ss。

  • 若将 evoucherInfo -> startDate 字段值,配置成动态参数 $activeTime$ ,则开发者在生成卡券预览页时 templateParams 必须传入此参数值用于预览页渲染,否则会报错 预览页渲染失败/系统错误

  • 若将 evoucherInfo -> endDate 字段值,配置成动态参数 $expireTime$ ,则开发者在生成卡券预览页时 templateParams 必须传入此参数值用于预览页渲染,否则会报错 预览页渲染失败/系统错误

卡券属性设置(einfo)

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

字段类型。可选类型:

  • 电话【tel】

  • 网站连接地址【url】

  • 地图【map】

  • 文本【text】(默认)

根据不同的类型,将在该字段前添加相应的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

核销区域设置(Operation)

核销操作区目前支持:wave(声波方式)、qrcode(二维码方式)、barcode(条码方式)、text(文本方式)、应用启动(app)、网页链接(url)、图片(img)。

核销方式

模板中核销区(operation)示例

备注

声波方式

"operation": [{

"message": "$ackCode$",

"messageEncoding": "UTF-8",

"format": "wave",

"altText": "$ackCode$"

}]

如果是声波类型,message 字符长度规则如下:

  • 16 位及以下字符串任意字符传输。(兼容上期版本)eg: !@#$%^&*()|{}12a。

  • 长度在 16 位以上字符串,最长长度不超过 32 位。整个字符串组合为数字或 A-F 的字母(字母不区分大小写,输出结果统一为大写),首字符不能为 0。

    eg: 123456789ABCDEF0123456789ABCDEFA

  • 不符合规则客户端本地过滤不显示声波核销按钮。

条形码方式

"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": "请使用"

}]

?无


提醒信息设置(remindInfo)结构视图


image

卡券平台设置提醒信息image注意: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)

商户属性是指归属于第三方的最终商户,比如天猫商城是一个第三方,其中深航机票是一个最终商户。

结构视图


image

属性描述

参数

类型

必填

描述

mname

String

商户全称。商户完整名称。

mshortName

String

商户简称。商户的简称。

maddr

String

商户地址。商户的通讯地址。

mtel

String

商户电话。商户的服务电话。

minfo

String

商户简介。商户的介绍。


渠道属性(platform)结构视图


image

属性描述

参数

类型

必填

长度

描述

channelID

String

32

渠道商 ID。第三方在支付宝的 partnerId。

若已入驻支付宝开放平台则使用对应的 appId。

channelScene

String

32

渠道场景。可以设置为 public、server,如果设置 pubic 则当发券时不给用户发 PUSH 消息,设置 server 会发 PUSH。

webServiceUrl

String

128

去的商服务地址。第三方服务 url,用于将支付宝相关的信息同步给第三方。


样式属性(style)结构视图


image

属性描述

参数

必填

描述

backgroundColor

背景颜色。整体卡券背景颜色。


文件属性(fileInfo)结构视图


image

属性描述

参数

类型

字段长度

描述

formatVersion

String

10

Pass文件版本。Alipass 的版本,现为 4。

canPresent

Boolean

10

是否支持转赠。当设置为可转赠则可以在钱包中点击转赠按钮,将拥有的券转赠给其他用户。

canShare

Boolean

10

是否支持共享。当前 Alipass 是否指定到单一用户,如果支持共享则可以有多个用户拥有同一张 pass 文件。

serialNumber

String

32

Pass 文件序列号,同一第三方提供的序列号需要唯一;

同一用户重复添加的 pass,对应的 serialNumber 要求一致(多份购买行为例外)。


应用属性(appInfo)结构视图


image

属性描述

参数

类型

必填

描述

label

String

名称。在 alipass 中显示的 app 应用名称。

message

String

应用描述。应用的简短描述,可能会展示在alipass的应用信息区。

app

String

应用具体信息。包含:

  • 应用 ID 或包名。

  • 应用启动地址。

  • 应下载地址:需要区分 IOS 与 android。

应用ID:*_appid、应用启动地址:_launch、应下载地址:*_download,其中*代表 android 和 ios

关联标签: