| 付款方式 | 接口 | 效果 | 收款方 | 适用场景 |
|---|---|---|---|---|
| 链上付款(提币) | POST /nps/withdraw/onchain | 链上支付:构造区块链交易,向链上地址转出 USDT/USDC,需区块确认、产生 Gas | 外部链上钱包地址(to,如 0x...) | 提现、分润、退款到加密钱包 |
| 站内付款(划转) | POST /nps/withdraw/internal | 站内支付:在 NUSDpay 系统账本内完成,资金从一个钱包转到另一个钱包,实时到账、不上链、无 Gas | NUSD 体系内的钱包(wallet_to),可指定 NUSD Wallet 终端用户(user_token) | 给 NUSD Wallet 用户付款、项目间结算 |
关键区别:链上付款(提币)的钱真正离开 NUSDpay 走到区块链上的外部地址;站内付款(划转)的钱始终留在 NUSDpay 体系内,只是改变归属钱包。前者用于付给链上加密钱包,后者用于付给 NUSD Wallet 体系内的收款方。
一、链上付款(提币)
向外部链上钱包地址发起加密货币付款,经区块链网络转账,适合提现、分润、退款到加密钱包。时序图
以下是一笔链上付款(提币)交易的完整生命周期:操作步骤
发起提币请求
调用 POST /nps/withdraw/onchain 接口,传入收款链上地址、金额、链和币种。
Webhook 通知
交易完成后,系统向商户配置的 Webhook 地址推送提币结果事件。详见 提币 Webhook。
二、站内付款(划转)
向 NUSDpay 体系内的钱包付款(如 NUSD Wallet 终端用户)。资金在系统账本内从一个钱包转到另一个钱包,实时到账、不上链、无 Gas 费,适合给 NUSD Wallet 用户打款、项目间结算。时序图
操作步骤
发起划转请求
调用 POST /nps/withdraw/internal 接口,传入转出钱包、接收钱包和金额。与提币不同,划转不需要链和币种(因为不上链)。其中
user_token、user_name、notes 为可选字段:当收款方是 NUSD Wallet 终端用户时,可用 user_token 指定对应的 app 用户、user_name 记录收款人姓名、notes 备注用途。Webhook 通知
划转完成后,系统向商户配置的 Webhook 地址推送划转结果事件。详见 划转 Webhook。
资金流转
余额模型
商户钱包余额分为两部分:| 类型 | 说明 |
|---|---|
| 可用余额(available) | 可用于发起付款(提币 / 划转)的金额 |
| 冻结余额(hold) | 已发起但尚未完成的链上提币金额 |
| 总余额 | 可用余额 + 冻结余额 |
站内付款(划转)在系统账本内实时完成,金额直接从转出钱包可用余额扣减、计入接收钱包,一般不经过「冻结」中间态。
备款模式
付款资金来自商户的 NUSD 钱包余额。商户需确保钱包中有足够的可用 NUSD 余额,备款方式有两种:- 方式一:内部划转 — 通过站内划转,从商户的其他项目钱包(如 Payin 收款钱包)调拨 NUSD 到付款钱包(详见 划转方案)
- 方式二:外部充值 — 商户直接向付款钱包地址转入 USDT/USDC,系统自动换算为 NUSD 入账
手续费模型
| 项目 | 链上付款(提币) | 站内付款(划转) |
|---|---|---|
| Gas 费 | 有(由平台垫付,已包含在服务费中) | 无(不上链) |
| 手续费承担方 | 由请求中的 payer 决定(App 项目方承担 / User 用户承担,默认用户承担) | 站内划转无 Gas;服务费以签约协议为准 |
App 付费模式(商户承担手续费)
手续费由商户承担,收款方全额到账。User 付费模式(收款方承担手续费)
手续费从支付金额中扣除,收款方实际到账金额减少。费率说明
| 费率类型 | 说明 |
|---|---|
| 服务费率 | 按项目配置,支持自定义费率 |
| 汇率 | 参考市场实时汇率(USDC/USDT),接口返回实际汇率 |
| Gas 费 | 由平台垫付,已包含在服务费中(仅链上付款产生) |
具体费率以签约协议为准。您可通过 查询平台费用 接口获取当前费率配置。
交易状态
链上付款(提币)交易的完整状态流转:| 状态 | 说明 |
|---|---|
| Reviewing | 交易审核中 |
| Pending | 等待处理(含 AML 审核、风控审核、地址白名单检查等子状态) |
| Confirming | 已广播到链上,等待区块确认 |
| Completed | 交易完成,资金已到账 |
| Failed | 交易失败(含具体失败原因) |
站内付款(划转)不上链,没有
Confirming(链上确认)阶段,校验通过后即实时完成。异常处理
余额不足
发起付款时,如果可用余额不足(链上提币还需含手续费),接口将返回错误。请确保钱包中有足够的可用余额。风控拦截
链上提币被风控规则拦截时,状态变为 Failed,冻结资金自动释放。Webhook 通知中包含具体的失败原因。常见拦截原因:- 收款地址未在白名单中
- 单笔金额超过限额
- 触发 AML 规则
链上失败(仅链上付款)
极少数情况下,提币在链上执行失败(如 Gas 不足、合约异常)。NUSDpay 系统会自动重试或将交易标记为失败,并释放冻结 NUSD 资金。站内付款(划转)不上链,不存在此类异常。Webhook 未收到
如果 Webhook 推送失败(超时或非 200/201 响应),系统会自动重试,最多 10 次。建议:- 确保 Webhook 端点在 2 秒内响应
- 使用
request_id做幂等处理 - 定期调用 交易记录 接口做对账兜底
下一步
Payin 收款方案
了解如何接收客户的加密货币充值。
划转方案
了解商户自有项目钱包间资金调拨的使用方式。