openapi: 3.1.0
info:
title: InfinitePay Checkout API
version: '2026-08-01'
summary: Generate InfinitePay hosted checkout payment links and query their payment status.
description: >-
The InfinitePay Integrated Checkout ("Checkout Integrado") API, operated by CloudWalk
Inc. It has two public operations: create a hosted checkout link for a basket of items,
and check the payment status of a previously created link. Payment is completed on the
InfinitePay-hosted checkout page (checkout.infinitepay.io); the merchant is identified by
its InfiniteTag `handle` rather than by an API key. Amounts are always integers in
Brazilian cents (R$ 10,00 = 1000). Supported capture methods are `credit_card`
(up to 12 installments) and `pix`.
PROVENANCE: this document was NOT published by CloudWalk. It is a faithful transcription
of CloudWalk's own live, public API reference at
https://www.infinitepay.io/checkout-documentacao (fetched 2026-08-01), with every path,
field name, type and example taken verbatim from that page. Both hosts were probed live
on 2026-08-01 to confirm the routes exist (see x-evidence). No operation, field or
response has been invented; where the published reference is silent (error catalogue,
rate limits, sandbox) this spec is silent too.
contact:
name: InfinitePay / CloudWalk partner integrations
email: parcerias@cloudwalk.io
url: https://www.infinitepay.io/desenvolvedores
termsOfService: https://www.infinitepay.io/legal/termos-de-uso
x-evidence:
fetched: '2026-08-01'
transcribed_from: https://www.infinitepay.io/checkout-documentacao
probes:
- {url: 'https://api.checkout.infinitepay.io/', method: GET, http_status: 200, body: 'OK <timestamp>'}
- {url: 'https://api.checkout.infinitepay.io/links', method: POST, request: '{}', http_status: 400, body: '{"success":false,"message":"param is missing or the value is empty or invalid: handle"}'}
- {url: 'https://api.checkout.infinitepay.io/payment_check', method: POST, request: '{}', http_status: 404, body: '{"success":false,"message":"Not found"}'}
- {url: 'https://api.infinitepay.io/invoices/public/checkout/links', method: POST, request: '{}', http_status: 400, body: '{"success":false,"message":"param is missing or the value is empty or invalid: handle"}'}
- {url: 'https://api.checkout.infinitepay.io/openapi.json', method: GET, http_status: 404, note: 'provider publishes no machine-readable spec at any probed path'}
spec_search:
- {path: /openapi.json, status: 404}
- {path: /openapi.yaml, status: 404}
- {path: /swagger.json, status: 404}
- {path: /api-docs, status: 401}
- {path: /redoc, status: 404}
servers:
- url: https://api.checkout.infinitepay.io
description: Production checkout API host (the host named in the current published reference).
- url: https://api.infinitepay.io/invoices/public/checkout
description: >-
Legacy path-based host for the same two operations. Probed live 2026-08-01 and still
answering (POST /links returned the same 400 handle-validation error).
tags:
- name: Checkout Links
description: Create InfinitePay-hosted checkout payment links.
- name: Payments
description: Query the payment status of a checkout link.
paths:
/links:
post:
tags: [Checkout Links]
operationId: createCheckoutLink
summary: Create a checkout payment link
description: >-
Creates an InfinitePay-hosted checkout link for a basket of items. The response
carries the URL the buyer is sent to in order to pay by credit card (up to 12
installments) or Pix.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCheckoutLinkRequest'
examples:
minimal:
summary: Minimal payload (from the published reference)
value:
handle: colakids
items:
- quantity: 1
price: 1000
description: Produto de Exemplo
full:
summary: Full payload with tracking, redirect, webhook, customer and address
value:
handle: colakids
items:
- quantity: 1
price: 1000
description: Produto de Exemplo
order_nsu: order-nsu-123
redirect_url: https://seusite.com/pagamento-concluido
webhook_url: https://seusite.com/webhook-infinitepay
customer:
name: João Silva
email: joao@email.com
phone_number: '+5511999887766'
address:
cep: '12345678'
street: Rua das Flores
neighborhood: Centro
number: '123'
complement: Apto 45
responses:
'200':
description: Checkout link created.
content:
application/json:
schema:
$ref: '#/components/schemas/CreateCheckoutLinkResponse'
examples:
checkoutUrl:
value:
checkout_url: https://checkout.infinitepay.io/colakids/1RxANX7tdF
'400':
description: >-
A required parameter is missing or invalid. Observed live 2026-08-01 for an empty
body.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
missingHandle:
value:
success: false
message: 'param is missing or the value is empty or invalid: handle'
/payment_check:
post:
tags: [Payments]
operationId: checkPaymentStatus
summary: Check the payment status of a checkout link
description: >-
Returns whether a checkout link has been paid, the amount charged, the number of
installments and the capture method. Used as the pull-based alternative to the
webhook.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentCheckRequest'
examples:
published:
value:
handle: sua_infinite_tag
order_nsu: '123456'
transaction_nsu: UUID-que-recebeu
slug: codigo-da-fatura
responses:
'200':
description: Payment status.
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentCheckResponse'
examples:
paidWithPix:
value:
success: true
paid: true
amount: 1500
paid_amount: 1510
installments: 1
capture_method: pix
'404':
description: >-
No matching invoice/transaction for the supplied identifiers. Observed live
2026-08-01 for an empty body.
content:
application/json:
schema:
$ref: '#/components/schemas/Error'
examples:
notFound:
value:
success: false
message: Not found
webhooks:
paymentApproved:
post:
operationId: onPaymentApproved
summary: Payment approved notification
description: >-
When a payment is approved InfinitePay POSTs this payload to the `webhook_url`
supplied on the checkout link. The published reference asks the receiver to answer
within about one second with 200 OK to acknowledge, or 400 Bad Request to have the
notification retried.
requestBody:
required: true
content:
application/json:
schema:
$ref: '#/components/schemas/PaymentApprovedEvent'
examples:
approved:
value:
invoice_slug: abc123
amount: 1000
paid_amount: 1010
installments: 1
capture_method: credit_card
transaction_nsu: UUID
order_nsu: UUID-do-pedido
receipt_url: https://comprovante.com/123
items:
- quantity: 1
price: 1000
description: Produto de Exemplo
responses:
'200':
description: Notification acknowledged.
'400':
description: Receiver reported a problem; InfinitePay retries delivery.
components:
schemas:
Item:
type: object
required: [quantity, price, description]
properties:
quantity:
type: integer
description: Quantity of the item.
examples: [1]
price:
type: integer
description: Unit price in Brazilian cents (R$ 10,00 = 1000).
examples: [1000]
description:
type: string
description: Item description shown on the checkout page.
examples: [Produto de Exemplo]
Customer:
type: object
description: Optional buyer details used to pre-fill the hosted checkout form.
properties:
name: {type: string, examples: [João Silva]}
email: {type: string, format: email, examples: [joao@email.com]}
phone_number: {type: string, examples: ['+5511999887766']}
Address:
type: object
description: Optional Brazilian delivery address used to pre-fill the hosted checkout form.
properties:
cep: {type: string, description: Brazilian postal code, examples: ['12345678']}
street: {type: string, examples: [Rua das Flores]}
neighborhood: {type: string, examples: [Centro]}
number: {type: string, examples: ['123']}
complement: {type: string, examples: [Apto 45]}
CreateCheckoutLinkRequest:
type: object
required: [handle, items]
properties:
handle:
type: string
description: >-
The merchant's InfiniteTag (username in the InfinitePay app) without the leading
"$". This is the only merchant credential the published reference requires.
examples: [colakids]
items:
type: array
minItems: 1
items: {$ref: '#/components/schemas/Item'}
description: >-
The products or services being purchased. At least one item is required. NOTE:
the published reference is inconsistent about this key — the "Itens do Pedido"
snippet spells it `itens` (Portuguese) while the interactive generated payload
and the response examples spell it `items`. Both spellings appear on the
provider's own page; recorded here as published rather than resolved, because
neither could be disambiguated without creating a live payment link.
order_nsu:
type: string
description: >-
Optional merchant-side order identifier used to correlate the checkout link with
an order in your system. If omitted InfinitePay generates a random value. It is a
correlation key, not an idempotency key — the reference does not state that
reusing it replays a prior response.
examples: [order-nsu-123]
redirect_url:
type: string
format: uri
description: >-
Optional URL the buyer is sent to after paying. InfinitePay appends
receipt_url, order_nsu, slug, capture_method and transaction_nsu as query
parameters.
examples: [https://seusite.com/pagamento-concluido]
webhook_url:
type: string
format: uri
description: Optional URL that receives the paymentApproved webhook.
examples: [https://seusite.com/webhook-infinitepay]
customer: {$ref: '#/components/schemas/Customer'}
address: {$ref: '#/components/schemas/Address'}
x-alias-fields:
items: [itens]
CreateCheckoutLinkResponse:
type: object
description: >-
The published reference shows two response shapes for this operation on the same
page — `{checkout_url}` in the interactive section and `{link, slug}` in the API
summary block. Both are recorded; `checkout_url` is the one shown by the live
interactive builder.
properties:
checkout_url:
type: string
format: uri
description: The InfinitePay-hosted checkout page URL to send the buyer to.
examples: [https://checkout.infinitepay.io/colakids/1RxANX7tdF]
link:
type: string
format: uri
description: The generated payment link (alternate field name shown in the reference).
slug:
type: string
description: The InfinitePay invoice code for the generated link.
examples: [abcdef123]
PaymentCheckRequest:
type: object
required: [handle, order_nsu, transaction_nsu, slug]
properties:
handle: {type: string, description: The merchant's InfiniteTag without the leading "$".}
order_nsu: {type: string, description: The order number in the merchant's system.}
transaction_nsu: {type: string, description: The unique transaction identifier returned after payment.}
slug: {type: string, description: The InfinitePay invoice code.}
PaymentCheckResponse:
type: object
properties:
success: {type: boolean, description: Whether the request succeeded.}
paid: {type: boolean, description: Whether the checkout link has been paid.}
amount: {type: integer, description: Original amount in cents.}
paid_amount: {type: integer, description: Amount actually paid in cents (may include installment fees passed to the buyer).}
installments: {type: integer, description: Number of installments.}
capture_method:
type: string
description: How the payment was captured.
enum: [credit_card, pix]
PaymentApprovedEvent:
type: object
properties:
invoice_slug: {type: string, examples: [abc123]}
amount: {type: integer, description: Original amount in cents.}
paid_amount: {type: integer, description: Amount paid in cents.}
installments: {type: integer}
capture_method: {type: string, enum: [credit_card, pix]}
transaction_nsu: {type: string, description: Unique transaction identifier (UUID format).}
order_nsu: {type: string, description: The merchant order identifier supplied on the link.}
receipt_url: {type: string, format: uri, description: Link to the payment receipt.}
items:
type: array
items: {$ref: '#/components/schemas/Item'}
Error:
type: object
description: >-
The error envelope observed live on both hosts. CloudWalk publishes no error
reference for this API; the shape below is what the API actually returned when
probed on 2026-08-01.
properties:
success: {type: boolean, examples: [false]}
message: {type: string, description: Human-readable error message (application-level errors).}
error: {type: string, description: Alternate key returned by the routing layer for unknown paths.}
ⓘ
Where this information came from
This is an independent, third-party profile of InfinitePay Checkout API, published by
API Evangelist. We do not operate, host, resell, or
support these APIs, and we are not affiliated with or endorsed by the company unless stated above.
Everything here is built from publicly available information — the company's own site,
developer portal, documentation, public repositories, and the specifications it publishes for public use.
Nothing is obtained by breaching a system, defeating an access control, or using credentials.
The Kin Score and Agent Readiness rating are independently calculated assessments of a company's
public API artifacts, scored against a published rubric. They are not certifications,
endorsements, security assessments, or audits.
Corrections, re-scores, and removal are free — no partnership or purchase required, and
you do not need to justify the request. A removed company is recorded as unrated, never scored
zero for having asked. Acknowledgement within one business day; removal within two.
info@apievangelist.com
·
Read the full data-sourcing policy →
On a security or compliance team? Put security in the subject line and
you will get a person, not a form — we will tell you exactly which public URLs this profile was built from.