Create a checkout session
A hosted page where a customer pays from any coin you allow, and you receive the exact amount in USDC on Base. Send them to url, then listen for checkout.session.completed.
apiKeyx-api-key<token>Idempotency-Key?stringRetry safely: the same key and parameters return the first session. Different parameters are refused.
application/json- body
wallet*stringYour wallet on Base, which receives the money. Must be invited while checkout is closed.
amount*numberWhat you receive, in USD. It settles as exactly this much USDC on Base.
title*stringWhat the payment is for
description?stringacceptMode?stringWhich coins the payer may use
"all""all""stablecoins""majors""custom"acceptAssets?array<string>With custom: asset keys from GET /swap/assets
successUrl?stringWhere to send the payer once paid. {CHECKOUT_SESSION_ID} is replaced with the id.
cancelUrl?stringWhere the back link goes
clientReferenceId?stringYour own id, returned on the session and its webhooks
metadata?Up to 20 text values, returned on the session and its webhooks
expiresInMinutes?number30 <= value <= 14401440branding?application/json- response
code*numberHTTP status code
message*stringHuman-readable message
data?Response payload
metadata?errors?array<string>Validation errors, when the request was rejected
curl -X POST 'https://api.landedfx.com/api/v1/checkout/sessions' \ -H 'Content-Type: application/json' \ -d '{ "wallet": "string", "amount": 25, "title": "Order 1042"}'{ "message": "string", "metadata": { "page": 1, "limit": 20, "totalDocs": 42, "prevPage": null, "nextPage": 2, "totalPages": 3 }, "errors": [ "string" ], "code": 201, "data": { "id": "cs_C-uVukE6A_gp", "object": "checkout.session", "status": "open", "paymentStatus": "unpaid", "url": "string", "amount": 0, "currency": "usd", "settlesIn": "USDC:base", "clientReferenceId": "string", "metadata": {}, "paymentId": "string", "expiresAt": "string" }}