Create PayIn

Generates a dynamic Pix QR code for the authenticated account. The
returned qr_code_string is the copy-and-paste (EMV) payload to present
to the payer; the pay-in starts as pending and is confirmed
asynchronously, either by polling GET /api/payin/{txid} or by the
PayInCompleted webhook.

This route is idempotent: an Idempotency-Key header is required, and a
repeat of the same key replays the first response instead of creating a
second charge.

Txid format

Must be 26 to 35 characters long, and contain only letters and numbers (alphanumeric characters).

A good format suggestion is:

{
  "txid": "<PREFIX><YYYYMMDDHHmm><16 random characters>",
  "amount": 10
}

Possible Status

  • paid
  • pending
Body Params

PayIn Details

number
required

Amount is the charge in reais, with at most two decimal places.

string | null

DocumentNumber restricts the charge to a payer holding this CPF or CNPJ,
digits only. Omit to accept payment from anyone.

integer
≥ 0

Expiration is how long the QR code stays payable, in seconds. Omit or send
0 to take the provider's default.

string | null

PayerName is the payer's name, shown to them in their banking app.

string
required
length between 1 and 255

Txid is your own identifier for the charge, and the key you fetch it back
by. A txid that is already in use is rejected, so give every charge its
own.

Headers
string
required

Client-generated key that makes the request replayable. Reusing a key returns the first response for one hour instead of creating a second pay-in.

Responses

Language
Credentials
Bearer
LoadingLoading…
Response
Click Try It! to start a request and see the response here! Or choose an example:
application/json