Alipay, China's leading third-party online payment solutionAlipay, China's leading third-party online payment solutionDOCS

      商户展示码格式

      码格式如下所示:

      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列表

      商户展示码示例

      交互流程

      术语表

      联系我们