whalet
    whalet
    • 接入指南
    • 附录
    • 认证授权(Authorize)
      • 获取令牌
        POST
      • 文件上传
        POST
    • 连通性验证(Connectivity)
      • 通知(Webhook)
        • 连通性验证通知(connectivityNotify)
      • 连通性验证(connectivity)
        POST
    • 用户入网(UserOnboarding)
      • 入网申请(Onboarding)
        • 用户入网申请(User Onboarding Apply)
      • 补充资料(EDD)
        • EDD补充资料查询(Edd Replenish Query)
        • EDD补充资料提交(Edd Replenish Submit)
      • 通知(Webhook)
        • 入网结果通知(User Onboarding Result Notification)
        • EDD补充资料通知(Edd Replenish Notify)
        • EDD补充资料结果通知(Edd Replenish Result Notify)
    • 收款(Payee)
      • 持有人(Card Holder)
        • 持有人申请(Card Holder Apply)
        • 持有人查询(Card Holder Query)
        • 持有人银行账户申请(Card Holder Beneficary Apply)
        • 持有人银行账户查询(Card Holder Beneficary Query)
      • 开卡(Virtual Account)
        • 外贸收款(B2B)
          • 申请收款卡(Virtual Account Apply for B2B)
          • 获取外贸收款渠道(Channel Banks Query for B2B)
        • 电商收款(B2C)
          • 申请收款卡(Virtual Account Apply for B2C)
          • 获取收款卡平台配置(Platform Query for B2C)
          • 获取开通收款卡持有人(Card Holder Query for B2C)
          • 查询开卡数(Card number Query for B2C)
          • 绑定/添加店铺(Bind/Unbind Shop for B2C)
          • 注销收款卡((Card Cancel for B2C))
          • 查询收款卡详情(Card Detail Query for B2C)
          • 查询店铺(Shop Query for B2C)
          • 查询收款卡(Card Query for B2C)
          • 申请银行证明信(Bank Letter Apply For B2C)
      • 订单(Order)
        • 外贸收款(Trade Order)
          • 订单申请(Trade Order Apply for B2B)
          • 订单详情(Trade Order Query Detail for B2B)
          • 分页查询(Trade Order Query List for B2B)
          • 关联外贸订单(Trade Order Bind Apply for B2B)
        • 电商收款(Shop Order)
          • 上传订单(Shop Order Upload for B2C)
      • 通知(Webhook)
        • 模拟入账通知Mock(mockPayeeNotify)
        • 持有人结果通知(Card Holder Result Notification)
        • 持有人银行账户结果通知(Card Holder Beneficary Result Notify)
        • 申请收款卡结果通知(Virtual Account Notify for B2C)
        • 收款到账通知(Payee Received Notify)
        • 关联外贸订单结果通知(Trade Order Bind Notify for B2B)
        • 绑定/添加店铺结果通知(Shop Bind/Unbind/Add Result Notify for B2C)
        • 注销收款卡结果通知(Card Cancel Result Notify for B2C)
    • 收单(Acquiring)
      • 接入方式
      • 店铺(Shop)
        • 获取可申请的支付方式
        • 添加店铺
        • 查询店铺详情
        • 申请店铺支付方式
      • 支付(Payment)
        • 创建支付链接
        • 查询交易信息
      • 插件(Plugin)
        • wordpress插件安装说明
      • 退款(Refund)
        • 退款申请
      • 拒付(Chargeback)
        • 拒付详情
        • 查询拒付原因
        • 拒付申诉
        • 拒付接受
      • 通知(Webhook)
        • 添加店铺结果通知
        • 申请店铺支付方式结果通知
        • 支付结果通知
        • 退款结果通知
        • 拒付产生通知
        • 拒付结果通知
    • 鲸卡(VCC)
      • 鲸卡钱包(Account/Wallet)
        • 开通鲸卡钱包
        • 鲸卡钱包查询
        • 鲸卡钱包充值
        • 钱包交易查询
      • 鲸卡管理(Card)
        • 可用卡bin查询
        • 创建鲸卡
        • 查询鲸卡信息
        • 注销鲸卡
        • 锁定鲸卡
        • 解锁鲸卡
        • 鲸卡充值
        • 鲸卡提现
        • 鲸卡交易查询
      • 通知(Webhook)
        • 创建鲸卡通知
        • 注销鲸卡通知
        • 锁定鲸卡通知
        • 解锁鲸卡通知
        • 鲸卡交易通知
        • 鲸卡钱包交易通知
    • 支付(Pay)
      • 通知(Webhook)
        • 申请支付结果通知(Pay Result Notify)
      • 申请支付(Pay Apply)
      • 确认支付(Pay Confirm)
    • 出金(Payout)
      • 通知(Webhook)
        • 申请提现/付款结果通知(Payout Result Notify)
        • 绑定受益人银行账户结果通知(Benificiary Account Result Notify)
      • 申请提现/付款(Payout Apply)
      • 确认提现/付款(Payout Confirm)
      • 查询汇率(Rate Inquiry)
      • 查询受益人银行账户字段信息(Beneficiary Account Fields Query)
      • 绑定受益人银行账户(Benificiary Account Apply)
      • 删除受益人银行账户(Benificiary Account Delete)
      • 查询支持的受益人银行账户国家/地区(Beneficiary Account Country Query)
    • 交易(Trade)
      • 交易查询(Trade Query)
        • 收款记录(Payee Query)
        • 提现记录(Withdraw Query)
        • 付款记录(Payment Query)
        • 支付记录(Pay Query)
      • 补充资料(ReMaterials)
        • 通知(Webhook)
          • 交易补充资料通知(Trade Replenish Notify)
          • 交易补充资料结果通知(Trade Replenish Result Notify)
        • 交易补充资料提交(Trade Replenish Submit)
    • 钱包(Wallet)
      • 币种余额(Currency Balance)
      • 平台余额(Platform Balance)
    • Mock
      • 入账通知Mock(mockPayeeNotify)

    接入指南

    Whalet Open API 接入指南#

    1. 介绍#

    1.1 概述#

    本文档旨在帮助合作伙伴快速接入易鲸的收款、收单、VCC、Payout等开放能力。

    1.2 对接流程#

    image.png

    1.3 对接参数#

    📌
    在启动对接前,whalet跟合作伙伴需要交换的技术参数信息
    参数提供方说明示例值
    partnerIdwhalet合作方ID202506241658268
    clientIdwhalet应用IDbudrOyt8X0qTCeyaDPMd2t5EI2DOUIii
    secretKeywhalet应用密钥saBHKCCpWQXqEWRRFtSLmzStlVeXKBiE4p...
    hmacKeywhalet签名keybudrOyt8X0qTCeyaDPMd2t5EI2DOUIii
    webhookUrl合伙伙伴通知地址https://exaxple.com/webhook

    1.4 技术支持#

    有关本接口对接、调试任何问题,可以在工作时间按以下方式联络相关技术支持人员。
    product@whalet.com

    2. 公共报文#

    2.1 接入方式#

    接口遵循REST规范,通过Outh2.0授权,使用HTTPS通信协议,通过POST方式提交。
    环境地址
    测试环境https://test-open.whalet.com
    生产环境https://open.whalet.com

    2.2 注意事项#

    所有API请求必须使用HTTPS协议
    建议使用TLS 1.2或更高版本
    所有字符编码,请统一使用UTF-8

    2.3 状态码说明#

    成功状态码#

    状态码说明使用场景
    SUCCESS操作成功正常业务操作完成
    PROCESSING处理中处理中

    错误状态码#

    状态码说明解决方案
    FAILURE失败查看错误原因
    TOO_MANY_REQUESTS请求频率过高降低请求频率
    PARTNER_NOT_EXIST合作方不存在检查请求头partnerId
    INTERNAL_ERROR内部错误联系技术支持
    PARAMETER_ERROR参数错误查看具体错误信息
    IDEMPOTENT_ERROR幂等错误联系技术支持
    REQUEST_NO_NOT_UNIQUE请求号重复检查请求号
    UNAUTHORIZED未授权接口未授权,联系Whalet开通业务接口权限
    UNAUTHENTICATED_ERROR认证(签名)错误检查签名
    INTERFACE_UNAUTHORIZED接口未授权接口未授权,联系Whalet开通业务接口权限

    3. 认证授权#

    3.1 获取访问令牌#

    接口信息
    接口地址: POST /v1/auth/token
    接口描述: 通过客户端ID和密钥获取访问令牌
    认证要求: 无需认证
    请求参数
    参数类型参数名必填类型说明示例值
    HeaderpartnerId是string合作方ID202506241658268
    HeaderrequestNo是string请求流水号REQ202312010001
    Headertimestamp是long时间戳(毫秒)1753682997568
    BodyclientId是string客户端IDbudrOyt8X0qTCeyaDPMd2t5EI2DOUIii
    BodysecretKey是string密钥saBHKCCpWQXqEWRRFtSLmzStlVeXK...
    请求示例
    响应参数
    参数名类型说明示例值
    codestring响应状态码SUCCESS
    messagestring响应消息success
    data.tokenstring访问令牌eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9
    data.expirenumber过期时间(秒)3600
    data.tokenTypestring令牌类型Bearer
    成功响应示例
    {
        "message": "success",
        "code": "SUCCESS",
        "data": {
            "token": "S5laCM1hbNZxcWqp7l8xBTtDKopQtE7wfRy4fxyzyQIHbvJJ76bW6UkJvVAmakZS",
            "expire": 3600,
            "tokenType": "Bearer"
        }
    }

    3.2 Token 失效与刷新机制#

    token 有效期(单位:秒)由 expire 字段指定(单位:秒),如 3600 表示 1 小时。
    建议调用方本地缓存token,如果 token有效期小于5分钟(300秒),重新获取新的新的token,原token将失效。

    4.业务接口#

    3.1 概述#

    请确保您已经完成授权(获取token),所有的业务接口都需要授权。

    3.2 请求格式#

    请求头 (HTTP Headers)#

    所有API请求都需要在请求头中携带以下信息:
    参数名必填类型说明示例值
    partnerId是string合作方ID,用于标识请求来源partner_001
    requestNo是string请求流水号,建议使用唯一标识便于问题排查REQ202312010001
    Authorization是string访问令牌,从 /v1/auth/token 接口获取Bearer eyJhbGciO...
    timestamp是long请求时间戳(毫秒)1753682997568
    Content-Type是string内容类型,固定为 application/jsonapplication/json
    注意: Authorization 在所有接口中都需要传递
    请求头示例
    {
      "partnerId": "partner_001",
      "requestNo": "REQ202312010001",
      "Authorization": "Bearer eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9",
      "timestamp": "1753682997568",
      "Content-Type": "application/json"
    }
    curl示例

    请求体 (HTTP Body)#

    请求体使用JSON格式,具体参数根据各接口文档定义。
    {
      "param1": "value1",
      "param2": "value2",
      "param3": {
        "nestedParam": "nestedValue"
      }
    }

    3.3 响应格式#

    响应头 (HTTP Headers)#

    服务器响应时会返回以下头信息:
    参数名类型说明示例值
    Content-Typestring固定为 application/jsonapplication/json
    响应头示例
    {
      "Content-Type": application/json
    }

    响应体 (HTTP Body)#

    所有API响应都遵循统一的JSON格式:
    {
      "code": "SUCCESS",
      "message": "响应描述",
      "data": "接口文档数据定义"
    }
    响应字段说明
    字段名类型必填说明示例值
    codestring是响应状态码SUCCESS
    messagestring是响应描述信息操作成功
    dataobject/array/null是响应数据,具体结构见各接口文档{}
    成功响应示例
    {
      "code": "SUCCESS",
      "message": "success",
      "data": {
        "id": "12345",
        "name": "示例数据",
        "status": "active"
      }
    }
    错误响应示例
    {
        "message": "clientId length must be 32",
        "code": "PARAMETER_ERROR",
        "data": null
    }

    4.通知(webhook)#

    webhook用于向合作伙伴推送通知,例如入账通知或者各类业务结果通知。

    4.1 通知方式#

    重试机制: 最多5次 间隔时间依次为1s、2s、4s、8s、16s
    响应要求: 30秒内返回结果,如果5次仍然无法成功,将线下通知合作伙伴
    通知成功判定、以响应的httpStatus = 200 作为判断依据

    4.2 请求信息#

    请求方法: POST
    请求地址: 由合作伙伴提供

    通知 Header#

    参数名必填类型说明
    Content-Type是stringapplication/json
    signature是string签名,见下方签名规则

    通知 Body 参数#

    字段名类型必填说明
    typestring是业务类型(详见各个通知type定义)
    dataobject是业务数据体(详见各个通知接口的请求参数定义)
    requestNostring是请求流水号
    versionstring是接口版本号
    timestamplong是时间戳(毫秒)
    curl示例

    4.3 验签#

    验签规则#

    1.
    验签内容: 请求体的原始 JSON 字符串(即 HTTP payload,不要做任何格式化或空格处理)
    2.
    验签算法: HMAC-SHA256
    3.
    验签密钥: 由whalet提供给合作伙伴
    4.
    验签过程:
    使用签名密钥对请求体(payload)进行运算,得到签名结果
    将签名结果进行 Base64 编码,得到最终签名字符串
    将最终签名字符串和通知HTTPHeader的signature字段进行equal比较

    示例代码#

    java
    php
    python
    go

    5. 文件上传#

    5.1 上传接口#

    接口信息
    接口地址: POST /v1/upload
    接口描述: 文件(证件/附件/证明等)上传
    认证要求: 需要认证
    请求参数
    参数类型参数名必填类型说明示例值
    HeaderpartnerId是string合作方ID202506241658268
    HeaderrequestNo是string请求流水号REQ202312010001
    Headertimestamp是long时间戳(毫秒)1740995200123
    HeaderContent-Type是string固定请求头multipart/form-data
    HeaderAuthorization是string请求令牌Bearer eyJhbGciOiU...
    Bodyfile是file文件上传文件
    请求示例

    5.2 支持格式#

    图片: jpeg, jpg, png, gif, bmp
    文档: pdf, doc, docx, xls, xlsx, csv, txt
    压缩: zip, rar

    5.3 大小限制#

    10MB以内

    5.4 Body 响应参数#

    响应参数
    参数名类型说明示例值
    codestring响应状态码SUCCESS
    messagestring响应消息success
    data.fileIdstring文件id202507301610248867670001
    data.fileNamestring文件名称图片1.jpg
    data.fileUrlstring文件urlhttps://test-file.whalet.com/2025-07-30/demo.jpg
    成功响应示例
    {
        "message": "success",
        "code": "SUCCESS",
        "data": {
            "fileId": "202507301610248867670001",
            "fileName": "demo.png",
            "fileUrl": "https://test-file.whalet.com/2025-07-30/demo.jpg"
        }
    }

    6. 主要接口分类#

    用户入网
    用户入网申请,用户入网-补充资料。
    收款
    开通VA并收款。
    收单
    国际信用卡收单+本地支付。
    VCC
    Virtual Credit Card.
    出金
    Fund payout.
    钱包
    Wallet and Balance.
    下一页
    附录
    Built with