Create Payin
POSTTag: api-payments-gateway-post-payinDescription: Create a new payin payment request. This endpoint supports multiple payment methods including credit cards, debit cards, cash deposits, and bank transfers.Supported Payment Methods:• CREDIT_CARD: Credit card payments with acquiring integration • Brazil • Chile • Peru • Argentina • DEBIT_CARD: Debit card payments with acquiring integration • Brazil • Chile • Peru • Argentina • CASH: Cash deposit payments for physical locations • Chile • Peru • Argentina • BANK_TRANSFER: Bank transfer deposit payments • Chile • Peru • Argentina • OXXO: OXXO cash deposit payments • Mexico • YAPE: Yape wallet deposit payments • Peru • QR: QR code deposit payments • Peru • Chile • Argentina • ASTROPAY_BANK_TRANSFER: AstroPay bank transfer deposit payments • MexicoPayment Method Flow Details:1. Credit Card Payments (CREDIT_CARD):• Supports countries: Brazil, Chile, Peru, Argentina • Supports redirect flow for Non-PCI complient Merchants • Requires card information for direct flows • Supports installment payments (Brasil and Peru Only) • For special permissions, contact operations team for redirect or non-redirect flows2. Debit Card Payments (DEBIT_CARD):• Supports countries: Brazil, Chile, Peru, Argentina • For Brazil, it's required to use the 3DS authentication endpoint • Supports redirect flow for Non-PCI complient Merchants • Requires card information for direct flows • For special permissions, contact operations team for redirect or non-redirect flows3. Cash Deposit Payments (CASH):• Supports countries: Chile, Peru, Argentina • Generates payment instructions for physical payment • Default expiration time: 48 hours (2880 minutes)4. Bank Transfer Deposit Payments (BANK_TRANSFER):• Supports countries: Chile, Peru, Argentina • Generates bank transfer instructions • Default expiration time: 48 hours (2880 minutes)5. OXXO Cash Deposit Payments (OXXO):• Supports countries: Mexico • Generates payment instructions for OXXO stores • Default expiration time: 48 hours (2880 minutes) • Supported document types: RFC, CURP, PASSPORT, TAXSTATEMENT6. Yape Wallet Deposit Payments (YAPE):• Supports country: Peru • Generates Yape wallet instructions7. QR Code Deposit Payments (QR):• Supports countries: Peru, Chile, Argentina • Supports redirect flow (is_redirect=true): Redirects to external URL with QR code • Supports direct flow (is_redirect=false): Returns QR code URL and data directly • Generates QR code for payment • Default expiration time: 30 minutes (configurable)8. AstroPay Bank Transfer Deposit Payments (ASTROPAY_BANK_TRANSFER):• Supports countries: Mexico • Generates bank transfer instructions via AstroPay • Default expiration time: 48 hours (2880 minutes) • Supported document types: IDCARD, PASSPORT, TAXSTATEMENT • Requires virtual account IDCommon Requirements:• Minimum amount: 100 cents (1.00 in local currency) • Authentication required (Bearer token) • Wallet association required • Transaction ID for tracking • Country-specific permissions and validations • Language support (PT, EN, ES) • Requires third-party information (customer name, email, phone, document) • Requires complete address information • Supports different document types per countrySecurity Features:• Replay protection available • Permission-based access control • Country and product-specific permissionsResponse:Returns payment creation result with transaction details, status, and any URLs for payment instructions and/or checkout./v1/payin
Request
Header Parameters
- If there's no value: The default protection checks that the values in this request are equal: { method, params, path, query, body, userId }. This means that if a request repeats the same values, it will be blocked.
- 'nonce': The nonce and { method, params, path, query, body, userId } value are checked. When the protection schema is this, requests will be OK if this nonce value is different in each request.
- 'x-transaction-uuid': The transactionId and { method, params, path, query, body, userId } value are checked. Requests will be OK if this x-transaction-uuid value is different in each request.
- 'x-transaction-uuid&nonce' or 'nonce&x-transaction-uuid': The nonce, transactionId value and { method, params, path, query, body, userId } are checked, i.e. if requests are repeated the same value in both fields, they will be blocked. But if any field has a different value, the request is OK.
The replay-protection-schema allows the user to choose between 3 options:
Sender Wallet UUID (if empty, your default Wallet UUID will be settled)
The transaction ID is a UUID (v7) used to uniquely identify the object that will be created. All objects must have an identifier.
The nonce ID is a UUID (v4) used to uniquely identify the request. All requests must have an identifier.
Possible values: [pt-BR, en-US]
Indicates the preferred language. Defaults to Brazilian Portuguese if unspecified.
The product ID is a UUID (v4) used to identify the Z.ro product configuration.
The product target user ID is a UUID (v4) used to identify what user account this request must be executed. Require: x-product-uuid.
- application/json
Body
required
Payin creation request body. Choose one of the available payin method bodies.
- All
- Credit Card
- Debit Card
- Cash
- Bank Transfer
- OXXO
- Yape Wallet
- QR
- AstroPay Bank Transfer
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
- MOD1
- MOD2
- MOD3
- MOD4
- MOD5
- MOD1
- MOD2
- MOD3
- MOD4
- MOD1
- MOD2
- MOD3
- MOD4
- MOD1
- MOD2
- MOD3
- MOD4
- MOD1
- MOD2
- MOD3
- MOD4
- MOD1
- MOD2
- MOD3
- MOD1
- MOD2
- MOD3
- MOD1
- MOD2
- MOD3
- MOD1
- MOD2
- MOD3
- MOD1
- MOD1
- MOD2
- MOD3
- MOD1
- MOD2
- MOD3
- MOD1
- MOD1
Possible values: [BRA, ARG, CHL, PER, MEX]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [CREDIT_CARD, DEBIT_CARD, CASH, BANK_TRANSFER, OXXO, YAPE, ASTRO_PAY_BANK_TRANSFER, QR]
Payment method used in the transaction.
Payment amount in cents. Must be at least 100 cents.
currency_tag object required
Possible values: [MXN, PEN, CLP, ARS, USD, BRL]
Payment currency ISO 4217 code.
string
Possible values: [BRL]
string
Possible values: [CLP]
string
Possible values: [PEN]
string
Possible values: [ARS]
string
Possible values: [MXN]
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [CPF, CNPJ, RUT, PP, DNI, CE, PAS, RUC, DNI, CUIT, CUIL, RFC, CURP, PASSPORT, TAXSTATEMENT]
Third Part document type.
string
Possible values: [CPF, CNPJ]
string
Possible values: [RUT, PP]
string
Possible values: [DNI, CE, PAS, RUC]
string
Possible values: [DNI, CUIT, CUIL]
string
Possible values: [RFC, CURP, PASSPORT, TAXSTATEMENT]
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address State.
User Address Country.
User Address Complement.
User Address Neighborhood (for acquiring payments).
payment_card object
Card number.
Card CVV.
Card Holder Name.
Card Expiry Date in MM-YYYY format.
Number Of Installments. Allowed values: 1 to 12. Only for CREDIT payment method.
Whether to capture the payment value on success or later through the capture transaction endpoint. For card payments only (required for acquiring payments).
Possible values: [pt, en, es]
Language ISO 639-1 code for the payment.
Expiration time in minutes for the payment.
Possible values: [WEB, MOBILE]
Platform where the payment is being made (WEB or MOBILE).
Indicates if the payment is recurrent.
Whether to use redirect flow for payment processing. Default is true. If your company do not have a PCI certificate, you MUST send this field with "true"
Redirect URL for payment success and error.
Virtual Account ID for AstroPay Bank Transfer.
Possible values: [BRA, CHL, PER, ARG, MEX]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [CREDIT_CARD]
Payment method used in the transaction.
Payment amount in cents. Min value is 1000 cents.
currency_tag object required
Possible values: [BRL, CLP, PEN, ARS]
Payment currency ISO 4217 code.
string
Possible values: [BRL]
string
Possible values: [CLP]
string
Possible values: [PEN]
string
Possible values: [ARS]
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [CPF, CNPJ, RUT, PP, DNI, CUIT, CUIL, DNI, CE, PAS, RUC, RFC, CURP, PASSPORT, TAXSTATEMENT]
Third Part document type.
string
Possible values: [CPF, CNPJ]
string
Possible values: [RUT, PP]
string
Possible values: [DNI, CE, PAS, RUC]
string
Possible values: [DNI, CUIT, CUIL]
Number Of Installments. Allowed values: 1 to 12.
User Address City.
User Address Country.
User Address number.
User Address state.
User Address Street.
User Address Zip Code.
User Address Complement.
User Address Neighborhood.
Whether to use redirect flow for payment processing. Set to "false" for this schema.
payment_card objectrequired
Card number.
Card CVV.
Card Holder Name.
Card Expiry Date in MM-YYYY format.
three_ds_data object
The transaction identifier. Only used for Visa transactions.
The Cardholder Authentication Verification Value. This field receives the value of CAVV for Visa and Elo card brands and UCAF value for Mastercard.
The 3DS Version.
Three Ds Server Transaction Id indicates the transaction ID provided by the authenticator.
Three Ds Server Transaction Id indicates the transaction ID provided by the authenticator. Only required for Amex 3DS transactions.
Whether to auto capture the payment value.
Possible values: [BRA, CHL, PER, ARG, MEX]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [DEBIT_CARD]
Payment method used in the transaction.
Payment amount in cents. Min value is 1000 cents.
currency_tag object required
Possible values: [BRL, CLP, PEN, ARS]
Payment currency ISO 4217 code.
string
Possible values: [BRL]
string
Possible values: [CLP]
string
Possible values: [PEN]
string
Possible values: [ARS]
payment_card objectrequired
Card number.
Card CVV.
Card Holder Name.
Card Expiry Date in MM-YYYY format.
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [CPF, CNPJ, RUT, PP, DNI, CUIT, CUIL, DNI, CE, PAS, RUC, RFC, CURP, PASSPORT, TAXSTATEMENT]
Third Part document type.
string
Possible values: [CPF, CNPJ]
string
Possible values: [RUT, PP]
string
Possible values: [DNI, CE, PAS, RUC]
string
Possible values: [DNI, CUIT, CUIL]
User Address City.
User Address Country.
User Address number.
User Address state
User Address Street.
User Address Zip Code.
User Address Complement.
User Address Neighborhood.
Whether to use redirect flow for payment processing. Default is false for normal flow.
three_ds_data objectrequired
The transaction identifier. Only used for Visa transactions.
The Cardholder Authentication Verification Value. This field receives the value of CAVV for Visa and Elo card brands and UCAF value for Mastercard.
The 3DS Version.
Three Ds Server Transaction Id indicates the transaction ID provided by the authenticator.
Three Ds Server Transaction Id indicates the transaction ID provided by the authenticator. Only required for Amex 3DS transactions.
Whether to auto capture the payment value.
Possible values: [CHL, PER, ARG, MEX]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [CASH]
Payment method used in the transaction.
Payment amount in cents. Min value is 100 cents.
currency_tag object required
Possible values: [CLP, PEN, ARS]
Payment currency ISO 4217 code
string
Possible values: [CLP]
string
Possible values: [PEN]
string
Possible values: [ARS]
Possible values: [pt, en, es]
Language ISO 639-1 code for the payment.
Expiration time in minutes for the payment. Default is 48 hours (2 days).
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [RUT, PP, DNI, CUIT, CUIL, DNI, CE, PAS, RUC]
Third Part document type.
string
Possible values: [RUT, PP]
string
Possible values: [DNI, CE, PAS, RUC]
string
Possible values: [DNI, CUIT, CUIL]
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address State.
User Address Country.
User Address Complement.
Redirect URL for payment success and error.
Possible values: [CHL, PER, ARG]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [BANK_TRANSFER]
Payment method used in the transaction.
Payment amount in cents. Min value is 100 cents.
currency_tag object required
Possible values: [CLP, PEN, ARS]
Payment currency ISO 4217 code.
string
Possible values: [CLP]
string
Possible values: [PEN]
string
Possible values: [ARS]
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [RUT, PP, DNI, CUIT, CUIL, DNI, CE, PAS, RUC]
Third Part document type.
string
Possible values: [RUT, PP]
string
Possible values: [DNI, CE, PAS, RUC]
string
Possible values: [DNI, CUIT, CUIL]
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address state.
User Address Country.
User Address Complement.
Expiration time in minutes.
Language.
Redirect URL for payment success and error.
CBU (Clave Bancaria Uniforme) for Argentina bank transfers.
CUIT (Código Único de Identificación Tributaria) for Argentina bank transfers.
Possible values: [MEX]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [OXXO]
Payment method used in the transaction.
Payment amount in cents. Min value is 100 cents.
Possible values: [MXN]
Payment currency ISO 4217 code
Possible values: [pt, en, es]
Language ISO 639-1 code for the payment.
Expiration time in minutes for the payment. Default is 48 hours (2 days).
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [RFC, CURP, PASSPORT, TAXSTATEMENT]
Third Part document type.
string
Possible values: [RFC, CURP, PASSPORT, TAXSTATEMENT]
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address State.
User Address Country.
User Address Complement.
Redirect URL for payment success and error.
Possible values: [PER]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [YAPE]
Payment method used in the transaction.
Payment amount in cents. Min value is 100 cents.
Possible values: [PEN]
Payment currency ISO 4217 code.
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
Possible values: [DNI, CE, PAS, RUC]
Third Part document type.
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address state.
User Address Country.
User Address Complement.
Expiration time in minutes.
Possible values: [pt, en, es]
Language for the payment interface.
Redirect URL for payment success and error.
Possible values: [WEB, MOBILE]
Platform where the payment is being made (WEB or MOBILE).
Indicates if the payment is recurrent.
Possible values: [PER, CHL, ARG]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [QR]
Payment method used in the transaction.
Payment amount in cents. Min value is 100 cents.
currency_tag object required
Possible values: [PEN, CLP, ARS]
Payment currency ISO 4217 code.
string
Possible values: [PEN]
string
Possible values: [CLP]
string
Possible values: [ARS]
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [DNI, CE, PAS, RUC, RUT, PP, CUIT, CUIL]
Third Part document type.
string
Possible values: [RUT, PP]
string
Possible values: [DNI, CE, PAS, RUC]
string
Possible values: [DNI, CUIT, CUIL]
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address state.
User Address Country.
User Address Complement.
Expiration time in minutes for the QR code. Default is 30 minutes. The QR code will expire after this time and cannot be used for payment.
Possible values: [pt, en, es]
Language for the payment interface.
Redirect URL for payment success and error.
Possible values: [WEB, MOBILE]
Platform where the payment is being made. Use WEB for web-based payments or MOBILE for mobile app payments.
Indicates if the payment is recurrent. Currently, recurrent payments are not supported and this value must be false.
Indicates if the payment should redirect to external URL or return QR code directly. If true, the response will redirect to the redirect_url with QR code data. If false, the QR code URL and data will be returned directly in the response.
Possible values: [MEX]
Country ISO 3166-1-alpha-3 code for the payment.
Possible values: [ASTRO_PAY_BANK_TRANSFER]
Payment method used in the transaction.
Payment amount in cents. Min value is 100 cents.
currency_tag object required
Possible values: [MXN]
Payment currency ISO 4217 code.
string
Possible values: [MXN]
Possible values: [pt, en, es]
Language ISO 639-1 code for the payment.
Expiration time in minutes for the payment. Default is 48 hours (2 days).
Third Part first name.
Third Part last name.
Third Part email address.
Third Part phone number.
Third Part document.
third_part_document_type object required
Possible values: [IDCARD, PASSPORT, TAXSTATEMENT]
Third Part document type.
string
Possible values: [IDCARD, PASSPORT, TAXSTATEMENT]
User Address Zip Code.
User Address Street.
User Address number.
User Address City.
User Address State.
User Address Country.
User Address Complement.
Redirect URL for payment success and error.
Virtual Account ID for AstroPay Bank Transfer (ONLINE TRANSFER).
Responses
- 200
- 400
- 401
- 422
Payin created successfully.
- application/json
- Schema
- Example (from schema)
Schema
Payin ID.
Payin status.
Payin creation date.
Payin update date.
{
"id": "0197b169-da6b-7ba2-b053-ce413ae39afd",
"status": "PENDING",
"created_at": "2025-12-10T22:05:25.311Z",
"updated_at": "2025-12-10T22:05:25.311Z"
}
If any required params are missing or has invalid format or type.
User authentication failed.
If any required params are missing or has invalid format or type.