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