付款码支付¶
文档说明¶
阅读对象¶
1、本规范的使用对象为服务商的技术开发人员、产品及业务。2、开发人员应该对post提交、json 格式、http/https传输、非对称秘钥和数据签名等有一定认识。
修订记录¶
2019-05-06:新增
相关术语¶
付款码支付:商家通过扫码设备,扫描用户出示的付款码完成收款(支持微信/支付宝/银联)。
接口规则¶
协议规则¶
1、接口调用方式为http post。2、数据传输使用json格式,编码使用utf-8,请求时存放json串的参数名为: jsonData,接口传递中文或含有特殊字符的参数时应URL Encoding,接口接收返回参数时应做URL Decoding。3、如果json请求串中值为null,则json串格式应为{“test”: “”}。4、接口的除merPriv字段之外,其他所有字段不应该包含特殊字符,如:“&”、”?”和”‘’”等。5、后台通知商户返回应答参数的规则:为了表示商户交易系统已经收到交易应答,商户必须在应答接收页面输出一段特殊的字符串,组成规则为:固定字符串RECV_ORD_ID_加上交易应答中某一指定字段,指定字段请见具体接口商户应答参数。
安全规范¶
1、为了保证数据传输过程中的数据真实性和完整性,我们需要对数据进行数字签名,在接收签名数据之后进行签名校验。2、详情请参见接口参数checkValue参数说明。3、checkValue生成规则:目前仅支持CFCA签名方式,checkValue生成方法请参考CFCA签名。简单示例:
HashMap<String , String> jsonDataMap = new HashMap<String , String>();
jsonDataMap.put("termOrdId" , "20180820020626985855");
jsonDataMap.put("memberId" , memberId);
jsonDataMap.put("ordAmt" , ordAmt);
jsonDataMap.put("authCode" , "134755413751742262");//二维码
jsonDataMap.put("goodsDesc" , URLEncoder.encode(goodsDesc , Constant.CHARSET_UTF8));
jsonDataMap.put("merPriv" , "{\"Ic\":\"2253425259\",\"merNoticeUrl\":\"http://172.31.13.182:38087/site/testHttp/testB/\",\"callType\":\"04\"}");
jsonDataMap.put("apiVersion" , apiVersion);
String jsonData = JSON.toJSONString(jsonDataMap);
// CFCA 签名
String checkValue = CFCASignature.signature("100001.pfx","888888", jsonData, "UTF-8").getSign();
补单机制¶
交易结果以异步通知机制为准,也可以主动调用二维码订单查询接口查询交易相关信息。1、Virgo需要回调方返回一个应答,应答内容为RECV_ORD_ID_+请求唯一ID,如果不是 则virgo发送状态为失败,但不会重试,失败原因为:NO_RECV_ORD_ID。2、Virgo请求HTTP或HTTPS,默认超时时间为5秒,超时后会重试3次。3、Virgo对请求应答不是200~300之间的错误,会默认重试3次。4、Virgo请求对HTTPS不认证验签和ALLOW_ALL_HOSTNAME_VERIFIER。5、POSTDATA建议对中文进行编码处理,以免导致服务端乱码问题。6、一般情况下发生商户URL无法应答,请确认URL是否正确,可以在浏览器上先运行一下,确保能正常访问。7、Virgo默认使用ISO-8895-1编码来进行post请求的,如果直接用中文进行发送,请选择指定的编码参数postCharSet。
人脸支付获取调用凭证¶
流程¶
- 首先:
- 然后用返回的:
- 在微信官网获取face_code:
- 用face_code汇付官方调付款码的接口:
人脸支付获取调用凭证¶
输入参数¶
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
traceNo | 交易跟踪号 | String | 非必填 | 可空,用于日志记录的跟踪号 | |
jsonData | json数据 | String | 必填 | ||
checkValue | 加签密文 | String | 必填 | CFCA加签方式 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
apiVersion | 接口版本号 | String( 20 ) | 必填 | 3.0.0.2 | |
reqSerialNum | 请求流水号 | String( 16 ) | 必填 | 由接入方生成且保证唯一 | |
payScene | 支付场景 | String(16) | 必填 | 枚举值:
01普通线下
02智慧餐饮
03校园零费率
04私立校园零费率
05线上
|
|
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
subAppid | 商户绑定的公众号
小程序 appid
(服务商模式)
|
String( 32 ) | 必填 | 商户在汇付入驻之后,绑定的公众号/小程序 appid | |
storeId | 门店编号 | String( 128 ) | 必填 | 门店编号, 由商户定义, 各门店唯一 | |
storeName | 门店名称 | String( 128 ) | 必填 | 门店名称,由商户定义(可用于展示) | |
deviceId | 终端设备编号 | String( 32 ) | 必填 | 终端设备编号,由商户定义 | |
rawdata | 初始化数据 | String(2048) | 必填 | 初始化数据。由微信人脸SDK的接口返回。
获取方式参见:
[获取数据 getWxpayfaceRawdata](#获取数据 getWxpayfaceRawdata)
即商户支付订单号,商户传入
|
|
now | 当前时间 | String( 10 ) | 必填 | 取当前时间,10位unix时间戳。 例如:1239878956 |
输出参数¶
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | respCode: “000000”
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | respDesc: “请求成功”
respCode的值为“000001”时,respDesc存放失败原因
|
|
checkValue | 加签密文 | String | 必填 | CFCA加签方式 | |
jsonData | Json字符串 | String | 必填 | jsonData数据,
内容见下方描述
|
|
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
reqSerialNum | 请求流水号 | String( 16 ) | 必填 | 由接入方生成且保证唯一 | |
bankChannelNo | 微信渠道号 | String( 64 ) | 非必填 | ||
payScene | 支付场景 | String(16) | 必填 | 枚举值:
01普通线下
02智慧餐饮
03校园零费率
04私立校园零费率
05线上
|
|
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
subAppid | 商户绑定的公众号
小程序 appid
(服务商模式)
|
String( 32 ) | 非必填 | 商户在汇付入驻之后,绑定的公众号/小程序 appid
通道接口返参的subAppid
|
|
subMchId | 子商户号 | String( 32 ) | 非必填 | 成功时会返回商户在微信的子商户号
通道接口返参的subMchId
|
|
appid | 机构服务商的appid | String( 32 ) | 非必填 | 成功时会返回汇付作为微信的机构服务商的appid
通道接口返参的appid
|
|
mchId | 机构服务商的mchId | String( 32 ) | 非必填 | 成功时会返回汇付作为微信的机构服务商的mchId
通道接口返参的mchId
|
|
authinfo | SDK调用凭证 | String(4096) | 非必填 | 用于调用SDK的人脸识别接口。
参见[人脸识别 getWxpayfaceCode](#人脸识别 getWxpayfaceCode)
|
|
expiresIn | authinfo的有效时间 | String( 32 ) | 非必填 | authinfo的有效时间, 单位秒。 例如: 3600。
在有效时间内, 对于同一台终端设备,
相同的参数的前提下(如:相同的公众号、商户号、 门店编号等),
可以用同一个authinfo,多次调用SDK的getWxpayfaceCode接口。
成功时会返回
|
付款码支付¶
场景介绍¶
商家通过扫码设备,扫描用户出示的付款码完成收款(支持微信/支付宝/银联)。
功能描述¶
服务商通过调用以下接口进行付款码支付相关业务。1、被扫接口:该接口用于扫码支付(支持微信/支付宝/银联)由用户提供二维码供商家扫描收款。2、二维码退款接口:当商户需要退款时,可由服务商调用此接口进行退款申请。说明:A、接口返回成功仅表示退款申请受理成功,资金到账时间依赖于银行,通常3到7个工作日内到账,用户会收到退款。B、当日商户在汇付的账户的余额小于退货金额时,退款申请不会成功,建议退款前保证账户余额充足。3、二维码订单查询:服务商可通过此接口对交易结果未知的支付交易、退款交易发起交易查询。说明:正向交易,可支持通过outTransId(微信、支付宝的商户单号)、partyOrderId(微信、支付宝的订单号)、termOrdId(商户订单号)来进行查询4、交易结果异步通知商户:调用支付、退款、撤销接口时,商户若在merPriv字段上传了merNoticeUrl(交易结果通知地址)信息时,平台会将交易结果以此接口报文形式推送到merNoticeUrl指定的地址上。说明:目前是在短时间内接连重发3次(机制正在优化,后续将调整为以一定的时间间隔进行重发,间隔的时间会逐渐增加 如3秒、6秒、9秒)。获取用户标识:目前只支持银联JS和微信被扫,该接口用于获取用户标识。当为银联JS时,由商家提供H5页面供用户授权,使用银联返回的用户授权码通过此接口获取用户标识。当为微信被扫时,由服务商提供接口,上送微信付款码,此接口不会进行扣款操作,通过此接口获取用户标识。5、关单接口:用于对超过1分钟还未支付的订单进行关闭操作。此接口目前只支持微信和支付宝,不支持银联二维码,发起关单操作的订单必须距离发起下单操作60S以上。发起关单时,若收到transStat为S,respCode非000000,商户应该再次通过查询接口获取交易成功的支付信息详情。
业务流程¶
在用户出示二维码,商户通过扫码枪等输入设备读取用户二维码/条形码进行支付的场景下,商户可通过此接口上传读取的二维码/条形码信息进行支付。1、免密支付流程:2、免密支付流程:
API列表¶
被扫接口¶
输入参数¶
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 | |
jsonData | json数据 | String | 必填 | |||
checkValue | 加签密文 | String | 必填 | |||
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 | |
accSplitBunch | 分账串 | String( 4000 ) | 非必填 | 分账说明 divRate:分账金额单位(元)
memberId:商户号
feeMemberId:手续费承担方商户ID
divCusCount:分账条目总数 例:
{“divCusCount”:”2”,”feeMemberId”: “0001”,”acctInfos”:
[{“divRate”:”0.09”,”memberId”:”030147446000014894”},
{“divRate”:”0.91”,”memberId”:”030147446000014894”}]}
|
||
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
||
appId | 微信分配的子商户
公众账号ID
|
String( 32 ) | 非必填 | 用户在子商户appid下的唯一标志 | ||
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | ||
ordAmt | 订单金额 | String( 16 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
||
authCode | 扫码设备读出的
条形码或
者二维码信息
|
String( 128 ) | 必填 | |||
apiVersion | 接口版本号 | String( 7 ) | 必填 | 3.0.0.2 | ||
merPriv | 商户私有域 | String( 1500 ) | 非必填 |
|
||
goodsDesc | 商品名称 | String( 127 ) | 必填 | UrlEncode进行编码,
如:%E6%B5%8B%E8%AF
|
||
timeExpire | 订单过期时间 | String( 14 ) | 非必填 | 订单失效时间,超过此时
间限制之后该笔订单将无法进行支
付,失效时间与订单创建时间之间
的间隔应大于60S,
yyyyMMddHHmmss格式
|
||
remark | 备注 | String( 45 ) | 非必填 | 超出长度会导致交易失败,
败,UrlEncode进行编码,
如:%E6%B5%8B%E8%AF
|
||
isDelayAcct | 延迟标识 | String( 1 ) | 非必填 | 值为1时,该笔交易为延迟交易。 | ||
limitPay | 信用卡支付限制 | String( 1 ) | 非必填 | 值为1时禁止使用信用卡支付 | ||
promotionDetail | 优惠明细 | String | 非必填 | Json格式 | ||
promotion
Detail
|
detail | 商品详情 | String(6000) | 非必填 | Json格式 对于使用单品优惠的商户,
该字段必须按照规范上传。
|
|
detail | costPrice | 订单原价 | String (14) | 非必填 | 单位元,需保留小数点后两位,例如: 1.00, 最低传入0.01
|
|
receiptId | 商品小票ID | String(32) | 非必填 | 基站信息:lc(非必填,注意若位
|
||
goodsDetail | 单品列表 | String | 非必填 | 条件必填;商品详情detail不为
空时必填;单品信息,使用Json数组格式提交
|
||
goodsDetail | goodsId | 商品编码 | String(32) | 非必填 | 条件必填;商品详情detail不为空时必填;
|
|
channelGoodsId | 通道侧商品编码 | String(32) | 非必填 | 非必填 | ||
goodsName | 商品名称 | String(256) | 非必填 | 条件必填;商品详情detail不为空时必填; | ||
quantity | 商品数量 | String (12) | 非必填 | 条件必填;商品详情detail不为空时必填;需传入正整数 | ||
price | 商品单价 | String (12) | 非必填 | 条件必填;商品详情detail不为空时必填;
空时必填;需保留小数点后两位,
例如: 1.00, 最低传入0.01
|
输出参数¶
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000表示成功,
000199交易处理中,
000268状态未知需联系客服
其余表示失败( 详见错误返回码 )
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | ||
checkValue | 加签密文 | String | 必填 | ||
jsonData | Json字符串 | String | 必填 | jsonData数据,
内容见下方描述
|
|
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
ordId | 汇付订单号 | String( 32 ) | 非必填 | 同:orderId | |
openId | 用户在公众号
内的身份标识
|
String( 128 ) | 非必填 | 支付方式为微信,表示用户在
汇付appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
payChannelType | 支付方式 | String( 1 ) | 非必填 | 选项:
W:微信,
A:支付宝,
U 银联
|
|
subOpenId | 用户子标志,支
付宝是用户名
|
String( 128 ) | 非必填 | 支付方式为微信,表示用户在
子商户appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
outTransId | 微信、支付宝的
订单号
|
String( 128 ) | 非必填 | 微信付款界面条码,
见5.3订单号
|
|
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
merName | 商户名称 | String( 128 ) | 必填 | ||
transDate | 交易日期 | String( 8 ) | 非必填 | 交易发生日期,YYYYMMDD | |
transTime | 交易时间 | String( 6 ) | 非必填 | 交易发生时间,HHMMSS | |
ordAmt | 订单金额 | String( 14 ) | 非必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
merFee | 商户手续费 | String | 非必填( 14 ) | 单位元.例如:1.00 | |
bankCode | 银行返回码,
可空
|
String( 64 ) | 非必填 | 可忽略 | |
bankMessage | 银行返回描述,
可空
|
String( 256 ) | 非必填 | 可忽略 | |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
|
debitFlag | 借贷记标识 | String( 1 ) | 非必填 | 选项:
D –借记卡
C –贷记卡
O –其他
|
|
settlementAmt | 结算订单金额 | String(14) | 必填 | 单位元,保留小数点后两位例如:1.00
未使用免充值优惠券时,此金额与订单金额相等
使用了免充值优惠券时,此金额为订单金额
-免充值优惠券
|
|
bankType | 收单银行 | String( 128 ) | 非必填 | 具体参考双联银行对照表 | |
couponInfos | 优惠券信息 | 长度不定 | 非必填 | 优惠券信息,使用Json格 | |
endTime | 支付完成时间 | String( 14 ) | 非必填 | 字段格式为yyyyMMddHHmmss例如:20091225091010 |
List<CouponInfo>
couponInfos | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
couponId | 券ID | String( 32 ) | 非必填 | 券或者立减优惠id | |
couponName | 优惠名称 | String( 64 ) | 非必填 | 优惠名称 | |
couponRange | 优惠范围 | String( 32 ) | 非必填 | GLOBAL-全场代金券/SINGLE-单品优惠/折扣券 | |
couponType | 优惠类型 | String( 32 ) | 非必填 | COUPON-代金券,需要走结算资金的充值型代金券,
(境外商户券币种与支付币种一致)
DISCOUNT-优惠券,不走结算资金的免充值型优惠券,
(境外商户券币种与标价币种一致)
|
|
couponAmt | 优惠券面额 | String( 12 ) | 非必填 | 用户享受优惠的金额
(优惠券面额=微信出资金额+商家出资金额+其他出资方金额)
|
|
activeId | 活动ID | String( 32 ) | 非必填 | 在微信商户后台配置的批次ID | |
merchant
Contribute
|
商户出资 | String( 32 ) | 非必填 | 特指商户自己创建的优惠,
出资金额等于本项优惠总金额,单位为元
|
|
other
Contribute
|
其他出资 | String( 32 ) | 非必填 | 其他出资方金额, 可能是通道方,可能是品牌商,
或者其他方,也可能是他们的一起出资
|
|
goodsInfo | 单品信息 | Object | 非必填 | 单品信息,使用Json格式 | |
addnInfo | 银联字段内容自定义 | String( 100 ) | 非必填 | GLOBAL-全场代金券/SINGLE-单品优惠/折扣券 |
List<goodsInfo> goodsInfo
couponInfos | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
goodsCode | 商品编码 | String( 32 ) | 非必填 | 由半角的大小写字母、数字、中划线、
下划线中的一种或几种组成
|
|
goodsNote | 商品备注 | String( 256 ) | 非必填 | goods_remark为备注字段,按照配置原样返回
字段内容在微信后台配置券时进行设置
|
|
goodsDisAmt | 商品优惠金额 | String( 12 ) | 非必填 | 单品的总优惠金额,单位为:元 | |
goodsNum | 商品数量 | String( 12 ) | 非必填 | 用户购买的数量 | |
goodsAmt | 商品价格 | String( 12 ) | 非必填 | 单位为:元。如果商户有优惠,
优惠后的单价(例如:用户对一笔100元
的订单使用了商场发的纸质优惠券100-50
需传输商户则活动商品的单价应为原单价-50)
|
二维码订单查询¶
输入参数¶
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
jsonData | json数据 | String | 必填 | jsonData数据,内容见下方描述 | |
checkValue | 加签密文 | String | 必填 | apiVersion:1.0用sha256/2.0以上用cfca | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 条件必填( 退款交易必填 )
支付交易:
outTransId、partyOrderId、
termOrdId支付交易
的“商户订单号”
3选1
退款交易:
termOrdId
退款交易的“商户订
单号”
|
|
ordType | 订单类型 | String( 1 ) | 必填 | 1-支付订单2-退款订单 | |
apiVersion | 接口版本号 | String( 7 ) | 必填 | 3.0.0.2 | |
merOperId | 操作员号 | String(32) | 非必填 | pos机机具交易查询必填 | |
merPriv | 商户私有域 | String( 1500 ) | 非必填 | 商户扩展域、json串格
式。
终端传入分帐遇到优惠的处理规则:
termDivCouponType (非必填);
01 – 按比例分02 – 按顺序保障
03 –只给交易商户(默认)
异步通知地址:merNoticeUrl(非
必填);
基站信息:lc(非必填,注意若位
数不足则用空格补足:MCC( 3
位 )+MNC( 2位 )+LAC( 5
位)+CID( 5位 ))
外部调用标识:callType(非必填);
callType选项:
01 – 智能POS
02 – MPOS
03 – MPOS SDK
04 – 智能POS SDK
05 – 传统POS
06 – 扫码设备
99 – SAAS通道接入
花呗分期数:hbFqNum(最长5位,支付宝花呗
分期分期数,暂时只支持3、6、12)与hbFqS
ellerPercent同时传入
使用花呗分期卖家承担的手续费比例:
hbFqSellerPercent(最长3位 ,使用花呗,
分期需要卖家承担的手续费比例的百分值
传入续费比例的百分值
传入100代表100%,0代表用户承担,
暂时只支持0)
|
|
partyOrderId | 微信支付宝的商
户单号,
|
String( 128 ) | 非必填 | 正向订单
( 正扫、反扫、台
outTransId、
partyOrderId、
termOrdId 支付交易
的“商户订单号”
3选1
|
|
outTransId | 微信支付宝的订
单号,见7.3订
单号订单号
|
String( 128 ) | 非必填 | 正向订单
( 正扫、反扫、台
outTransId、
partyOrderId、
termOrdId 支付交易
的“商户订单号”
3选1
|
|
transDate | 原支付交易日期 | String( 8 ) | 必填 | 被查询的原交
易的日期,( 如果是退
货交易时,该日期为
退货交易发生的日
期 )格式:
YYYYMMDD
|
输出参数¶
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000表示成功,
其余表示失败( 详见错误返回
码 )
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | ||
checkValue | 加签密文 | String | 必填 | ||
jsonData | Json字符串 | String | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
merName | 商户名称 | String( 128 ) | 必填 | ||
merPriv | 商户扩展域 | String( 1500 ) | 必填 | Json格式字符串 | |
merFee | 商户手续费 | String( 14 ) | 必填 | 交易查询时为手续费,单笔订单退还的手续费单位元
需保留小数点后两位,例如:1.00
|
|
transStat | 交易状态 | String( 1 ) | 必填 | 选项:
I—初始
S—成功
F – 失败
P –处理中
|
|
ordId | 汇付订单号 | String( 20 ) | 必填 | 汇付生成的订单号 | |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
|
refAmt | 已退款金额 | String( 14 ) | 非必填 | 累计退款金额,单位元
需保留小数点后两位,例如:1.00
|
|
acctStat | 账务状态 | String( 1 ) | 必填 | 选项:
I—初始
P –处理中
S—成功
R— 回滚
F – 失败
|
|
payType | 支付方式 | String( 2 ) | 必填 | 选项:注意不同文档数据定义不同,请仔细核对使用
10 刷卡
20支付宝反扫
21支付宝正扫
22无机具支付宝正扫
23无机具支付宝反扫
30微信反扫
31微信正扫
32无机具微信正扫
33无机具微信反扫
34微信小程序支付
50银联带终端主扫
51银联带终端被扫
52 银联不带终端主扫
53银联不带终端被扫
|
|
transType | 交易类型 | String( 4 ) | 必填 | 选项:
1000( 消费 )
2030( 退货 )
|
|
transDate | 交易日期 | String( 8 ) | 必填 | 格式,YYYYMMDD | |
transTime | 交易时间 | String( 6 ) | 必填 | 同:sysTime,HHMMSS | |
transAmt | 订单金额 | String( 14 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
partyOrderId | 微信支付宝的商
户单号
|
String( 128 ) | 非必填 | ||
outTransId | 微信支付宝的订
单号
|
String( 128 ) | 非必填 | ||
traceId | 汇付全局流水号 | String | 可忽略 | ||
doubleLimit
Amt
|
小额双免金额
( 仅用于正向交
易 )
|
String | 可忽略 | ||
bankName | 银行名称 | String( 128 ) | 可忽略 | ||
openId | 用户标识 | String( 128 ) | 非必填 | 支付方式为微信,表示用户在
汇付appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
subOpenId | 用户子标识 | String( 128 ) | 非必填 | 支付方式为微信,表示用户在
子商户appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
transSeqId | 汇付后端交易流
水号
|
String( 128 ) | 非必填 | 可忽略 | |
debitFlag | 借贷记标识 | String( 1 ) | 非必填 | 选项:
D –借记卡
C –贷记卡
O –其他
|
|
bankType | 收单银行 | String( 128 ) | 非必填 | 具体参考
双联银行对照表
|
|
acctDate | 账务日期 | String( 8 ) | 非必填 | ||
bankCode | 通道返回码 | String( 64 ) | 非必填 | ordType 为2
且退款交易的
apiVersion为3.0.0.2
及以上时返回
|
|
bankMessage | 银行返回描述
|
String( 256 ) | 非必填 | ordType 为2
且退款交易的
apiVersion为3.0.0.2
及以上时返回
|
|
settlementAmt | 结算订单金额 | String(14) | 必填 | 单位元,保留小数点后两位例如:1.00
未使用免充值优惠券时,此金额与订单金额相等
使用了免充值优惠券时,此金额为订单金额
-免充值优惠券
|
|
couponInfos | 优惠券信息 | 长度不定 | 非必填 | 优惠券信息,使用Json格 | |
closeTrans
Status
|
关单状态 | String( 1 ) | 条件必填 | 选项:只在关单时显示
S—成功
F – 失败
P –处理中
|
|
endTime | 支付完成时间 | String( 14 ) | 非必填 | 字段格式为yyyyMMddHHmmss例如:20091225091010 | |
remark | 备注 | String( 45 ) | 非必填 | 超出长度会导致交易失败,UrlEncode进行编码,
如:%E6%B5%8B%E8%AF
|
List<CouponInfo>
couponInfos | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
couponId | 券ID | String( 32 ) | 非必填 | 券或者立减优惠id | |
couponName | 优惠名称 | String( 64 ) | 非必填 | 优惠名称 | |
couponRange | 优惠范围 | String( 32 ) | 非必填 | GLOBAL-全场代金券/SINGLE-单品优惠/折扣券 | |
couponType | 优惠类型 | String( 32 ) | 非必填 | COUPON-代金券,需要走结算资金的充值型代金券,
(境外商户券币种与支付币种一致)
DISCOUNT-优惠券,不走结算资金的免充值型优惠券,
(境外商户券币种与标价币种一致)
|
|
couponAmt | 优惠券面额 | String( 12 ) | 非必填 | 用户享受优惠的金额
(优惠券面额=微信出资金额+商家出资金额+其他出资方金额)
|
|
activeId | 活动ID | String( 32 ) | 非必填 | 在微信商户后台配置的批次ID | |
merchant
Contribute
|
商户出资 | String( 32 ) | 非必填 | 特指商户自己创建的优惠,
出资金额等于本项优惠总金额,单位为元
|
|
other
Contribute
|
其他出资 | String( 32 ) | 非必填 | 其他出资方金额, 可能是通道方,可能是品牌商,
或者其他方,也可能是他们的一起出资
|
|
goodsInfo | 单品信息 | Object | 非必填 | 单品信息,使用Json格式 | |
addnInfo | 银联字段内容自定义 | String( 100 ) | 非必填 | GLOBAL-全场代金券/SINGLE-单品优惠/折扣券 |
List<goodsInfo> goodsInfo
couponInfos | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
goodsCode | 商品编码 | String( 32 ) | 非必填 | 由半角的大小写字母、数字、中划线、
下划线中的一种或几种组成
|
|
goodsNote | 商品备注 | String( 256 ) | 非必填 | goods_remark为备注字段,按照配置原样返回
字段内容在微信后台配置券时进行设置
|
|
goodsDisAmt | 商品优惠金额 | String( 12 ) | 非必填 | 单品的总优惠金额,单位为:元 | |
goodsNum | 商品数量 | String( 12 ) | 非必填 | 用户购买的数量 | |
goodsAmt | 商品价格 | String( 12 ) | 非必填 | 单位为:元。如果商户有优惠,
优惠后的单价(例如:用户对一笔100元
的订单使用了商场发的纸质优惠券100-50
需传输商户则活动商品的单价应为原单价-50)
|
云上扫码增强型退款接口¶
实现一方承担手续费交易确认(包括全额确认和部分确认)后全额退款(包括分帐和不分帐),均摊手续费的交易确认(包括全额确认和部分确认)后全额和部分退款(包括分帐和不分帐),同时该接口兼容老退款接口/E1106功能。
https://nspos.cloudpnr.com/qrcp/refund/E1115
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
jsonData | json数据 | String | 必填 | jsonData数据,内容见下方描述 | |
checkValue | 加签密文 | String | 必填 | ||
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传
入时保证唯一
格式:数字+字母
ordId和orgTermOrdId必传一个
|
|
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
ordId | 原交易汇付订单号 | String( 20 ) | 非必填 | ordId和orgTermOrdId必传一个 | |
orgTermOrdId | 原交易商户订单号 | String( 1-50 ) | 非必填 | 即原支付交易商户订单号, | |
transDate | 原支付交易日期 | String( 8 ) | 必填 | YYYYMMDD | |
remark | 备注 | String( 90 ) | 非必填 | 退货原因,超出长度会导致退货失
败,UrlEncode进行编码,
如:%E6%B5%8B%E8%AF
|
|
apiVersion | 接口版本号 | String( 7 ) | 必填 | 2.0.0.1或3.0.0.2 apiVersion为2.0.0.1,
退款同步返回成功apiVersion为3.0.0.2及
以上时同步不再返回000000,
退款结果通过查询接口或异步通知接口
获取退到用户账上的最终实际结果
|
|
merPriv | 拓展域 | String( 1500 ) | 非必填 | 非必填;商户扩展域、json串格式。 | |
merNoticeUrl | 退款结果异
步通知地址
|
String( 512 ) | 非必填 | 退款结果异步通知地址。 | |
cashOutMode | 出金模式 | String( 2 ) | 非必填 | 退款申请时传入的出金模式,默认为:0,
选项:0:交易确认后从结算户出
1: 交易确认后从钱包户出
仅当订单进行过确认操作时,此参数有效
|
|
ordAmt | 退款金额 | String( 14 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
refundDetail | 退款商户明细 | Json数组 | 非必填 | 部份退款时传入,全额退款不用传
例如:一笔延迟交易的订单,金额100,已进行过“交易确认”,
确认金额20元,本次部分退款30元,那么所有参与退款的账户
需要分别注明各承担多少金额,请求参数如下:
{
……
“apiVersion”:” 3.0.0.2”,
“cashOutMode”: “0”,
“ordAmt”: “30”,
“refundDetail”: [
{
“memberId”: “A”,
“undertakeAmt”: “10”,
“confirmTermOrdId”: “”
},
{
“memberId “: “A”,
“undertakeAmt “: “20”,
“confirmTermOrdId “: “confirmTermOrdId00001”
}
]
}
refundDetail 中,各个明细的undertakeAmt 之和 = ordAmt(退款金额)
|
|
refundDetail | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
undertakeAmt | 承担金额 | String(14) | 条件必填 | confirmTermOrdId为空,表示订单未进行过“交易确认”,
undertakeAmt(承担金额),从延迟户出金
例如:一笔延迟交易的订单,金额100,未进行过“交易确认”,
本次部分退款10元(undertakeAmt = 10 )从延迟户出金。
confirmTermOrdId不为空,表示订单已进行过“交易确认”
在入参refundDetail里,根据cashOutMode指定的出金模式,
undertakeAmt(承担金额),优先从指定账户出金,
当指定的账户资金不足时,从另外的账户出金,都不足以完成退款,则退款失败
说明:如果从结算户出金(cashOutMode=0),
需要指定confirmTermOrdId,如果从延迟户出金(cashOutMode=1),
则confirmTermOrdId为空即可;
|
|
confirm
TermOrdId
|
原交易确认订单号 | String(1-50) | 非必填 | 如果是延时未确认的订单,可以不填。 |
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000表示成功apiVersion
为3.0.0.2及以上时同步不再
返回000000,3.0.0.2及以上时
退款结果通过查询接口或异步
通知接口获取退到用户账上的
最终实际结果
000199交易处理中
000268状态未知需联系客
服,
其余表示失败( 详见错误返回
码 )
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | ||
checkValue | 加签密文 | String | 必填 | ||
jsonData | Json字符串 | String | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
|
transDate | 申请退款日期 | String( 8 ) | 非必填 | 交易发生日期,YYYYMMDD | |
transTime | 申请退款时间 | String( 6 ) | 非必填 | 交易发生时间,HHMMSS | |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
merName | 商户名称 | String( 128 ) | 必填 | ||
orgOrdId | 原支付交易
汇付订单号
|
String( 32 ) | 必填 | ||
orgTermOrdId | 原交易商户订单号 | String( 1-50 ) | 必填 | 商户正向交易时传入的订单号 | |
orgRefAmtTotal | 原交易累积
已退还金额
|
String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefFee
AmtTotal
|
原交易累积
已退还手续费
|
String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefCnt | 原交易累积
已退款笔数
|
String( 3 ) | 必填 | 正整数 | |
refundStat | 退款状态 | String( 1 ) | 必填 | 选项:S—成功 F – 失败 P –处理中 | |
cashOutMode | 出金模式 | String( 2 ) | 非必填 | 退款申请时传入的出金模式,默认为:0,
选项:0:交易确认后从结算户出
1: 交易确认后从钱包户出
仅当订单进行过确认操作时,此参数有效
|
|
cashOutMode | 出金模式 | String( 2 ) | 非必填 | 0: 先从结算户出金 1:先从钱包户出金
默认 0:先结算户
|
|
refundAmt | 退款总金额 | String( 14 ) | 非必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
refundFeeAmt | 退款总手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
ordId | 退款订单号 | String( 32 ) | 非必填 | 受理退货之后,汇付生
成的退货订单号
|
|
bankCode | 通道返回码 | String( 64 ) | 非必填 | apiVersion为3.0.0.2
及以上时返回
|
|
bankMessage | 银行返回描述
可空
|
String( 256 ) | 非必填 | apiVersion为3.0.0.2及以上
时返回
|
|
refundDetail | 退款商户明细 | Json数组 | 非必填 | 部份退款时传入,全额退款不用传
例如:一笔延迟交易的订单,金额100,已进行过“交易确认”,
确认金额20元,本次部分退款30元,那么所有参与退款的账户
需要分别注明各承担多少金额,请求参数如下:
{
……
“apiVersion”:” 3.0.0.2”,
“cashOutMode”: “0”,
“ordAmt”: “30”,
“refundDetail”: [
{
“memberId”: “A”,
“undertakeAmt”: “10”,
“confirmTermOrdId”: “”
},
{
“memberId “: “A”,
“undertakeAmt “: “20”,
“confirmTermOrdId “: “confirmTermOrdId00001”
}
]
}
refundDetail 中,各个明细的undertakeAmt 之和 = ordAmt(退款金额)
|
|
refundDetail | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 扣款商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
undertakeAmt | 承担金额 | String(14) | 条件必填 | confirmTermOrdId为空,表示订单未进行过“交易确认”,
undertakeAmt(承担金额),从延迟户出金
例如:一笔延迟交易的订单,金额100,未进行过“交易确认”,
本次部分退款10元(undertakeAmt = 10 )从延迟户出金。
confirmTermOrdId不为空,表示订单已进行过“交易确认”
在入参refundDetail里,根据cashOutMode指定的出金模式,
undertakeAmt(承担金额),优先从指定账户出金,
当指定的账户资金不足时,从另外的账户出金,都不足以完成退款,则退款失败
说明:如果从结算户出金(cashOutMode=0),
需要指定confirmTermOrdId,如果从延迟户出金(cashOutMode=1),
则confirmTermOrdId为空即可;
|
|
undertake
AmtRefundFee
|
承担金额应退还
手续费
|
String(14) | 条件必填 | 退款金额中undertakeAmt所占部分退还的
手续费金额
|
|
confirm
TermOrdId
|
确认订单号 | Json数组 | 条件必填 | 每个退款商户的帐户扣款明细 | 金额部分的交易确认订单号 | |
acctDetail | 出金帐户明细 | Json数组 | Json数组 | 每个退款商户的帐户扣款明细 | |
acctDetail | acctType | 扣款账户类型 | String(2) | 条件必填 | 帐户类型:01:结算户02:钱包户
03:延时户04:充值户
|
acctAmt | 扣款金额 | String(14) | undertakeAmt在此类账户扣款的金额;
各扣款账户扣除金额之和等于undertakeAmt
|
云上扫码增强型退款查询接口¶
退款查询接口,用于退款结果查询
https://nspos.cloudpnr.com/qrcp/refundQuery
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
jsonData | json数据 | String | 必填 | jsonData数据,内容见下方描述 | |
checkValue | 加签密文 | String | 必填 | ||
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传
入时保证唯一
格式:数字+字母
ordId和orgTermOrdId必传一个
|
|
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
transDate | 原支付交易日期 | String( 8 ) | 必填 | YYYYMMDD | |
apiVersion | 接口版本号 | String( 7 ) | 必填 | 3.0.0.2 |
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000表示成功apiVersion
为3.0.0.2及以上时同步不再
返回000000,3.0.0.2及以上时
退款结果通过查询接口或异步
通知接口获取退到用户账上的
最终实际结果
000199交易处理中
000268状态未知需联系客
服,
其余表示失败( 详见错误返回
码 )
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | ||
checkValue | 加签密文 | String | 必填 | ||
jsonData | Json字符串 | String | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
|
ordId | 退款订单号 | String( 32 ) | 非必填 | 受理退货之后,汇付生
成的退货订单号
|
|
orgTermOrdId | 原交易商户订单号 | String( 1-50 ) | 必填 | 商户正向交易时传入的订单号 | |
orgOrdId | 原支付交易
汇付订单号
|
String( 32 ) | 必填 | 原支付交易汇付生成的订单号 | |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
merName | 商户名称 | String( 128 ) | 必填 | ||
transDate | 申请退款日期 | String( 8 ) | 非必填 | 交易发生日期,YYYYMMDD | |
transTime | 申请退款时间 | String( 6 ) | 非必填 | 交易发生时间,HHMMSS | |
refundAmt | 退款总金额 | String( 14 ) | 非必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
refundFeeAmt | 退款总手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
refundStat | 退款状态 | String( 1 ) | 必填 | 选项:S—成功 F – 失败 P –处理中 | |
orgOrdAmt | 原支付交易金额 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgFeeAmt | 原支付交易手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefAmtTotal | 原交易累积
已退还金额
|
String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefFee
AmtTotal
|
原交易累积
已退还手续费
|
String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefCnt | 原交易累积
已退款笔数
|
String( 3 ) | 必填 | 正整数 | |
bankCode | 通道返回码 | String( 64 ) | 非必填 | apiVersion为3.0.0.2
及以上时返回
|
|
bankMessage | 银行返回描述
可空
|
String( 256 ) | 非必填 | apiVersion为3.0.0.2及以上
时返回
|
|
feeSplitType | 手续费承担模式 | String( 1 ) | 非必填 | 该延时分账交易的手续费承担模式;
选项:0 – 一方承担1 – 平均分摊
|
|
cashOutMode | 出金模式 | String( 2 ) | 非必填 | 退款申请时传入的出金模式,默认为:0,
选项:0:交易确认后从结算户出
1: 交易确认后从钱包户出
仅当订单进行过确认操作时,此参数有效
|
|
refundDetail | 退款商户明细 | Json数组 | 非必填 | 部份退款时传入,全额退款不用传
例如:一笔延迟交易的订单,金额100,已进行过“交易确认”,
确认金额20元,本次部分退款30元,那么所有参与退款的账户
需要分别注明各承担多少金额,请求参数如下:
{
……
“apiVersion”:” 3.0.0.2”,
“cashOutMode”: “0”,
“ordAmt”: “30”,
“refundDetail”: [
{
“memberId”: “A”,
“undertakeAmt”: “10”,
“confirmTermOrdId”: “”
},
{
“memberId “: “A”,
“undertakeAmt “: “20”,
“confirmTermOrdId “: “confirmTermOrdId00001”
}
]
}
refundDetail 中,各个明细的undertakeAmt 之和 = ordAmt(退款金额)
|
|
refundDetail | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
undertakeAmt | 承担金额 | String(14) | 条件必填 | confirmTermOrdId为空,表示订单未进行过“交易确认”,
undertakeAmt(承担金额),从延迟户出金
例如:一笔延迟交易的订单,金额100,未进行过“交易确认”,
本次部分退款10元(undertakeAmt = 10 )从延迟户出金。
confirmTermOrdId不为空,表示订单已进行过“交易确认”
在入参refundDetail里,根据cashOutMode指定的出金模式,
undertakeAmt(承担金额),优先从指定账户出金,
当指定的账户资金不足时,从另外的账户出金,都不足以完成退款,则退款失败
说明:如果从结算户出金(cashOutMode=0),
需要指定confirmTermOrdId,如果从延迟户出金(cashOutMode=1),
则confirmTermOrdId为空即可;
|
|
undertake
AmtRefundFee
|
承担金额应退还
手续费
|
String(14) | 条件必填 | 退款金额中undertakeAmt所占部分退还的
手续费金额
|
|
confirm
TermOrdId
|
确认订单号 | Json数组 | 条件必填 | 每个退款商户的帐户扣款明细 | 金额部分的交易确认订单号 | |
acctDetail | 出金帐户明细 | Json数组 | Json数组 | 每个退款商户的帐户扣款明细 | |
acctDetail | acctType | 扣款账户类型 | String(2) | 条件必填 | 帐户类型:01:结算户02:钱包户
03:延时户04:充值户
|
acctAmt | 扣款金额 | String(14) | undertakeAmt在此类账户扣款的金额;
各扣款账户扣除金额之和等于undertakeAmt
|
云上扫码增强型退款异步通知商户¶
交易结果异步通知商户(延迟入账没有做交易确认按老接口返回)
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 示例:000000 – 成功其他
- 失败(详见错误返回码)
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | ||
checkValue | 加签密文 | String | 必填 | 对整个jsonData做签名 | |
jsonData | Json字符串 | String | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
|
ordId | 退款订单号 | String( 32 ) | 非必填 | 受理退货之后,汇付生
成的退货订单号
|
|
orgTermOrdId | 原交易商户订单号 | String( 1-50 ) | 必填 | 商户正向交易时传入的订单号 | |
orgOrdId | 原支付交易
汇付订单号
|
String( 32 ) | 必填 | 原支付交易汇付生成的订单号 | |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
merName | 商户名称 | String( 128 ) | 必填 | ||
agentId | 代理商号 | String( 18 ) | 选填 | 汇付分配的代理商号 | |
agentName | 代理商名称 | String( 128 ) | 选填 | 代理商名称 | |
bagentId | 渠道商号 | String(18) | 必填 | 汇付分配的渠道商号 | |
bagentName | 渠道商户名称 | String( 128 ) | 必填 | 渠道商名称 | |
payType | 支付类型 | String( 2 ) | 非必填 | 受理退货后返回
20支付宝反扫
21支付宝正扫
22无机具支付宝正扫
23无机具支付宝反扫
30微信反扫
31微信正扫
32无机具微信正扫
33无机具微信反扫
40 口碑
50银联带终端主扫 ·
51银联带终端被扫
52银联不带终端主扫
|
|
transDate | 申请退款日期 | String( 8 ) | 非必填 | 交易发生日期,YYYYMMDD | |
transTime | 申请退款时间 | String( 6 ) | 非必填 | 交易发生时间,HHMMSS | |
refundAmt | 退款总金额 | String( 14 ) | 非必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
refundFeeAmt | 退款总手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
refundStat | 退款状态 | String( 1 ) | 必填 | 选项:S—成功 F – 失败 P –处理中 | |
orgOrdAmt | 原支付交易金额 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgFeeAmt | 原支付交易手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefAmtTotal | 原交易累积
已退还金额
|
String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefFee
AmtTotal
|
原交易累积
已退还手续费
|
String( 14 ) | 必填 | 单位元,需保留小数点后两位,例如: 1.00 | |
orgRefCnt | 原交易累积
已退款笔数
|
String( 3 ) | 必填 | 正整数 | |
bankCode | 通道返回码 | String( 64 ) | 非必填 | apiVersion为3.0.0.2
及以上时返回
|
|
bankMessage | 银行返回描述
可空
|
String( 256 ) | 非必填 | apiVersion为3.0.0.2及以上
时返回
|
|
feeSplitType | 手续费承担模式 | String( 1 ) | 非必填 | 该延时分账交易的手续费承担模式;
选项:0 – 一方承担1 – 平均分摊
|
|
cashOutMode | 出金模式 | String( 2 ) | 非必填 | 退款申请时传入的出金模式,默认为:0,
选项:0:交易确认后从结算户出
1: 交易确认后从钱包户出
仅当订单进行过确认操作时,此参数有效
|
|
refundDetail | 退款商户明细 | Json数组 | 非必填 | 部份退款时传入,全额退款不用传
例如:一笔延迟交易的订单,金额100,已进行过“交易确认”,
确认金额20元,本次部分退款30元,那么所有参与退款的账户
需要分别注明各承担多少金额,请求参数如下:
{
……
“apiVersion”:” 3.0.0.2”,
“cashOutMode”: “0”,
“ordAmt”: “30”,
“refundDetail”: [
{
“memberId”: “A”,
“undertakeAmt”: “10”,
“confirmTermOrdId”: “”
},
{
“memberId “: “A”,
“undertakeAmt “: “20”,
“confirmTermOrdId “: “confirmTermOrdId00001”
}
]
}
refundDetail 中,各个明细的undertakeAmt 之和 = ordAmt(退款金额)
|
|
refundDetail | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
undertakeAmt | 承担金额 | String(14) | 条件必填 | confirmTermOrdId为空,表示订单未进行过“交易确认”,
undertakeAmt(承担金额),从延迟户出金
例如:一笔延迟交易的订单,金额100,未进行过“交易确认”,
本次部分退款10元(undertakeAmt = 10 )从延迟户出金。
confirmTermOrdId不为空,表示订单已进行过“交易确认”
在入参refundDetail里,根据cashOutMode指定的出金模式,
undertakeAmt(承担金额),优先从指定账户出金,
当指定的账户资金不足时,从另外的账户出金,都不足以完成退款,则退款失败
说明:如果从结算户出金(cashOutMode=0),
需要指定confirmTermOrdId,如果从延迟户出金(cashOutMode=1),
则confirmTermOrdId为空即可;
|
|
undertake
AmtRefundFee
|
承担金额应退还
手续费
|
String(14) | 条件必填 | 退款金额中undertakeAmt所占部分退还的
手续费金额
|
|
confirm
TermOrdId
|
确认订单号 | Json数组 | 条件必填 | 每个退款商户的帐户扣款明细 | 金额部分的交易确认订单号 | |
acctDetail | 出金帐户明细 | Json数组 | Json数组 | 每个退款商户的帐户扣款明细 | |
acctDetail | acctType | 扣款账户类型 | String(2) | 条件必填 | 帐户类型:01:结算户02:钱包户
03:延时户04:充值户
|
acctAmt | 扣款金额 | String(14) | undertakeAmt在此类账户扣款的金额;
各扣款账户扣除金额之和等于undertakeAmt
|
||
商户应答参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
固定字符串 | 商品订单号 | String | 必填 | RECV_ORD_ID_{ordId} |
交易结果异步通知商户¶
当apiversion不传或者版本在3.0.0.1之前( 不包含3.0.0.1版本 )时,异步通知报文格式如下¶
汇付输出 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
参数 | respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000交易成功
000095以及其他code时表示交
易失败( 详见错误返回码 )
|
respMsg | 返回码解释 | String( 256 ) | 非必填 | ||
transDate | 交易日期 | String( 8 ) | 必填 | 格式:yyyyMMdd,如:20180313 | |
transTime | 交易时间 | String( 6 ) | 必填 | 格式:hhmmss, 如:132800 | |
transType | 交易类型 | String( 4 ) | 必填 | 选项:
1000( 消费 )
1010( 预授权 )
1020( 预授权完成 )
2000( 消费撤销 )
2010( 预授权撤销 )
2020( 预授权完成撤销 )
2030( 消费退货 )
|
|
payType | 交易方式 | String( 2 ) | 必填 | 选项
10 -微信
20 -支付宝
30 -刷卡
40 -银联二维码
50 -云闪付
|
|
payTypeDetail | 交易类型补充参数 | String( 4 ) | 必填 | 选项:
1001-刷卡
1010-支付宝主扫
1011-支付宝被扫
1012-支付宝主扫无机具
1013-支付宝被扫无机具
1020-微信主扫
1021-微信被扫
1022-微信主扫无机具
1023-微信被扫无机具
1024-微信小程序
1031-银联主扫
1032-银联被扫
1033-银联主扫无机具
1034-银联被扫无机具
1040 云闪付
|
|
ordAmt | 交易金额 | String( 14 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
merFee | 手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
transStat | 交易状态 | String( 2 ) | 必填 | 选项 :S-成功;F-失败 | |
posTermId | 银联终端号 | String | 非必填 | 机具使用 | |
merchId | 商户号 | String( 18 ) | 必填 | 固定18位 ,汇付分配的商户号 | |
merchName | 商户名称 | String( 128 ) | 必填 | ||
agentId | 代理商号 | String( 18 ) | 必填 | 汇付分配的代理商号 | |
agentName | 代理商名称 | String( 128 ) | 必填 | ||
ordId | 平台订单号 | String( 32 ) | 必填 | 汇付订单号,调用撤销接口
或退货接口时必传,同cashOrdId
|
|
cashOrdId | 汇付订单号 | String( 32 ) | 必填 | 汇付订单号,调用撤销接口
或退货接口时必传,同ordId
不参与验签
|
|
pospSeqId | 凭证号 | String | 非必填 | 可忽略 | |
refNum | 银联参考号 | String | 非必填 | 可忽略 | |
merOrdId | 外部订单号 | String | 非必填 | 外部订单号outOrdId,
商户自有系统订单号
|
|
openBuyerId | 微信支付宝
的用户ID
|
String( 128 ) | 非必填 | 支付方式为微信,表示用户在
子商户appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
outTransId | 微信支付宝的
订单号
|
String( 128 ) | 非必填 | 微信或支付宝订单号,
见5.3订单号,不参与验签
|
|
partyOrderId | 微信、支付宝
条码号
|
String( 128 ) | 非必填 | 微信或支付宝条码号,
见5.3订单号,不参与验签
|
|
merPriv | 商户扩展域 | json | 非必填 | 同原交易 | |
debitFlag | 借贷记标识 | String( 1 ) | 非必填 | 选项:
D –借记卡
C –贷记卡
O –其他
不参与验签
( 对应云下接口文档中字段:
dcType )
|
|
openId | 用户标识 | String( 128 ) | 非必填 | 支付方式为微信,表示用户在
汇付appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
不参与验签
|
|
subOpenId | 用户子标识 | String( 128 ) | 非必填 | 支付方式为微信,表示用户在
子商户appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
不参与验签
|
|
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传
入时保证唯一
格式:数字+字母
不参与验签
|
|
settlementAmt | 结算订单金额 | String(14) | 必填 | 单位元,保留小数点后两位例如:1.00
未使用免充值优惠券时,此金额与订单金额相等
使用了免充值优惠券时,此金额为订单金额
-免充值优惠券
|
|
couponInfos | 优惠券信息 | 长度不定 | 非必填 | 优惠券信息,使用Json格 | |
bankType | 收单银行 | String( 128 ) | 非必填 | 具体参考9双联银行对照表
不参与验签
|
|
orgOrdId | 正向交易汇付单号 | String( 20 ) | 条件必填 | 仅在退款异步通知中,对应原正向
交易的汇付订单号ordId
|
|
orgTermOrdId | 正向交易商户单号 | String( 1-50 ) | 条件必填 | 仅在退款异步通知中,对应原正向
交易的商户订单号termOrdId
|
|
endTime | 支付完成时间 | String( 14 ) | 非必填 | 字段格式为yyyyMMddHHmmss例如:20091225091010 | |
isDelayAcct | 是否延时交易 | String( 1 ) | 非必填 | 1:延时交易 ; 0:非延时交易; | |
isDiv | 是否分账交易 | String( 1 ) | 非必填 | 1:分账交易 ; 0:非分账交易; | |
remark | 备注 | String( 45 ) | 非必填 | 超出长度会导致交易失败,UrlEncode进行编码,
如:%E6%B5%8B%E8%AF
|
|
joinFoodResult | 活动标志 | String( 2 ) | 非必填 | 是否参加线下活动标志:
1-蓝海绿洲
2-校园零费率
0-未参加活动或参加失败
|
|
商户应答参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
固定字符串 | 商品订单号 | String | 必填 | RECV_ORD_ID_{ordId} |
当apiversion为3.0.0.1及其以上版本时,报文格式如下¶
汇付输出 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
参数 | respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000-成功
其他- 失败( 详见错误返回码 )
|
respDesc | 返回描述 | String( 256 ) | 非必填 | ||
jsonData | json字符串 | String | 必填 | jsonData内容见下 | |
checkValue | 加签密文 | String | 必填 | 对整个jsonData做签名 | |
jsonData | transDate | 交易日期 | String( 8 ) | 必填 | 格式:yyyyMMdd,如:20180313 |
transTime | 交易时间 | String( 6 ) | 必填 | 格式:hhmmss, 如:132800 | |
transType | 交易类型 | String( 4 ) | 必填 | 选项:
1000( 消费 )
1010( 预授权 )
1020( 预授权完成 )
2000( 消费撤销 )
2010( 预授权撤销 )
2020( 预授权完成撤销 )
|
|
payType | 交易方式 | String( 2 ) | 必填 | 选项
10 -微信
20 -支付宝
30 -刷卡
40 -银联二维码
50 -云闪付
|
|
payTypeDetail | 交易类型补充参数 | String( 4 ) | 必填 | 选项:
1001-刷卡
1010-支付宝主扫
1011-支付宝被扫
1012-支付宝主扫无机具
1013-支付宝被扫无机具
1020-微信主扫
1021-微信被扫
1022-微信主扫无机具
1023-微信被扫无机具
1024-微信小程序
1031-银联主扫
1032-银联被扫
1033-银联主扫无机具
1034-银联被扫无机具
1040 云闪付
|
|
ordAmt | 交易金额 | String( 14 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
merFee | 手续费 | String( 14 ) | 必填 | 单位元,需保留小数点后两
位,例如: 1.00
|
|
transStat | 交易状态 | String( 2 ) | 必填 | S-成功;F-失败 | |
posTermId | 银联终端号 | String | 非必填 | 机具使用 | |
merchId | 商户号 | String( 18 ) | 必填 | 固定18位 ,汇付分配的商户号 | |
merchName | 商户名称 | String( 128 ) | 必填 | ||
agentId | 代理商号 | String( 18 ) | 必填 | 汇付分配的代理商号 | |
agentName | 代理商名称 | String( 128 ) | 必填 | ||
ordId | 平台订单号 | String( 20 ) | 必填 | 汇付订单号,调用撤销接口
或退货接口时必传,同cashOrdId
|
|
cashOrdId | 汇付订单号 | String( 20 ) | 必填 | 汇付订单号,调用撤销接口
或退货接口时必传,同ordId
|
|
pospSeqId | 凭证号 | String | 非必填 | 可忽略 | |
refNum | 银联参考号 | String | 非必填 | 可忽略 | |
merOrdId | 外部订单号 | String | 非必填 | 外部订单号outOrdId,
商户自有系统订单号
|
|
openBuyerId | 微信支付宝
的用户ID
|
String( 128 ) | 非必填 | 支付方式为微信,表示用户在
子商户appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
outTransId | 微信支付宝的
订单号
|
String( 128 ) | 非必填 | 微信或支付宝订单号,
见5.3订单号,
|
|
partyOrderId | 微信、支付宝
条码号
|
String( 128 ) | 非必填 | 微信或支付宝条码号,
见5.3订单号,
|
|
merPriv | 商户扩展域域 | json | 非必填 | 同原交易 | |
debitFlag | 借贷记标识 | String( 1 ) | 非必填 | 选项:
D –借记卡
C –贷记卡
O –其他
|
|
openId | 用户标识 | String( 128 ) | 非必填 | 支付方式为微信,表示用户在
汇付appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
subOpenId | 用户子标识 | String( 128 ) | 非必填 | 支付方式为微信,表示用户在
子商户appid下的用户标识;支付方式为支付宝
,表示买家支付宝账号
|
|
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传
入时保证唯一
格式:数字+字母
|
|
bankCode | 通道返回码 | String( 64 ) | 非必填 | 可忽略
非必填;apiVersion为3.0.0.2及以上
时返回
|
|
bankMessage | 通道返回描述 | String( 256 ) | 非必填 | 可忽略
非必填;apiVersion为3.0.0.2及以上
时返回
|
|
settlementAmt | 结算订单金额 | String(14) | 必填 | 单位元,保留小数点后两位例如:1.00
未使用免充值优惠券时,此金额与订单金额相等
使用了免充值优惠券时,此金额为订单金额
-免充值优惠券
|
|
couponInfos | 优惠券信息 | 长度不定 | 非必填 | 优惠券信息,使用Json格 | |
bankType | 收单银行 | String( 128 ) | 非必填 | 具体参考9双联银行对照表
|
|
orgOrdId | 正向交易汇付单号 | String( 20 ) | 条件必填 | 仅在退款异步通知中,对应原正向
交易的汇付订单号ordId
|
|
orgTermOrdId | 正向交易商户单号 | String( 1-50 ) | 条件必填 | 仅在退款异步通知中,对应原正向
交易的商户订单号termOrdId
|
|
endTime | 支付完成时间 | String( 14 ) | 非必填 | 字段格式为yyyyMMddHHmmss例如:20091225091010 | |
isDelayAcct | 是否延时交易 | String( 1 ) | 非必填 | 1:延时交易 ; 0:非延时交易; | |
isDiv | 是否分账交易 | String( 1 ) | 非必填 | 1:分账交易 ; 0:非分账交易; | |
remark | 备注 | String( 45 ) | 非必填 | 超出长度会导致交易失败,UrlEncode进行编码,
如:%E6%B5%8B%E8%AF
|
|
joinFoodResult | 活动标志 | String( 2 ) | 非必填 | 是否参加线下活动标志:
1-蓝海绿洲
2-校园零费率
0-未参加活动或参加失败
|
|
商户应答参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
固定字符串 | 商品订单号 | String | 必填 | RECV_ORD_ID_{ordId} |
List<CouponInfo>
couponInfos | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
couponId | 券ID | String( 32 ) | 非必填 | 券或者立减优惠id | |
couponName | 优惠名称 | String( 64 ) | 非必填 | 优惠名称 | |
couponRange | 优惠范围 | String( 32 ) | 非必填 | GLOBAL-全场代金券/SINGLE-单品优惠/折扣券 | |
couponType | 优惠类型 | String( 32 ) | 非必填 | COUPON-代金券,需要走结算资金的充值型代金券,
(境外商户券币种与支付币种一致)
DISCOUNT-优惠券,不走结算资金的免充值型优惠券,
(境外商户券币种与标价币种一致)
|
|
couponAmt | 优惠券面额 | String( 12 ) | 非必填 | 用户享受优惠的金额
(优惠券面额=微信出资金额+商家出资金额+其他出资方金额)
|
|
activeId | 活动ID | String( 32 ) | 非必填 | 在微信商户后台配置的批次ID | |
merchant
Contribute
|
商户出资 | String( 32 ) | 非必填 | 特指商户自己创建的优惠,
出资金额等于本项优惠总金额,单位为元
|
|
other
Contribute
|
其他出资 | String( 32 ) | 非必填 | 其他出资方金额, 可能是通道方,可能是品牌商,
或者其他方,也可能是他们的一起出资
|
|
goodsInfo | 单品信息 | Object | 非必填 | 单品信息,使用Json格式 | |
addnInfo | 银联字段内容自定义 | String( 100 ) | 非必填 | GLOBAL-全场代金券/SINGLE-单品优惠/折扣券 |
List<goodsInfo> goodsInfo
couponInfos | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
goodsCode | 商品编码 | String( 32 ) | 非必填 | 由半角的大小写字母、数字、中划线、
下划线中的一种或几种组成
|
|
goodsNote | 商品备注 | String( 256 ) | 非必填 | goods_remark为备注字段,按照配置原样返回
字段内容在微信后台配置券时进行设置
|
|
goodsDisAmt | 商品优惠金额 | String( 12 ) | 非必填 | 单品的总优惠金额,单位为:元 | |
goodsNum | 商品数量 | String( 12 ) | 非必填 | 用户购买的数量 | |
goodsAmt | 商品价格 | String( 12 ) | 非必填 | 单位为:元。如果商户有优惠,
优惠后的单价(例如:用户对一笔100元
的订单使用了商场发的纸质优惠券100-50
需传输商户则活动商品的单价应为原单价-50)
|
获取用户标识¶
输入参数¶
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
traceNo | 请求跟踪号 | String | 非必填 | 用于交易请求的跟踪号 | |
jsonData | json数据 | String | 必填 | ||
checkValue | 加签密文 | String | 必填 | ||
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 固定18位,汇付分配的商户号 | |
payChannelType | 支付方式 | String( 2 ) | 必填 | U1:银联,W0微信 | |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 订单号,商户传
时保证唯一
格式:数字+字母
|
|
userAuthCode | 银联为返回的
用户授权码
微信为用户付款码
|
String( 128 ) | 必填 | ||
appId | 微信分配的appId | String( 32 ) | 条件必填 | 微信时必填 | |
apiVersion | 接口版本号 | String( 7 ) | 必填 | 2.0.0.1 | |
merPriv | 商户私有域 | String( 1500 ) | 非必填 | 商户扩展域、json串格
式。
异步通知地址:merNoticeUrl(非
必填);
基站信息:lc(非必填,注意若位
数不足则用空格补足:MCC( 3
位 )+MNC( 2位 )+LAC( 5
位)+CID( 5位 ))
外部调用标识:callType(非必填);
callType选项:
01 – 智能POS
02 – MPOS
03 – MPOS SDK
04 – 智能POS SDK
05 – 传统POS
06 – 扫码设备
99 – SAAS通道接入
|
输出参数¶
输出参数 | 参数代码 | 参数名称 | 数据类型 | 数据类型 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 000000表示成功,
000199交易处理中
其余表示失败
|
|
respDesc | 返回文字说明 | String | 非必填 | ||
checkValue | 加签密文 | String | 必填 | ||
jsonData | Json字符串 | String | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
userId | 银联用户唯一标识 | String( 128 ) | 条件必填 | 银联时必填 | |
openId | 用户标识 | String( 128 ) | 条件必填 | 微信时必填 | |
subOpenId | 用户标识 | String( 128 ) | 条件必填 | 微信时必填 | |
orderId | 汇付系统的
支付订单号
|
String( 32 ) | 必填 | ||
merName | 商户名称 | String( 128 ) | 必填 | ||
bankCode | 银行返回码,可空 | String | 非必填 | 可忽略 | |
bankMessage | 银行返回描述,可空 | String | 非必填 | 可忽略 | |
outOrdId | 外部订单号 | String | 非必填 | 商户自有系统订单号 | |
transDate | 交易日期 | String( 8 ) | 非必填 | 交易发生日期,YYYYMMDD | |
transTime | 交易时间 | String( 6 ) | 非必填 | 交易发生时间,HHMMSS | |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,
商户传入时保证唯一
格式:数字+字母
|
|
memberId | 商户号 | String | 必填 | 必填,固定18位,汇付分配的商户号 | |
merPriv | 商户私有域 | String( 1500 ) | 非必填 | 商户扩展域、json串格
式。
异步通知地址:merNoticeUrl(非
必填);
基站信息:lc(非必填,注意若位
数不足则用空格补足:MCC( 3
位 )+MNC( 2位 )+LAC( 5
位)+CID( 5位 ))
外部调用标识:callType(非必填);
callType选项:
01 – 智能POS
02 – MPOS
03 – MPOS SDK
04 – 智能POS SDK
05 – 传统POS
06 – 扫码设备
99 – SAAS通道接入
|
|
payChannelType | 支付方式 | String | 非必填 | U 银联 |
关单接口¶
描述¶
用于对超过1分钟还未支付的订单进行关闭操作。此接口目前只支持微信和支付宝,不支持银联二维码,发起关单操作的订单必须距离发起下单操作60S以上。发起关单时,若收到transStat为S,respCode非000000,商户应该再次通过查询接口获取交易成功的支付信息详情
输入参数¶
输入参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
checkValue | 加签密文 | String | 必填 | Cfca方式验签 | |
jsonData | json | json | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String(18) | 必填 | 必填,会员号 | |
termOrdId | 商户订单号 | String(50) | 必填 | 商户支付订单号,商户传入时
保证唯一格式:数字+字母
|
|
transDate | 交易日期 | String(8) | 必填 | 格式,YYYYMMDD | |
apiVersion | 接口版本号 | String( 7 ) | 必填 | 3.0.0.1 |
输出参数¶
输出参数 | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
respCode | 返回码 | String( 6 ) | 必填 | 示例:
000000表示关单成功,
000199标识处理中,
其余表示失败( 详见错误返回码 )
|
|
respDesc | 返回文字说明 | String( 256 ) | 非必填 | ||
checkValue | 加签密文 | String | 必填 | ||
jsonData | Json字符串 | String | 必填 | jsonData数据,内容见下方描述 | |
JsonData | 参数代码 | 参数名称 | 数据类型 | 是否必填 | 参数说明 |
memberId | 商户号 | String( 18 ) | 必填 | 汇付分配的商户号 | |
termOrdId | 商户订单号 | String( 1-50 ) | 必填 | 即商户支付订单号,商户传入
时保证唯一
格式:数字+字母
|
|
transStat | 原交易状态 | String( 1 ) | 必填 | 选项:
I—初始
P –处理中
S—成功
F—失败
|
|
transDate | 原交易日期 | String( 8 ) | 非必填 | 原交易发生日期,YYYYMMDD | |
transTime | 原交易时间 | String( 6 ) | 非必填 | 原交易发生时间,HHMMSS |
错误码¶
错误码¶
常见错误码描述,如还未解决问题请及时联系专业技术支持人员。
错误码 描述 错误码 描述 错误码 描述
000000 操作成功 000098 请求参数非法 000267 接口获取状态与订单状态不符
000093 请求参数不规范 000097 数据库异常 000268 二维码反向交易超时
000094 重复交易 000234 订单生成失败 000272 订单查询,未查询到记录
000095 验签失败 000236 PA入账失败 000273 支付通道类型不为微信或者支付宝
000100 业务系统已关闭 000238 对象属性复制异常 000277 无此交易类型
000107 业务系统不存在 000240 冻结账务对象不存在,分账串解析为空 000278 无此交易记录
000202 订单已存在 000241 订单被风控拒绝,风控未通过 000279 退货失败,该笔订单非退货交易
000203 原订单不存在 000242 风控系统调用异常 000197 控台系统异常,网络繁忙
000204 撤销金额与原订单金额不一致 000243 撤销或退货失败,PA冻结超时 000281 交易处理中
000205 撤销日期与原订单日期不一致 000244 不存在该账务类型 000099 网络繁忙,请稍后再试
000206 撤销失败,账务状态异常 000245 分账串异常 000219 订单校验失败
000207 撤销失败,PA冻结失败 000250 退货失败,PA退款失败 000220 签名上送失败,订单未完成支付
000208 撤销失败,通道失败 000256 退货失败,PA冻结超时 000221 签名上传失败,已上传
000209 撤销失败,原订单未完成 000255 确认交易失败,账务状态异常 000213 退货失败,超出退货期限
000210 退货失败,原订单未完成 000257 确认交易失败,原订单未成功 000214 退货失败,PA冻结失败
000211 退货失败,账务状态异常 000258 确认交易失败,确认金额与原交易金额不一致 000215 退货失败,通道失败
000212 退货失败,超出可退货金额 000260 消费撤销发通道扣款超时 000261 消费退货发通道扣款超时
000199 二维码交易处理中 000198 二维码交易失败