从 API 请求到结算:PAYWISE 幕后揭秘
从您调用 API 到资金到账之间,PAYWISE 内部发生了什么:验证、服务商、确认、Webhook、结算和提现。
发布于 04 十月 2026 更新于 15 十月 2026 阅读约 3 分钟
从外部看,付款很简单:您创建付款,客户支付,您收到钱。而在内部,几个严谨的步骤确保每笔付款只记录一次、真实确认并正确出款。下面是完整的流程。

1. 您的请求到达
您的服务器使用 API 密钥调用 POST /api/v1/transactions。PAYWISE 首先检查密钥:是否存在、是否属于有效账户、是否已被撤销,以及(如果您设置了列表)是否来自允许的 IP 地址。无论结果如何,每个请求都会带着 X-Request-Id 被记录下来。
2. 验证与去重
检查各个字段:金额在该支付方式的限额内、包含 customer_id、USDT 的 network 为 BEP20。然后 PAYWISE 查找您的 merchant_reference。如果已存在且金额和方式相同,就返回原来的交易,而不是再创建一笔。这就是超时后重试总是安全的原因。
3. 在服务商处创建付款
PAYWISE 向已连接的支付服务商请求二维码(QRIS)或 BEP20 充值地址和精确金额(USDT)。交易以 pending 状态保存并返回给您;如果您的网站开启了付款页面,还会附带 checkout_url。在沙盒中不涉及真实资金,由您自己选择结果。
4. 客户付款
客户用银行或电子钱包 App 扫描二维码,或向地址发送 USDT。二维码最长可在 20 分钟内支付,USDT 地址保持 60 分钟。
5. 双重确认
当服务商报告付款时,PAYWISE 不会直接相信这条消息。通知会先经过身份验证、精确匹配到唯一一笔交易,然后与服务商进行服务器之间的直接确认,之后交易才会被标记为 paid。金额不足的 USDT 付款不会被标记为已付款。
此时会计算手续费,并与总额和净额一起记录。
6. 发送 Webhook
PAYWISE 向您的服务器发送使用 HMAC-SHA256 签名的 payment.paid Webhook。如果您的服务器没有返回 2xx,推送会自动重试,每次尝试都有记录。失败和过期的付款会分别发送 payment.failed 和 payment.expired。
7. 结算
- QRIS 付款根据付款时间,在印尼西部时间 10:30、14:30、18:30 和 22:30 分批结算。
- USDT 付款在付款成功后立即结算。
结算后,净额即可提现,您也会收到通知。
8. 提现
您可以在控制台或通过 API 申请提现:印尼盾提到银行账户,USDT 提到 BEP20 钱包。提现依次经历已申请、已批准、处理中和已完成,资金发出时您会收到 withdrawal.completed Webhook。如果失败,会显示原因,该金额可再次提现。
您需要开发的部分
只有三件事:创建付款、处理 Webhook、提现。列表中的其他一切都由 PAYWISE 完成。可以从如何接收 QRIS 付款开始。

