Documentation Index
Fetch the complete documentation index at: https://docs.turbofypay.com/llms.txt
Use this file to discover all available pages before exploring further.
Endpoint
POST /v1/checkouts
Headers
Obrigatorios:x-client-idx-client-secretIdempotency-Key
x-turbofy-timestampx-turbofy-signature
checkout:write.
Request
Regras do payload
itemse obrigatorio, com minimo de 1 item.items[].ide obrigatorio.items[].quantitydeve ser inteiro >= 1.methodse opcional (PIX,CARD).metadataaceita apenas valoresstring | number | boolean | null.frequencyaceita somenteONE_TIMEno P0 (se omitido, o backend assumeONE_TIME).customerIde aceito no schema, mas bloqueado no P0 com422 CUSTOMER_NOT_ENABLED_IN_P0.couponse aceito no schema, mas bloqueado no P0 com422 COUPONS_NOT_ENABLED_IN_P0.
Regras de negocio
O backend resolve os itens porCoursePriceRepository e calcula o valor internamente:
amount = soma(coursePrice.amountCents * quantity)
Validacoes aplicadas no backend:
- CoursePrice existe.
- CoursePrice esta ativo.
- CoursePrice pertence ao merchant da credencial.
- CoursePrice e do tipo
ONE_TIME.
Response 201
Idempotencia
Se o mesmoIdempotency-Key for reenviado para o mesmo merchant com o mesmo payload efetivo, a rota retorna o mesmo checkout.
Erros do recurso
| HTTP | code | Quando ocorre |
|---|---|---|
400 | IDEMPOTENCY_KEY_REQUIRED | Header de idempotencia ausente. |
422 | FREQUENCY_NOT_ENABLED_YET | frequency diferente de ONE_TIME. |
422 | CUSTOMER_NOT_ENABLED_IN_P0 | customerId enviado no P0. |
422 | COUPONS_NOT_ENABLED_IN_P0 | coupons enviado no P0. |
422 | COURSE_PRICE_NOT_FOUND | Item referencia CoursePrice inexistente. |
422 | COURSE_PRICE_INACTIVE | CoursePrice inativo. |
422 | COURSE_PRICE_NOT_OWNED_BY_MERCHANT | CoursePrice nao pertence ao merchant autenticado. |
422 | COURSE_PRICE_TYPE_NOT_ENABLED_YET | CoursePrice nao e ONE_TIME. |
Erros de camada de seguranca
Podem ser retornados antes do handler do recurso:401 CREDENTIALS_REQUIRED401 INVALID_CREDENTIALS403 SCOPE_REQUIRED401 INVALID_SIGNATURE
Fora de escopo no create P0
frequency = MULTIPLE_PAYMENTSfrequency = SUBSCRIPTIONcustomerIdfuncionalcouponsfuncionais