企业钱包

文档说明

阅读对象

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();

企业钱包

场景介绍

商户收款产生的资金,可通过转入钱包账户来叠加多种金融增值服务,如:购买理财产品、产生余额增值收益等。

功能描述

开通钱包功能后商户的自动结算功能将被关闭,每日交易额在D+1会结算到商户钱包余额,商户可手动提现。
取现时间限制:对公取现时间为每天早9:00点至下午15:30;对私取现无限制。

业务流程

  1. 商户进件。

  2. 调用企业钱包开通接口。

  3. 调用账户余额查询接口查询可取现余额。

  4. 调用取现接口进行取现。

API列表

企业钱包开通/关闭接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

Cfca方式验签

jsonData

json

json

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

2.0.0.1

memberId

商户号

String(18)

商户号最长18位

isOpen

开通/关闭

String(1)

1-开通0-关闭,钱包关闭是指开通钱包
的自动结算功能,仍支持钱包可用余额提现

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息,如成功无描述信息

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

operResult

操作结果

String(200)

非必填

开通/关闭成功时有值

账户余额查询

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.1

memberId

商户号

String(18)

必填

商户号最长18位

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

acctInfoList

账户列表

List

必填

见下方结构

acctInfoList

参数代码

参数名称

数据类型

是否必填

参数说明

custId

PA用户号

String(16)

必填

acctId

PA账户号

String(9)

必填

acctType

账户类型

String(1)

必填

1:在途资金 2:钱包余额

balanceAmt

账户总余额

Strin(14)

必填

可用余额+冻结金额(有些情况会导致
金额冻结,冻结部分不可取现),格式
为0.00保留两位有效数字,单位(元)

avlBal

可用余额

String(14)

必填

acctType为1时,此字段表示在途资金账户
的当前可用余额;acctType为2时,此字
段表示钱包账户的当前可提现金额。格式
为0.00保留两位有效数字,单位(元)

钱包T0取现

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

Cfca方式验签

jsonData

json

json

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7 )

必填

2.0.0.1

operatorId

商户操作员号

String(32)

非必填

变长最大32位

memberId

商户号

String(18)

必填

商户号最长18位

balanceType

余额类型

String(1)

必填

U-钱包余额
S-结算户余额

cashOutAmt

取现金额

String(14)

必填

必填 格式为0.00保留两位有效数字;
不能超出账户余额,单位(元)

merOrdId

外部订单号

String(64)

非必填

商户系统的订单号

bgRetUrl

异步应答地址

String(120)

非必填

异步通知商户取现结果

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息,如:请求参数不规范

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

operatorId

商户操作员号

String(32)

非必填

变长最大32位

merOrdId

外部订单号

String(50)

非必填

商户系统的订单号

transSeqId

汇付流水号

String(18)

必填

汇付流水号

cashOutAmt

取现金额

String(14)

必填

取现金额

relCashOutAmt

实际取现金额

String(14)

必填

实际到账金额:取现金额-取现手续费

cashOutFee

取现手续费

String(14)

必填

取现手续费

cashOutStat

取现状态

String(1)

必填

F-取现失败
P-处理中
S-取现成功

取现结果异步通知

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

merOrdId

外部订单号

String(50)

非必填

商户系统的订单号

transSeqId

汇付流水号

String(50)

必填

汇付流水号

cashOutAmt

取现金额

String(14)

必填

取现金额

relCashOutAmt

实际取现金额

String(14)

必填

实际到账金额:取现金额-取现手续费

cashOutFee

取现手续费

String(14)

必填

取现手续费

cashOutStat

取现状态

String(1)

必填

F-取现失败
P-处理中
S-取现成功

钱包账户流水查询

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

Cfca方式验签

jsonData

json

json

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7 )

必填

2.0.0.1

memberId

商户号

String(18)

必填

商户号最长18位

acctType

账户类型

String(2)

必填

钱包账户,枚举值:02

startTransDate

开始日期

String(8)

必填

yymmdd

endTransDate

结束日期

String(8)

必填

yymmdd

transType

交易类型

String(4)

非必填

1000:结算
2000:T0取现
3000:转账转入
3100:秒转
3200:转账转出
4000:手动申购
5000:自动申购
6000:手动赎回
7000:充值
8000:退款
不传为查询全部

pageSize

每页记录数

String(2)

非必填

pageNum

当前页码

String(8)

非必填

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

totalRecord

总记录数

String(12)

必填

总记录数

pageNum

当前页码

String(8)

必填

当前页码

pageSize

每页条数

String(2)

必填

recordList

交易列表

JsonData

必填

包含字段见Record

Record

参数代码

参数名称

数据类型

是否必填

参数说明

transType

交易类型

String(4)

非必填

1000:结算
2000:T0取现
3000:转账转入
3100:秒转
3200:转账转出
4000:手动申购
5000:自动申购
6000:手动赎回
7000:充值
8000:退款
不传为查询全部

merOrdId

外部流水号

String(64)

非必填

商户系统的订单号

transSeqId

汇付流水号

String(18)

非必填

汇付的流水号

transAmt

金额

String(16)

非必填

例如:0.01,单位元

transStat

交易状态

String(1)

非必填

I-初始
P-交易已生成处理中
S-校验成功
F-交易失败

transDate

日期

String(8)

非必填

yyyyMMdd

transTime

时间

String(6)

非必填

HHmmss

钱包取现查询接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

Cfca方式验签

jsonData

json

json

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7 )

必填

2.0.0.1

memberId

商户号

String(18)

必填

商户号最长18位

transSeqId

汇付流水号

String(18)

非必填

transSeqId和merOrdId不能同时为空

merOrdId

外部订单号

String(64)

非必填

transSeqId和merOrdId不能同时为空

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

transSeqId

汇付流水号

String(18)

非必填

汇付的流水号

cashOutAmt

取现金额

String(16)

非必填

例如:0.01,单位元

cashOutStat

取现状态

String(1)

非必填

P-处理中
S-取现成功
F-取现失败

transDate

日期

String(8)

非必填

yyyyMMdd

transTime

时间

String(6)

非必填

HHmmss

钱包转账接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.1

memberId

商户号

String(18)

必填

商户号最长18位

transType

转账类型

String(2)

非必填

04-固定值

ordAmt

转账金额

String(18)

必填

格式为0.00,保留两位小数

merOrdId

外部订单号

String(64)

必填

toMemberId

入账商户号

String(18)

必填

最长18位

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

merOrdId

外部订单号

String(64)

必填

ordAmt

转账金额

String(18)

必填

格式为0.00,保留两位小数

transSeqId

汇付流水号

String(32)

非必填

transStat

交易状态

String(1)

非必填

P-处理中
S-成功
F-失败

transDate

转账日期

String(8)

非必填

yyyyMMdd

transTime

转账时间

String(6)

非必填

HHmmss

钱包转账查询接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

Cfca方式验签

jsonData

json

json

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.1

memberId

商户号

String(18)

必填

商户号最长18位

transSeqId

汇付转账单号

String(16)

非必填

transSeqId和merOrdId不能同时为空

merOrdId

外部订单号

String(64)

非必填

transSeqId和merOrdId不能同时为空

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

Cfca方式验签

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

merOrdId

外部订单号

String(64)

必填

ordAmt

转账金额

String(18)

必填

格式为0.00,保留两位小数

transSeqId

汇付流水号

String(32)

非必填

transStat

交易状态

String(1)

非必填

P-处理中
S-成功
F-失败

transDate

转账日期

String(8)

非必填

yyyyMMdd

transTime

转账时间

String(6)

非必填

HHmmss

沉淀户开户接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

Cfca方式验签

jsonData

json

json

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

2.0.0.2

memberId

商户号

String(18)

必填

商户号最长18位

accountType

开户模式

String(2)

非必填

默认为:00
00:华瑞模式(推荐)

reqDate

请求日期

String(6)

必填

yyyyMMdd

archFlph07

结算人身份证正面

String(60)

非必填

结算人身份证正面,
对应商户结算卡持卡人的身份证正面。
图片可通过商户图片上传接口上传,
目前银行端限制单张图片大小500K,超过可能失败(建议上传)

archFlph08

结算人身份证反面

String(60)

非必填

结算人身份证反面,
对应商户结算卡持卡人的身份证反面。
图片可通过商户图片上传接口上传,
目前银行端限制单张图片大小500K,超过可能失败(建议上传)

reservePhone

手机号

String(11)

必填

当accountType=00

bgRetUrl

异步通知地址

String(120)

非必填

结果异步通知推送地址,公网可以访问
(为空不发送异步通知)

address

地址

String(256)

非必填

结算人所在地址

postcode

邮政编码

String(6)

非必填

邮政编码

nation

民族

String(2)

非必填

民族

sex

性别

String(1)

非必填

M:男,F:女,O:其他

occupation

职业

String(5)

非必填

职业

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

trdStatus

开户状态

String(1)

条件必填

S—成功
P –处理中
F – 失败

bgSeqId

开户流水编号

String(20)

非必填

后台返回的开户流水编号

异步通知

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

checkValue

加签密文

String

必填

jsonData

json

json

必填

jsonData数据,内容见下方描述

respCode

返回码

String(6)

必填

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

respDesc

返回描述

String(256)

非必填

具体返回描述信息

jsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

商户号

String(18)

必填

入参的商户号

trdStatus

开户状态

String(1)

条件必填

S—成功
P –处理中
F – 失败

bgSeqId

开户流水编号

String(20)

非必填

后台返回的开户流水编号

bankName

开户行名称

String(128)

非必填

沉淀户开户行

gateId

网关号

String(2)

非必填

商户应答参数

参数代码

参数名称

数据类型

是否必填

参数说明

RECV_ORD_ID
_[bgSeqId]

开户流水编号

String(20)

必填

如bgSeqId为2013160000409163
则应答为:RECV_ORD_ID_2013160000409163

错误码

错误码

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

即将更新。