财资云开放平台(开发版)
  1. 接入指南V3
财资云开放平台(开发版)
  • 接入指南V3
    • 创建应用
    • APIFOX脚本及外部程序使用教程
    • 规则说明
      • 基本原则
      • 错误码
    • 密钥与签名
      • 接口加签方式
      • 签名规则
      • 验签规则
      • 请求内容加密
    • 服务端SDK
      • SDK使用帮助
      • Java
    • 应用开发配置
      • IP白名单
        • 服务器IP白名单
    • 常见问题
  • 接入指南
    • 接口调用方式说明
    • 创建应用
    • APIFOX脚本及外部程序使用教程
    • 应用开发配置
      • 接口加签方式
        • 接口加签方式说明
        • 设置密钥加签方式
        • 开发指南
          • 如何使用密钥
          • 密钥格式说明
          • 自行实现签名
          • 自行实现验签
        • 常见问题
          • 常见问题
        • SAP加签验签指南
      • IP白名单
        • 服务器IP白名单
      • 接口内容加密方式
        • 接口内容加密方式说明
      • 错误码
        • 公共错误码
    • 开发工具包
      • 开发工具包简介
      • 服务端SDK
        • 概述
        • Java
        • PHP
        • .Net
        • Python
        • NodeJS
    • 密钥工具
      • 密钥工具简介
      • 生成密钥
      • 密钥匹配
      • 格式转换
      • 同步验签
      • 签名
      • 异步验签
  • 产品能力
    • 示例产品
      • 示例功能
        • 产品介绍
        • 接入准备
        • 接入指南
        • 常见问题
        • 更新日志
        • API列表
          • API接口列表示例
    • 账户产品
      • 产品介绍
      • 接入准备
      • 接入指南
      • 常见问题
      • 更新日志
      • 账户管理
        • 实体户接口
          • 新增实体账户信息
          • 变更实体账户状态
          • 修改实体账户信息
          • 查询实体账户信息
        • 三方户接口
          • 新增三方户(商户号)信息
          • 变更三方户(商户号)状态
          • 修改三方户(商户号)信息
          • 查询三方户(商户号)信息
        • 内部户接口
          • 新增内部账户信息
          • 变更内部账户状态
          • 修改内部户信息
          • 查询内部账户信息
        • 现金户接口
          • 新增现金户信息
          • 变更现金账户状态
          • 变更现金户信息
          • 查询现金账户信息
        • 虚拟户接口
          • 新增虚拟子账户信息
          • 变更虚拟子账户信息
          • 销户虚拟子账户
          • 查询虚拟子账户信息
        • 账户信息查询接口
      • 账户余额
        • 查询账户余额
        • 同步账户余额(含RPA)--先不处理
      • 账户明细
        • 查询三方账户明细
        • 同步实体账户明细(含RPA)---先不处理
      • 回单(作废)
        • 同步电子回单(含RPA)--先不处理
      • 关联关系(作废)
        • 根据明细查回单
      • 流水
        • 流水
      • 实物资产
        • 实物资产查询接口
      • 合作银行
        • 合作银行查询接口
      • 交易对手
        • 交易对手查询接口
    • 结算产品
      • 应付
        • 产品介绍
        • 接入准备
        • 接入指南
        • 常见问题
        • 更新日志
        • API列表
          • 创建应付款单
          • 应付单查询接口
      • 国内付款
        • 产品介绍
        • 接入准备
        • 接入指南
        • 常见问题
        • 更新日志
        • API列表
          • 创建国内付款
        • 国内支付填写要求
      • 费用报销
        • 产品介绍
        • 接入准备
        • 接入指南
        • 常见问题
        • 更新日志
        • API列表
          • 创建批量报销
      • 工资发放
        • 产品介绍
        • 接入指南
        • 接入准备
        • 常见问题
        • 更新日志
        • API列表
          • 创建工资代发
          • 创建工资批次总额信息
      • 全球付款
        • 产品介绍
        • 接入准备
        • 接入指南
        • 常见问题
        • 更新日志
        • API列表
          • 创建全球付款
      • 撤销付款
        • API列表
          • 撤销付款
      • 付款结果
        • 支付结果通知
        • 支付结果查询
        • 应付结果通知
        • 应付结果查询
      • 单据查询
    • 其他通用产品
      • 系统
        • 组织部门
          • 资源介绍
          • API列表
            • 创建组织部门
            • 修改组织部门
            • 删除组织部门
            • 获取单个组织部门信息
            • 组织部门批量查询
          • 事件列表
            • 组织创建
            • 组织创建
            • 组织变更
            • 删除组织
        • 开户行
          • 开户行查询
        • 系统字典
          • 资源介绍
          • API列表
            • 系统字典查询
            • 银行查询
        • 业务字典
          • 资源介绍
          • API列表
            • 新增业务字典
            • 修改业务字典
            • 重置字典
            • 删除单个业务字典
            • 删除指定类型字典
            • 业务字典批量查询
            • 单个业务字典查询
          • 事件列表
            • 新增业务字典
            • 修改业务字典
            • 删除单个业务字典
            • 删除指定类型字典
            • 重置字典
        • 汇率
          • 新增汇率
          • 修改汇率
          • 删除汇率
          • 查询单条汇率
          • 批量查询汇率
        • 会计科目
          • 新增会计科目
          • 修改会计科目
          • 删除会计科目
          • 查询单个会计科目
          • 批量查询会计科目
        • 交易对手
          • 交易对手信息
        • 通用文件上传
          • 上传文件
    • 票证产品
      • 票据
        • 查询
          • 附件查询
          • 票据正背面查询
        • 操作
          • 签收/承兑 /付款
          • 质押申请
          • 背书申请
          • 贴现申请
          • 撤回操作
          • 撤票操作
          • 提示付款申请
          • 票据同步
          • 票据异常处理
        • 出票申请
        • 票据查询(拆开)
        • 交易状态查询
        • 异步通知(同步 票据当前操作 状态)
        • 票据详情查询
        • 对方是否签收状态查询
      • 新版票据
        • 外部对接
          • 票据贴现对外接口
          • 票据出票对外接口
          • 票据查询接口
          • 信用证查询接口
        • 资产池对接
          • 入池校验/跨行调拨操作
          • 资产池通知操作
      • 信用证
        • 信用证信息查询
        • 【老版本停止维护】信用证信息-推送(全字段版,部分字段改造前暂无)
        • 信用证信息-推送(新版信用证)
      • 贴现运营
        • 查询票据贴现运营列表信息
        • 贴现运营配票进度缓存查询接口
        • 贴现运营-配票接口
    • 对账产品
      • 认领接口
    • 投融资
      • 融资
        • 授信&发行申报
          • 【上报】查询授信&发行申报合同
          • 查询授信合同
          • 授信新增
          • 授信查询
        • 发行申报
          • 查询发行申报
        • 融资合同&内部往来&债券登记
          • 查询融资合同
          • 【上报】查询融资&往来&债券合同
        • 债券登记
          • 查询债券合同
        • 往来借款
          • 内部往来新增
          • 查询往来借款合同
        • 提款&放款
          • 【上报】查询提款&放款列表
        • 贷后
          • 【上报】查询贷后列表
          • 【上报】查询还款记录列表
        • 保函
          • 【上报】查询保函列表
        • 资产台账
          • 【上报】查询资产台账列表
        • 担保
          • 【上报】查询担保列表
        • 融资新增
        • 融资查询
        • 内部往来查询
        • 提款
        • 放款
        • 按期还款
        • 提前还款
      • 投资
        • 存款
          • 存款新增
          • 存款详情查询
          • 存款支取
          • 存款申购
          • 转让
          • 存款结息
          • 存款作废
        • 理财
          • 理财详情查询
          • 理财新增
          • 理财作废
    • 预算和计划
      • API列表
        • 预算控制
      • 资金预算
        • 预算编制查询
        • 预算编制更新接口
    • 身份认证
      • 获取登录预授权码
    • 结算中心
      • 结算中心计息单查询接口
    • 事件中心
      • webhook
        • 明细
          • 实体户明细删除
          • 三方明细删除
        • 对账
          • 应收单
          • 应收单实体账户流水
          • 应收单虚拟户流水
          • 应收单票据流水
          • 实体账户流水票据流水
        • 账户
          • 账户变更销
    • 组织架构
      • 员工
        • 资源介绍
        • API列表
          • 新增员工
          • 员工转用户
          • 修改员工
          • 删除员工信息
          • 查询单个员工信息
          • 批量查询员工信息
        • 事件列表
          • 新增员工
          • 修改员工
          • 删除员工
          • 员工转用户
      • 组织
        • 通过企业名称查询详细信息
        • API列表
          • 通过企业名称查询详细信息
  • 更新日志
    • 产品更新日志
    • 工具更新日志
  • 枚举值
    • 预算跨度
    • 预算颗粒度
    • 滚动颗粒度
    • 滚动期数
    • 参考值取数
    • 预算类型
    • 编制状态
    • 审批状态
    • 编制总状态
    • 催办状态
    • 执行状态
    • 预算旬
    • 预算周
    • 科目分类
    • 收支方向
    • 收支类型
    • 余额模板类型
    • 币种
    • 交易对手种类
    • 账户性质
    • 支付方式
    • 应付来源
    • 银行
    • 国家/地区
    • 地址或地区
    • 工行虚拟户类型
    • 中信虚拟户类型
    • 直联类型
    • 收单方式
    • 聚合渠道
  • 未命名接口
    POST
  1. 接入指南V3

APIFOX脚本及外部程序使用教程

在开发者调用财资云开放平台接口时,需要对请求进行加签操作。如果没有引入SDK,则需要自行加签,逻辑繁琐。如果在此之前需要测试财资云开放平台的接口是否可用,则存在无法调用成功的问题。

APIFOX脚本及外部程序说明#

APIFOX脚本是为了解决 开发者在不使用SDK并且自行实现的加签验签程序还没有开发完成的情况下,想要使用接口调用工具调试 财资云开放平台 接口的时候,无法调通的问题。

如何配置脚本#

1.
进入项目以后,在左侧的菜单栏中点击 项目设置 -> 公共脚本, 然后点击右上角新建按钮。
image.png
2.
填写 脚本名称、说明 和 脚本内容 后,保存脚本。
image.png
3.
将本文下方提供的两个脚本分别保存至公共脚本中,私钥填写应用的私钥。脚本即配置成功。

如何使用脚本#

1.
接口管理 -> 搜索栏右侧的 加号 按钮 -> 快捷请求(或使用默认快捷键 Ctrl + T), 创建快捷请求。
image.png
2.
点击前置操作 -> 添加前置操作 -> 公共脚本。
image.png
3.
在这里可以选择我们刚刚保存的脚本,将脚本都添加到前置操作里,保持设置私钥、加密密钥在前,请求脚本在后。
image.png
4.
设置完成后如图所示。
image.png

脚本文件#

私钥、应用id设置脚本#

var privateKey='用户私钥';
pm.variables.set("privateKey", privateKey);
var appId='应用id';
pm.variables.set("appId", appId);

请求脚本#

// 设置请求格式
pm.request.headers.upsert({ key: "Content-Type", value: "application/json;charset=UTF-8" });
// 设置请求参数
var urlParam = pm.request.url.getPath();
var queryStr = pm.request.url.getQueryString();
if(queryStr != null & queryStr != ''){
    urlParam = urlParam + '?' + queryStr;
}
console.log("请求urlParam为:" + urlParam);
// 获取配置的私钥
var privateKey = pm.variables.get("privateKey");
console.log("私钥为" + privateKey);
var appId = pm.variables.get('appId'); 
console.log("appId:"+appId)
// 生成 UUID 作为 nonce
function generateUUID() {
    return 'xxxxxxxx-xxxx-xxxx-xxxx-xxxxxxxxxxxx'.replace(/[xy]/g, function(c) {
        const r = Math.random() * 16 | 0,
              v = c === 'x' ? r : (r & 0x3 | 0x8);
        return v.toString(16);
    });
}
//构建url
var urlParam = pm.request.url.getPath();
var queryStr = pm.request.url.getQueryString();
if(queryStr != null & queryStr != ''){
    urlParam = urlParam + '?' + queryStr;
}
console.log("请求urlParam为:" + urlParam);
function generateRandomString(length) {
    const chars = '0123456789abcdefghijklmnopqrstuvwxyz';
    let result = '';
    for (let i = 0; i < length; i++) {
        const randomIndex = Math.floor(Math.random() * chars.length);
        result += chars[randomIndex];
    }
    return result;
}
const nonce = generateUUID(); // 生成 nonce
console.log("Nonce: " + nonce); // 打印生成的 nonce
const timestamp = Date.now(); // 获取当前时间戳(毫秒)
console.log("Timestamp: " + timestamp); // 打印时间戳
const authString = `RSA2 app_id=${appId},nonce=${nonce},timestamp=${timestamp}`;
console.log("authString: " + authString);
// 获取body信息
var bodyContent  = JSON.stringify(JSON.parse(
        pm.request.body.raw.toString()));
console.log("去除转义符bodyContent为" + bodyContent);

const sign_str = `${authString}\nPOST\n${urlParam}\n${bodyContent}\n`;

console.log(sign_str); // 打印生成的字符串
// 转换为 Java 字符串格式
//const jsonString = JSON.stringify(sign_str);
//console.log("aaaa"+jsonString)
try {
    var sign = pm.execute('test-sdk.jar', [sign_str, privateKey], {
        className: 'util.TestUtil',
        method: 'signV3',
        paramTypes: ['String', 'String'],
    })
    // 签名数据传输会把 + 号变成空格,将+号数据转换
    console.log("sign:"+sign);
    var authorization =`${authString},sign=${sign}`;
    pm.request.headers.upsert({
        key: 'authorization',
        value: authorization,
    });
    pm.request.headers.upsert({
        key: 'yocyl-request-id',
        value: generateRandomString(32),
    });
} catch (e) {
    console.log("异常");
    console.error(e.message);
}

外部程序#

外部程序的配置#

1.
打开APIFOX的设置页面,选择外部程序,打开目录。
image.png
2.
然后将test-sdk.jar放入外部程序目录中即可。

外部程序下载地址#

https://fastupload.io/c1c79ca923bcaa24
修改于 2024-10-21 05:49:52
上一页
创建应用
下一页
基本原则
Built with