Create a debit card payment

Ambiente

Método

Endpoint

Sandbox

https://apisandbox.cieloecommerce.cielo.com.br/1/sales

Produção

https://api.cieloecommerce.cielo.com.br/1/sales

ℹ️

Alphanumeric CNPJs will be implemented by the Brazilian Federal Revenue Service in July 2026

This change applies only to new registrations. There will be no changes to existing CNPJs.

The alphanumeric CNPJ is already supported by Cielo, with no changes required to your integration.

We recommend checking whether adjustments are needed in your merchant’s own checkout systems.


Warning

  • In a standard debit card transaction (with authentication), send Authenticate = "true".
  • Mastercard debit transactions with stored credentials: Mastercard requires the Transaction Initiation Indicator for credit and debit card purchases using stored card data. The goal is to indicate whether the transaction was initiated by the cardholder (Cardholder-Initiated Transaction - CIT) or by the merchant (Merchant-Initiated Transaction - MIT). In this scenario, it is mandatory to send the InitiatedTransactionIndicator node with the Category and SubCategory parameters for Mastercard transactions, within the Payment node. Check the list of categories in the Category parameter description and the complete table of subcategories in Mastercard Transaction Initiation Indicator.
  • It is not possible to perform a transaction with an Amount = 0. To verify if a card is valid, use Zero Auth.
  • To confirm if authentication was accepted in the authorization, check the ECI value returned in Payment.Eci. The API replicates the ECI informed by the merchant in the Payment.ExternalAuthentication field. However, the value actually used by the brand in the authorization is the one shown in Payment.Eci.
  • The order identification number (MerchantOrderId) does not change throughout the transaction flow. However, a new number (SentOrderId) may be generated for the order and used during the transaction. This number will only differ if:
    • the MerchantOrderID sent is outside the expected format for the field or has more than 20 characters;
    • the MerchantOrderID sent has already been used in the last 24 hours.
ℹ️

Important

The validation and return of the Payment.Eci field occur only in the production environment at this initial stage.

Stored credential transaction identifiers

According to card brand rules, recurring transactions require sending identification fields that link each charge to the original CIT transaction: the IssuerTransactionId (all card brands) and the TransactionLinkId (Mastercard). In merchant recurrence, also send the Payment.OriginalRecurrentAmount. In scheduled recurrence, the IssuerTransactionId and TransactionLinkId fields are sent automatically in subsequent transactions.

Card brand identifier: IssuerTransactionId

The card brand identifier (IssuerTransactionId) is a code returned in the response of the CIT transaction or of the card verification (Zero Auth), and it must be sent in subsequent recurring transactions of all card brands. See more details in Card Brand Identifiers.

TLID Mastercard

The Transaction Link Identifier (TLID), sent and returned in the TransactionLinkId field, is a unique identifier generated by the Mastercard card brand during a CIT transaction, used to link the related MIT transactions. The TLID applies to the Zero Auth response (response only) and to credit card, debit card, and merchant recurrence transactions.

For Mastercard, send IssuerTransactionId and TransactionLinkId together in MIT transactions: both parameters are mandatory.

PhaseDescription
Phase 1Current. TransactionLinkId available in the responses of card validation by Zero Auth, credit card payment creation, debit card payment creation, and in the query by PaymentId.
Phase 2Mandatory sending of the TransactionLinkId in the request (MIT) starting October 23, 2026.

Scheduled recurrence: in subsequent transactions, the IssuerTransactionId and TransactionLinkId fields are sent automatically.

The TransactionLinkId sent in the request must have exactly 22 characters (A-Z, a-z, 0-9, hyphens, and underscores). If the value doesn't match this format, Cielo ignores it and returns no error. When Cielo sends the TLID to the card brand, the response also includes the SentTransactionLinkId with the value sent. The Zero Auth request doesn't accept this field.

See more details in Card Brand Identifiers.


Cancellation guarantee

When a transaction returns with the status Not Finalized and the Void Guarantee feature is enabled for the merchant, do not reuse the same MerchantOrderID value in new transaction attempts.

For subsequent attempts, generate a new order identifier. Resubmitting a transaction using the same MerchantOrderID from an attempt that returned as Not Finalized can cause processing errors.


Debit card transaction response

Following table presents the main parameters that may be returned by the API when creating a debit card payment.

Property

Description

Type

Syze

ProofOfSale

Authorization number, identical to NSU

string

6

Tid

Acquirer transaction identifier

string

20

AuthorizationCode

Authorization code

string

6

PaymentId

Payment identification number. PaymentId will be used in future operations such as query, capture, and void.

GUID

36

Status

Transaction Status. See the complete table of transactional status.

byte


ReturnCode

Return code

string

32

ReturnMessage

Return message

string

512

SentOrderId

Indicates which order number was sent to the acquirer.

  • If the MerchantOrderId provided is outside the expected format for the field or has more than 20 characters, a new identifier will be generated and returned in the SentOrderId field.
  • If the MerchantOrderId is within the expected format and has a length of up to 20 characters, the SentOrderId field will contain the same value as provided in MerchantOrderId.

GUID

Payment.MerchantAdviceCode

Brand return code that defines the retry period. Valid only for Mastercard brand. Learn more about Merchant Advice Code (MAC) – Mastercard and card brands retry programs

string

2

TryAutomaticCancellation

Returns "true" if the Void Guarantee is enabled and an error occurs during authorization (status Not Finalized - "0").

boolean

Payment.CreditCard.PaymentAccountReference

PAR (Payment Account Reference) is the number that associates different tokens to the same card. It will be returned by Master and Visa card brands and passed on to Cielo e-commerce clients. If the card brand does not send the information, the field will not be returned.

string

29

Payment.IssuerTransactionId

Transaction identifier generated by the card brand and returned in the response of the CIT transaction. Store the value to send it in subsequent MIT transactions: sending is mandatory, for all card brands, in recurring, incremental, and reauthorized transactions. See more details in Card Brand Identifiers.

string

30

Payment.TransactionLinkId

Unique identifier (TLID) generated by Mastercard and returned in the response, used to link the CIT transaction to subsequent MIT transactions. For Mastercard, send the original TransactionLinkId together with the IssuerTransactionId: both are mandatory, and sending the TransactionLinkId is mandatory starting October 23, 2026. See more details in Card Brand Identifiers.
Format: 22 alphanumeric characters (A–Z, a–z), case-sensitive, and may include hyphens (-) and underscores (_).

string

22

Body Params
string
required

Order identification number. Warning: Allowed characters are a-z, A-Z, 0-9. Special characters and blank spaces are not allowed. Size: 50.

Customer
object
Payment
object
Headers
string
required
Defaults to 8937bd5b-9796-494d-9fe5-f76b3e4da633

Store identifier in API E-commerce Cielo. Size: 36. This documentation provides a default MerchantId to allow testing in the sandbox, but you can also provide the enabled MerchantId during the deployment process.

string
required
Defaults to XKGHUBSBKIRXKAVPSKWLVXYCLVJUGTNZLIHPUSYV

Public Key for Double Authentication in API E-commerce Cielo. Size: 40. This documentation provides a default MerchantKey to allow testing in the sandbox, but you can also provide the enabled MerchantKey during the deployment process.

string

Request Identifier, used when the merchant uses different servers for each GET/POST/PUT. Size: 36.

Response

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