Create a Session
Creates a Hosted Checkout session for one payment or one card enrollment. Tonder returns the checkout URL and, for payment sessions, the `payment_id`.
Authorization
Authorization Your public API key, with the word Token and a space in front of it. Example: Token 6534bc0a7e1f4d2b9c8e3a5f7b1d2c4e6f8a9b0c — that whole value is the header. Sending the key alone returns 401 'Authentication credentials were not provided'. In this playground you may paste just the key; the prefix is added for you.
In: header
Request Body
application/json
TypeScript Definitions
Use the request body type in TypeScript.
Response Body
application/json
application/json
application/json
curl -X POST "https://example.com/checkout/v1/sessions" \ -H "Content-Type: application/json" \ -d '{ "customer": { "first_name": "Maria", "last_name": "Garcia", "email": "maria@example.com" }, "amount_total": 150, "currency": "MXN", "external_id": "ORD-001", "line_items": [ { "name": "Premium Plan", "quantity": 1, "unit_price": 150, "product_id": "plan-premium-01" } ], "payment_method_types": [ "card", "saved_cards", "oxxopay" ], "submit_type": "pay", "locale": "en", "return_url": "https://your-store.com/checkout/complete", "metadata": { "external_id": "ORD-001" } }'{
"id": "cs_97_41528_42434df6c3644b9610df7b64a1fa9925e3b9562b05972097",
"url": "https://stage-payflow.tonder.io/checkout/cs_97_41528_42434df6c3644b9610df7b64a1fa9925e3b9562b05972097",
"status": "pending",
"session_type": "payment",
"checkout_type": "hosted",
"payment_id": 41528,
"checkout_ui_version": "v2",
"submit_type": "pay",
"locale": "en",
"amount_total": 150,
"currency": "MXN",
"external_id": "ORD-001",
"return_url": "https://your-store.com/checkout/complete",
"payment_method_types": [
"card",
"saved_cards",
"oxxopay"
],
"ui_config": {},
"ui_config_version": "V1",
"created_at": 1751483563558,
"modified_at": 1751483563558,
"expires_at": 1751569963
}{
"code": "E004",
"message": "The request was invalid. Please check your input and try again.",
"metadata": {
"errors": [
{
"keyword": "required",
"params": {
"missingProperty": "currency"
},
"message": "must have required property 'currency'",
"field": "currency"
}
]
},
"name": "TNDR004",
"statusCode": 400
}{
"code": "E004",
"message": "The request was invalid. Please check your input and try again.",
"metadata": {},
"name": "TNDR004",
"statusCode": 400
}