Pular para o conteúdo principal

API Pix (1.0)

Download OpenAPI specification:Download

Swagger

Environments

Staging Environment: https://seamless.stg.lbpay.com.br/

Production Environment: Provided once you complete the testing


This document provides the technical specifications for integrating with our PIX API, designed for iGaming platforms. Follow the guidelines below to ensure a successful implementation.

Terminology

  • PIX Processor: London Bridge, acting as the Banking-as-a-Service (BaaS) provider responsible for processing PIX transactions.
  • Gaming Operator: The iGaming platform integrating with this API.
  • Deposit (Pix-In): When a player initiates a deposit request, an invoice is generated as a PIX QR Code or copy-and-paste payload. The player pays this invoice to credit their gaming wallet.
  • Withdrawal (Pix-Out): When a player requests a withdrawal, a PIX transfer (cash-out) is executed to the player’s bank account.
  • Refund: Returning the funds of a previously completed deposit back to the player.
  • Internal Transfer: Instantaneous transfers between gaming wallets.


API Controllers

Note: All API requests must be prefixed with /v1 in the URL path.
Controller Description
Pix-In Core endpoints for creating and retrieving player deposit transactions.
Pix-Out Core endpoints for initiating and querying player withdrawal transactions.
Pix Refund Endpoints used to return funds from previously completed deposits.
Internal Transfer Endpoints that manage wallet‑to‑wallet transfers within the operator’s environment.
Webhook Endpoints used to configure callback URLs and receive asynchronous notifications from the platform.
Balance Endpoints for querying account balances, including real-time and closing-day balances.


Authentication & Security

Authorization Using a Dedicated API Key

To access the API, you must use a dedicated API Key assigned to your environment. Please contact our support team to request your credentials. Include your authentication token in the request header of every request, following the format and guidelines provided by your integration manager.

Webhook Notifications

Operators must implement a webhook endpoint capable of receiving real-time notifications from our platform. Whenever a transaction changes status (e.g., a deposit is confirmed), a webhook event is sent to the URL configured by the operator.

Webhook configuration and management can be handled through the Webhook endpoints available in this API.

Our notification system includes automatic retry logic. However, to ensure full reconciliation of events, we strongly recommend maintaining a fallback polling mechanism to retrieve any undelivered status updates in the event your service becomes temporarily unavailable.


Customer Journey for Deposits

1. The player logs into the gaming operator’s platform and selects Pix as the deposit method. 2. The player chooses a predefined amount or enters a custom deposit value. 3. The operator generates a Pix charge (QR Code and Copy-and-Paste payload) using the POST /v1/pix/deposit endpoint. 4. The player scans the QR Code or pastes the payload into their banking app to complete the payment. 5. Our platform processes the transaction and sends a real-time webhook notification to the operator with the final status. 6. Upon receiving the notification, the operator immediately credits the player’s gaming wallet.

Customer Journey for Withdrawals

1. The player submits a withdrawal request from their gaming wallet. 2. The player provides the Pix key associated with their bank account (CPF, email, phone number, or random key). 3. After validating the player’s balance and compliance rules, the operator sends a withdrawal request through the POST /v1/pix/withdraw endpoint, including the Pix key and the requested amount. 4. Our API processes the Pix cash-out and transfers the funds to the player’s bank account within seconds. 5. A real-time webhook notification is sent to the operator confirming the successful settlement of the withdrawal.

Timeouts and Expirations

Pix-In charges (deposit requests) include a mandatory expiration period set through the expiration parameter (either platform default or operator-defined). If a player attempts to pay a Pix charge after its expiration time has elapsed, the issuing bank will reject the payment immediately at the banking-app level. No funds will be transferred to the processor or to the operator.

Test Data (Staging Environment)

During integration in the Staging Environment, you may use the mock CPF values listed below to simulate various validation and compliance scenarios. These tests do not involve real funds and are intended solely for development purposes:

Test CPF Simulated Scenario
123.456.789-09 Simulates a fully successful and valid transaction.
051.375.187-43 Simulates a failure due to “Deceased” CPF status.
211.115.937-95 Simulates a failure due to “Minor” (underage) status.
222.333.444-55 Simulates a generic mismatch or rejection scenario.

These test values allow you to verify business logic, error handling, and webhook reception without any financial impact.

Pix-In

Create immediate charge (Pix Deposit)

Endpoint to create an immediate charge for iGaming. The txId must be generated by the PSP.

Request Body schema: application/json
required

Pix Deposit data

amount
required
integer

Amount in cents, must be positive

description
string <= 140 characters
object (dtos.ExpectedPayer)
expiresIn
required
integer

Expiration in seconds

externalId
required
string

Must be an valid uuidv4

object
pixKey
required
string <= 77 characters

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "description": "string",
  • "expectedPayer": {
    },
  • "expiresIn": 86400,
  • "externalId": "string",
  • "metadata": {
    },
  • "pixKey": "string"
}

Response samples

Content type
application/json
{
  • "amount": 0,
  • "brCode": "string",
  • "chargeId": "string",
  • "createdAt": "string",
  • "description": "string",
  • "expectedPayer": {
    },
  • "expiresAt": "string",
  • "externalId": "string",
  • "pixKey": "string",
  • "status": "PENDING"
}

Query immediate charge (Pix Deposit)

Endpoint to query a specific immediate charge by its ChargeID.

path Parameters
chargeId
required
string

deposit chargeId (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "amount": 0,
  • "brCode": "string",
  • "chargeId": "string",
  • "createdAt": "string",
  • "debtor": {
    },
  • "description": "string",
  • "expectedPayer": {
    },
  • "expiresAt": "string",
  • "externalId": "string",
  • "metadata": {
    },
  • "paidAt": "string",
  • "pixKey": "string",
  • "pixTransaction": {
    },
  • "status": "PENDING"
}

Pix-Out

Initiate withdrawal by bank account

Initiates a PIX transfer (cash-out) to the player's bank account (ISPB + account details).

Request Body schema: application/json
required

Withdrawal data

amount
required
integer

Amount in cents, must be a positive number

required
object (dtos.Creditor)
description
string <= 140 characters
externalId
required
string [ 1 .. 36 ] characters

Must be an valid uuidv4

object

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "creditor": {
    },
  • "description": "string",
  • "externalId": "string",
  • "metadata": {
    }
}

Response samples

Content type
application/json
{
  • "amount": 0,
  • "createdAt": "string",
  • "externalId": "string",
  • "status": "INITIATED",
  • "transactionId": "string"
}

Initiate withdrawal by PIX key

Initiates a PIX transfer (cash-out) to the player's registered PIX key.

Request Body schema: application/json
required

Withdrawal data

amount
required
integer

Amount in cents, must be an positivi number

description
string <= 140 characters
object (dtos.ExpectedCreditor)
externalId
required
string [ 1 .. 36 ] characters

Must be an valid uuidv4

object
pixKey
required
string <= 77 characters

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "description": "string",
  • "expectedCreditor": {
    },
  • "externalId": "string",
  • "metadata": {
    },
  • "pixKey": "string"
}

Response samples

Content type
application/json
{
  • "amount": 0,
  • "createdAt": "string",
  • "externalId": "string",
  • "status": "INITIATED",
  • "transactionId": "string"
}

Get withdrawal by ExternalID

Retrieves the details of a specific withdrawal transaction by its ID.

path Parameters
externalId
required
string

Withdraw externalId (UUIDv4)

Responses

Response samples

Content type
application/json
{
  • "amount": 0,
  • "createdAt": "string",
  • "creditor": {
    },
  • "endToEndId": "string",
  • "errorCode": "ACCOUNT_MISMATCH",
  • "errorDescription": "string",
  • "expectedCreditor": {
    },
  • "externalId": "string",
  • "initiationType": "PIX_KEY",
  • "settlementDateTime": "string",
  • "status": "INITIATED",
  • "transactionId": "string",
  • "updatedAt": "string"
}

Pix Refund

Get refund

Retrieves the details of a specific PIX refund by its externalId.

path Parameters
externalId
required
string

Customer-defined identifier submitted when a refund was initiated.

Responses

Response samples

Content type
application/json
{
  • "amount": 0,
  • "canBeReversedUntil": "string",
  • "createdAt": "string",
  • "creditor": {
    },
  • "errorCode": "string",
  • "errorDescription": "string",
  • "externalId": "string",
  • "leftAmount": 0,
  • "originalAmount": 0,
  • "originalEndToEndId": "string",
  • "refundEndToEndId": "string",
  • "settlementDateTime": "string",
  • "status": "string",
  • "totalReversedAmount": 0,
  • "transactionId": "string",
  • "updatedAt": "string"
}

Create refund

Initiates a PIX refund (reversal) for a received transaction identified by its original End-to-end ID.

path Parameters
originalEndToEndId
required
string

Original End-to-end ID of the original PIX transaction (32 alphanumeric characters)

Request Body schema: application/json
required

Refund data

amount
string
description
string
externalId
string

Responses

Request samples

Content type
application/json
{
  • "amount": "string",
  • "description": "string",
  • "externalId": "string"
}

Response samples

Content type
application/json
{
  • "amount": "string",
  • "description": "string",
  • "externalId": "string",
  • "originalEndToEndId": "string",
  • "refundEndToEndId": "string",
  • "requestedAt": "string",
  • "status": "string",
  • "transactionId": "string"
}

Internal Transfer

Initiate transfer

Initiates an internal funds transfer between accounts under the same ownership.

Request Body schema: application/json
required

Transfer data

amount
integer
description
string
externalId
string
toAccountNumber
string

Responses

Request samples

Content type
application/json
{
  • "amount": 0,
  • "description": "string",
  • "externalId": "string",
  • "toAccountNumber": "string"
}

Response samples

Content type
application/json
{
  • "amount": "string",
  • "externalId": "string",
  • "requestedAt": "string",
  • "status": "string",
  • "transactionId": "string"
}

Get transfer by ID

Retrieves the details of a specific internal transfer by its external ID.

path Parameters
externalId
required
string

Customer-defined identifier submitted

Responses

Response samples

Content type
application/json
{
  • "amount": 0,
  • "createdAt": "string",
  • "creditor": {
    },
  • "errorCode": "string",
  • "errorDescription": "string",
  • "externalId": "string",
  • "status": "string",
  • "transactionId": "string",
  • "updatedAt": "string"
}

Webhook

Configure webhook

Endpoint to create/update webhook

Authorizations:
ApiKeyAuth
path Parameters
pixKey
required
string

PIX key to register a webhook for

Request Body schema: application/json
required

webhook data

accountNumber
required
string
object (dtos.WebhookAuthDTO)
authenticationType
integer <int32>
Enum: 0 1

Authentication type: 0 = Basic authentication 1 = Bearer authentication

events
Array of strings

Possible events: pix.received pix.payment.completed pix.payment.failed pix.refund.completed

pixKey
required
string
type
integer <int32>
Enum: 0 1 2

Webhook type: 0 Pix In webhook 1 Pix Out webhook 2 Pix Refund webhook

url
required
string
webhookPassword
string
webhookUserName
string

Responses

Request samples

Content type
application/json
{
  • "accountNumber": "string",
  • "authentication": {
    },
  • "authenticationType": 0,
  • "events": [
    ],
  • "pixKey": "string",
  • "type": 0,
  • "url": "string",
  • "webhookPassword": "string",
  • "webhookUserName": "string"
}

Response samples

Content type
application/json
{
  • "active": true,
  • "authentication": {
    },
  • "createdAt": "string",
  • "updatedAt": "string",
  • "validated": true,
  • "webhookEvents": [
    ],
  • "webhookUrl": "string"
}

Delete webhook

Endpoint to delete a registered webhook

Authorizations:
ApiKeyAuth
path Parameters
pixKey
required
string

PIX key of the webhook

Responses

Response samples

Content type
application/json
{ }

Display webhook information

Endpoint to display information about a specific webhook

Authorizations:
ApiKeyAuth
path Parameters
pixKey
required
string

PIX key of the webhook

Responses

Response samples

Content type
application/json
{
  • "active": true,
  • "authentication": {
    },
  • "createdAt": "string",
  • "updatedAt": "string",
  • "validated": true,
  • "webhookEvents": [
    ],
  • "webhookUrl": "string"
}

Balance

Get closing day balance

Retrieve the closing balance for an account on a specific reference date

Authorizations:
None
query Parameters
dateRef
required
string
Example: dateRef="2026-03-20"

Reference date (YYYY-MM-DD format)

Responses

Response samples

Content type
application/json
{
  • "accountNumber": "123456",
  • "availableBalance": 1000000,
  • "currency": "BRL",
  • "dateRef": "2026-03-20",
  • "lastUpdated": "2026-03-21T00:00:00Z",
  • "pendingBalance": 500000,
  • "totalBalance": 1500000
}

Get realtime account balance

Retrieve the real-time balance for an account directly from the ledger

Authorizations:
None

Responses

Response samples

Content type
application/json
{
  • "accountNumber": "123456",
  • "availableBalance": 1450000,
  • "currency": "BRL",
  • "lastUpdated": "2026-03-21T14:30:00Z",
  • "pendingBalance": 50000,
  • "totalBalance": 1500000
}

Statement

Get consolidated account statement

Retrieve a paginated daily consolidated summary filtered by date range

Authorizations:
None
query Parameters
startDate
required
string

Start date (DateOnly format, e.g. 2024-01-01)

endDate
required
string

End date (DateOnly format, e.g. 2024-01-31)

page
integer >= 1

Page number (default: 1)

limit
integer [ 1 .. 100 ]

Items per page (default: 10, max: 100)

Responses

Response samples

Content type
application/json
{
  • "accountNumber": "string",
  • "currency": "string",
  • "page": 0,
  • "pageSize": 0,
  • "summaries": [
    ],
  • "totalRecords": 0
}

Get detailed account statement

Retrieve a paginated list of account transactions filtered by date range

Authorizations:
None
query Parameters
startDate
required
string

Start date (RFC3339 format, e.g. 2024-01-01T00:00:00Z)

endDate
required
string

End date (RFC3339 format, e.g. 2024-01-31T23:59:59Z)

page
integer >= 1

Page number (default: 1)

limit
integer [ 1 .. 100 ]

Items per page (default: 10, max: 100)

transactionType
string

Filter by transaction type (e.g. deposit, withdrawal)

productType
string

Filter by product type (e.g. traditionalPix, internalTransfer)

Responses

Response samples

Content type
application/json
{
  • "accountNumber": "string",
  • "amount": 0,
  • "bankName": "string",
  • "endtoEndId": "string",
  • "metadata": {
    },
  • "name": "string",
  • "page": 0,
  • "pageSize": 0,
  • "productTransactionId": "string",
  • "settlementDateBRT": "string",
  • "settlementDateTime": "string",
  • "taxId": "string",
  • "totalItems": 0,
  • "totalPages": 0,
  • "transactionType": "string",
  • "transactions": [
    ]
}