跳到主要内容

SDK 概览

DEEPayment SDK 是接入 Merchant API 的官方方式。五种语言共用同一套线路协议和同一组一致性测试向量,同一个请求无论用哪种语言发出,线路上的字节完全相同。

SDK 用你的 Ed25519 私钥给每个请求签名(RFC 9421),用平台 X25519 公钥加密每个 POST body,验证平台 webhook 签名,并在请求离开你的进程前做本地校验。你永远不需要手工拼 Signature-Input、Content-Digest 或 sealed box envelope。协议细节见鉴权机制。

语言​

语言包包页面源码环境要求运行时依赖
Gogithub.com/deepayment/sdk-gopkg.go.devsdk-goGo 1.24+golang.org/x/crypto
JavaScript@support-deepayment/sdknpmsdk-jsNode.js 18+libsodium-wrappers
PythondeepaymentPyPIsdk-pythonPython 3.10+pynacl
PHPdeepayment/sdkPackagistsdk-phpPHP 8.2+,启用 sodium、json、curl无
Javacom.deepayment:sdkMaven Centralsdk-javaJDK 17+BouncyCastle、Jackson

五个包都开源,每种语言一个 GitHub 仓库,在同一个组织下。这些仓库由单一源码树在每次发版时生成,不接受 pull request;问题请联系 DEEPayment 技术支持。

安装​

go get github.com/deepayment/[email protected]
import deepayment "github.com/deepayment/sdk-go"

锁定 release tag,包页面列出了全部版本。

AI 编程助手 skill​

agent skill 把签名方案、各币种方式码及其必填字段、接口清单和资金安全规则打包给 Claude Code、Cursor、Codex 等支持 skills 格式的助手。安装后可以直接让助手替你写接入代码:

npx skills add deepayment/skill

源码与手动安装说明:github.com/deepayment/skill。skill 与 SDK 出自同一源码树,随 SDK 一起更新。

SDK 做什么​

  • 签名与加密。 固定 RFC 9421 profile 的 Ed25519 请求签名、RFC 9530 Content-Digest、每个签名 POST body 的 X25519 sealed box。签名 GET 无 body,对 query 签名。
  • 验证 webhook。 摘要、事件 id、时间窗、按 keyid 选公钥、Ed25519 签名。见Webhook。
  • 发送前校验。 顶层必填、金额格式、webhookUrl 协议、方式码以及网关对该币种要求的 extra 字段。不通过的请求不会离开你的进程。见订单。
  • 错误分类。 每个错误都告诉你请求有没有发出去,让你能在"可以判负"和"结果未知、先查询"之间做对决定。见错误。

SDK 不做什么​

  • 不自动重试。 创建超时不会自动重发。自己用 merchantOrderNo 查询,或原样重发;见订单。
  • 不做格式校验。 手机号位数、邮箱格式、证件号、银行代码由网关校验。SDK 只查有没有填,不查格式,因此不会与网关漂移。
  • 不强制枚举。 币种、国家、方式码常量只是提示,未知值原样透传,由网关判定。
  • 不打日志、不读环境变量、不 panic。 SDK 不会打印请求 body,也不会从环境读取配置。

版本​

五个包各自发版,只在内容变化时发。一次协议变更会带来五个版本,单一语言的修复只发一个。每个仓库带 CHANGELOG.md 记录各版本变化。上面 Go 和 Java 的安装命令已经带了版本;JavaScript、Python、PHP 安装最新版后,请在自己的依赖清单里锁定(package-lock.json、requirements.txt 或 poetry.lock、composer.lock)。升级前先读 changelog。

金额是字符串​

请求、响应、webhook、余额、汇率、回单里的所有金额都是 decimal string,如 "100.00"。amount 传 JSON number 会在发送前被 SDK 拒绝。全程保持字符串,不要解析成浮点数。

下一步​

  1. 配置:六项凭据与可选客户端设置。
  2. 订单:创建代收与代付。
  3. 查询:订单、余额、汇率、回单。
  4. Webhook:验证与解析平台回调。
  5. 托管收银台:给自建收银台页面用的无签名接口。
  6. 错误:每种错误的含义与处置。