消费退款

接口描述

该接口用于三方app调用发起消费退款,支持银行卡、扫码交易退款。支持部分退款,退款支持180天内交易退款。

接入方式

PnrTransListener listener = new PnrTransListener() {
        @Override
        public void onResult(String response) {
                Timber.d("交易结果:" + response);
        }
};
JsonObject jsonData = new JsonObject();
jsonData.addProperty(PnrRequestKey.KEY_INTERFACE_TYPE, InterfaceType.Trans.IT_REFUND);
PnrService.getInstance(mContext).doTrans(jsonData.toString(), listener);

请求参数

  • listener 为结果监听,不能为空;
    onResult(String response) 为结果回调, response 为json串,值参见 返回结果
  • jsonData 为json字符串。
    其内的字段说明如下:
字段名称 中文描述 数据类型 要求 说明
interfaceType 接口类型 String M 接口类型,消费退款接口固定值为 InterfaceType.Trans.IT_REFUND (refund)
channelId 支付渠道 String M 固定取值(银行卡:acquire, 扫一扫:scan, 付款码:qrcode)
ordAmt 退款金额 String M 12位以内数字,单位为分
oriTermOrdId 原终端订单号 String O oriTermOrdId和oriOutOrderId必传一个, 对应原交易返回的termOrdId
oriOutOrderId 原三方订单号 String O oriTermOrdId和oriOutOrderId必传一个,对应原交易返回的outOrdId(扫码交易不支持此字段)
outOrdId 外部订单号 String O 非汇付内部的订单号,即商户自定义订单号 (扫码交易变长1-50位,银行卡交易变长20-40位,参见 订单号规则建议
bgRetUrl 异步通知地址 String O URL中如带端口需在8000~9005范围内,否则无法通知;URL上请勿附带参数,长度不超过200;需要加virgo://前缀; 示例:virgo://http://xxxx.xxx.com/ads/callback
merPriv 商户私有域 String O 商户自己的参数
ordRemark 订单备注 String O 备注的内容(UTF-8格式,长度为45个字符)
outPrintData 自定义第三方打印数据 String O 可选,json串,参见 自定义打印
outPrintQrCode 自定义第三方打印二维码 String O 可选,此数据转成二维码并打印

返回结果

  • response 为json字符串。
    其内字段如下:
字段名称 中文描述 数据类型 要求 说明
responseCode 系统返回码 String M 参见 系统返回码
message 错误信息 String C 当返回码为非00时出现
merOrdId 订单号 String M 原交易的outOrdId不为空时则返回传入的outOrdId;否则返回收银台自动生成的订单号(终端订单号termOrdId)
当交易成功(responseCode=00)时,下面参数生效
transDate 交易日期 String M 8位,yyyyMMdd
transTime 交易时间 String M 6位,HHmmss
channelId 支付渠道 String M 银行卡:acquire 扫一扫:scan 付款码:qrcode
mobilePayType 支付方式 String C 扫一扫或付款码交易,此字段生效 (微信:W 支付宝:A 银联钱包:U)
ordAmt 交易金额 String M 单位:分
ordId 汇付交易流水号 String M 汇付生成的后台唯一标识
batchId 批次号 String O 6位
voucherNo 凭证号 String O 6位
refNo 参考号 String O 12位
bankName 银行名称 String O 仅银行卡交易此字段生效
cardType 借贷记标识 String O 仅银行卡交易此字段生效,C-信用卡, D-借记卡
payCardId 交易卡号 String O 仅银行卡交易此字段生效,格式为前6后4显示中间带掩码
authNo 授权号 String O 仅银行卡交易此字段生效
memberId 商户号 String M 汇付商户号
merName 商户名称 String O 汇付商户名称
deviceId 物理终端号 String M 汇付终端号
outOrdId 外部订单号 String C outOrdId对应传入的outOrdId
termOrdId 终端订单号 String M 终端收银台生成的订单号
oriOutOrderId 原外部订单号 String O 原消费交易外部订单号
oriTermOrdId 原终端订单号 String M 原消费交易终端订单号

Demo参考

Demo参考