requires_payment — send the buyer to paymentUrl, then pollGET /checkout/{id} or wait for the order.paid webhook.completed — a free ticket. The order exists and the e-mail is alreadyIdempotency-Key. Really.curl --location '/api/v1/sell/checkout' \
--header 'Idempotency-Key: 9f2c1c3e-6c2a-4a7e-9f0b-2a1d5e8c7b31' \
--header 'Authorization: Bearer <token>' \
--header 'Content-Type: application/json' \
--data-raw '{
"event": "summer-gala",
"items": [
{
"tier": "vip",
"quantity": 2
}
],
"promoCode": "EARLYBIRD",
"customer": {
"name": "Aysel Məmmədova",
"email": "aysel@example.com",
"phone": "+994501234567"
},
"answers": {
"q1": "Acme LLC"
},
"returnUrl": "https://example.com/thanks",
"lang": "az"
}'{
"id": "cs_9KxR2tPmH4vLbYcQ8sZaW3nD",
"status": "requires_payment",
"paymentMethod": "card",
"paymentUrl": "https://pay.yigim.az/p/ETS1751371245123",
"eventId": "66f0a1c2d3e4f5a6b7c8d9e0",
"currency": "AZN",
"amount": 80,
"quantity": 2,
"returnUrl": "https://example.com/thanks",
"livemode": true
}