101pay APIはJSON REST APIです。すべてのリクエストとレスポンスは次の形式を使用します application/json. ベースURL:
https://api-production-4983.up.railway.app
APIはエンドポイントに応じて3種類の認証情報を受け付けます:
公開鍵(pk_test_…)と秘密鍵(sk_test_…)。鍵管理で生成します。2つの鍵が一致するペアを形成したときのみ取引が決済されます。ペアはリクエストボディで渡します。
次のエンドポイントからトークンを取得し POST /v1/auth/login Authorization: Bearer <token> として送信します。チェックアウトセッション作成、鍵管理、取引明細、KYC、決済方法に使用します。
サインアップ時に一度のみ表示(ap_test_…)。次のエンドポイントに Authorization: Bearer <apiKey> として送信します GET /v1/payments.
POST /v1/auth/register)。鍵ペアで取引を決済します。ヘッダー認証は不要 — ペアはボディで送信されます。
/v1/transactions/chargepublicKey — 文字列、必須privateKey — 文字列、必須amount — 小数文字列、必須(例: "9.99")currency — USDC · USDT · JPY · USD (既定値 USDC)description — 文字列、任意curl -X POST https://api-production-4983.up.railway.app/v1/transactions/charge \
-H "content-type: application/json" \
-d '{
"publicKey": "pk_test_…",
"privateKey": "sk_test_…",
"amount": "9.99",
"currency": "USD",
"description":"order #1024"
}'{
"orderNo": "20260517000000042",
"transaction": "0x…",
"amount": "999",
"currency": "USD",
"status": "settled"
}ペアが一致しない場合は次を返します 401 key_pair_invalid。 amount はマイナー単位で返されます(リファレンス参照)。
チェックアウトセッションを作成し、顧客をホスト型のurlへ誘導します。顧客は暗号資産の決済方法(USDC、BTC、ETH、…)を選び、ホストページ上の requires_action → confirm フローで支払います。
/v1/checkout/sessions · Bearer JWTcurl -X POST https://api-production-4983.up.railway.app/v1/checkout/sessions \
-H "authorization: Bearer <JWT>" \
-H "content-type: application/json" \
-d '{ "amount":"1500", "currency":"JPY", "description":"Pro plan" }'
# → { "session": { "id": "…", "status": "open", … }, "url": "https://…/checkout/<id>" }/v1/checkout/sessions/:id · 公開 — セッション状態をポーリング/v1/checkout/sessions/:id/pay/intent · 公開 — ボディ { method } → 支払い手順/v1/checkout/sessions/:id/pay/confirm · 公開 — ボディ { paymentId } → 決済本番ではconfirmステップは決済プロバイダのWebhookで駆動されます。ホストページがこれを代行します。
TRONネットワーク(TRC20)でUSDTを受け取ります。プラットフォームはノンカストディアル — 資金はあなた自身の受取アドレスに直接着金します。
ダッシュボードで「受取口座」を開き、USDT-TRC20アドレスを追加します。あなたのアカウントのUSDT決済はすべてそこに着金します。
サーバーからClient IDとシークレットキー(Keysページの秘密鍵のひとつ)で以下のエンドポイントを呼び出します。不一致の場合は401を返します。
/v1/paymentsclientId 15桁のClient IDsecret キーペアの秘密鍵 (sk_test_…)amount 小数文字列、例: "1.00"currency 請求通貨 — USDC · USDTmethod 決済レール — usdtcurl -X POST https://api-production-4983.up.railway.app/v1/payments \
-H "content-type: application/json" \
-d '{
"clientId": "101000000000000",
"secret": "sk_test_…",
"amount": "1.00",
"currency": "USDT",
"method": "usdt"
}'レスポンスはcryptoPayLinkを返します — 顧客を誘導するホスト型チェックアウトURLです。
{
"success": true,
"payment": { "id": "…", "status": "open", "amount": "1.00", "currency": "USDT", "method": "usdt" },
"cryptoPayLink": "https://…/en/checkout/<id>"
}顧客はcryptoPayLinkを開き、USDTを選び、受取アドレスと正確な金額が表示されます。オンチェーン送金がTronGridで確認されると、注文は支払い済みになります。
金額にはオンチェーンで照合するための一意のサブセント接尾辞が付きます。顧客は正確にその金額を送金し、確認されるまでチェックアウトページを開いたままにする必要があります。
x402プロトコルで任意のリソースに価格を付与し、AIエージェントがリクエストごとに支払えるようにします。
/v1/resource/:sku?merchant=<merchantId>X-PAYMENTヘッダーがない場合、エンドポイントはPaymentRequirements付きで402を返します。エージェントはEIP-3009認可に署名し、X-PAYMENTヘッダー付きで再試行します。ファシリテーターが検証・決済し、リソースが返されます。決済履歴: GET /v1/payments (加盟店APIキー)。
USDC — 小数6桁 · USD — 小数2桁 · JPY — 小数0桁usdc · btc · eth · usdt · bnb · sol · ada · xrp · doge · dotすべての取引に一意の17桁の注文番号が付与されます:取引日の8桁(YYYYMMDD)+ 9桁のシーケンス — 例: 20260517000000042。
エラーはJSONボディと対応するHTTPステータスを返します:
{ "error": "key_pair_invalid", "message": "the public key and private key do not form a valid pair" }400 invalid_request · 401 unauthorized · 402 payment_rejected404 not_found · 409 conflict · 500 internal_errorこのドキュメントはログイン済みの加盟店のみに表示されます。