充值接口

文档说明

阅读对象

1、本规范的使用对象为服务商的技术开发人员、产品及业务。
2、开发人员应该对post提交、json 格式、http/https传输、非对称秘钥和数据签名等有一定认识。

修订记录

2022-07-13:新增

相关术语

充值:用户通过网银或支付宝扫码等方式进行账户充值

接口规则

协议规则

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("pyerAcctTp" , "00");
jsonDataMap.put("businessUrl" , "http://www.test.com");
jsonDataMap.put("payChannelType" , P1);
jsonDataMap.put("outOrdId" , "manual202207131341171657690877800");
jsonDataMap.put("bankId" , "01020000");
jsonDataMap.put("apiVersion" , "2.0.0.1");
jsonDataMap.put("bgRetUrl" , "http://www.test.com");
jsonDataMap.put("cBFlgCd" , "01");
jsonDataMap.put("trxDeviceIp" ,"127.0.0.1");
jsonDataMap.put("ordAmt" , "0.02");
jsonDataMap.put("lmtAcctTp" ,"01");
jsonDataMap.put("memberId" , "030147446000219844");

String jsonData = JSON.toJSONString(jsonDataMap);

// CFCA 签名
String checkValue = CFCASignature.signature("100001.pfx","888888", jsonData, "UTF-8").getSign();

场景介绍

充值:商户通过该接口进行充值户充值,用户退款等业务

功能描述

业务流程

API列表

充值接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

jsonData

json数据

String

必填

jsonData数据,内容见下方描述

checkValue

加签密文

String

必填

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

固定:2.0.0.1

memberId

会员号

String(18)

必填

merOperId

操作员号

String(32)

非必填

outOrdId

外部订单号

String(50)

必填

同一会员号下保证唯一性

ordAmt

充值金额

String(12)

必填

payChannelType

支付类型

String(2)

必填

A1-支付宝 P1-网银

cBFlgCd

网关支付类型

String(2)

条件必填

网银必填
01-个人网关 02-企业网关

lmtAcctTp

限定账户类型

String(2)

条件必填

网银必填
01-借记卡

pyerAcctTp

付款方账户类型

String(2)

条件必填

网银必填
00-个人银行借记账户 05-对公银行账户

bankId

银行id

String(8)

条件必填

见附录

bgRetUrl

异步应答地址

String(8)

必填

异步通知交易结果

businessUrl

跳转地址

String(8)

条件必填

网银必填,变长不超过120位,银行跳转前端地址

trxDeviceIp

交易设备IP

String(64)

条件必填

网银必填
IPV4,此IP是网银使用用户的IP,业务系统发起网银支付申请时,应上送从商
户请求的request中获取的IP,银行将会进行强校验,如不一致则不允许交易。

gwChnnlTp

网银充值渠道

Sting(2)

非必填

网银充值必填
01-电脑浏览器浏览器 02-手机浏览器
03-手机应用程序程序 99-其他
默认 01

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

respCode

返回码

String( 6 )

必填

示例:
000000表示成功,
000199交易处理中,
其余表示失败( 详见错误返回码 )

respDesc

返回文字说明

String( 256 )

非必填

checkValue

加签密文

String

必填

jsonData

Json字符串

String

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

ordAmt

充值金额

String(20)

必填

reqSeqId

汇付流水号

String(32)

必填

outOrdId

外部订单号

String(50)

必填

productSeqDate

请求日期

String(8)

必填

productSeqTime

请求时间

String(6)

必填

qrcodeUrl

二维码链接

String(120)

非必填

formEncoding

页面字符集

String(16)

非必填

UTF-8、GBK

bankCode

银行返回码

String(32)

非必填

bankMessage

银行返回描述

String(100)

非必填

channelTransAs
sembledUrl

跳转银行页面

String

异步返回参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

respCode

返回码

String( 6 )

必填

示例:
000000表示成功,
000199交易处理中,
其余表示失败( 详见错误返回码 )

respDesc

返回文字说明

String( 256 )

非必填

checkValue

加签密文

String

必填

jsonData

Json字符串

String

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

ordAmt

充值金额

String(20)

必填

reqSeqId

汇付流水号

String(32)

必填

outOrdId

外部订单号

String(50)

必填

payDate

支付成功日期

String(8)

必填

payTime

支付成功时间

String(6)

必填

transStat

交易状态

String(1)

必填

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

acctStat

账务状态

String(1)

必填

S-成功
F-失败
R-部分成功

充值查询接口

发布路径

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

输入参数

输入参数

参数代码

参数名称

数据类型

是否必填

参数说明

jsonData

json数据

String

必填

jsonData数据,内容见下方描述

checkValue

加签密文

String

必填

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

apiVersion

版本号

String(7)

必填

固定:2.0.0.1

memberId

会员号

String(18)

必填

outOrdId

外部订单号

String(50)

非必填

充值请求时的外部订单号与reqSeqId不可同时为空

reqSeqId

汇付流水号

String(32)

非必填

汇付充值订单号与 outOrdId不可同时为空

输出参数

输出参数

参数代码

参数名称

数据类型

是否必填

参数说明

respCode

返回码

String( 6 )

必填

示例:
000000表示成功,
000199交易处理中,
其余表示失败( 详见错误返回码 )

respDesc

返回文字说明

String( 256 )

非必填

checkValue

加签密文

String

必填

jsonData

Json字符串

String

必填

jsonData数据,内容见下方描述

JsonData

参数代码

参数名称

数据类型

是否必填

参数说明

memberId

会员号

String(18)

必填

ordAmt

充值金额

String(20)

必填

outOrdId

外部订单号

String(50)

必填

bankName

银行名称

String(30)

非必填

merFee

商户手续费

String(12)

非必填

transStat

交易状态

String(1)

必填

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

acctStat

账务状态

String(1)

必填

S-成功
F-失败
R-部分成功

附录

编码

银行简称

综合

对公

01020000

中国工商银行

01030000

中国农业银行

01040000

中国银行

01050000

中国建设银行

03010000

交通银行

03020000

中信银行

03030000

中国光大银行

03040000

华夏银行

×

03050000

中国民生银行

×

03060000

广发银行

03080000

招商银行

03090000

兴业银行

03100000

上海浦东发展银行

03130011

北京银行

×

×

03130031

上海银行

×

03133201

南京银行

×

03133301

杭州银行

×

03134402

平安银行

03160000

浙商银行

×

03180000

渤海银行

×

04020011

北京农村商业银行

×

04020031

上海农村商业银行

04030000

中国邮政储蓄银行

错误码

错误码

常见错误码描述,如还未解决问题请及时联系专业技术支持人员。
错误码 描述                               错误码 描述                                       错误码 描述
000000 操作成功                           000098 请求参数非法                               000093 请求参数不规范

SDK与DEMO

说明

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

Java版本

即将更新。

PHP版本

即将更新。