支付寶小程序:參數詳細說明
小編:啊南 1382閱讀 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 格式字符串??稍O置成動態參數:$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 |
否 |
字段類型??蛇x類型:
根據不同的類型,將在該字段前添加相應的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 |
渠道場景??梢栽O置為 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 |
相關推薦