logo

搜索...

⌘ K

中文

产品文档
接口文档
资源下载
帮助中心

开始使用

总体概览

场景能力

接入步骤

收款能力

CKP 集成收银台页面

交互示意

集成准备

集成步骤

Deeplink 直跳方式

交互示意

集成准备

集成步骤

QRCode 展示二维码

交互示意

集成准备

集成步骤

付款能力

能力概述

充值入金

发起 U 提现/付款

发起法币提现

接收付款结果

支持的链和币种

支持的链

支持的币种

附录

钱包/币种/链

交易状态枚举值

支付状态

退款状态

提现状态

批量提现状态

错误码说明

签名算法

Deeplink 直跳集成

商户在自己的下单页渲染钱包列表,用户点击选择钱包后,通过 createPayment 返回的 deeplink 直接唤起指定钱包完成支付,无需经过 Paydify 收银台中转。

维度 说明
用户体验 最佳(用户在熟悉的下单页上完成钱包选择)
集成工作量 较低(多一步在下单页渲染钱包列表 UI)
支持的平台 WAP(手机)/ App(手机)

适合已经有完整下单 UI、想要把钱包选择融入自有页面而不引入第三方收银台跳转的商户。

交互示意

在商家的下单页面自定义支付方式,买家在那里选择支付方式(钱包),通过 Paydify 下单返回的 Deeplinks 自动跳转到指定钱包完成支付。

Deeplink 直跳交互示意

与 CKP 的差异

Deeplink 与 CKP 共用同一个 POST /payin/v1/createPayment 接口,仅在客户端跳转逻辑上不同:

阶段 CKP Deeplink
创建订单 服务端调用 createPayment 同 CKP
钱包选择 由 Paydify 收银台引导 由商户在下单页自行渲染
客户端跳转 跳 data.httplink(Paydify 收银台) 直接跳 data.deeplink(钱包 App)
回调 / 查询 / 退款 / 对账 同 CKP 同 CKP

完整步骤 0 / 1 / 3 / 4 / 5 复用 CKP 集成指南,本页只列出 Deeplink 独有的步骤 1 字段约束与步骤 2 客户端跳转方式。

由商户在下单页自行渲染钱包选择 UI(支持交易所与 Web3 钱包分组、按链筛选),用户选定后下单接口 payMethod1 传入对应钱包:

商户下单页自渲染钱包选择示意

集成准备

  • 完成 KYC 并拿到 x-api-key / x-api-secret(商户 Portal - 开发者中心获取);
  • 已下载并接入服务端 SDK;
  • 已确认目标钱包列表与对应链,参考 支持的链和币种。

集成步骤

集成时序


步骤 1:创建订单(必须指定钱包 + 链)

调用 POST /payin/v1/createPayment。Deeplink 模式下,必须在请求中指定钱包与链,Paydify 才能返回对应钱包的 deeplink:

字段名 必传 描述
payMethod1 是(Deeplink 模式必传) 支付使用的钱包,枚举值见 支持的链和币种,如 BINANCE / BITGET / OKX
payMethod2 是(Deeplink 模式必传) 支付使用的链,如 BNB / TRON / ETH / KAIA
其他字段 — 与 CKP 完全一致,详见 CKP 集成 - 步骤 1

请求示例:

{
  "mchTxnId": "MCH_TXN_20260610_002",
  "txnAmount": "0.01",
  "currency": "USDT",
  "checkoutMode": "MERCHANT",
  "payMethod1": "BINANCE",
  "payMethod2": "BNB",
  "notificationUrl": "https://your-domain.com/api/payment/notify",
  "successReturnUrl": "https://your-domain.com/pay/success",
  "failReturnUrl": "https://your-domain.com/pay/fail",
  "pendingReturnUrl": "https://your-domain.com/pay/pending",
  "txnTitle": "Test Payment Order",
  "source": "web",
  "txnDesc": "Payment for test product",
  "accountInfo": [
    {
      "toAddress": "0x1111111111222222222233333333334444444444",
      "network": "ETH"
    }
  ],
  "payerInfo": {
    "uid": "USER_123456"
  },
  "mchExtInfo": "{\"orderId\":\"ORD_2025081201\",\"productId\":\"PROD_001\"}"
}

响应示例:

{
  "code": "SYS_SUCCESS",
  "message": null,
  "messageDetail": null,
  "data": {
    "txnId": "P5118170010653393152",
    "mchTxnId": "MCH_TXN_20260610_002",
    "httplink": "https://app.binance.com/payment/secpay?linkToken=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&_dp=Ym5jOi8vYXBwLmJpbmFuY2UuY29tL3BheW1lbnQvc2VjcGF5P3RlbXBUb2tlbj14eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eHh4eCZyZXR1cm5MaW5rPWh0dHBzOi8veW91ci1kb21haW4uY29tL3BheS9zdWNjZXNz",
    "deeplink": "bnc://app.binance.com/payment/secpay?tempToken=xxxxxxxxxxxxxxxxxxxxxxxxxxxxxxxx&returnLink=https://your-domain.com/pay/success",
    "qrCode": "data:image/png;base64,iVBORw0...",
    "state": "INIT",
    "errorMsg": ""
  },
  "success": true
}

Deeplink 模式下,您主要使用 data.deeplink 字段。

步骤 2:客户端唤起钱包

在用户选择钱包后,把 data.deeplink 写入跳转入口:

<a href="{{deeplink}}" target="_self">使用 Binance Pay 支付</a>
window.location.href = data.deeplink;

关键约束:

  • Deeplink 必须在用户主动点击事件中触发(如 click),否则部分浏览器会拦截;
  • 如果用户没有安装对应钱包 App,跳转会失败。建议在客户端做超时检测(如 3 秒后未离开页面就视为失败),并提供"切换支付方式"的降级入口(如改用 CKP httplink);
  • iOS Safari / 部分 WebView 对 Universal Link / Custom Scheme 有不同支持策略,请按目标钱包的官方文档适配。

用户支付完跳回您的页面

部分钱包 App 不会自动跳回您的页面(这是 Deeplink 与 CKP 的最大体验差异)。推荐做法:

  • 客户端跳出后展示"请在钱包中完成支付,完成后返回此页面"提示;
  • 同时轮询 getPaymentStatus 或监听 Webhook,实时刷新页面状态;
  • 用户手动返回您的下单页时,根据查询结果展示成功 / 失败页。

复用 CKP 的部分

上线检查清单(额外项)

[ ] 已在下单页明确列出当前商户开通的钱包列表
[ ] 已对未安装钱包 App 的用户提供降级入口(如改用 CKP)
[ ] 已实现"轮询 getPaymentStatus 或 Webhook 触发"的支付完成感知
[ ] 已在跳出钱包前给用户提示"在钱包完成后返回此页"
[ ] 通过沙箱真机验证了至少 1 个钱包的 deeplink 唤起

目录