Alipay+ DocsAlipay+ Docs

商户展示码格式

码格式如下所示:

copy
HTTPS://<DOMAIN_NAME>/<STANDARD_IDENTIFIER>/<VERSION>/<GENERAL_PAYLOAD>

在此格式中,包含以下数据元素

  • 域名
  • 标准标识符
  • 版本
  • 通用数据体

域名

域名,也称为网络域,是网络上计算机或计算机组的名称。域名显示为以点分隔的名称字符串。它可用于识别网络资源,例如计算机、网络和服务。

此参数是字符串类型,具有可变长度并且该值由发码方定义。

示例:

以下是域名示例:

copy
QR.SAMPLEDOMAIN.COM

标准标识符

字符串类型。该参数的值定义为MPM表示该码符合本标准中的格式。

版本

数字类型。此参数表示码格式的版本。

该参数的值定义为3表示该码符合本标准中的格式版本

通用数据体

数据体结构

数据体是由 三个数据域构成。第一个域是 数据体标识符,本标准中取值规定为GPLD;第二个域是 长度标识,用来标识第三个域即数据域中的字符数; 数据域是包含了用户展示码中的关键数据元素,是一系列数据对象的组合。

MPMcodeformat.png

图2.3 数据体的数据结构

每个数据对象都由三个字段组成,其中:

  • 第一个字段是4 个字符的标识符,用于标识数据对象。标识符在数据对象中定义。
  • 第二个字段是长度字段,它是3位数字类型。它指示此数据对象的值字段中包含的字符数。
  • 第三个字段是值字段,其最小长度为一个字符。

数据对象可以是简单数据对象或复杂数据对象。简单数据对象如payload版本PLVS,没有子数据对象。复杂数据对象则子数据对象。下图是码目录服务数据中CDSD的子数据对象的数据结构:

收款码标准配图.jpg

Figure 2.4 CDSD subdata structure in a payload

图2.4 数据体CDSD子数据结构

CDSD数据对象的子数据对象 (值字段) 由三个字段组成:

    • 第一个字段是一个2位数,数值范围为 0199,用于标识子数据对象。
    • 第二个字段是长度字段,它是一个2位数数字类型,它表示包含在此数据对象的值字段中的字符数。
    • 第三个字段是值字段,最小长度为一个字符,最大长度为 99 个字符。

数据标识要求

数据体中的数据表示要求描述如下:

a)数据体中编码的数据对象的值有数字类型、字母数字类型和字符串类型。

b)为了将字符转换为二进制表示形式,此标准使用Unicode标准定义的UTF-8编码。

c)数据体的长度不应超过 512 个字母数字字符

d)通用数据体应转换为base64,URL的特殊字符正斜杠 (/) 、加号 (+) 和等号 (=)应分别编码为“% 2F",“% 2B"和”% 3D"

数据对象

本标准中的数据对象如表 2.1.1所示:

表2.1.1 已定义的数据对象 

数据对象ID

类型

描述

是否必填

PLVS

简单数据对象

Payload 版本

当前值: 01

必填

CDSD

复杂数据对象

码目录服务数据

有条件的

至少包含CDSD和CIRD数据对象中的一个

CIRD

复杂数据对象

发码方参考数据

TSVD

复杂数据对象

交易金额数据

可选

AMAD

复杂数据对象

其他商户账户数据

可选

OADD

复杂数据对象

其他附加数据

可选

码目录服务数据

数据对象ID CDSD表示可由多个数字钱包使用的码目录服务数据,以从CDS平台获取商户的收单信息。它包括表 2.1.2 中定义的子数据对象。

商户可以在CDS平台上注册,并由平台分配商户索引号,该索引号表示在平台上存储商户支持的收单信息记录。如果数据对象存在于通用Payload中,则CDS平台标识符和商户索引号应包含在此数据对象中。详细信息请参见下表:

表2.1.2 码目录服务数据结构 

数据对象ID

长度

格式

描述

是否必填

CDSD

Var.

码目录服务数据

 

                                                                    

01

Var. 长达16

AN

CDS平台标识符

必填

02

Var. 长达32

AN

CDS平台上的商户索引编号

该值由CDS平台分配

必填

03

Var. 长达32

S

码目录服务平台URL

选填

04

Var. 长达32

AN

商户收单信息隐私保护密钥的密钥推导参数

选填

05

02

N

密钥推导函数算法标识符

当前值

01NIST SP 800-108

02SM3

有条件的

当子数据对象04存在时必填

06

02

N

商户收单信息加密算法标识符

当前值:

01: AES-256

02: SM4

07-89

保留以备将来使用

 

90-99

保留供CDS平台私人使用

在CDS平台上,子数据对象 04 ~ 06 用于收单信息的隐私保护。

发码方参考数据

数据对象ID CIRD 表示发码方使用的参考数据,包括子数据对象。

表2.1.3 发码方参考数据结构

数据对象ID

长度

格式

描述

是否必填

CIRD

Var.

发码方参考数据

 

 

01

Var., 长达16

S

码方标识符

此标识符表示码方

详细信息见发码方ID列表

必选

02

Var., 长达16

N

业务类型

具体值见表5-4

可选

03

Var., 长达32

S

发码方业务对象

子数据对象表示可以由码方处理以进行专有使用的业务对象。它有助于识别商户、商店、终端或订单。如果存在,则可以通过业务类型来描述业务对象的属性。

该值由发码方定义。

必选

04-89

保留以备将来使用

90-99

保留供发码方私人使用

业务类型的值在表 2.1.4 中定义如下:

表 2.1.4业务类型标识符的枚举定义

Numeric Value (Range)

Description

Remark

00

 

保留以备将来使用

01

转账

资金转移方案的码。

02 - 03

 

Reserved for future use

04

订单码 (收单场景)

在获取场景中用于订单支付的码。

05

店铺码用于标识商店或商家的码。在店内付款方案中,可以使用此码发起付款。

06


组码

用于在社交网络场景中加入组的码。

07

朋友码

用于在社交网络场景中添加朋友/联系人的码。

08

红包码用于红包场景的码。

09

订单码 (转账场景)

资金转移场景中用于订单支付的码。

10


协议码

用于引导用户进入协议页面以完成注册过程的码。

11

充值码

用于向用户帐户充值的码。

12

小程序

扫描码后,用户会在用户应用程序中调用一个小程序。

13

营销

用于营销活动的营销码。

14

游戏

用于游戏场景的码。

15

B类转账

展示该码后,向用户发起B类资金收款。

16 - 99

RFU

保留以备将来使用。

交易值数据

数据对象IDTSVD指示交易的值信息,包括表 2.1.5 中定义的子数据对象:

表 2.1.5交易价值数据

数据对象ID

长度

格式

描述

是否必填

TSVD

Var.

交易值数据

 

 

01

Var., 长达16

S

交易金额

该值表示由subdata对象定义的货币单位中的交易金额02。例如,如果子数据对象中的货币码02代表美元, 100.05意味着交易金额为 100.05 美元。

必选

02

03

AN

交易货币码

ISO 4217 -2008 中定义的字母码或数字码。

必选

03

Var., 长达 16

S

折扣金额

该值表示由子数据对象 02 定义的货币单位中的折扣金额。例如,如果子数据对象 02 中的货币码代表美元,则该字段中的值 3.05 ”表示该交易的折扣金额为 3.05 美元。

可选

04-99

保留以备将来使用

其他商户账户数据

数据对象IDAMAD表示商户的其他身份信息,可由发码方的合作伙伴识别商户。每个子数据对象的值代表商户的合作伙伴,其格式由发码方或合作伙伴定义,以供私人使用。

表 2.1.6 AMAD dAta

数据对象ID

长度

格式

描述

是否必填

AMAD

Var.

其他商户账户数据

 

 

01-99

Var., up to 99

S

商户账户信息的其他代表可由合作伙伴发码方。

每个子数据对象的值符合表 2.1.7 中定义的模板。

如果该数据对象存在,则至少应存在一个子数据对象

 

表 2.1.7 AMAD子数据对象模板

AMAD SubData Object ID

Length

Format

Meaning

Presence

01~99

Var., 长达   99

 

 

 

01

2位数字类型

Var., 长达   16

S

发码方合作伙伴标识符

此标识符表示发码方合作伙伴,标识符值在发码方ID列表中。

必选

 

02

2位数字类型Var.

S

发码方和合作伙伴可以用来直接识别商户的商户身份信息。

必选

 

例如,如果码发行人同意将商户的标识信息 (例如商户标识符) 放入码中,则它可以使用AMAD记录在案。

其他附加数据

数据对象IDOADD指不包含在其他数据对象中的其他数据,包括表 2.1.8 中定义的子数据对象。

表 2.1.8 其他额外数据

数据对象ID

长度

格式

描述

是否必填

OADD

Var.

其他附加数据

 

 

99

04

S

CRC

对通用payload中包含的所有数据对象校验和。

可选

 

01-98

保留以备将来使用

更多信息

更多参考资料详见:

商户展示码标准

发码方ID列表

商户展示码示例

交互流程

术语表

联系我们