1. 接口介绍 签约代扣接口提供代商户向用户自动扣款的功能,聚合支付服务会根据请求数据验证商户身份,以及验证请求信息是否被篡改。验证通过后,聚合支付服务会返回订单状态信息。 ``` 调用地址:https://apipayx.jd.com/sign/mallpay 编码格式: UTF-8 调用方式:post 数据格式:JSON ``` 2. 参数列表 |参数名称 |参数编码 |类型 |是否必传| 描述| |---| |商户号 |merchantNo |String(32)| 是|| |商城订单号 |outTradeNo |String(64) |是 || |订单类型 |virtualType |String(2)| 是 |00-实物、01-虚拟| |系统名称 |systemId |String(100) |是 |由聚合支付统一分配| |签约 |merchantUserId |String(64) |是 |目前就是京东pin,目前支持京东PIN,可扩展其他ID| |商品名称 |productName| String(32)| 是 || |交易金额 |amount |Long |是 |单位:分,交易金额| |币种 |currency |String(20)| 是 |目前固定为"RMB"| |接口版本| requestVersion| String(10)| 是| 固定为"V1.0"| |支付成功异步通知地址| successNotifyUrl| String(256) |否| 支付成功异步通知地址| |交易时间 |tradeTime |String(10)| 否| 格式:yyyyMMddHHmmss,默认为当前时间| |交易截止时间| deadlineTime |String(10) |否| 格式:yyyyMMddHHmmss,交易时间+7天| |交易备注 |remark |String(32) |否 || |客户端传入IP| outTradeIp |String(11) |否 |格式:255.255.255| |原样回传参数| returnParams| String(256)| 否|| 3. 参数特殊说明 ``` 1) 在以上的请求参数中,商户号是在注册开通聚合支付功能的时候,聚合支付商户管理系统为用户分配的。 2) 外部订单号是商户自己的订单号。 3) 签名规则详见:“4.1签名算法”章节 4) 为保证信息安全,表单中的各个字段除了merchantNo(商户号)、签名(sign)以外,其余字段全部采用3DES进行加密 ``` 4. 样例 1)1)明文源串样例: ``` { "amount ":"1", "systemId":"aggre-Xmarket", "currency":"RMB", "merchantNo":"22318136", "merchantUserId" :"可以看到" "outTradeIp" :"193.13.12.27" "outTradeNo" :"151815257827270804" "payableAmount" :"1" "productName" :"聚合京东代扣测试" "requestVersion" :"V1.0" "tradeTime" :"20180208100623" "virtualType" :"00" } ``` 2) 支付请求数据集合参数样例: ``` { "merchantNo":"110047938", "cipherJson :"这里的值是对明文源串样例加密得到的值", "sign":"这里的值是对明文源串样例按照ASCII正序排序后加盐,再用md5加签得到的值" } ``` 说明:上面样例中除merchant和sign字段外,各字段均需要进行3DES加密 3) 返回参数列表: |参数名称 |参数编码 |类型| 是否必传 |描述 |---| |业务状态 |resulCode| String| 是| SUCCESS-成功、FAIL-失败、PROCESSING-处理中 处理中是一个交易中间状态而不是交易的最终状态,对它要极其小心处理,它即不能代表交易成功也不是代表交易失败。 处理中的交易最终状态是成功还是失败以异步通知为准,商户也可主动发起查询获取交易的当前状态。查询参见“商户查询订单状态(支付订单)接口”。 特别提醒:如果将处理中等同于成功来处理,在交易最终扣款失败时就造成资损;而如果将处理中等同于失败来处理,在交易最终扣款成功时就造成用户重复支付| |业务错误代码 |errCode| String(20) |是| 000000-成功| |业务错误代码描述| errCodeDes |String(50)| 是 |成功| |商户号 |merchantNo| String(32)| 是| 商户号| |外部订单号 |outTradeNo |String(64)| 是 |商户订单号| |聚合订单号 |tradeNo |String(32) |是| 聚合订单号| |交易子类型 |subTradeType| String(10) |是 |SALE(消费/支付)| |币种 |currency| String(10)| 是| RMB| |交易金额n| amount |Long |是 |单位:分,交易金额| |支付渠道 |piType |String(10) |否 |JDPAY(京东支付)<br>WX(微信支付), APPLEPAY(applePay支付)<br>UNIPAY(银联在线支付), ALIPAY(支付宝支付)| |交易成功时间| payFinishTime |String(14)| 是| yyyyMMddHHmmss| |回传参数 |returnParams| String(256) |否| 商户扩展信息,原样回传| |扩展信息 |extMapStr| String |否 |聚合支付返回扩展信息(map转json数据)| |交易时间 |tradeTime |String(10) |否| 格式:yyyyMMddHHmmss,默认为当前时间| |交易截止时间| deadlineTime| String(10)|否 |格式:yyyyMMddHHmmss,交易时间+7天| 4) 错误码列表: |序号| 错误代码 |错误描述 |修正意见| |----| |1 |000000 |请求成功 || |2 |AGGT0000001 |请求重复|| |3 |AGGT9999999 |请求失败 |请稍后重试| |4 |AGGT9990001 |未知错误 |请稍后重试| |5 |AGGT9990002 |未知错误,应该是网络异常| 请稍后重试| |6 |AGGT9990003 |方法调用非法 |请稍后重试| |7 |AGGT9990004 |数据转换异常 |请稍后重试| |8 |AGGT0101900 |数据库操作异常 |请稍后重试| |9 |AGGT3001201 |交易已存在 || |10 |AGGT3001202 |交易已成功不能支付 || |11 |AGGT0101900 |数据库操作异常| 请稍后重试| |12 |AGGT1000400 |请求数据不合法 |请检查参数列表| |13 |AGGT3001204 |交易已关闭不能支付 || |14 |AGGT3001206 |交易已过期 || |15 |AGGT3001211 |交易已退款不能支付 || |16 |AGGT3001226 |交易收单失败,系统异常 || |17 |AGGT0001001 |数据库没有数据 || |18 |AGGT0101900 |数据库操作异常 || |19 |AGGT0101914 |支付返回后处理交易相关域异常|| |20 |AGGT1000400 |请求数据不合法 || |21 |AGGT3001203 |无此交易信息 || |22 |AGGT3001204| 交易已关闭不能支付 || |23 |AGGT3001206| 交易已过期 || |24 |AGGT3001211| 交易已退款不能支付 || |25 |AGGT3001213| 无原交易信息 || |26| AGGT3001234| 交易已关单 || |27 |AGGG100000 |参数校验失败 |请检查参数列表是否正确| |28 |AGGG100004 |参数:XXX不能为空 |请检查参数列表是否正确| |29 |AGGG777777 |系统处理异常 |请联金融客服| |30 |AGGG999999 |系统处理错误 |请联金融客服| |31 |AGGG104001 |查询商户信息失败 |请检查参数列表是否正确| |32 |AGGG102002 |获取支付信息失败,请重试| 请稍后重试| |33 |C500000 |接口返回错误 |系统异常,请使用相同参数重新调用接口| |34 |C500001 |签约协议不存在| 请检查签约协议号是否正确,是否已解约| |35 |C500002| 参数错误 |请根据接口返回的详细信息检查您的程序| |36 |C500003| 订单已支付 |请确认该订单号是否重复支付,如果是新单,请使用新订单号提交| |37 |C500004| 订单已关闭 |商户订单号异常,请重新下单支付| |38 |C500005| 签名错误 |请检查签名参数和方法是否都符合签名算法要求| |39 |C500006| appid和mch_id不匹配 |请调用查询订单接口查看订单最新状态| |40 |C500007| 扣款请求已受理,请勿重复发起 |请调用查询订单接口查看订单最新状态| |41 |C500008| 协议已过期 |请检查签约协议号是否已过期| |42 |C500009| 无效请求 |请检查请求方式是否是post方法等| |43 |C500010| 频率限制 |请检查接口请求频率是否超过限制| |44 |C500011| 提交参数有误,请核实后重新提交| 提交参数有误,请核实后重新提交| |45 |C500012| 代收协议参数有误 |提交参数有误,请核实后重新提交| |46 |C500013| 单笔/日限额超限 || |47 |C500014| 未找到合适的通道 |未找到合适的通道| |48 |C500015| 卡余额不足,请更换支付方式 |卡余额不足,请更换支付方式| |49| C500016| 用户账户状态异常 |用户账户状态异常,请核实后重试| |50 |C500017 |账户已销户,请联系银行 |账户已销户,请联系银行| |51 |C500018| 账户不存在 |账户不存在,请核实后重试| |52 |C500019| 无可用支付方式 |无可用支付方式| |53 |C500020| 商户未开通此权限,请核实后重试| 商户未开通此权限,请核实后重试| |54 |C500021| 交易无相关商户号或会员号信息 || |55 |C500022| 卡余额不足出现次数过多,请3个小时后再试| 卡余额不足出现次数过多,请4个小时后再试| |56 |C500023| 卡状态异常,请核对后重新输入或者更换支付方式 |卡状态异常,请核对后重新输入或者更换支付方式| |57 |C500024| 交易无相关商户号或会员号信息| 提交参数有误,请核实后重新提交| |58 |C500025| 退款失败,请核实后重新发起 |退款失败,请核实后重新发起| |59 |C500026| 退款金额大于原支付金额,请核实后更换退款单号重新发起退款 |退款金额大于原支付金额,请核实后更换退款单号重新发起退款| |60| C500027| 交易总金额超出范围 |交易总金额超出范围| |61 |C500028| 用户状态错误 |用户状态错误,请联系我方技术人员| |62 |C500029| 输入参数有错误 |提交参数有误,请核实后重新提交| |63 |C500030| 交易金额不正确 |提交参数有误,请核实后重新提交| |64 |C500031| 交易卡号不正确 |提交参数有误,请核实后重新提交| |65 |C500032| 交易验证码不正确 |提交参数有误,请核实后重新提交| |66 |C500033| 交易不存在 |交易不存在,请重试| |67 |C500034| 原交易不允许此操作 || |68 |C500035| 银行接口超时,请等异步通知或发起查询来确认订单状态| 银行接口超时,请等异步通知或发起查询来确认订单状态| |69 |C500036| 手机号有误,请联系发卡行核实预留手机号 |手机号有误,请联系发卡行核实预留手机号| |70 |C500037| 银行签约证件号校验失败 |银行签约证件号校验失败,请核实后重试| |71 |C500038| 超过用户设置的支付金额限制,请更换支付方式或者联系发卡行客服 |超过用户设置的支付金额限制,请更换支付方式或者联系发卡行客服| |72 |C500039| 密码错误或卡交易失败次数超限,请联系发卡行客服或隔日再试 |密码错误或卡交易失败次数超限,请联系发卡行客服或隔日再试| |73 |C500040| 该卡已签约,请联系我方技术人员| 该卡已签约,请联系我方技术人员| |74 |C500041| 短信验证码输入错误超限 |短信验证码输入错误超限| |75 |C500042| 超过商户累计金额限制 |超过商户累计金额限制| |76 |C500043| 卡号有误,请核实后重新输入 |卡号有误,请核实后重新输入| |77 |C500044| 银行卡签约信息校验失败 |银行卡签约信息校验失败| |78 |C500045| 发送短信失败,请重新获取短信验证码 |发送短信失败,请重新获取短信验证码| |79 |C500046| 该卡交易受限,请更换支付方式或者联系发卡行客服 |该卡交易受限,请更换支付方式或者联系发卡行客服| |80 |C500047| 支付金额受限 |支付金额受限| |81 |C500048| 账户类型不支持,请联系我方技术人员 |账户类型不支持,请联系我方技术人员| |82 |C500049| 账户信息(如卡号、证件号、手机号、姓名)有误或未开通网上值功能,请核对后重新输入 |账户信息(如卡号、证件号、手机号、姓名)有误或未开通网上值功能,请核对后重新输入| |83 |C500050| 未开通个人网银,请到银行网点开通或联系发卡行客服 |未开通个人网银,请到银行网点开通或联系发卡行客服| |84 |C500051| 工行E支付日累计金额超限,可至银行网点申请调额 |工行E支付日累计金额超限,可至银行网点申请调额| |85 |C500052| 未找到签约信息 |#| |86 |C500053| 信用卡有效期有误,请核对后重新输入 |信用卡有效期有误,请核对后重新输入| |87 |C500054| 工行E支付单笔金额超限,可至银行网点申请调额| 工行E支付单笔金额超限,可至银行网点申请调额| |88 |C500055| 卡状态有误,请更换支付方式或联系发卡行客服 |卡状态有误,请更换支付方式或联系发卡行客服| |89 |C500056| 请核实卡有效期,若无误请联系发卡行客服 |请核实卡有效期,若无误请联系发卡行客服| |90 |C500057| 数据库操作异常 |系统异常,请使用相同参数重新调用接口或联系我方技术人员| |91 |C500058| 未知错误异常 |系统异常,请使用相同参数重新调用接口或联系我方技术人员| |92 |C500059| 协议来源不能为空 |提交参数有误,请核实后重新提交| |93 |C500060| 协议描述不能为空| 提交参数有误,请核实后重新提交| |94 |C500061| 请求时间不能为空| 提交参数有误,请核实后重新提交| |95 |C500062| 支付工具不能为空 |提交参数有误,请核实后重新提交| |96| C500063| 模版编号不能为空 |提交参数有误,请核实后重新提交| |97 |C500064| 模版编号不正确 |提交参数有误,请核实后重新提交| |98 |C500065| 入款会员不能为空 |提交参数有误,请核实后重新提交| |99 |C500066| 出款会员不能为空 |提交参数有误,请核实后重新提交| |100| C500067| 出款会员无对应出款账户 |提交参数有误,请核实后重新提交| |101| C500068| 银行卡信息不能为空 |提交参数有误,请核实后重新提交| |102| C500069| 银行卡类型不能为空 |提交参数有误,请核实后重新提交| |103| C500070| 持卡人信息不能为空 |提交参数有误,请核实后重新提交| |104| C500071| 银行账户类型不能为空 |提交参数有误,请核实后重新提交| |105| C500072| 卡有效期不能为空 |提交参数有误,请核实后重新提交| |106| C500073| 持卡人姓名不能为空 |提交参数有误,请核实后重新提交| |107| C500074| 持卡人证件类型不能为空 |提交参数有误,请核实后重新提交| |108| C500075| 持卡人证件号不能为空 |提交参数有误,请核实后重新提交| |109| C500076| 持卡人手机号不能为空 |提交参数有误,请核实后重新提交| |110| C500077| 入款会员信息有误 |提交参数有误,请核实后重新提交| |111| C500078| 出款会员信息有误 |提交参数有误,请核实后重新提交| |112| C500079| 提交会员号信息有误 |提交参数有误,请核实后重新提交| |113| C500080| 重复的请求号 |提交参数有误,请核实后重新提交| |114| C500081| 协议号不能为空 |提交参数有误,请核实后重新提交| |115| C500082| 无对应的协议 |提交参数有误,请核实后重新提交| |116| C500083| 不支持的支付工具 |提交参数有误,请核实后重新提交| |117| C500084| 会员号不能为空 |提交参数有误,请核实后重新提交| |118| C500085| 会员号信息有误 |提交参数有误,请核实后重新提交| |119| C500086| 银行编码不能为空 |提交参数有误,请核实后重新提交| |120| C500087| 银行账户号不能为空 |提交参数有误,请核实后重新提交| |121| C500088| 银行账户名称不能为空 |提交参数有误,请核实后重新提交| |122| C500089| 会员校验异常 |提交参数有误,请核实后重新提交| |123| C500090| 会员号超过有效长度 |提交参数有误,请核实后重新提交| |124| C500091| 请求号超过有效长度 |提交参数有误,请核实后重新提交| |125| C500092| 协议来源超过有效长度 |提交参数有误,请核实后重新提交| |126| C500093| 协议描述超过有效长度 |提交参数有误,请核实后重新提交| |127| C500094| 协议已经签约 |协议已经签约,请重试| |128| C500095| 调用支付中心签约异常 |系统异常,请使用相同参数重新调用接口| |129| C500096| 管理系统操作已解约 |提交参数有误,请核实后重新提交| |130| C500097| 入款会员操作已解约 |提交参数有误,请核实后重新提交| |131| C500098| 出款会员操作已解约 |提交参数有误,请核实后重新提交| |132| C500099| 调用清算服务清算接口异常 |系统异常,请使用相同参数重新调用接口| |133| C500100| 支付时金额为空 |提交参数有误,请核实后重新提交| |134| C500101| 不支持当前请求支付工具的支付 |提交参数有误,请核实后重新提交| |135| C500102| 调用老退款服务退款接口异常 |系统异常,请使用相同参数重新调用接口| |136| C500103| 交易已关闭不能支付 |交易已关闭不能支付| |137| C500104| 交易已成功不能支付 |交易已成功不能支付| |138| C500105| 尚未匹配映射错误码 |提交参数有误,请核实后重新提交| |139| C500106| 卡id信息有误 |卡id信息有误,请确认后重试| |140| C500107| 根据卡id未查询到卡详细信息 |根据卡id未查询到卡详细信息,请核实后重试| |141| C500108| 超过银行单日支付总额限制,请明天再试| 超过银行单日支付总额限制,请明天再试| |142| C500109| 调用金融渠道超时,请等待异步通知或调用交易查询接口获取交易状态 |调用金融渠道超时,请等待异步通知或调用交易查询接口获取交易状态| |143| C500110 |协议状态不是成功状态 |协议状态不是成功状态| |144| C500111 |操作过于频繁,请稍后再试 |操作过于频繁,请稍后再试| |145| C500112 |银行系统繁忙,请等异步通知或发起查询确认订单状态 |银行系统繁忙,请等异步通知或发起查询确认订单状态| |146| C500113 |请核对卡信息和卡状态,若无误请更换支付方式或联系发卡行客服 |请核对卡信息和卡状态,若无误请更换支付方式或联系发卡行客服| |147| C500114 |银行系统超时,请联系我方技术人员 |银行系统超时,请联系我方技术人员| |148| C500115 |银行不支持本次交易,请联系我方技术人员 |银行不支持本次交易,请联系我方技术人员| |149| C500115 |银行不支持本次交易,请联系我方技术人员 |银行不支持本次交易,请联系我方技术人员| |150| C500116 |原扣款单号已扣款成功,请勿重复提交 |原扣款单号已扣款成功,请勿重复提交| |151| C500117 |银行处理中,请等异步通知或发起查询确认订单状态 |银行处理中,请等异步通知或发起查询确认订单状态| |152| C500118 |银行返回异常,请联系我方技术人员 |银行返回异常,请联系我方技术人员| |153| C500119 |银行通讯异常,请等异步通知或者发起查询获取订单状态 |银行通讯异常,请等异步通知或者发起查询获取订单状态| |154| C500120 |超过银行单日最大支付次数限制,请明天再试| 超过银行单日最大支付次数限制,请明天再试| |155| C500121 |本次退款受限,请联系我方技术人员 |本次退款受限,请联系我方技术人员| |156| C500122 |超过银行单月支付笔数限制 |超过银行单月支付笔数限制| |157| C500123 |超过银行单月累计支付限额| 超过银行单月累计支付限额| |158| C500124 |超过银行月累计笔数限制| 超过银行月累计笔数限制| |159| C500125 |超过银行日累计支付笔数限制,请明天重试或联系发卡行客服 |超过银行日累计支付笔数限制,请明天重试或联系发卡行客服| |160| C500126 |商户信息异常,请联系我方技术人员 |商户信息异常,请联系我方技术人员| |161| C500127 |调用银行接口超时,请等异步通知或发起查询来确认订单状态 |调用银行接口超时,请等异步通知或发起查询来确认订单状态| |162| C500128 |商户信息异常,请联系我方技术人员 |商户信息异常,请联系我方技术人员| |163| C500129 |未开通短信通知功能,请到银行网点开通或联系发卡行客服 |未开通短信通知功能,请到银行网点开通或联系发卡行客服| |164| C500130 |未开通及时语短信服务功能,请到银行网点开通或联系发卡行客服| 未开通及时语短信服务功能,请到银行网点开通或联系发卡行客服| |165| C500131 |该卡快捷支付功能已关闭,请至银行网点开通或者联系发卡行客服 |该卡快捷支付功能已关闭,请至银行网点开通或者联系发卡行客服| |166| C500132 |该卡未开通工行E支付,请联系发卡行客服或至银行网点开通| 该卡未开通工行E支付,请联系发卡行客服或至银行网点开通| |167| C500133 |单笔/日限额超限 |单笔/日限额超限| |168| C500134 |银行卡号未开通快捷业务,请联系我方技术确认 |银行卡号未开通快捷业务,请联系我方技术确认| |169| C500135 |当前交易不允许此操作 |提交参数有误,请核实后重新提交| |170| C500136 |出款二级商户号有误 |提交参数有误,请核实后重新提交| |171| C500137 |入款二级商户号有误 |提交参数有误,请核实后重新提交| |172| C500138 |两方协议不能解约,请联系我方技术| 两方协议不能解约,请联系我方技术| |173| C500139 |交易受限 |交易受限| |174| C500140 |未找到快捷协议号,请重新签约 |未找到快捷协议号,请重新签约| 5)返回密文串样例: ``` { "success":"当调用成功时返回true", "errCode":"调用失败时返回错误原因代码" "errCodeDes":"错误描述" "merchantNo":"110047938", "cipherJson:"这里的值是返回明文串加密得到的值", "sign":"这里的值是对返回明文串按照ASCII正序排序后加盐, 再用md5加签得到的值" } ``` 6)解密cipherJson字段后 注意:请先对明文验签成功再解析业务内容 ``` { "resultCode":"请先判断此字段返回值,再根据业务需要进行相应处理", "errCode":"业务处理异常时的错误代码", "errCodeDes":"业务处理异常时的详细描述", "merchantNo":"22318136", "outTradeNo":"110047938000000000", "tradeNo":"110047938000000000", "payFinishTime":"20180211165446", "currency":"RMB" "amount":"1" "payableAmount":"1" "piType":"JDPAY" "subTradeType":"SALE" "deadlineTime":"20180212165400" "tradeTime":"20180211165400" } ```