API文档
商户资料
| 商户编号 | |
| 商户秘钥 |
文档说明
1.1. 功能描述
以下接口由Blueocean Pay系统提供,接口主要集成了目前主流的线上支付方式提供给商户用来完成线上支付功能,支付接口接入简单便捷,能够有效的解决商户在支付环节的业务闭环和资金结算闭环。
以下接口由Blueocean Pay系统提供,接口主要集成了目前主流的线上支付方式提供给商户用来完成线上支付功能,支付接口接入简单便捷,能够有效的解决商户在支付环节的业务闭环和资金结算闭环。
1.2. 阅读对象
本文档面向具有一定web网页以及http接口开发能力,了解线上支付的开发和管理人员。
本文档面向具有一定web网页以及http接口开发能力,了解线上支付的开发和管理人员。
1.3. 技术服务
在开发或使用扫码支付接口时,产生疑问或出现问题,可通过Email、手机联系相关技术人员,技术支持人员会及时处理。
在开发或使用扫码支付接口时,产生疑问或出现问题,可通过Email、手机联系相关技术人员,技术支持人员会及时处理。
1.4. 订单规范
交易订单号:原则上要求交易订单号唯一标识此笔订单,与日期无关。
交易订单防重:对每一个交易订单,应有唯一的交易订单号;在交易系统内,2个要素:商户编号、交易订单号决定唯一一笔交易订单,不允许重复提交相同订单号。
交易订单号:原则上要求交易订单号唯一标识此笔订单,与日期无关。
交易订单防重:对每一个交易订单,应有唯一的交易订单号;在交易系统内,2个要素:商户编号、交易订单号决定唯一一笔交易订单,不允许重复提交相同订单号。
1.5. 日期规范
考虑商户系统平台主机时间和本系统主机时间会有微小差别,商户的清算和对账数据都以本系统的交易成功(失败)日期为准。
考虑商户系统平台主机时间和本系统主机时间会有微小差别,商户的清算和对账数据都以本系统的交易成功(失败)日期为准。
1.6. 接口规范
交互方式:商户业务平台或聚合支付系统通过http协议,以post方式与本系统交互。
交互方式:商户业务平台或聚合支付系统通过http协议,以post方式与本系统交互。
1.7. 安全规范
《签名算法》
签名生成的步骤如下:
设所有发送或者接收到的数据为集合 M,将集合 M 内非空参数值的参数按照参数名 ASCII 码从小到大排序(字典排序),使用 URL 键的值的拼接格式,值与值之间以“|”分隔(即 value1|value2|value3… )拼接成字符串 stringA。
特别注意以下重要规则:
String sign = MD5.encode(
stringA|密钥key) 转大写。
《签名算法》
签名生成的步骤如下:
设所有发送或者接收到的数据为集合 M,将集合 M 内非空参数值的参数按照参数名 ASCII 码从小到大排序(字典排序),使用 URL 键的值的拼接格式,值与值之间以“|”分隔(即 value1|value2|value3… )拼接成字符串 stringA。
特别注意以下重要规则:
- ◆ 参数名按 ASCII 码从小到大排序(字典排序);
- ◆ 如果参数的值为空不参与签名;也就是说参数是空的不需要参与签名;
- ◆ 参数名区分大小写;
- ◆ 生成的签名需转成大写;
- ◆ 验证调用返回或主动通知签名时,传送的 sign 参数不参与签名,将生成的签名与该 sign 值作校验;
- ◆ 接口可能增加字段,验证签名时必须支持增加的扩展字段。
发起交易
报文参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| currency | 是 | 币种(大写英文字母) |
| payAmt | 是 | 交易金额(小数点后两位) |
| merchantUserId | 是 | 用户ID |
| merchantUserName | 是 | 用户名称 |
| merchantUserPhone | 是 | 用户手机号 |
| notifyUrl | 是 | 异步回调地址 |
| callBackPageUrl | 是 | 商户回调页面 |
| returnType | 是 | 返回类型(01:直接跳转支付页面, 02:返回JSON参数) |
| mchOrderNo | 是 | 商户交易订单号(必须唯一) |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |
返回结果(JSON格式字符串)
//成功后请求参数returnType为01将直接跳转至支付界面
//成功后请求参数returnType为02返回示例
{
"status":"1",
"message":"请求成功",
"orderNo":"O2019010113142209678",
"data":"返回的付款页面URL"
}
//失败返回示例
{
"status":"0",
"message":"提交失败信息!",
"orderNo":"O2019010113142209678"
}
交易查询
报文参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| mchOrderNo | 是 | 商户交易订单编号 |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |
返回结果(JSON格式字符串)
//成功返回示例
{
"status":"1", // 1:表示请求成功;0:表示请求失败
"message":"成功",
"mchOrderNo":"O2019010113142209678",
"resultCode":"0" // 值为0时表示【处理中(等待付款)】,1表示【成功】,2表示【失败】,3表示【处理中】,4表示【订单超时关闭】
}
//失败返回示例
{
"status":"0",
"message":"失败信息!",
"mchOrderNo":"O2019010113142209678"
}
余额查询
报文参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| currency | 是 | 币种(大写英文字母) |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |
返回结果(JSON格式字符串)
//成功返回示例
{
"status":"1",
"message":"查询成功!",
"balance":"6.12"
}
//失败返回示例
{
"status":"0",
"message":"失败信息!"
}
收款异步通知
当订单状态改变时将会异步通知商户,商户接收到异步回调处理完后必须返回 success字符串
返回其他内容或者异常的,将会再次进行通知,最多通知5次,请商户做好重复通知的逻辑
异步通知参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| orderNo | 是 | 系统订单号 |
| merchantOrderNo | 是 | 商户订单号 |
| amount | 是 | 订单金额 |
| payAmount | 是 | 实际支付金额 |
| feeAmt | 是 | 手续费 |
| status | 是 | 状态(0:付款中;1:成功;2:失败;3:处理中;4:订单超时关闭;) |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |
代付接口
报文参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| currency | 是 | 币种(大写英文字母) |
| mchOrderNo | 是 | 商户代付订单号(必须唯一) |
| bankName | 是 | 银行名称 |
| bankCard | 是 | 银行卡号 |
| bankCode | 是 | 银行编码 |
| cardHolder | 是 | 持卡人 |
| bankPhone | 是 | 银行卡手机号 |
| payAmt | 是 | 提现金额 |
| merchantUserId | 是 | 商户用户ID |
| merchantUserName | 是 | 商户用户名称 |
| merchantUserPhone | 是 | 商户用户手机号 |
| notifyUrl | 是 | 异步回调地址 |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |
返回结果(JSON格式字符串)
//成功返回示例
{
"orderNo":"mchOrderNo",
"message":"发起提现成功!",
"status":"1"
}
//失败返回示例
{
"orderNo":"mchOrderNo",
"message":"失败信息!",
"status":"0"
}
代付查询
报文参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| mchOrderNo | 是 | 商户交易订单编号 |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |
返回结果(JSON格式字符串)
//成功返回示例
{
"status":"1", // 1:表示请求成功;0:表示请求失败
"message":"成功",
"mchOrderNo":"O2019010113142209678",
"resultCode":"0" // 0:处理中;1:成功;2:失败;3:付款中;
}
//失败返回示例
{
"status":"0",
"message":"失败信息",
"mchOrderNo":"O2019010113142209678",
"resultCode":null
}
提现异步通知
当提现订单状态改变时将会异步通知商户,商户接收到异步回调处理完后必须返回 success字符串
返回其他内容或者异常的,将会再次进行通知,最多通知5次,请商户做好重复通知的逻辑
异步通知参数
| 参数 | 必须 | 说明描述 |
|---|---|---|
| merchantNo | 是 | 商户编号 |
| orderNo | 是 | 系统订单号 |
| merchantOrderNo | 是 | 商户订单号 |
| amount | 是 | 订单金额 |
| feeAmt | 是 | 手续费 |
| status | 是 | 状态(0:处理中;1:成功;2:失败;3:付款中;) |
| sign | 是 | MD5加密签名(大写)签名规则参考1.7安全规范 |