综合支付平台_第1页
综合支付平台_第2页
综合支付平台_第3页
综合支付平台_第4页
已阅读5页,还剩6页未读 继续免费阅读

下载本文档

版权说明:本文档由用户提供并上传,收益归属内容提供方,若内容存在侵权,请进行举报或认领

文档简介

1、业务产品服务接口规范(2019)综合支付平台接口注意事项及附录1 综合支付平台1.1 产品描述l 产品名称:综合支付平台l 生产代码:unifiedTrade2 接口列表详见【接口列表】页面3 附录3.1 产品token说明产品token是开放平台每个产品的全局唯一接口调用凭据,公众号调用各接口时都需使用产品token。开发者需要进行妥善保存。3.2 产品API调用说明1) 使用请求报文body、签名密钥signature、时间戳ts,计算得出签名信息sign;2) 使用产品token、签名信息sign、时间戳ts、请求报文body,发送API调用请求。3.3 签名3.3.1 报文签名算法3.

2、3.2 SHA256签名算法3.4 API接口文档示例详见【接口列表】页面3.5 应答码说明详见【应答码参照】页面3.6 支付金额说明3.6.1 交易金额交易金额默认为人民币交易,接口中参数支付金额单位为【分】,参数值不能带小数。对账单中的交易金额单位为【元】。外币交易的支付金额精确到币种的最小单位,参数值不能带小数点。3.6.2 交易类型trade_typeJSAPI-JSAPI支付(或小程序支付)、NATIVE-Native支付、APP-app支付,MWEB-H5支付,不同trade_type决定了调起支付的方式,请根据支付产品正确上传MICROPAY-付款码支付,付款码支付有单独的支付接

3、口,所以接口不需要上传,该字段在对账单中会出现3.6.3 货币类型境内商户号仅支持人民币CNY:人民币3.6.4 时间标准北京时间,时区为东八区;如果商户的系统时间为非标准北京时间。参数值须根据商户系统所在时区先换算成标准北京时间, 例如商户所在地为0时区的伦敦,当地时间为2014年11月11日0时0分0秒,换算成北京时间为2014年11月11日8时0分0秒。3.6.5 时间戳标准北京时间,时区为东八区,自1970年1月1日 0点0分0秒以来的秒数。注意:部分系统取到的值为毫秒级,需要转换成秒(10位数字)。3.6.6 商户订单号商户支付的订单号由商户自定义生成,仅支持使用字母、数字、中划线-

4、、下划线_、竖线|、星号*这些英文半角字符的组合,请勿使用汉字或全角等特殊字符。微信支付要求商户订单号保持唯一性(建议根据当前系统时间加随机序列来生成订单号)。重新发起一笔支付要使用原订单号,避免重复支付;已支付过或已调用关单、撤销(请见后文的API列表)的订单号不能重新发起支付。3.7 资金渠道列表资金渠道代码资金渠道COUPON支付宝红包ALIPAYACCOUNT支付宝账户POINT集分宝DISCOUNT折扣券PCARD预付卡MCARD商家储值卡MDISCOUNT商户优惠券MCOUPON商户红包PCREDIT蚂蚁花呗3.8 银联订单详情信息(支持单品)3.8.1 订单详细信息(支持单品)(

5、acq_addn_data)数据子域说明子域名子域标识子域格式说明出现要求收款方->银联银联->付款方订单信息orderInfoANS 1.600订单明细内容,如订单标题、订单描述等可选可选商品信息goodsInfoANS 1.1500商品明细内容可选可选3.8.2 订单信息orderInfo子域描述orderInfo子域采用嵌套JSON格式,全部内容用“ ”包含,内部可包含多个字段,字段定义如下表:字段名key标识格式出现要求value描述订单标题titleANS 1.100必须订单描述descriptionANS 1.200可选可优惠金额dctAmountN 1.12可选当前订

6、单可以参与优惠计算的金额附加信息addnInfoANS 1.288可选内容自定义3.8.3 商品信息goodsInfo子域描述goodsInfo子域采用嵌套JSON格式,全部内容用“ ”包含,内部可含多个对象,每个对象用“ ”包含,对象之间以“,”分隔;对象内可含多个字段,字段间以“,”分隔。字段定义如下表:字段名key标识格式出现要求value描述商品编号idANS 1.32必须商品名称nameANS 1.256必须商品单价priceN 1.12必须以分为单位商品数量quantityN 1.10必须交易上传的特定商品编码的商品数量;退货交易中表示特定商品编码需要进行退货的商品数量商品类目ca

7、tegoryANS 1.24可选附加信息addnInfoANS 1.100可选内容自定义3.8.4 acqAddnData示例:"orderInfo" : "title" :"日用品","dctAmount" :"10000","addnInfo" :"屈臣氏(人民广场)店","goodsInfo" : "id": "1234567890","name": "商品1&

8、quot;,"price": "500","quantity": "1","id": "1234567891","name": "商品2","price": "1000","quantity": "2","category": "类目1","addnInfo": "商品图片3.9 安全规范

9、数字签名为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。数字签名有两个步骤,先按一定规则拼接要签名的原始串,再选择具体的算法和密钥计算出签名结果。一般失败的结果不签名。签名原始串无论是请求还是应答,签名原始串按以下方式组装成字符串:1、除sign字段外,所有参数按照字段名的ascii码从小到大排序后使用QueryString的格式(即key1=value1&key2=value2)拼接而成,空值不传递,不参与签名组串。2、签名原始串中,字段名和字段值都采用原始值,不进行URL Encode。3、平台返回的应答或通知消息可能会由于升

10、级增加参数,请验证应答签名时注意允许这种情况。举例:调用某个接口,接口有如下字段:<xml><body><!CDATA测试支付></body><mch_create_ip><!CDATA127.0.0.1></mch_create_ip><mch_id><!CDATA7551000001></mch_id><nonce_str><!CDATA1409196838></nonce_str><out_trade_no><!CD

11、ATA141903606228></out_trade_no><service><!CDATAunified.trade.micropay></service><sign><!CDATA52836FAD27E0813DAA4072A4BDA9F654></sign><total_fee><!CDATA1></total_fee></xml>正确的签名字段排序为:body=测试支付&mch_create_ip=127.0.0.1&mch_id=

12、7551000001&nonce_str=1409196838&out_trade_no=141903606228&service=unified.trade.micropay&total_fee=1签名算法目前暂只支持MD5签名。MD5 是一种摘要生成算法,通过在签名原始串后加上商户通信密钥的内容,进行MD5运算,形成的摘要字符串即为签名结果。为了方便比较,签名结果统一转换为大写字符。注意:签名时将字符串转化成字节流时定的编指码字符集应与参数charset一致。MD5签名计算公式:sign= Md5(原字符串&key=商户密钥).toUpperCase

13、如:假设以下为 XML 传入参数:<xml><body><!CDATA测试支付></body><mch_create_ip><!CDATA127.0.0.1></mch_create_ip><mch_id><!CDATA7551000001></mch_id><nonce_str><!CDATA1409196838></nonce_str><out_trade_no><!CDATA141903606228></

14、out_trade_no><service><!CDATAunified.trade.micropay></service><sign><!CDATA52836FAD27E0813DAA4072A4BDA9F654></sign><total_fee><!CDATA1></total_fee></xml>假设商户密钥为:9d101c97133837e13dde2d32a5054abb:i:经过 a 过程 URL 键值对字典序排序后的字符串 string1 为:body=

15、测试支付&mch_create_ip=127.0.0.1&mch_id=7551000001&nonce_str=1409196838&out_trade_no=141903606228&service=unified.trade.micropay&total_fee=1ii:经过 b 过程后得到 sign 为:sign=md5(string1&key=9d101c97133837e13dde2d32a5054abb).toUpperCase=md5(body=测试支付&mch_create_ip=127.0.0.1&mc

16、h_id=7551000001&nonce_str=1409196838&out_trade_no=141903606228&service=unified.trade.micropay&total_fee=1&key=9d101c97133837e13dde2d32a5054abb).toUpperCase()="52836FAD27E0813DAA4072A4BDA9F654"3.10 银联订单优惠信息(支持单品)订单优惠信息(支持单品)iss_addn_data的子域说明如下:子域名标识子域格式说明出现要求付款方->银联银

17、联->收款方商品优惠信息dctDetailANS 1.6000商品优惠明细内容可选可选商品优惠信息dctDetail子域采用嵌套JSON格式,全部内容用“”全部包含,内部可含多个对象,每个对象用“”内部包含,对象之间以“,”分隔;对象内可含多个字段,字段间以”,”分隔。字段定义如下表:字段名key标识格式出现要求value描述商品编号idANS 1.32必须参与优惠的商品编号优惠活动编号dctIdANS 1.40必须优惠活动的编号商品优惠数量dctQuantityN 1.10必须参与优惠的商品数量,示例:本商品数量为10,其中2件参与了优惠,则本字段值为2;退货交易中,表示商品编码对应的

18、退货商品数量商品优惠金额dctPriceN 1.12必须商品的优惠金额,以分为单位,示例:商品单价10元,共5件,其中2件参与优惠,每件优惠3元,则本字段值为600;退货交易中,表示商品编码所对应的退款的优惠回退金额附加信息addnInfoANS 1.100可选内容自定义应用示例:issAddnData="dctDetail": "id": "1234567890","dctId": "app012345","dctQuantity": "1 ",&quo

19、t;dctPrice": "500","id": "1234567891","dctId": "app012345","dctQuantity": "2","dctPrice": "1000","addnInfo": "商品优惠详情3.11 银联保留域reserved相关子域说明如下:序号子域名标 识子域格式说 明1总的优惠金额discountAmtN1.12消费、账单支付的商

20、户通知和交易状态查询返回;退货的时候返回,表示总的优惠回退金额2商户优惠金额mchtDiscountAmtN1.12商户出资金额消费、账单支付的商户通知和交易状态查询返回;退货的时候返回,表示商户出资的回退金额3活动编号activityIdAN 1.40票券编号、活动编号等,格式自定义4活动简称activityNmANS 1.60优惠活动简称,可用于展示、打单等5活动打印信息addnPrintInfoANS 1.100内容自定义打印信息(营销活动需要将营销信息打印到商户的购物小票中,这个字段通过营销活动的配置进行模板的编辑,通过交易信息的回传传给商户的终端收银台进行打印)3.12 单品优惠活动

21、字段说明3.12.1 支付接口:unified.trade.micropayl 适用范围:微信:适用于所有版本的商户支付宝:仅适用于支付宝直连v2接口版本的商户l 请求参数:增加参数:goods_detail格式:Json格式属性:请求参数参数标识字段类型长度默认值备注订单原价cost_priceint订单总金额,与total_fee一致,非必填商品小票IDreceipt_idString32非必填单品列表goods_detailString1024单品信息,使用Json数组格式提交,必填以上三个参数为同一层级,单品列表goods_detail字段详情如下:字段参数参数标识字段类型长度默认值备

22、注商品编号goods_idString32必填微信/支付宝定义的商品编号pay_goods_idString32非必填商品名称goods_name String256必填商品数量quantityint必填商品单价priceint单位为分,必填商品类目goods_categoryString24非必填商品描述信息 body String1000非必填商品的展示地址 show_url String400非必填版本号version String321.0非必填样例:l 包含非必填的部分字段的情况:"goods_detail":"goods_id":"

23、8054489","goods_name":"yp8054489","price":100,"quantity":1,"receipt_id":"wx123","cost_price":500l 仅含必填字段的情况:"goods_detail":"goods_id":"8054489","goods_name":"yp8054489","

24、price":100,"quantity":1l goods_detail中含多个单品参数的情况:"goods_detail":"goods_name":"yp8054489","quantity":3,"price":100,"goods_id":"8054489","goods_name":"yp8054489","quantity":1,"price&

25、quot;:100,"goods_id":"8066227"l 返回参数:l 支付宝:增加参数:discount_goods_detail样例:"goods_id":"STANDARD1026181538","goods_name":"雪碧","discount_amount":"100.00","voucher_id":"2015102600073002039000002D5O"l 微信:增加参

26、数:promotion_detail样例:"promotion_detail":"promotion_id":"2250427405","name":"拜耳商品立减活动","scope":"SINGLE","type":"DISCOUNT","amount":200, "activity_id":"3321803","wxpay_contribut

27、e":0,"merchant_contribute":200,"other_contribute":0,"goods_detail":"goods_id":"8054489","quantity":3,"price":100,"discount_amount":150,"goods_id":"8066227","quantity":1,"price":100,"discount_amount":503.12.2 查询接口:unified.trade.queryl 适用范围微信:适用于所有版本的商

温馨提示

  • 1. 本站所有资源如无特殊说明,都需要本地电脑安装OFFICE2007和PDF阅读器。图纸软件为CAD,CAXA,PROE,UG,SolidWorks等.压缩文件请下载最新的WinRAR软件解压。
  • 2. 本站的文档不包含任何第三方提供的附件图纸等,如果需要附件,请联系上传者。文件的所有权益归上传用户所有。
  • 3. 本站RAR压缩包中若带图纸,网页内容里面会有图纸预览,若没有图纸预览就没有图纸。
  • 4. 未经权益所有人同意不得将文件中的内容挪作商业或盈利用途。
  • 5. 人人文库网仅提供信息存储空间,仅对用户上传内容的表现方式做保护处理,对用户上传分享的文档内容本身不做任何修改或编辑,并不能对任何下载内容负责。
  • 6. 下载文件中如有侵权或不适当内容,请与我们联系,我们立即纠正。
  • 7. 本站不保证下载资源的准确性、安全性和完整性, 同时也不承担用户因使用这些下载资源对自己和他人造成任何形式的伤害或损失。

评论

0/150

提交评论