Skip to content

PIX

Brazilian Instant Payment System

Introduction

The Brazilian Instant Payment System (PIX) is a new payment method created by the Central Bank of Brazil. It is a fast, secure and convenient way to make payments and transfer money. PIX is available 24/7, including weekends and holidays, and it is free for individuals and small businesses. Currently is the most popular payment method in Brazil.

Getting Started

Generate Order

To generate a PIX order, you need to send a POST request to the following endpoint:

POST /api/v1/order
Host: payin.sulpayments.ch
Content-Type: "application/json"
ACCOUNT_TOKEN: "<token>"

{
  "customer": {
    "name": "Customer’s full name",
    "document": "111.222.333-44",
    "email": "[email protected]",
    "phone": "11999999999",
    "birth": "1996-03-09"
  },
  "order": {
    "code": "123",
    "notification_url": "your_payback_notification_url.com",
    "value": 50.00,
    "additional_info": "Some description of your order as String",
    "payment_method": "pix"
  }
}

Params descriptions

Field Description Value Type Requirement
customer.name Customer's full name String Required
customer.document Customer's document String Required (see notes below)
customer.email Customer's email address String Required
customer.phone Customer's phone number String Required
customer.birth Customer's date of birth String Required
order.code Order reference in your system String Required
order.notification_url URL to notify when status changes String Required
order.value Total order value Number (decimal) Required
order.additional_info Additional description of the order String Required
order.payment_method Payment method String Required

Note 1: The document can be a valid CPF or CNPJ. If CNPJ is used, the company name must be passed in the name parameter.

Note 2: CPF and CNPJ are the Brazilian individual and company identification numbers, respectively.

On a successful request HTTP 200 status code, the response will include the following parameters:

{
  "latam_id": "7c0b8129-f556-4357-bb6e-8189c2943024",
  "code": "order_id_in_your_system",
  "confirmation_url": "https://sulpayments.ch/7c0b8129-f556-4357-bb6e-8189c2943024", # Redirect customer to see and pay the boleto.
  "qrcode_link": "https://sulpayments.ch/qrcode/7c0b8129-f556-4357-bb6e-8189c2943024" # Link to the qrcode
}

Business errors due to incorrect or missing parameters are returned with an HTTP 400 status code. The response will indicate which parameter is invalid or missing.

{
     "message": "Invalid document"
}

Compliance validation errors, including KYC-related issues, are returned with an HTTP 403 status code. The response will contain the following parameters:

{
  "latam_id": "7c0b8129-f556-4357-bb6e-8189c2943024",
  "message": "message table below",
  "code": "code table below"
}

Cancellation Scenarios

Scenario code message
Month's limit reached AML-01 AML-01: Customer has reached month’s purchase limit
Semester's limit reached AML-02 AML-02: Customer has reached semester’s purchase limit
RFI BL-01 BL-01: RFI - Customer under investigation by Gowd Compliance team
Dispute BL-02 BL-02: Dispute - Customer or issuing bank disputed a transaction payment
Multiple disputes BL-03 BL-03: Disputes - Multiple disputes opened by the Customer or their issuing bank
Antifraud BL-04 BL-04: Antifraud - Customer blocked by the Gowd antifraud engine
Internal decision BL-05 BL-05: Customer blocked by Gowd Compliance team decision
Judicial decision BL-06 BL-06: Customer blocked by judicial decision
Judicial/administrative processes BL-07 BL-07: Customer blocked due to judicial or administrative processes
BL - Other reason BL-08 BL-08: Customer blocked by Gowd Compliance team for a custom reason. Contact Gowd Compliance for details
MED BL-09 BL-09: MED - Customer blocked due to a MED dispute
Payer blocked BL-10 BL-10: Payer blocked by LG Compliance team decision
Partner restriction CR-01 CR-01: Customer blocked by partner request
Payment Method restriction CR-02 CR-02: Customer blocked from transacting with this payment method
Unregistered CPF KYC110 CPF document not found.
Deceased holder KYC110 CPF document belongs to a deceased holder. Year of death: 2024.
CPF Document suspended KYC110 CPF document is suspended.
Invalid CNPJ KYC111 Invalid CNPJ, please verify your CNPJ number.
Different name in Receita Federal KYC112 Different name from the federal revenue register of natural persons.

Get QR code and Image

To get QR Code info and image after generating the order:

GET /api/v1/qrcode/{latam_id}
Host: payin.sulpayments.ch
Content-Type: "application/json"
ACCOUNT_TOKEN: "<token>"

The response will contain the following parameters:

{
  "qrcode_data": "string with all pix transaction info needed to be copy and paste into bank app",
  "qrcode_image": "base64 of the image"
}

Reverse Order

To reverse an order:

POST /api/v1/order/{order_id}/reverse
Host: payin.sulpayments.ch
Content-Type: "application/json"
ACCOUNT_TOKEN: "<token>"

If your request is successful, you will receive a response to the following

{
  "message": "message": "Refund requested. Waiting for confirmation from the bank."
}