• 接入流程
  • 签名验签
  • 通用错误码

接入流程

如何创建应用?

登录开放银行服务管理中心,在应用管理模块创建自己所需要的应用。应用的密钥可自主赋值或通 过提供的“自动生成密钥对”工具随机生成。生成后请将私钥拷贝到本地并妥善保管,服务器不保存任何私钥数据


如何申请接口权限?

在应用详情中申请需要签约的产品,管理员审核通过后即可拥有相关接口权限。每个产品可能包含 一个或多个API接口,具体参看接口文档


如何使用SDK?

我们提供多种开发语言的Server-Side SDK,你可以根据需要选择使用。参照接口文档中的“SDK接 入示例”三步骤:设置SDK密钥信息、准备请求参数和调用SDK方法

签名验签

为什么需要使用签名?

开放银行服务的数据传输使用RSA签名来验证数据可靠性,因此每个应用都需要设置RSA签名秘钥


如何使用私钥生成请求签名?

开发者发送给本系统的所有请求都需要进行签名,以确保是开发者系统发出的交易指令,具体的签名规则如下:

  • 将有效的GET或POST参数组成“参数键=参数值”的格式,如order_ amount=100
  • 将上步中所有的“参数键=参数值”按参数键以字典序进行排序
  • 使用英文半角的&符号将2步中排序后的字符串连接起来,如key1=value1&key2=value2…,注意字符串最后没有&
  • 在字符串前部附加KEYID&TIMESTAMP&METHOD&URI格式字符串,其中TIMESTAMP为当前时 间,格式如20160516120000;METHOD为HTTP方法,使用大写,如GET、POST等;URI为当前 请求的资源地址,如/v1/open(域名之后,?之前)等。拼装后的报文格式类似如下: KY0123456789012345678900&20160516120000&POST&/v1/open&channel=PAY_C IBEPAY&order_amount=100
  • 使用应用的RSA私钥,以RSAWithSHA1算法签名上述字符串,得到的结果(Base64编码的)即为签名值
  • 以KEYID_TIMESTAMP作为用户名,5步中得到的签名值作为密码,在发送请求时,作为HTTP BASIC认证的username和password即可


如何使用开放银行服务公钥验证响应签名?

本系统支持对请求响应报文进行签名,并将签名值随同响应报文返回。用户使用开放银行服务公钥 进行响应报文的验签,验证数据的可靠性,具体说明如下:

  • 签名内容为时间戳+报文内容
  • 签名值及时间戳在返回的Headers中,分别是Signature、Timestamp
  • 开发者对响应报文验签使用应用的RSA公钥(响应报文验签),以RSAWithSHA1算法对接收的时间戳+报文数据进行验签操作


验签为什么使用开放银行服务公钥而不是开发者公钥?

因为服务器未保存用户应用任何私钥信息,响应报文签名使用服务器的秘钥对自动签名得到


通用错误码

CODE说明
OPEN25001验签失败
OPEN25002请求过期
OPEN25003未配置密钥信息
OPEN25004超过调用频率限制
OPEN25101输入参数格式错误
OPEN25201没找到对应的请求资源
OPEN25202没找到对应的商户信息
OPEN25203该请求无权限访问
OPEN25204请求参数未找到
OPEN25205没有找到对应的服务
OPEN25206权限不足
OPEN25207文件不存在或传输异常
OPEN25301调用服务参数不符合要求
OPEN25302后端服务返回未知异常
OPEN25999系统繁忙,如为交易类接口,请先确认交易结果后再处理