1、ICS 35.240.60 L67 YD 中华人民共和国通信行业标准YD/T 1322.1-2004 电子商务技术要求第一部分:基于扩充标记语言(XML)的企业对消费者(B2C)电子商务总体框架Electronic commerce technical specification Part one: XML-based (B2C )electronic commerce technical framework 2004-08-04发布2005-01-01实施中华人民共和国信息产业部发布YD厅1322.1-2004目次前言. . . . . . . . . . . . .IV 1M围.2 规泡性
2、寻|用文件.3 缩略语14 定义25 总体结构.55.1 概述55.2 B2C电子商务系统组成.55.3 B2C电子商务系统各角色之间的关系65.4 交易类型.75.5 贸易环节吁5.6 电子支付与安全.86 通信流程.96.1 认证和基本交易相关的文件互换96.2认证交易和基本交易通信流程206.3 辅助交易通信流程.257 协议结构.297.1 消息交换的方式297.2 消息结构m7.3 交易参考块.327.4 ID属性.357.5 元件引用377.6 扩展IOTP的方法.387.7 打包内容元件.397.8 语言标志.47.9 安全和非安全网络位置.47.10 被取消的交易.418 数字
3、签名.c8.1 使用数字签名的方法428.2 检查正确计算了签名.468.3 检查可以进行支付或配送.469 贸易块.499.1 贸易协议选择块.49YD厅1322.1-20049.2 TPO选择块.509.3 订购响应块.509.4 认证请求块.们9.5 认证响应块.9.6 认证状态块529.7 支付请求块.529.8 支付互换块539.9 支付响应块.539.10 配送请求块539.11 配送响应块549.12 查询请求块.549.13 查询响应块.559.14 Ping请求块559.15 Ping响应块.,569.16 签名块.579.17 差错块.579.18 取消块mm 贸易构件.5
4、810.1 10.2 10.3 10.4 10.5 10.6 10.7 10.8 10.9 10.10 10.11 10.12 10.13 10.14 10.15 10.16 10.17 10.18 10.19 11 协议选择构件.58认证请求构件.59认证响应构件.60贸易角色资料请求构件.60定单构件.61组织构件.62支付品牌列表构件.,67支付品牌选择构件.72支付构件.74支付方案构件.74支付收据构件.75支付说明构件.76配送构件.,77消费者配送数据构件.79配送说明构件.79状态构件.82贸易角色数据构件.85查询类型构件.86签名构件.87YD厅1322.1一200410.
5、20 证书构件.9010.21 差错构件.9011 IOTP差错处理.9411. 1 技术性差错.9511.2 商务性差错.9511.3 差错深度.9511.4 同一性、处理顺序和消息流.9711.5 服务器角色处理顺序.9711.6 客户角色处理顺序.101附录A(资料性附录)协议数据类型定义.103附录B(资料性附录)检索商标.119附录c(资料性附录)支付品牌121附录D(资料性附录)IANA考虑131111 YD厅1322.1-2004目。吕本部分为电子商务系列标准之一。本系列标准的结构及名称如下:l.YD厅1322.1-2004 IOTP消息是XML文件的根元件,必须跟有一定的XML
6、文件头,例如:LW pb MnrQ。LW UM =mv mh-UE驼伊且吨JLM川崎怆呐Hm眈盯他WAD叫俨4-YEZ7.3 交易参考块交易参考块包含标识IOTP交易和IOTP消息的信息,它包括以下构件。交易D构件:全球惟标识IOTP交易,在同-个IOTP交易中所有的IOTP消息的交易D构件是相同的。消息D构件:提供IOTP消息的控制信息,同时也惟一标识IOTP消息。零或更多的相关构件:把IOTP交易和其他的IOTP交易或使用同样标识符的其他构件联系起来。交易参考块的定义如下:属性:ID IOTP交易中惟一标识交易参考块的标识符(见7.4节B属性)。内容:TransID 见7.3.1的交易D构
7、件MsgID 见7.3.2的消息B构件RelatedTo 见7.3.3的相关构件7.3.1 交易10构件交易B构件包含全球惟一标识IOTP交易的信息,它的定义如下:Version nr E平mmm tuUM PPM缸bbu 属性:E IOTP交易中交易E构件的标识符标识IOTP的版本,标识使用的IOTP消息的结构包含惟一标识IOTP交易的数据,它必须与RFC822的MessagesIDs的规则一致被执行的IOTP交易的类型,基本的IOTP交易标识为标准的IOTP交易,意味着在贸易角色间交换的IOTP消息的顺序和内容,基本IOTP的有效值是:认证Version IotpTransID IotpT
8、ransType 32 存款购物退款取款货币兑换查询PING YO厅1322.1-2004IotpTransType值按照IANA考虑进行处理,也允许用户自定义IotpTransType值。在未来版本的IOTP中,此表得到扩展以支持不同类型的标准IOTP交易,也支持动态类型,动态类型的交易步骤顺序是非标准的。TransTimeStamp 系统初始化IOTP交易时有一个内部时钟,IOTP交易以UTC格式从这个时间值开始,这个属性提供了由指定时间开始标识交易的另一种方法。一些系统,例如手工设置的装置不能产生时戳,这时此属性应包含NA(Not Available)值。7.3.2 消息10构件消息B构
9、件提供IOTP消息的控制信息,也惟一标识IOTP交易中的IOTP消息,它的定义如下:LIEDNMTOKEN #REQUIRED NMTOKENS #IMPLIED NMTOKENS #IMPLIED NMTOKEN #IMPLIED CDATA #REQUIRED CDATA #IMPLIED 惟一标识IOTP交易中IOTP消息的标识符,如果IOTP消息重发,这个属性值保持不变包含响应IOTP消息的消息E构件的E属性,通过这种方式,IOTP交易中所有的IOTP消息明确地联系在一起,除了IOTP交易的第一条消息,每一条IOTP消息都需要这个字段SenderTradingRoleRef 产生IOT
10、P消息的贸易角色的元引用,用来标识贸易角色的网络位置,任何贸易块的技术性差错问题向贸易角色报告Xml:lang 除非被一个子元件的Xml:lang所重载,规定这个构件的属性或子元使用的语言,见7.8节的语言标志33 YD厅1322.1-2004LangPretList CharSetPretList SoftWareID TimeStamp 和XML语言标志致的语言代码的可选列表,当产生一个响应时,由发送者按照优先顺序指示消息接收者应该使用的语言,接收者不必用指定的语言来响应,但使用指定的语言可以提供好的用户经验和XML字符一致的字符集的可选列表,当产生一个响应时,由发送者按照优先顺序指示信息
11、接收者应该使用的字符集,接收者不必用指定的字符集来响应,但使用指定的字符集可以提供好的用户经验包含标识产生IOTP消息的软构件信息,用来解决由不同软构件生成的消息不兼容而导致的互操作问题,它是由Xml:lang定义的语言的文本串,至少应包含:软构件制造商的名字软构件的名字软构件的版本软构件的构造发送消息的装置有-个内部时钟,IOTP消息以归TC格式从这个时间值开始创建7丘3相关构件34 相关构件把IOTP交易和其他的IOTP交易或使用同样标识符的其他事构件联系起来,它的定义如下:LIEDIOTP交易中惟-标识相关构件的标识符除非被一个子元件的Xml:lang所重载,规定这个构件的属性或子元使用
12、的语言,见7.8节的语言标志RelationshipType 定义关系类型,有效值是:IotpTransaction表示打包内容元含有另个IOTP交易的IotpTransID;Reference表示打包内容元含有另一非IOTP文件的参考:RelationshipType值可按照IANA考虑进行处理,它也允许用户自定义。Relation 关系属性包含XML定义的语言中的短语,描述含有此构件的IOTP交易和另一个IOTP交易或另一个构件之间的关系,IOTP软构件的编写者要使用精确的单词。此属性给贸易角色提供在交易间的关系性质的解释。RelnKeyWords 内容:YO厅1322.1-2004注意:
13、关系属性中使用的单词指示着关系间的方向,如onetransaction might be a refund for another earlier transaction。在这种情况下,退款交易包含的关系属性单词,是refundfor,而不是refundto或refund这个属性含有标识相同关系的关键字,可通过实际使用来发展推荐的关键字,在这个版本中没有指定的建议,使用的关键宇由编写者制定PackagedContent 打包内容包含标识相关交易的的数据,它的格式根据RelationshipType值而定(见7.7)7.4 10属性IOTP消息、IOTP块(如交易参考块和贸易块)、贸易构件(包括
14、交易D构件和签名构件)和一些它们的子元都要赋予一个XMLID属性,来标识J主些XML元,并且一个元可以被另一个元所引用,所有这些属性被给予属性名IDoIOTP交易中每一个E属性的值是惟一的,例如IOTP消息有全球惟一的交易E构件,一旦元件的B属性被给定后,它就不会改变,那么当一个元被复制时,ID属性值保持不变。因此,在相同IOTP交易中使用元引用,有可能通过这些ID,在另外的TP消息、块或构件指示出其他IOTP消息块或构件的内容。这一节将定义IOTP消息、块和构件的D属性值的设置规则。7.4.1 IOTP消息10属性定义IOTP消息的消息B构件的E属性必须是惟一的,它的定义如下:10tpMsg
15、ID_value := 10tpMsgIDPrefix 10tpMsgIDSuffix 10tpMsgIDPrefix := NameChar (NameChar)* 10tpMsgIDSuffix := Digit (Digit)* 属性:10tpMsgIDPrefix 除了查询请求贸易块、查询响应贸易块、PING请求贸易块和PING响应贸易块的消息外,由商家或消费者角色发出的所有消息使用相同的前缀,如下:M代表商家C代表消费者对于包含查询请求贸易块或PING请求贸易块的消息,前缀设置为1。对于包含查询响应贸易块或PING响应贸易块的消息,前缀设置为Q。贸易中其他角色的前缀包含在角色的组织构
16、件中,由商家进行设置,下面是一个推荐的原则,但不一定必须遵守:P代表第一次支付处理方R代表第二次支付处理方D代表配送中心C代表配送目的地35 YO厅1322.1-2004原则t前缀应该限制为一个字符IotpMsgIDSuffix 后缀由一个或多个的数字组成,IOTP交易中贸易角色的后缀必须是惟一的。下面是一个推荐的原则,但不一定必须遵守:由贸易角色发出的第一条消息的后缀设置为1; 由相同贸易角色发出的第二条消息和随后发出的消息的后缀依次加1; 后缀中起始数字不能为0。更简单地说,由消费者发出的第一条IOTP消息的消息E构件的B属性为Cl.第二条为C2,第三条为C3等。7.4.2 块和构件10属
17、性定义IOTP交易中块和构件的D属性必须是惟一的,它们的定义如下:BlkOrCompID _ value := IotpMsgID _ value . IDSuffix IDSuffix := Digit (Digit)* 属性:IotpMsgID _ value IOTP消息的消息E构件的E属性,其中块或构件是第一次使用。IDSuffix IOTP中的贸易构件和贸易块是从一个IOTP消息复制到另一个IOTP消息。当现存的贸易构件或块从另一个消息复制而来时,ID属性就不变。后缀由一个或多个数字组成,它必须是惟一的,下面是推荐的一个建议,但不一定必须遵守:由贸易角色发出的第一个块或构件的后缀设置
18、为1; 第二个及随后的块或构件的后缀依次加1;后缀中起始数字不能为0。若第一个新块或新构件加入到例如由消费者发出的第二条的IOTP消息,那么它的属性是C2.1,第二个块或构件的属性是C2.2,第三个的属性是C2.3等。数字和XML数字的定义相同。7.4.3 10属性使用举例D属性值怎样使用的示意如图19所示。36 第一条IOTP消息第二条IOTP消息(例如从商家到消费者)(例如从消费者到支付网关)IOTP消息IOTP消息*I-Trans RefBlk. ID=Ml.l I-Trans RefBlk.ID=Cl.l* 1 I-Trans ID Comp. ID = Ml.2一一一一-1I-Tra
19、ns ID Comp. ID=M1.2 1 1 复制元1 1 1 I-Msg ID Comp. ID = Ml 1 I-Msg ID Comp. lD=Cl * I-Signature Block. lD=M1.8 I-Signature Bl田k.ID=C1.5*1 I-Sig Comp. ID=M1.l5一一一一一一1I-Comp. ID=M1.l5 复制元I-Trading Blk. ID=M1.3 l尼泊dingBlk.ID=CI.2* 1 I-Comp. ID=M1.4一一一一一I-Comp.ID=MI.4 1 1 复制元1 I-Comp. ID=M1.5 -一一一一一一I-Comp
20、.ID=M1.5 1 1 1 I-Comp. ID=M 1.6 1 I-Comp. ID=M 1.7 I-Trading Blk. ID=Ml.ll I-Comp. ID=Ml.lO I-Comp. ID=Ml.l1 I-Comp. ID=M1.l4 |噜Comp.ID=M1.l3 7.5 元件引用复制元I-Comp. ID=C1.3 * I-Comp. ID=C1.4 * *=新元固19旧属性使用举例YD厅1322.1-2004贸易构件或它的子XML元件包含一个XML属性,这个XML属性可被另一个块(例如交易参考块或贸易块)或贸易构件(包括交易B构件或签名构件)所引用,使用这些元件引用的目的
21、如下:标识XML元件,其签名构件包括了XML元件的摘要:当进行支付日才,可被支付网关组织构件所引用。元件引用包含块或构件的E属性值。标识IOTP消息时,由元件引用所引用的贸易块或贸易构件要找到XML元件:XML元件属于相同的IOTP交易(例如IOTP消息的交易D构件要匹配); 元件D属性值要和元件引用值匹配。元件引用匹配举例如图20所示。37 YD厅1322.1-2004第一-条IOTP 消息、第二条IOTP消息(例如从商家到消费者)(例如从消费者到支付网关)IOTP消息IOTP消息I-Trans Ref Block. lD=Ml.l I-Trans RefB lock. lD=Cl.l 1
22、I-Trans ID Comp. lD = M I.2 1-TranslD Comp.ID=MI.2 1 1 必须相同11 1 I-Msg lD Comp. lD = Ml 1 I-Msg lD Comp. ID=Cl ,、I-Signat町eBl田k.lD=M1.8I-Signat町eBlk.lD=Cl.51 I-Sig Comp. ID=MI.I5 1 I-Comp. lD=M1.1 5 和I-Trading BIk.lD=M1.3 I-Trading Block. lD=C1.2 1 I-Comp. lD=M1.4 I-Comp. lD=M 1.4 1 1 v 1 I-Comp. ID=
23、M1.5 囚Ref=M1.5I-Cornp. ID=C1.4 圄20元件引用注:元件引用属性定义为NMTO阻N,而不是吁D阻F,这是因为汀DREF要求引用的XML元件在相同的XML文件中,在IOTP中不是这种情况。7.6 扩展IOTP的方法基本IOTP定义了支持IOTP的系统必须能接受的最小协议。因为IOTP新版本正在发展,还将定义IOTP交易的另外类型,基本的IOTP和将来IOTP版本通过额外的XML元件和现存10胃代码的新值两种机制支持用户扩展。7.6.1 额外的XML元件由IOTP使用的XML元件名和属性名组成XMLNamespace , XML Namespace又由IotpMessa
24、ge元件的xmlns属性进行标识,因此它支持IOTP消息内含有另外的XML元件。使用XMLNamespace,额外XML元件可以处于IOTP消息的任何层:38 YD厅1322.1一2004新贸易块:新贸易构件:贸易构件内的新XML元件。应用下面的规则:根据XMLN amespace的规则,任何新XML元件必须声明:既是贸易块又是贸易构件的新XML元件必须包含带有B属性名的B属性。为了确保额外XML元件被正确处理,10TP使用一个特殊属性10TP:Critical.它的值是FALSE或TRUE,可以出现在加入到10TP消息的额外XML元件里。这个属性允许10TP应用判断10TP交易是否安全进行:
25、如果额外XML元件有一个带有TRUE值的10TP:Critical属性,10TP应用不知如何处理元件和它的子元件,10TP交易出现技术性差错。如果额外XML元件有一个带有F且SE值的10TP:Critical属性,IOTP应用不知如何处理它,10TP 交易继续进行。在这种情况下:当10TPXML元件被10TP使用或复制时,10TPXML元件必须包括额外XML元件:除了额外XML元件用来产生签名部分的摘要时,额外XML元件的内容不必考虑。如果额外XML元件没有10也Critical属性,必须把它当作带有TRUE值的10TP:Critical属性来处理。如果XML元件包含10TP:Critical
26、属性,那么那个属性值可以应用在那个元件的所有子元件。为了确保包含10TP:Critical的文件是有效的,作为DTD的一部分,额外元件声明为:10TP: Critical (TrueIFalse) True 7.6.2 不透明的嵌入数据如果10TP加以扩展,使用不透明的嵌入数据,就要使用打包内容元件封装数据。7.7 打包内容元件打包内容元件支持嵌入数据流的概念,防止由传输系统产生的误操作,确保XML的兼容性,它的使用包括:封装支付方案消息,例如SET消息:封装一个定单描述,支付记录或配送记录:一般用来封装一个或更多的数据流。数据流有3个标准属性,是关于标识、解码和内容解释3个方面的,它的定义如
27、下:!ELE岛1ENTPackagedContent (#PCDATA) 39 YD厅1322.1-2004属性:Name 可选,在向一点上出现多个打包内容元件时进行标识,例如:snroasdfnas 1134k dvdsjn15poIDsdsflkjnw45 Name属性可以省略,例如只有一个打包内容元件时Content 标识打包内容元件内的数据类型,Content属性的有效值如下:Transform 内容:PCDATA.打包内容元件的内容不需处理就可当作PCDATA。MIME.打包内容元件的内容是一个完整的MIME条款,寻找打包内容元件的MIME头属于处理过程。MIME: mimetype
28、.打包内容元件的内容是MIME内容,带有头Content-Type: mimetype ,虽然有可能MIME:mimetype的Transform属性设置为NONE,更有可能T属性设置为BASE64,如果T使用的NONE,那么整个内容必须与PCDATA一致。XML.打包内容元件可以当作XML文件、实体、CDATA部分或Transform设置为BASE64用来保证打包内容元件内容是合法的PCDATA。标识数据放置在内容之前所作的改变,有效值是:NO阳.打包内容元件的PCDATA内容是数据的正确表示,CDATA部分出现在打包内容元件是合法的,其中打包内容元件的Transform属性设置为NONEo
29、 BASE64.打包内容元件的PCDATA内容代表实际内容的BASE64解码。PCDATA 这是嵌入的实际数据,解码的数据格式和规则包含在Content和Transform属性中。7.7.1 封装HTML封装的内容包含盯ML.在这种情况下,遵循下列惯例:任何文件、图像或诸如声音、网页的东西的参考会影响接收者对打包数据的理解,而它们的参考必须提交到另一个包含在父元件里的打包元件,例如一个订购描述;根据前面的要求,如果更多的打包元件包含在父元件里,那么顶层打包元件的NAME属性应该有一个主要值,由顶层打包元件决定所有其他打包元件的参考:其他文件,图像的相对参考,例如从一个打包元件到另一个打包元件,
30、可通过设置另一个打包元件的NAME属性的相对参考值来了解,而这另一打包元件位于同一层或在相同的父层:40 YD厅1322.1-2004不必使用需要参考的外部参考,否则HTML的使用会变得困难或不能完全显示: MIME用来封装每个打包元件里的数据,MIME头的信息用来标识封装的数据类型,所以它应该显示出来。如果不能遵守上面的规定,就要通知HTML的接收者。注:作为一个执行规则,分配给打包元件的NAME属性值可能抽取每一个打包内容到一个目录里,然后直接显示HTML 7.7.2 封装XML推荐支持XML。当需要显示XML时,例如显示一个订购描述或一个消费者的内容,执行者要依据www的最新建议。注:在
31、编写这个体制时,关于怎样显示XML文件的标准正在发展,详见:Extensible Stylesheet Language (XSL) Specification at http:/www.w3.org!fRIWD-xsl, and Assiating styleshee岱withX岛1Ldumentsat http:/www.w3.org!fRIxml-stylesheet。7.8 语言标志IOTP使用X阻语言标识来指定IOTP消息的内容和属性使用哪种语言。为了决定哪个XML元件包含Xml:lang属性,使用下列原则:必要的Xml:lang属性包含在每一个贸易构件内,每一贸易构件包含的属性或内
32、容必须显示或打印在特定的语言里;可选的Xml:lang属性包含在这些贸易构件的子元件内,在这种情况下,泊协lang的值忽略贸易构件的值。消息的发送者,例如消费者偏爱一种语言或一个字符集,而在消息E构件中有一个语言/字符集合优先列表,不必要求这个消息的接收者使用列表中的语言,因为他们不可能掌握它,但使用语言/字符集可能提供好的用户经验。7.9 安全和非安全网络位置IOTP包含几种网络位置,标识发送IOTP消息的地方,网络位置有两种类型:安全网络位置,即使用SSUfLS安全机制保护数据隐私的安全;不安全网络位置,即不能保证数据的隐私。7.10 被取消的交易IOTP交易中的任何贸易角色可以在任何时候取消那个交易。7.10.1 取消交易通过发送包含带有
copyright@ 2008-2019 麦多课文库(www.mydoc123.com)网站版权所有
备案/许可证编号:苏ICP备17064731号-1