Create Solana checkout from one API request.
Integrate hosted checkout, merchant API keys, payment redirects, and webhook status delivery while Trezalink keeps settlement wallet-direct.
Create checkout
POST /api/v1/checkout
curl -X POST https://trezalink.com/api/v1/checkout \
-H "Content-Type: application/json" \
-H "Authorization: Bearer <API_KEY>" \
-d '{
"orderId": "INV-2026-001",
"amount": 10,
"currency": "SOL",
"customerEmail": "buyer@example.com",
"customerReference": "CUST-REF-001",
"customerName": "Avery Stone",
"notes": "Priority support customer",
"successUrl": "https://yourstore.com/success",
"cancelUrl": "https://yourstore.com/cart"
}'POST
/api/v1/checkout
Bearer
API key authentication
SOL + USDC
Supported settlement assets
24h
Checkout session window
Ship checkout without owning payment infrastructure.
Start from the merchant dashboard, move checkout creation to your backend, and use webhook logs when your application needs reliable payment state.
Connect settlement wallet
Complete merchant setup and add the wallet where successful payments should settle.
Generate API key
Use the developer dashboard to create or rotate the credential used by your backend.
Create checkout session
Send amount, currency, orderId, and optional redirect URLs to receive a hosted checkout URL.
Listen for updates
Configure a webhook endpoint and inspect delivery logs when your backend needs payment status.
Checkout API shaped for backend services.
The production route validates bearer credentials, merchant wallet readiness, unique order IDs, positive currency amounts, and optional redirect URLs.
Route
POST /api/v1/checkout
Request body
| Field | Type | Required | Notes |
|---|---|---|---|
| orderId | string | Yes | Unique merchant order reference |
| amount | number | Yes | Positive amount based on selected currency |
| currency | "SOL" | "USDC" | Yes | USDC support is controlled by network configuration |
| customerEmail | string | No | Optional receipt and reconciliation data |
| customerReference | string | No | Optional customer lookup reference for support teams |
| customerName | string | No | Optional display name for customer context |
| notes | string | No | Optional internal note with bounded length |
| successUrl | url | No | Optional redirect after payment |
| cancelUrl | url | No | Optional redirect when payer exits |
{
"message": "Checkout session created successfully",
"transactionId": "txn_...",
"checkoutUrl": "https://trezalink.com/pay/txn_...",
"expiresAt": "2026-05-20T04:26:32.000Z"
}Guardrails that map to the merchant dashboard.
Developer tooling is tied to the same merchant profile used by wallet setup, webhook configuration, transaction history, and payment link operations.
No custody boundary
The payer authorizes from their wallet and settlement goes to the merchant wallet.
Bearer credentials
Checkout creation requires an active merchant API key in the Authorization header.
Duplicate protection
The API rejects reused orderId values for the same merchant.
Key rotation
Credentials can be regenerated from the merchant developer console.
Keep your backend synchronized after checkout.
Configure webhook URLs from the merchant console, rotate webhook secrets, and inspect delivery logs when a payment status update needs tracing.
Webhook event
payment.updated
From payment link to full API integration.
Use payment links for manual collection today, then connect the checkout API and webhooks when your product needs automated payment operations.