测试
测试网上的付款都是各链测试网上的真实交易,用的是没有价值的测试币。支付单状态、入账、归集和 Webhook 都和主网一样。
切换到测试网
- 打开商户后台顶部的“测试网”开关。账号和项目两边共用;API key、Webhook、收款设置和收款记录两边分开。
- 在项目的“收款设置”页登记测试网的收款地址,并勾选代币。钱包里需要少量该测试网的 gas。
- 创建 API key(
sk_test_开头)并设置 Webhook。
做一笔测试付款
curl https://api.kokiwa.com/v1/payment_intents \
-H "Authorization: Bearer $KOKIWA_TEST_KEY" \
-H "Content-Type: application/json" \
-d '{ "currency": "USDT", "amount": "10.00", "customer": "test_user_1" }'打开返回的 checkout_url,收银台会标记“测试网”。用钱包付款,或者在 BNB Chain 上向支付单的 deposit_address 转入 tUSDT。tUSDT 在本页底部领取。
费率和主网相同。默认费率下,钱包付 10 USDT,手续费 0.035,你实收 9.965;转账 10 USDT,手续费 0.335,你实收 9.665。
建议测试的情况
| 情况 | 做法 | 确认你的系统 |
|---|---|---|
| 正常付款 | 用钱包付全额 | 收到 payment_intent.paid 后把订单标为已付款 |
| 少付 | 向 deposit_address 先转一半,再转剩下的 | 第一笔后不发货,补足后才发货 |
| 过期 | 创建 expires_in: 60 的支付单,不付款 | 收到 payment_intent.expired 后取消订单 |
| 过期后才付款 | 支付单过期后,向它的 deposit_address 转账 | 收到 payment_intent.paid_late 后补发货或退款 |
| 充值 | 向用户的充值地址转 10 tUSDT | 收到 deposit.confirmed 后给用户加余额 |
| 小额充值 | 向充值地址转 3 tUSDT 两次 | 两笔都入账,归集后收到 deposit.settled |
| 重试 | 让你的接收地址先返回 500 | kokiwa 重试后只入账一次 |
| 签名 | 用错误的密钥校验 | 拒绝请求,不入账 |
领取测试币
tUSDT 由你的钱包调用合约领取,每次最多 1000,次数不限。gas 用该测试网的原生币,从官方水龙头领取,例如 BNB Chain 水龙头。
自己领取 tUSDT
用你的钱包直接调用测试币合约的 faucet,代币铸造到你自己的地址。每次最多 1000,可以无限次领取;gas 由你的钱包支付(tBNB)。
没有检测到钱包。
用 sk_test_ key 创建的支付单在 TON 测试网上付款,钱包要切换到测试网。测试 TON 在 Telegram 的 @testgiver_ton_bot 领取,tUSDT 在这里领取:
在 TON 测试网领取 tUSDT
你的 TON 钱包向 tUSDT 合约(kQBOp0yfL-_QhS_0IF-1TrYrfFIg7qpDKMoS3mGrMbXWd003)发送公开的 Faucet 消息,附 0.1 TON 作为 gas,用不完的会退回。每次最多 1000,可以无限次领取。用切换到测试网的 TON 钱包扫码,或在手机上直接打开链接。
在钱包中打开上线
在主网登记收款地址,创建 sk_live_ 开头的 key 和主网的 Webhook,再把 key 和签名密钥换掉。API 地址不变。