通联互联网支付网关商户接口技术规范(20141210).docx_第1页
通联互联网支付网关商户接口技术规范(20141210).docx_第2页
通联互联网支付网关商户接口技术规范(20141210).docx_第3页
通联互联网支付网关商户接口技术规范(20141210).docx_第4页
通联互联网支付网关商户接口技术规范(20141210).docx_第5页
已阅读5页,还剩34页未读 继续免费阅读

下载本文档

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

文档简介

通联互联网支付网关商户接口规范通联支付网络服务股份有限公司商户接口说明版本v4.0通联支付网络服务股份有限公司2014年12月10日文件修改记录修改说明版本变更时间新建1.02012.10.16重整原有网关文档内容、增加订单批量查询接口说明1.12013.01.06修改单笔分账业务示例1.1.12013.04.03完善请求报文格式说明1.1.22013.08.19增加手机网关接入地址说明1.1.32013-11-28完善通联网关接入文档内容,新增手续费收取业务说明1.1.42013-12-01调整签名方式说明更正分账业务说明增加订单唯一性说明1.1.52014-2-25调整订单过期时间说明1.162014-4-18增加人民币跨境商户直连模式要求说明1.172014-7-4退款申请接口升级1.182014-11-7增加退款查询接口1.192014-11-20支持跨境商户接入4.02014-12-10目录1.目的52.通联互联网支付网关业务简介52.1 名词解释52.2 商户与通联合作程序52.3 支付业务流程52.3.1通联互联网支付网关的网银支付流程52.3.2通知支付结果处理流程62.3.3退款流程6a)轧差退款6b)收支两条线退款63.商户系统接入接口定义73.1 页面订单提交接口73.2 支付结果返回接口93.3 单笔订单查询接口103.4 单笔订单查询结果返回接口113.5 批量订单查询接口113.6 批量订单查询结果返回接口123.7 单笔订单退款申请接口123.8 单笔订单退款申请接口返回133.9退款状态查询接口143.10退款状态查询返回143.11商户汇率查询接口173.12商户汇率查询结果返回接口173.13业务扩展字段extTL介绍183.13.1单笔分账业务 格式参数说明分账示例193.13.2单笔手续费收取业务格式 规则说明 手续费示例203.13.3 海关扩展字段要求204.签名及验签机制214.1 进行MD5加密的签名源串及顺序214.2 签名214.3 验签225.开发225.1 开发步骤225.1.1Java环境225.1.2ASP和dotNet环境235.1.3PHP环境235.2 示例代码(Java)235.2.1商户网站对交易订单的报文组装关键代码235.2.2商户网站对交易结果的签名验证关键代码266.附录276.1系统错误码276.2系统异常码286.3证件类型306.4B2C支持银行代码306.5B2B支持银行代码(跨境支付商户暂不支持B2B支付)316.6WAP支付支持银行(跨境支付商户暂不支持WAP支付)316.7币种类型316.8国家和币种代码(参考资料)311. 目的本文档为使用通联互联网支付网关的商户开发者编写。本文档为通联互联网支付网关的开发者和相关人员提供有效的指引和帮助。本文档的目标读者为技术人员。2. 通联互联网支付网关业务简介2.1 名词解释客户、持卡人:是指支付过程中的付款方,通常分为“个人客户”和“公司客户”。商户:是指支付过程中的收款方,商户需要向我司相关部门申请后获得商户身份,完成商户开户后会分配一个商户号给该商户。通联支付网关(Payment Gateway):是银行金融网络系统和Internet网络之间的接口,本文档中的通联支付网关是通联处理商家支付信息和顾客的支付指令并连接各银行完成支付业务的银行前置系统。2.2 商户与通联合作程序1. 商户与通联签订商户接入协议,通联为商户在通联支付网关系统开户2. 通联为该商户提供测试环境地址、商户号、KEY值及证书,同时向商户提供支付网关的开发包与接入开发指南3. 商户系统加载开发包,完成客户端开发并与通联支付网关测试系统进行联机测试4. 商户测试环境联调成功后,通联向商户发放生产商户号、KEY值、正式证书1) 通联业务人员配置商户证书基本信息,生成商户证书2) 通联业务人员审核允许商户下载证书3) 商户登录通联商户服务网站下载证书5. 商户参数配置1) 商户在通联注册的商户号2) 交易类型3) 通知接收地址4) 加密方式5) 其他支付参数6. 通联为商户开通互联网支付网关的接入权限7. 投入生产8. 清算结算及差错处理9. 报表下载2.3 支付业务流程2.3.1 通联互联网支付网关的网银支付流程1. 客户在商户网站选择商品,商户网站创建一个订单支付请求,支付参数采用HTTP表单(FORM)方式提交(订单上送格式参见3.1小节页面订单提交接口)2. 客户点击支付按钮,将订单发送到通联互联网支付网关的支付页面,支付页面路径如下:http(s):/通联支付网关地址/gateway/index.do3. 支付网关验证订单支付请求,显示支付页面4. 客户在支付页面上选择网银支付5. 网关把客户浏览器转发到网银系统完成支付6. 网关接收到网银系统的支付结果,如果成功,网关根据商户支付订单请求中的通知数据配置发送支付结果信息给商户网站(支付结果返回数据参见3.2小节支付结果返回接口)2.3.2 通知支付结果处理流程1. 持卡人付款成功后,支付网关接收到银行支付结果,服务端将支付结果通知给商户,有两种通知方式:页面通知和后台通知2. 商户上送订单支付请求中有receiveUrl(商户上送的后台通知地址)和pickupUrl(商户上送的页面通知地址)两字段,如果两个参数都填写,则服务端后台通知到receiveUrl地址,页面跳转方式通知到pickupUrl地址。3. 如果商户网站提交的支付请求中没有receiveUrl参数,只有pickupUrl参数,则以页面跳转方式通知到pickupUrl地址,从网关服务器发起到商户网站的pickupUrl连接请求,再把客户的浏览器转向到pickupUrl地址,将支付结果post到pickupUrl地址所在页面,同时服务端后台也通知到pickupUrl地址。4. 如果商户网站提交的支付请求中没有pickupUrl参数,只有receiveUrl参数,则以后台方式通知商户到receiveUrl地址,从网关服务器发起到商户网站的receiveUrl连接请求,将支付结果post到receiveUrl地址,同时页面也会跳转到receiveUrl地址。5. 一般建议商户两个地址都上送,分别处理后台通知和页面跳转通知。6. 商户网站接收到连接请求,处理对应的订单结果,支付结果返回报文格式(参见3.2小节支付结果返回接口)7. 只要通知成功则停止通知,若从网关服务器发起的到商户网站的url连接请求失败,则把对应的url连接请求发送到系统重发队列中,最多重发3次。2.3.3 退款流程a) 轧差退款1. 商户T日通过退款申请接口或者通过登录商户服务网站发起退款申请;2. 通联实时反馈成功收到退款申请;3. 通联从商户T+1日的结算资金中,轧差出退款金额;4. 通联T+1日向银行发起退款申请;5. 退款资金3-5个工作日内返还至持卡人账户。b) 收支两条线退款1. 商户通过退款申请接口或者通过登录商户服务网站发起退款申请;2. 商户通过线下处理的方式,转账给通联支付指定退款账户,并通知通联对口的客户经理,告知需要进行退款操作;3. 客户经理通知通联运营人员,检查退款资金到账;4. 通联向银行发起退款申请;5. 退款资金返还至持卡人账户。3. 商户系统接入接口定义3.1 页面订单提交接口商户网站创建的订单支付请求报文是符合HTTP表单(Form)的形式,采用MD5签名(参见第4小节签名机验签机制),商户上送的form参数不允许含有空格字符,因此保证各参数头尾空格trim。注意:1、 通联通过merchantId、orderDatetime和orderNo确定一笔订单,且同一笔订单的订单金额必须相同,如果是同一笔订单多次支付建议上述3个值上送时候保持不变。2、 每笔订单可以设定过期时间,超过过期时间(最大时间9999分钟后)的订单将被作废不允许支付。超过过期时间的订单要再支付的话,商户需要跟换订单号(或订单时间,但更建议跟换订单号)。接入互联网网关地址:测试环境:/gateway/index.do生产环境:/gateway/index.do接入手机网关提交地址:测试环境: /mobilepayment/mobile/SaveMchtOrderServlet.action生产环境: /mobilepayment/mobile/SaveMchtOrderServlet.action参数名称参数含义长度是否必填参数说明inputCharset字符集2不可空默认填1;1代表UTF-8、2代表GBK、3代表GB2312;pickupUrl付款客户的取货url地址100不为空客户的取货地址receiveUrl服务器接受支付结果的后台地址100不为空通知商户网站支付结果的url地址version网关接收支付请求接口版本10不可空固定填v1.0 language网关页面显示语言种类2不为空默认填1,固定选择值:1;1代表简体中文、2代表繁体中文、3代表英文signType签名类型2不可空默认填1,固定选择值:0、1;0表示订单上送和交易结果通知都使用MD5进行签名1表示商户用使用MD5算法验签上送订单,通联交易结果通知使用证书签名Asp商户不使用通联dll文件签名验签的商户填0merchantId商户号30不可空数字串,商户在通联申请开户的商户号payerName付款人姓名32可为空跨境支付商户若采用直连模式,必须填写该值payerEmail付款人邮件联系方式50可为空字符串payerTelephone付款人电话联系方式16可为空数字串payerIDCard付款人类型及证件号22可为空填写规则:证件类型+证件号码再使用通联公钥加密。(加密请参考示例代码)证件类型仅支持01-身份证跨境支付商户若采用直连模式,必须填写该值pid合作伙伴的商户号30可为空用于商户与第三方合作伙伴拓展支付业务,Partner merchantIdorderNo商户订单号50不可空字符串,只允许使用字母、数字、- 、_,并以字母或数字开头;每商户提交的订单号,必须在当天的该商户所有交易中唯一orderAmount商户订单金额10不可空整型数字,金额与币种有关如果是人民币,则单位是分,即10元提交时金额应为1000如果是美元,单位是美分,即10美元提交时金额为1000orderCurrency订单金额币种类型3不可空默认填00和156代表人民币、840代表美元、344代表港币,跨境支付商户不建议使用0orderDatetime商户订单提交时间14不可空日期格式:yyyyMMDDhhmmss,例如:20121116020101orderExpireDatetime订单过期时间14可为空整形数字,单位为分钟。最大值为9999分钟。如填写则以商户上送时间为准,如不填写或填0或填非法值,则服务端默认该订单9999分钟后过期,超期后不允许商户发起同一商户订单支付productName商品名称256可为空英文或中文字符串,请勿首尾有空格字符productPrice商品价格20可为空整型数字productNum商品数量8可为空整型数字,默认传1productId商品代码20可为空字母、数字或- 、_ 的组合;用于使用产品数据中心的产品数据,或用于市场活动的优惠productDesc商品描述400可为空英文或中文字符串ext1扩展字段1128可为空英文或中文字符串,支付完成后,按照原样返回给商户ext2扩展字段2128可为空英文或中文字符串,支付完成后,按照原样返回给商户extTL业务扩展字段1024可为空参见接口技术规范文档3.9节介绍payType支付方式2不可空固定选择值:0、1、4、10、11、23、28接入手机网关时,该值填固定填0接入互联网关时,默认为间连模式,填0若需接入外卡支付,只支持直连模式,即固定上送payType=23,issuerId=visa或mastercard0代表未指定支付方式,即显示该商户开通的所有支付方式1个人储蓄卡网银支付4企业网银支付10wap支付11个人信用卡网银支付23外卡支付28认证支付非直连模式,设置为0;直连模式,值为非0的固定选择值issuerId发卡方代码8可为空银行或预付卡发卡机构代码,用于指定支付使用的付款方机构。接入手机网关时,该值留空payType为0时,issuerId必须为空显示该商户支持的所有支付类型和各支付类型下支持的全部发卡机构payType为非0时,若issuerId为空显示该商户所填payType支付类型下的全部发卡机构payType为非0时,若issuerId不为空直接跳转到该商户所填payType下指定的发卡机构网银页面,支持发卡机构详见附录机构代码pan付款人支付卡号19可为空数字串,目前交行B2B直连模式才必填,并使用公钥加密(PKCS1)后进行Base64编码tradeNature贸易类型2可为空固定选择值:GOODS或SERVICES当币种为人民币时选填当币种为非人民币时必填,GOODS表示实物类型,SERVICES表示服务类型signMsg签名字符串1024不可空为防止非法篡改要求商户对请求内容进行签名,供服务端进行校验;签名串生成机制:按上述顺序所有非空参数与密钥key组合,经加密后生成signMsg;customsExt海关扩展字段1024可为空详见“3.13.3海关扩展字段要求”章节3.2 支付结果返回接口客户支付成功后,网关返回支付结果到商户网站,页面返回地址是商户提供的receiveUrl或pickupUrl地址。参数名称参数含义长度可否为空参数说明merchantId商户号30不可空数字串,与提交订单时的商户号保持一致version网关返回支付结果接口版本10不可空固定选择值:v1.0;注意为小写字母language网页显示语言种类2可空固定值:1;1代表中文显示signType签名类型2不可空固定选择值:0、1,与提交订单时的签名类型保持一致payType支付方式2可空字符串,与提交订单时的支付方式一致issuerId发卡方机构代码8可空固定为空paymentOrderId通联订单号50不可空字符串,通联订单号orderNo商户订单号50不可空字符串,与提交订单时的商户订单号保持一致orderDatetime商户订单提交时间14不可空数字串,与提交订单时的商户订单提交时间保持一致orderAmount商户订单金额10不可空整型数字,金额与币种有关如果是人民币,则单位是分,即10元提交时金额应为1000如果是美元,单位是美分,即10美元提交时金额为1000payDatetime支付完成时间14不可空日期格式:yyyyMMDDhhmmss,例如:20121116020101payAmount订单实际支付金额10不可空整型数字,实际支付金额,用户实际支付币种为人民币;以分为单位,例如10元返回时应为1000分ext1扩展字段1128可空字符串,与提交订单时的扩展字段1保持一致ext2扩展字段2128可空字符串,与提交订单时的扩展字段2保持一致payResult处理结果2不可空1:支付成功仅在支付成功时通知商户。商户可以通过查询接口查询订单状态。errorCode错误代码10可空固定为空returnDatetime结果返回时间14不可空系统返回支付结果的时间,日期格式:yyyyMMDDhhmmsssignMsg签名字符串1024不可空以上所有非空参数按上述顺序与密钥组合,经加密后生成该值。3.3 单笔订单查询接口商户可以根据此接口进行单笔订单查询,单笔订单页面查询地址为http(s):/通联支付网关地址/gateway/index.do测试环境:/gateway/index.do生产环境:/gateway/index.do参数名称参数含义长度可否为空参数说明merchantId商户号30不可空数字串,与提交订单时的商户号保持一致version网关查询接口版本10不可空固定值:v1.5signType签名类型2不可空固定选择值:0、1;与客户提交订单填写的值保持一致orderNo商户订单号50不可空字母、数字、-、_ 及其组合,与提交订单时的商户订单号保持一致orderDatetime商户订单提交时间14不可空数字串,与提交订单时的商户订单提交时间保持一致,仅支持查询(当前时间-31天)以内的订单queryDatetime商户提交查询的时间14不可空此时间不能与系统当前时间相差15分钟signMsg签名字符串1024不可空以上所有非空参数按上述顺序与密钥key组合,经加密后生成该值。3.4 单笔订单查询结果返回接口单笔查询只返回支付成功的订单,单笔订单查询的结果有两种处理方式:1、 异步方式将交易结果通知到原交易发起时上送的receiveUrl,接口与“支付结果返回接口”完全相同,参见第3.2小节。2、 同步返回结果,通过解析通联返回的字符串,验证签名信息再判断支付结果,可参考范例代码(JAVA:merchantOrderQuery.html &merchantOrderQuery.jsp; ASP:参考ETSClientDemo工程) 备注:在验证签名前,要先进行URL decode 解析,详情可见JAVA:merchantOrderQuery.jsp APS:参考ETSClientDemo工程3.5 批量订单查询接口商户可以根据此接口进行批量订单查询,批量订单页面查询地址为http(s):/通联支付网关地址/mchtoq/index.do测试环境:/mchtoq/index.do生产环境:/mchtoq/index.do参数名称参数含义长度可否为空参数说明version网关批量查询接口版本10不可空固定值:v1.6merchantId商户号30不可空数字串,与提交订单时的商户号保持一致beginDateTime查询订单的开始时间14不可空与endDateTime必须为同一天,日期填写格式:yyyymmddhh,例如:2013011600,目前只支持对当天订单进行查询endDateTime查询订单的结束时间14不可空与beginDateTime必须为同一天,日期填写格式:yyyymmddhh,例如:2013011623,查询时间范围为当天的00:00:0023:59:59pageNo查询页码2不可空从1开始,必须为数字signType签名类型2不可空固定值:1signMsg签名字符串1024不可空以上所有非空参数按上述顺序与密钥key组合,经加密后生成该值。3.6 批量订单查询结果返回接口批量查询只返回支付成功的订单,以文本同步方式返回,每页返回最大笔数为500笔,如果有下一页请用户调用查询接口做下一页查询。每页最多返回500笔订单记录,批量查询结果返回格式:汇总信息+交易明细+换行+签名信息,商户根据首行的【是否有下一页(Y/N)】来判断是否要做下一页查询,处理结果:1代表支付成功;0代表未支付。如果查询结果无记录,则只有汇总信息(商户号,笔数为0,页码为0,是否有下一页为N)+换行+签名信息(签名信息与上行之间有一空行)汇总信息:商户号|当页笔数|当前页码|是否有下一页交易明细:商户号|通联订单号|商户订单号|商户订单提交时间|商户订单金额|支付完成时间|订单实际支付金额|扩展字段1|扩展字段2|处理结果签名信息:对汇总信息+交易明细+换行用证书签名所得值成功响应报文示例:100020091218001|1|1|N 100020091218001|20130108100811000|NO20130108020644452|20130108000000|100|2013-01-08|100|1 KjZSXMf1nH6Q/wD22xI59ImN8Wzix15UcqA18pZeaWp7vQevMOA4UXTTX/mbqDAiTSEIwp3hQ8bVZnAoXi4TRseAUu6hTrdqpLTAO/E8+A/7OTCww0ifixPkD654RkTYQSiEZndW4Tx1l5xcGsxBrAJuEm8KrhCemZcAB8JlqRo=异常响应报文:ERRORCODE=错误编码&ERRORMSG=错误信息,详见系统异常码ps:响应报文都是Base64编码后的内容,客户端接收到响应内容后需要先解码,详见提供的demo3.7 单笔订单退款申请接口商户可根据此接口进行订单退款申请,支持部分退款申请,即退款金额=订单金额,联机退款提交地址为http(s):/通联支付网关地址/gateway/index.do测试环境:/gateway/index.do生产环境:/gateway/index.do参数名称参数含义长度可否为空参数说明version网关联机退款接口版本4不可空固定值:v2.3signType签名类型1不可空0表示订单上送和交易结果通知都使用MD5进行签名1表示商户用使用MD5算法验签上送订单,通联交易结果通知使用证书签名merchantId商户号30不可空数字串,与提交订单时的商户号保持一致orderNo商户订单号50不可空字母、数字、-、_ 及其组合,与提交订单时的商户订单号保持一致refundAmount退款金额10不可空整型数字,金额与币种有关如果是人民币,则单位是分,即10元提交时金额应为1000如果是美元,单位是美分,即10美元提交时金额为1000系统支持部分退款,但需保证退款金额=订单金额mchtRefundOrderNo商户退款订单号50可空字母、数字、-、_ 及其组合,如果填写,退款结果原样返回orderDatetime商户订单提交时间14不可空数字串,与提交订单时的商户订单提交时间保持一致signMsg签名字符串1024不可空以上所有非空参数按上述顺序与密钥key组合,经加密后生成该值。3.8 单笔订单退款申请接口返回参数名称参数含义长度可否为空参数说明merchantId商户号30不可空数字串,与提交订单时的商户号保持一致version网关联机退款接口版本10不可空固定值:v2.3signType签名类型2不可空固定选择值:0、1;与客户提交请求填写的值保持一致orderNo商户订单号50不可空字母、数字、-、_ 及其组合,与提交订单时的商户订单号保持一致orderAmount商户订单金额10不可空整型数字,金额与币种有关如果是人民币,则单位是分,即10元提交时金额应为1000如果是美元,单位是美分,即10美元提交时金额为1000orderDatetime商户订单提交时间14不可空数字串,与提交订单时的商户订单提交时间保持一致refundAmount退款金额10不可空整型数字,金额与币种有关如果是人民币,则单位是分,即10元提交时金额应为1000如果是美元,单位是美分,即10美元提交时金额为1000refundDatetime退款受理时间14不可空数字串、退款申请受理的时间日期格式:yyyyMMDDhhmmss 如20121116143030refundResult退款结果10不可空申请成功:20 其他为失败mchtRefundOrderNo商户退款订单号50可空字母、数字、-、_ 及其组合,如请求有填写,退款结果原样返回returnDatetime结果返回时间14不可空数字串、退款申请完成的时间日期格式:yyyyMMDDhhmmss 如20121116143030signMsg签名字符串1024不可空以上所有非空参数按上述顺序与密钥组合,经加密后生成该值。3.9退款状态查询接口可查询近一个月的退款订单状态测试环境:/mchtoq/refundQuery生产环境:/mchtoq/refundQuery参数名称参数含义长度可否为空参数说明version退款查询版本4不可空固定值:v2.4signType签名类型1不可空0表示订单上送和结果返回都使用MD5进行签名1表示商户用使用MD5算法签名上送订单,通联返回使用证书签名merchantId商户号30不可空数字串,与提交订单时的商户号保持一致orderNo商户订单号50不可空字母、数字、-、_ 及其组合,与提交订单时的商户订单号保持一致refundAmount退款金额10不可空整型数字,单位是分系统支持部分退款,但需保证退款金额=订单金额refundDatetime退款受理时间14可空数字串、退款申请受理的时间日期格式:yyyyMMDDhhmmss 如20121116143030mchtRefundOrderNo商户退款订单号50可空字母、数字、-、_ 及其组合,在商户的系统里是唯一,不可重复3.10退款状态查询返回参数名称参数含义长度可否为空参数说明version退款查询版本4不可空固定值:v2.4signType签名类型1不可空0表示订单上送和结果返回都使用MD5进行签名1表示商户用使用MD5算法签名上送订单,通联返回使用证书签名merchantId商户号30不可空数字串,与提交订单时的商户号保持一致orderNo商户订单号50不可空字母、数字、-、_ 及其组合,与提交订单时的商户订单号保持一致refundAmount退款金额10不可空整型数字,单位是分系统支持部分退款,但需保证退款金额=订单金额refundDatetime退款受理时间14可空数字串、退款申请受理的时间日期格式:yyyyMMddhhmmss 如20121116143030mchtRefundOrderNo商户退款订单号50可空字母、数字、-、_ 及其组合,在商户的系统里是唯一,不可重复refundResult退款结果10不可空参考成功码描述,比如TKSUCC0001returnDatetime结果返回时间14不可空数字串、退款申请完成的时间日期格式:yyyyMMddhhmmss 如20121116143030退款查询成功返回码成功返回码返回码说明1TKSUCC0001退款未受理2TKSUCC0002待通联审核3TKSUCC0003通联审核通过4TKSUCC0004退款冲销5TKSUCC0005处理中6TKSUCC0006退款成功7TKSUCC0007退款失败8TKSUCC0008通联审核不通过如果查询结果为一条记录,则返回一条,如果查询结果为多条记录,则返回多条对于查询结果的签名放在记录后面,举例如下(红色部分为签名)v2.4|1|100020091218010|100000024215|2000|20140926164925|20140926001|TKSUCC0002|20141010191509v5qbvp990c0AUH2c+bGZ+kIGieeBoPvYSYckane5U7MhsewZhm1vfNB3puHVHwhV7eGWRJW8ubUh4pvc1gwydMxLu3zQQF9Tc2BUUB5Mr/lsqVo5lONCbAqUwq902zxApp2ODOmFa74mH3JMj5lOOzJ1HF2SReUcKjd4fVaoNZY=退款查询失败返回,只返回错误码,如下比如:ERRORCODE=001& ERRORMSG=商户号不能为空退款查询错误码及描述:失败错误码错误描述1商户号不能为空0012商户号不能超过15位0023商户号不存在0034订单号不能为空0045订单号不存在0056退款金额不能为空0067退款金额必须大于00078退款金额必须为整数0089退款受理时间格式不匹配00910摘要错误01011退款订单不存在0111) 如果上传的signType为0,则应用MD5验签 返回结果:v2.4|0|100020091218001|NO20141128151700|1|20141128031757|2014|TKSUCC0002|20141128151433 B93C478F65CBB562122D367B262FC305签名原串:signString=v2.4|0|100020091218001|NO20141128151700|1|20141128031757|2014|TKSUCC0002|20141128151433签名:singMsg=B93C478F65CBB562122D367B262FC305验签过程如下:a. String fileString=signString+”|”+key;(key为商户的md5key)b. String fileMsg = SecurityUtil.MD5Encode(fileString); if(signString.equals(fileMsg)“验签通过”esle“验签不通过”2) 如果上传的signType为1,则应用证书验签返回结果:v2.4|1|100020091218001|NO20141128151700|1|20141128031757|2014|TKSUCC0002|20141128152730 DQqfer2bKFcoQu01YiiLfLNPV7WPIK+vDtRUeEg2kdcrflkhZcuF4b8PHAD+2JSqMrUhIYXg/alnFW/bdD+i6Gn0p3x2kpx26K3iVWowVxmrEhNn/uV3d08g09W6/UAXpqwoN+bEZtjLJb7sM4rosIY/mEYPoS9A7IUCkk15GZo=签名原串:signString= v2.4|1|100020091218001|NO20141128151700|1|20141128031757|2014|TKSUCC0002|20141128152730签名:singMsg= DQqfer2bKFcoQu01YiiLfLNPV7WPIK+vDtRUeEg2kdcrflkhZcuF4b8PHAD+2JSqMrUhIYXg/alnFW/bdD+i6Gn0p3x2kpx26K3iVWowVxmrEhNn/uV3d08g09W6/UAXpqwoN+bEZtjLJb7sM4rosIY/mEYPoS9A7IUCkk15GZo=验签过程如下:a. String fileMd5String = SecurityUtil.MD5Encode(signString);b. boolean isVerified =SecurityUtil(certPath,fileMd5String.getByte(),Base64.decode(signMsg);c. If(isVerified)“验签通过”else验签不通过” 注:certPath为证书路径3.11商户汇率查询接口商户可以根据此接口进行商户汇率查询,商户汇率页面查询地址为http(s):/通联支付网关地址/mchtoq/mchtRate测试环境:/mchtoq/mchtRate生产环境:/mchtoq/mchtRate参数名称参数含义长度可否为空参数说明merchantId商户号30不可空数字串,必须是通联给商户分配的商户号version网关查询接口版本10不可空固定值:v1.6signType签名类型2不可空固定选择值:1;currency币种3不可空数字串,参考币种类型章节signMsg签名字符串1024不可空以上所有非空参数按上述顺序与密钥key组合,经加密后生成该值。3.12商户汇率查询结果返回接口商户汇率查询以文本方式返回,汇率查询结果返回格式:汇率信息+签名信息 ( 汇率信息和签名信息中间有回车换行符“rn”)汇率信息:商户号|币种代码|汇率|汇率生效时间签名信息:对汇率信息用证书签名所得值Base64加密后的数据为:MTAwMDIwMDAzMDAwfDk3OHw5LjE4MjZ8MjAxNC0wOS0xNyAxMDowNjo1Ng0KDQpNeEk2V1F3RVZZS0h3NzRJOFVEQitGUlR4MFd6c3luaFFGRXlueU9tU1hqclZyY1hxOGlPTHo1NGZSNVJ1U05oUGo4clZaQnZjTFdSbXdKRHR0b3BnRjVPZjN0YU9CWTUxUHFyeWd6ek10TW9DaXZlVFUvNEM5c3FNUktGLzFyN25MbHZtZ2JISEVJSjBnaVlLM3RlV0hJQi84UlY3bG9TQnd0YWVoOHJITmc9成功响应报文示例:(即将上面经过Base64加密后内容解码后的内容)100020003000|978|9.1826|2014-09-17 10:06:56 MxI6WQwEVYKHw74I8UDB+FRTx0WzsynhQFEynyOmSXjrVrcXq8iOLz54fR5RuSNhPj8rVZBvcLWRmwJDttopgF5Of3taOBY51PqrygzzMtMoCiveTU/4C9sqMRKF/1r7nLlvmgbHHEIJ0giYK3teWHIB/8RV7loSBwtaeh8rHNg=异常响应报文:ERRORCODE=错误编码&ERRORMSG=错误信息,详见系统异常码ps:响应报文都是Base64编码后的内容,客户端接收到响应内容后需要先解码,解码后的文本是UTF-8编码,详情见demo注:商户收到的是经过Base64加密过的数据,通过以下步骤进行解密 1 .对得到收到的数据进行Base6解码得到两部分内容 a 汇率数据。b 签名2. .拿证书进行验签:a) 签名原串 signsrc = “100020003000|978|9.1826|2014-09-17 10:06:56 ” signsrcMd5=MD5Encode(signsrc);b) 签名 sginmsg = “MxI6WQwEVYKHw74I8UDB+FRTx0WzsynhQFEynyOmSXjrVrcXq8iOLz54fR5RuSNhPj8rVZBvcLWRmwJDttopgF5Of3taOBY51PqrygzzMtMoCiveTU/4C9sqMRKF/1r7nLlvmgbHHEIJ0giYK3teWHIB/8RV7loSBwtaeh8rHNg=”c) 签名验证:SecurityUtil.verifyByRSA(certPath, signsrcMd5.getBytes(), signmsg)3.13业务扩展字段extTL介绍在页面订单提交接口报文中含有extTL字段,该字段用于扩展通联业务需求而设置的,商户可以在该字段设置多个业务组合,目前通联的扩展业务有单笔分账业务和单笔手续费收取业务。格式:业务规则A业务规则N3.13.1单笔分账业务与通联签约单笔分账业务的商户,可通过该字段上送分账配置。跨境支付商户暂不支持分账操作。 格式业务名:A00001业务规则:分账类型|通联账户号1,固定金额或比例|通联账户号2,固定金额或比例|参数说明参数名称长度参数说明分账类型1固定值1表示按固定金额分账2表示按比例分账通联账户号20由通联分配的账户号。商户登录通联商户服务平台绑定分账账户,系统为每个账户分配一个唯一的通联账户号。比例或固定金额14分账类型为1时,该值单位为分,整型,如:1000表示10元分账类型为2时,该值单位为百分比,数值型,保留两位有效小数,如:5.5 表示5.5%补充说明:1) 按固定金额分账时,总金额不超过该笔订单金额;按比例分账时,总百分比不超过100%;2) 最多可配置10个通联账户号;3) 因分账配置不合法导致无法正常分账的,该笔订单金额将划至商户的余额账户中。4) 用A00001表示分账业务分账示例1) 1|10203040506070809001,1000|10203040506070809002,200表示按固定金额分账,通联账户10203040506070809001分10元,通联账户10203040506070809002分2元。2) 2|10203040506070809001,10|10203040506070809002,0.5表示按比例分账,通联账户10203040506070809001分10%,通联账户10203040506070809002分0.5%。Eg:

温馨提示

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

评论

0/150

提交评论