{ "opencollection": "1.0.0", "info": { "name": "Toss Payments Core API", "version": "2022-11-16" }, "request": { "auth": { "type": "basic", "username": "{{secretKey}}", "password": "" } }, "items": [ { "info": { "name": "Payments", "type": "folder" }, "items": [ { "info": { "name": "Confirm a payment.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/payments/confirm", "body": { "type": "json", "data": "{\n \"paymentKey\": \"\",\n \"orderId\": \"\",\n \"amount\": 0\n}" } }, "docs": "Authorizes a payment created in the checkout window using paymentKey, orderId, and amount." }, { "info": { "name": "Key-in (manual card) payment.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/payments/key-in", "body": { "type": "json", "data": "{\n \"amount\": 0,\n \"orderId\": \"\",\n \"orderName\": \"\",\n \"cardNumber\": \"\",\n \"cardExpirationYear\": \"\",\n \"cardExpirationMonth\": \"\"\n}" } }, "docs": "Approves a payment from card credentials without the checkout window. Requires an additional contract." }, { "info": { "name": "Get a payment by paymentKey.", "type": "http" }, "http": { "method": "GET", "url": "https://api.tosspayments.com/v1/payments/:paymentKey", "params": [ { "name": "paymentKey", "value": "", "type": "path", "description": "The unique key identifying the payment." } ] }, "docs": "Retrieves a Payment object by its paymentKey." }, { "info": { "name": "Get a payment by orderId.", "type": "http" }, "http": { "method": "GET", "url": "https://api.tosspayments.com/v1/payments/orders/:orderId", "params": [ { "name": "orderId", "value": "", "type": "path", "description": "The merchant-assigned order ID." } ] }, "docs": "Retrieves a Payment object by the merchant's orderId." }, { "info": { "name": "Cancel a payment.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/payments/:paymentKey/cancel", "params": [ { "name": "paymentKey", "value": "", "type": "path", "description": "The unique key identifying the payment." } ], "body": { "type": "json", "data": "{\n \"cancelReason\": \"\",\n \"cancelAmount\": 0\n}" } }, "docs": "Cancels a payment in full, or partially when cancelAmount is provided. Virtual account cancellations require refundReceiveAccount." } ] }, { "info": { "name": "Billing", "type": "folder" }, "items": [ { "info": { "name": "Issue a billing key from an authKey.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/billing/authorizations/issue", "body": { "type": "json", "data": "{\n \"authKey\": \"\",\n \"customerKey\": \"\"\n}" } }, "docs": "Issues a billing key for recurring payments from an authKey and customerKey." }, { "info": { "name": "Issue a billing key from card credentials.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/billing/authorizations/card", "body": { "type": "json", "data": "{\n \"customerKey\": \"\",\n \"cardNumber\": \"\",\n \"cardExpirationYear\": \"\",\n \"cardExpirationMonth\": \"\",\n \"customerIdentityNumber\": \"\"\n}" } }, "docs": "Issues a billing key directly from card credentials. Requires an additional contract." }, { "info": { "name": "Charge a billing key.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/billing/:billingKey", "params": [ { "name": "billingKey", "value": "", "type": "path", "description": "The billing key issued for the customer." } ], "body": { "type": "json", "data": "{\n \"customerKey\": \"\",\n \"amount\": 0,\n \"orderId\": \"\",\n \"orderName\": \"\"\n}" } }, "docs": "Approves a recurring payment using a previously issued billing key and matching customerKey." } ] }, { "info": { "name": "Virtual Accounts", "type": "folder" }, "items": [ { "info": { "name": "Issue a virtual account.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/virtual-accounts", "body": { "type": "json", "data": "{\n \"amount\": 0,\n \"orderId\": \"\",\n \"orderName\": \"\",\n \"customerName\": \"\",\n \"bank\": \"\"\n}" } }, "docs": "Issues a per-order virtual bank account. Deposit events arrive via the DEPOSIT_CALLBACK webhook." } ] }, { "info": { "name": "Cash Receipts", "type": "folder" }, "items": [ { "info": { "name": "Issue a cash receipt.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/cash-receipts", "body": { "type": "json", "data": "{\n \"amount\": 0,\n \"orderId\": \"\",\n \"orderName\": \"\",\n \"customerIdentityNumber\": \"\",\n \"type\": \"소득공제\"\n}" } }, "docs": "Issues a Korean cash receipt for income deduction or expense evidence." }, { "info": { "name": "Query cash receipts.", "type": "http" }, "http": { "method": "GET", "url": "https://api.tosspayments.com/v1/cash-receipts?requestDate=2026-07-12&limit=100", "params": [ { "name": "requestDate", "value": "2026-07-12", "type": "query", "description": "The date cash receipts were requested." }, { "name": "limit", "value": "100", "type": "query", "description": "Maximum records to return (up to 10000)." } ] }, "docs": "Queries issued cash receipts by request date with cursor pagination." }, { "info": { "name": "Cancel a cash receipt.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/cash-receipts/:receiptKey/cancel", "params": [ { "name": "receiptKey", "value": "", "type": "path", "description": "The key identifying the cash receipt." } ], "body": { "type": "json", "data": "{\n \"amount\": 0\n}" } }, "docs": "Cancels a cash receipt in full or in part." } ] }, { "info": { "name": "Transactions", "type": "folder" }, "items": [ { "info": { "name": "Query transactions.", "type": "http" }, "http": { "method": "GET", "url": "https://api.tosspayments.com/v1/transactions?startDate=2026-07-01T00:00:00&endDate=2026-07-12T00:00:00&limit=100", "params": [ { "name": "startDate", "value": "2026-07-01T00:00:00", "type": "query", "description": "Start datetime (ISO 8601)." }, { "name": "endDate", "value": "2026-07-12T00:00:00", "type": "query", "description": "End datetime (ISO 8601)." }, { "name": "limit", "value": "100", "type": "query", "description": "Maximum records (up to 5000)." } ] }, "docs": "Queries the transaction ledger over a date range with cursor pagination." } ] }, { "info": { "name": "Settlements", "type": "folder" }, "items": [ { "info": { "name": "Query settlements.", "type": "http" }, "http": { "method": "GET", "url": "https://api.tosspayments.com/v1/settlements?startDate=2026-07-01&endDate=2026-07-12&dateType=soldDate&page=1&size=100", "params": [ { "name": "startDate", "value": "2026-07-01", "type": "query", "description": "Start date (YYYY-MM-DD)." }, { "name": "endDate", "value": "2026-07-12", "type": "query", "description": "End date (YYYY-MM-DD)." }, { "name": "dateType", "value": "soldDate", "type": "query", "description": "soldDate or paidOutDate." }, { "name": "page", "value": "1", "type": "query", "description": "Page number." }, { "name": "size", "value": "100", "type": "query", "description": "Page size." } ] }, "docs": "Queries settlement records by sold date or paid-out date with page-based pagination." }, { "info": { "name": "Request a manual settlement.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v1/settlements", "body": { "type": "json", "data": "{\n \"paymentKey\": \"\"\n}" } }, "docs": "Requests manual settlement for a paymentKey. Requires an additional contract." } ] }, { "info": { "name": "Payouts", "type": "folder" }, "items": [ { "info": { "name": "Retrieve payout balance.", "type": "http" }, "http": { "method": "GET", "url": "https://api.tosspayments.com/v2/balances" }, "docs": "Returns the funds available for payouts (marketplace payouts v2)." }, { "info": { "name": "Request payouts.", "type": "http" }, "http": { "method": "POST", "url": "https://api.tosspayments.com/v2/payouts", "body": { "type": "json", "data": "{\n \"payouts\": [\n {\n \"refPayoutId\": \"\",\n \"destination\": \"\",\n \"amount\": 0\n }\n ]\n}" } }, "docs": "Sends a batch of payout requests to sellers (up to 100 per call)." } ] } ], "bundled": true }