银行卡支付API

接口说明

1. 余额支付是指用网易支付账户余额付款。不使用网易支付账户的产品可以忽略相关信息。最优查询时间及频率详见【交易超时查询机制最佳实践】

2. 充值是指将银行卡中资金转账到网易支付账户余额。不使用网易支付账户的产品可以忽略相关信息。

3.下单支付有异步通知。

4.充值是异步接口,但是没有异步通知;需要查询金额来保证是否成功。


数据格式

接口数据格式统一采用以下格式:

https://domain/path?msg=&sign=

接口公共参数msg和sign的值说明如下:

msg为所有参数base64编码后的值,为方便后续说明此处将base64编码后的msg值记为m;

sign的值s在得到m之后经过2个步骤计算得到:

1)计算m的32位md5值,得到32位大写字符串m1;

2)使用数字证书签名方式计算m1的签名,得到s。


接口地址

https://epay.163.com/pay_api/v1/order_pay.htm

 

请求参数

参数名称

参数

必填

类型

描述

商户号

platformId

是      

varchar2(40)       

商户号

用户帐号

accountId

是

varchar2(60)

用户在商户的唯一ID,一个个人身份信息对应一个accountid。

账号类型

accountType

是

varchar2(20)

用户账号类型。网易通行证传URS,其他传outer

支付方式

payMethod

是

varchar2(40)

传quickpay

校验方式

challengeType

是

varchar2(40)

支付验证方式

sms:短信验证码

none:不验证

但银行卡首次签约时,必须校验短信验证码

订单ID

orderId

否

varchar2(50)

订单ID (支付返回参数),如果已返回过订单ID,则下面的订单信息不需要再传

商品名称

goodsName

是

varchar2(50)

下单商品名称

商品类型

goodsType

是

varchar2(8)

platformGoodsCategoryMap.put("2003", "证券");

platformGoodsCategoryMap.put("2004", "基金");

platformGoodsCategoryMap.put("2005", "保险");

platformGoodsCategoryMap.put("2009", "P2P小额贷款");

商品url

goodsUrl

是

varchar2(300)

下单商品url

货币类型

currencyType

是

varchar2(2)

00 :人民币

交易金额

tradeAmount

是

Number(13,2) 

交易金额,单位:元

交易手续费

handFee

否

Number(13,2) 

交易手续费,单位:元

平台交易时间

platformTradeTime

是

varchar2(40)

商户平台交易时间,格式为yyyyMMddhhmmss

平台交易流水

platformTradeId

是

varchar2(40)

平台交易流水,平台交易日内唯一

平台通知url

notifyUrl

否

varchar2(300)

交易成功通知地址。允许为空,默认交易通知成功

订单超时时间

timeout

否

long

交易超时时间(单位为分钟,必须是大于零的整数,若不传则按照网易支付中设定的超时时间规则确定)

如果是代扣业务,支付失败时支持直接关单,需要向网易支付申请配置

平台保留字段

platformPrivateField 

否

varchar2(300)

平台保留字段,存放需要原样返回给平台的信息, 如果没有,则不需要传

卖家账号

sellerId

是

varchar2(60)

传商户账号

平台订单url

platformTradeUrl

否

varchar2(300)

平台订单URL(用于显示平台订单的详细信息, 
  
最大长度300个英文字符)

银行卡签约流水号

quickPayId

否

varchar2(40)

银行卡签约返回的业务流水号,payMethod为quickpay时,quickPayId或以下银行卡

信息必填一个

银行ID

bankId

是

varchar2(20)

用户要签约银行卡所属银行ID。点击查看银行ID。

银行卡开户姓名

cardAccountName

是

varchar2(120)

用户银行卡开户姓名

银行卡卡号

cardNo

是

varchar2(60)

银行卡卡号

银行卡预留手机

mobilePhone

是

varchar2(20)

银行预留手机

身份证号

certNo

是

varchar2(30)

身份证号

外部充值号

platformChargeId

否

varchar2(60)

当业务是对公代扣时候才有这个字段,商户充值订单唯一号,由商户生成

用户IP

userIp

是

varchar2(20)

用户操作IP,请确定传用户的真实IP,签约时可能会调用公安网进行身份验证

是否支持无签约支付 

directlyPay

否

boolean

是否在网易支付没有签约记录时直接代扣(适用某些代扣类商户),示例:true/false, 默认为false,为true时challengeType校验方式不生效

注意:无签约代扣中 不能使用 同一账号(accountId) 不同身份证(certNo)

注:

1)        其中订单信息(红色字)用名为orderInfos的jsonArray传;银行卡信息(蓝色字)用名为cardInfo的jsonObject传。

2)        如果orderInfo里有orderId表示已经下过单,就对这个订单进行支付;如果没有orderId,就必须有订单信息,接口先会下单,然后取得订单后再对这个订单进行支付。

3)        如果cardInfo 里面有quickpayId表示已经绑卡,就直接用这个卡进行支付;如果没有quickpayId,就必须要卡信息,接口会现绑卡,然后再取得quickpayId进行支付。


返回参数

参数名称

参数

必填 

类型

描述

操作返回码 

operationResp

是       

varchar2(10)      

操作响应码,本次调用是否成功。在支付场景中,操作返回码不为成功时,支付状态同“处理中”。

业务返回码 

businessResp

否

varchar2(10)

业务相应码,当operationResp为成功时, 解析本字段

详细消息

detailMsg

否

varchar2(1024)

返回详情,human-readable

订单号

orderId

否

varchar2(40)

订单号,当operationResp、businessResp为成功时, 解析本字段

 

返回码

参数名称

参数

必填

类型

描述

操作返回码

operationResp

是      

varchar2(10)       

操作响应码,本次调用是否成功

业务返回码

businessResp

否

varchar2(10)

业务相应码,当operationResp为成功时,解析本字段

详细消息

detailMsg

否

varchar2(1024)

返回详情,human-readable

订单号

orderId

否

varchar2(40)

订单号,当operationResp、businessResp为成功时,且为交易支付时解析本字段

银行卡签约流水 

quickPayId

否

varchar2(40)

快捷签约流水号,当operationResp、businessResp为成功、 支付方式为银行卡支付时且为银行卡首次签约时,解析本字段 

充值流水

chargeId

否

varchar2(40)

充值流水号,当operationResp、businessResp为成功、 支付方式为银行卡支付且不是首次签约时,解析本字段

支付状态

payStatus

否

varchar2(40)

支付状态,当operationResp为成功、 支付方式为银行卡支付且不是首次签约时,解析本字段。

字段值包含SUCCESS(代表成功),FAILED(代表失败),PROCESSING(代表处理中)三种状态。

注:当对一笔已经成功的订单进行支付时,PayStatus返回的结果是失败,代表本次支付行为是失败的。

附加信息

attach

否

varchar2(60)

充值附加信息,operationResp、businessResp为成功、 且支付方式为银行卡支付时需要,解析本字段