概述

云享平台官方SDK包含了请求的封装,签名加密,响应解释,性能优化等等功能,使用SDK可以轻松
快速完成API的调用和结果处理。 (点击下载SDK)

如您是使用非java语言接入,可以按照下方签名规则和参数进行对接。

请求地址

http://open.faqianbei.com/sop/gateway

签名规则

第一步,筛选并排序

获取所有请求参数,不包括字节类型参数,如文件、字节流,剔除sign字段,剔除值为空的参数,并按照第一个字符的键值ASCII码递增排序(字母升序排序),如果遇到相同字符则按照第二个字符的键值ASCII码递增排序,以此类推。

第二步,拼接参数

将排序后的参数与其对应值,组合成“参数=参数值”的格式,并且把这些参数用&字符连接起来,此时生成的字符串为待签名字符串。

第三步,调用签名函数

使用各自语言对应的SHA256WithRSA(对应sign_type为RSA2)签名函数利用商户私钥对待签字符串进行签名,并进行Base64编码。

第四步,签名赋值

把生成的签名赋值给sign参数,拼接到请求参数中(参照SDK中的util方法)。

请求入参

参数名 类型 最大长度 是否必填 描述 示例值
app_id String 32 平台对商户的唯一编号 10023456780
method String 128 接口名称 settle.remit.api.payment
sign_type String 10 商户生成签名算法类型 RSA2
sign String 256 商户请求签名值 详见签名规则
timestamp String 19 请求时间 2014-07-24
03:07:50
version String 3 接口版本号 1.0
merchant_request_no String 64 请求唯一标识 商户自定义
biz_content String - 请求业务参数 详见各接口
查看样例
  
    /**
    * 请求方式 https post
    * */
    //请求内容
    app_id="101909021118";
    merchant_request_no="test111111";
    method="settle.remit.api.payment";
    timestamp="2021-07-19 16:20:20";
    biz_content={
      "batchAmt": 0.02,"batchNum":1,
      "custBatchNo":"eb5d11f964924ee2af55124843d94fd4",
      "remitDetailList":[
      {"custOrderNo":"640465cc45324d408c57de61ee9f8dad",
      "orderAmt":0.02,"recvBankName":"北京银行","recvCardNo":"6214686001166870","recvCustName":"张三",
      "recvIdNo":"1305******4100916","recvIdType":"IDENTITY","recvMobile":"13****5639"}],
      "serverCallbackUrl":"http://xxx/xxxx/callBack"
    };
    sign=`X9/sCEpqjaw1u3NqCIMCinzsJ7QoYo5UrabHHsy11KcTt333+urq9Z0V3FJLjq22G6zuRCuWf0myK8eSK3d1s0zpIBj
      A5iryK/kJcdTG5bmp3WFR5lXv2J+GhC8s7LMuaTFPj3KMGAmy1jdbNfMhomRE4ux+0qj3LrLs3acNcLJ63bFTq6xj/xgCh+lU3
      EQzChrxvdIpEU3PKeE99/kjwwb8FIJGmN8N7IJ21UglEdHLF+rL0vVwx5uEOXyDJJcd7+D8zX8IMft2e91DVkiiGTcahdsnysI
      yUrmsy2IgMe77lc5tH3rTQgbCK/TVWXUtrOHAZUyIYp18AxWW8Y40fg==`;
      sign_type="RSA2";
    version="1.0"


    //待签名字符串为:
    app_id=101909021118&biz_content={"batchAmt":0.02,"batchNum":1,"custBatchNo":"eb5d11f964924ee2af55124843d94fd4","recvType":"BANK","remitDetailList":[{"custOrderNo":"640465cc45324d408c57de61ee9f8dad","orderAmt":0.02,"recvBankName":"北京银行","recvCardNo":"6214686001166870","recvCustName":"张三","recvIdNo":"1305******4100916","recvIdType":"IDENTITY","recvMobile":“13****5639”,"remark":"test"}],"serverCallbackUrl":"http://xxx/xxxx/callBack"}&merchant_request_no=test111111&method=settle.remit.api.payment&sign_type=RSA2×tamp=2021-07-19
    16:20:20&version=1.0
  

返回参数

参数名 类型 最大长度 是否必填 描述 示例值
app_id String 32 平台商户唯一编号 100123454563
merchant_request_no String 64 请求唯一标识 同请求
timestamp String 19 请求时间 同请求
code String 16 云享平台外部返回码 详见公共返回码
msg String 16 云享平台外部返回错误信息描述 详见公共返回码
subCode String 32 明细返回码 详见公共错误码
sub_Msg String 64 明细返回码描述 详见公共错误码
response String - 平台返回json格式业务参数 见样例

公共错误码

错误码(code) 错误描述(msg) 明细返回码(sub_code) 明细返回码描述(sub_msg)
10000 成功
20000 服务暂不可用 SP_ERROR 服务暂不可用(业务系统不可用)
20001 接口权限不足 INTERFACE_NOT_POWER 商户未授权当前接口
40001 缺少必要参数 MISSING_METHOD 缺少方法名参数
MISSING_SIGNATURE 缺少签名参数
MISSING_APPID 缺少app_id参数
MISSING_TIMESTAMP 缺少时间戳参数
MISSING_VERSION 缺少版本参数
40002 非法参数 INVALID_SIGNATURE 无效的签名
INVALID-APP-ID 无效的app_id
INVALID-TIMESTAMP 无效的时间戳参数