营销转账

文档说明

阅读对象

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、商户进件。
2、需要联系汇付运营人员开通渠道商/代理商营销转账功能,出资方允许配置为商户的代理商/上级代理商、渠道商。
3、申请开通入账方商户的营销转账权限
4、调用接口对商户进行补贴。

API列表

营销转账权限申请

发布路径

https://nspos.chinapnr.com/nsposmweb/webB1449

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.1不超过7位

memberId

营销转账入账方

String(18)

必填

入账方商户号,对应营销转账接口
中的recipient字段
contributive
Party
营销渠道商
/代理商号

String(18)

必填

渠道商号或代理商户号(出资方)

isOpen

开通/关闭

String(1)

必填

1-开通 0-关闭

dayLimitAmt

日累计限额

String(20)

必填

暂支持10000(含10000)元以下的日累计金额申请

reqSerialNum

请求流水号

String(32)

必填

保证请求流水号的唯一性

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

000000表示成功,其余表示失败

respResp

返回描述

String(256)

非必填

000093 请求参数非法

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

applyNo

汇付请求流水号

String(18)

memberId

商户号

String(18)

status

状态

String(1)

F-失败
S-成功

营销转账接口

发布路径

https://nspos.chinapnr.com/nsposmweb/webB7015

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.1不超过7位

memSeqId

外部流水号

String(1-20)

必填

不超过20位

orderId

原交易订单号

String(32)

非必填

原交易的汇付订单号

memberId

营销转账发起方

String(18)

必填

调用接口方的会员号

contributive
Party
营销渠道商
/代理商号

String(18)

必填

渠道商号或代理商户号(出资方)

recipient

收单商户号
(发生交易的商户)

String(18)

必填

交易商户号(入账方)

transferAmt

转账金额

String(14)

必填

不超过14位,转账金额格式##.00,例如1.00,1.01

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

000000表示成功,其余表示失败

respResp

返回描述

String(256)

非必填

000093 请求参数非法

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

transId

汇付转账流水号

String(20)

必填

20位

memSeqId

外部流水号

String(1-20)

必填

不超过20位,外部流水号,透传

memberId

营销转账发起方

String(18)

必填

请求中调用接口的营销转账发起方会员号,透传

recipient

收单商户号
(发生交易的商户)

String(18)

必填

交易商户号(入账方)

transferAmt

转账金额

String(14)

必填

不超过14位,转账金额格式##.00,例如1.00,1.01

transferStat

转账结果

String(1)

必填

I—初始
P—处理中
S—成功
F—失败

transferMsg

转账描述

String(200)

非必填

转账描述信息

transferDate

转账日期

String( 8)

必填

8位,yyyyMMdd,如:20181225

营销转账查询接口

发布路径

https://nspos.chinapnr.com/nsposmweb/webB7014

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.1

memSeqId

外部流水号

String(1-20)

必填

不超过20位

memberId

营销转账发起方

String(18)

必填

调用接口方的会员号

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

000000表示成功,其余表示失败

respResp

返回描述

String(256)

非必填

000093 请求参数非法

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

transId

汇付转账流水号

String(20)

必填

20位

memSeqId

外部流水号

String(1-20)

必填

不超过20位,外部流水号,透传

memberId

营销转账发起方

String(18)

必填

请求中调用接口的营销转账发起方会员号,透传

recipient

收单商户号
(发生交易的商户)

String(18)

必填

交易商户号(入账方)

transferAmt

转账金额

String(14)

必填

不超过14位,转账金额格式##.00,例如1.00,1.01

transferStat

转账结果

String(1)

必填

I—初始
P—处理中
S—成功
F—失败

transferMsg

转账描述

String(200)

非必填

转账描述信息

transferDate

转账日期

String( 8)

必填

8位,yyyyMMdd,如:20181225

错误码

错误码

常见错误码描述,如还未解决问题请及时联系专业技术支持人员。
错误码 描述                               错误码 描述                                       错误码 描述
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 二维码交易失败

SDK与DEMO

说明

SDK和DEMO作为参考或示例,请服务商在使用过程中,要专业技术人员指导使用,注意系统兼容性。

Java版本

即将更新。

PHP版本

即将更新。