Coinbase企业收款:核对授权、部分扣款和到期余额
链小知 · 进阶 · 核验 · 依官方文档整理
按v2会话与操作记录核对订单,避免把授权成功当已收款。
开始前准备
- 准备已有且脱敏的订单、请求或回执记录;没有实际记录时仅按文档列出待核字段。
- 本教程依据公开资料,不登录、申请密钥、调用业务API、创建收款或执行退款。
1. 先固定产品、版本和会话ID
确认使用Payment Acceptance v2,记录已有paymentSessionId及externalReferenceId。官方查询方法是GET /v2/payment-sessions/{paymentSessionId},生产基址为https://api.cdp.coinbase.com/platform;密钥必须有访问该会话的权限。
旧Commerce charge、Business payment link及支付会话属于不同接口。查不到时保留ID、版本和原错误,不能据此认定买方未支付。
检查结果:产品、v2路径和会话ID对应;没有权限或原回执则标为待核。
2. 核对金额、资产和目标
用会话amount、asset作为结算金额依据,并核target是accountId/asset还是address/network。当前会话文档的地址目标是Base上的USDC;账户目标支持USD和USDC。
customerDisplay.displayAmount只影响展示;外部订单号用于对账,不自动验证订单身份。不要把买方来源链当作收款目标链。
检查结果:结算金额、展示金额和目标网络分列。
3. 把授权与实际扣款分开
authorization_succeeded表示资金已授权持有,capture_succeeded才表示扣款结算完成。autoCapture为false或省略时需商户另行扣款;true时授权成功后自动创建扣款。
分别读balances.capturable、captured、refundable、refunded及captures数组。status是最近有意义的事件,不能用一次部分扣款成功推断全部订单金额已收。
检查结果:扣款总额与待扣余额都有记录;仅授权成功不标全额收款。
4. 核对到期与剩余授权
会话expiries分授权、扣款及退款截止时间;到期只阻止对应操作,不自动改成终态。本文核已有实际期限,不用文档示例日期推算实际订单。
finalCapture=true的最后部分扣款结算后释放剩余可扣余额;作废释放未扣款,退款退回已扣款。无法取得操作明细时留下剩余余额及待核原因,不执行任何补扣或作废。
检查结果:截止时间、finalCapture及未扣余额分别有证据或明确未知。
怎样确认完成
- 形成订单、资源ID、金额、状态与未验证项的对照;保留失败原文。
常见错误与边界
- 付款页面重定向不是服务器扣款回执。
- 企业接入获批、收款成功和银行到账分别核对,不用合作报道代替账户可用性。