Skip to main content

Wallet Creation

Wallet creation allows you to register a new credit wallet for an individual or legal entity.

What is a Wallet

A wallet represents a client's invoice and functions as a centralizer to manage multiple attached payment methods. It's important to understand that:

  • One wallet = invoice: Each wallet corresponds to a specific client's invoice (identified by CPF/CNPJ)
  • Multiple payment methods: The same wallet can have different payment instruments (cards, PIX, etc.)
  • Separate instruments: After creating the wallet, you'll need to separately create payment instruments (credit cards, limits, etc.)
  • Centralized management: The wallet centralizes all operations and configurations related to that client

Request

ENDPOINT
/wallet
METHOD
POST
Request Body
{
"owner": {
"request_control_key": "f7947b9d-9be3-49d8-aca2-4b3249e5fa65",
"person_type": "natural",
"name": "João Silva",
"document_number": "12345678901",
"birthdate": "1990-01-01",
"email": "joao.silva@email.com",
"phone": {
"number": "99999999",
"area_code": "11",
"country_code": "55"
},
"address": {
"street": "Rua das Flores",
"number": "123",
"neighborhood": "Centro",
"postal_code": "01234567",
"city": "São Paulo",
"state": "SP",
"complement": "Apto 1"
}
},
"invoice_configuration": {
"closing_date_configuration": {
"type": "fixed",
"fixed_day": 15
},
"due_date_configuration": {
"type": "fixed",
"fixed_day": 20,
"offset_months": 0
},
"invoice_payment_type": "bank_slip",
"interest_base": "calendar_days",
"monthly_interest_percentage": 2.0,
"fine_percentage": 2.0
},
"limits": {
"postpaid_credit_limit": 5000.00
}
}

Request Body Params

FieldTypeDescriptionCharacters
request_control_keyuuidv4Unique request identification key used by the client.36
ownerobjectWallet owner data (individual or legal entity)owner object
person_keystringUnique person identification key in UUID v4 format36
invoice_configuration *objectInvoice closing and due date configurationinvoice_configuration object
limits *objectWallet credit limitslimits object
Conditional Fields
  • owner: Required when person_key is not sent
  • person_key: Required when owner is not sent
  • Fields are mutually exclusive

owner object

Individual (person_type: "natural")

FieldTypeDescriptionCharacters
person_type *stringPerson type (must be "natural")-
name *stringFull name100
document_number *stringCPF (numbers only)11
birthdate *stringDate of birth (YYYY-MM-DD format)10
email *stringContact email254
phone *objectContact phonephone object
address *objectComplete addressaddress object
FieldTypeDescriptionCharacters
person_type *stringPerson type (must be "legal")-
name *stringCompany legal name100
trading_name *stringCompany trade name100
document_number *stringCNPJ (numbers only)14
foundation_date *stringFoundation date (YYYY-MM-DD format)10
email *stringContact email254
phone *objectContact phonephone object
address *objectComplete addressaddress object
legal_representatives *arrayList of legal representatives (individuals)-

phone object

FieldTypeDescriptionCharacters
country_code *stringCountry code (international code)2-3
area_code *stringArea code (national code)2
number *stringPhone number8-9

address object

FieldTypeDescriptionCharacters
street *stringStreet/avenue name500
number *stringAddress number10
neighborhood *stringNeighborhood100
postal_code *stringZIP code (numbers only)8
city *stringCity100
state *stringState (abbreviation)state enums
complementstringAddress complement500

state enums

EnumDescription
ACAcre
ALAlagoas
AMAmazonas
APAmapá
BABahia
CECeará
DFDistrito Federal
ESEspírito Santo
GOGoiás
MAMaranhão
MGMinas Gerais
MSMato Grosso do Sul
MTMato Grosso
PAPará
PBParaíba
PEPernambuco
PIPiauí
PRParaná
RJRio de Janeiro
RNRio Grande do Norte
RORondônia
RRRoraima
RSRio Grande do Sul
SCSanta Catarina
SESergipe
SPSão Paulo
TOTocantins
EXException

invoice_configuration object

FieldTypeDescriptionCharacters
closing_date_configuration *objectInvoice closing date configurationclosing_date_configuration object
due_date_configuration *objectInvoice due date configurationdue_date_configuration object
invoice_payment_type *stringInvoice payment typeinvoice_payment_type enums
interest_base *stringInterest calculation baseinterest_base enums
monthly_interest_percentage *floatMonthly interest percentage for late payment (0-100)-
fine_percentage *floatFine percentage for late payment (0-100)-

closing_date_configuration object

Fixed Configuration (type: "fixed")

FieldTypeDescriptionCharacters
type *stringConfiguration type (must be "fixed")-
fixed_day *integerFixed day of month for closing (1-27)-

Rule-based Configuration (type: "rule_based")

FieldTypeDescriptionCharacters
type *stringConfiguration type (must be "rule_based")-
rule *objectRule for date calculationrule object (closing_date_configuration)

rule object (closing_date_configuration)

FieldTypeDescriptionCharacters
day_of_week *stringDay of the weekday_of_week enums
occurrence *stringOccurrence of the day in the monthoccurrence enums
fallback_strategy *stringStrategy for non-business daysfallback_strategy enums

due_date_configuration object

Fixed Configuration (type: "fixed")

FieldTypeDescriptionCharacters
type *stringConfiguration type (must be "fixed")-
offset_months *integerMonths offset from closing-
fixed_day *integerFixed day of month for due date (2-27)-

Rule-based Configuration (type: "rule_based")

FieldTypeDescriptionCharacters
type *stringConfiguration type (must be "rule_based")-
offset_months *integerMonths offset from closing-
rule *objectRule for date calculationrule object (closing_date_configuration)

rule object (due_date_configuration)

FieldTypeDescriptionCharacters
day_of_week *stringDay of the weekday_of_week enums
occurrence *stringOccurrence of the day in the monthoccurrence enums
fallback_strategy *stringStrategy for non-business daysfallback_strategy enums
Date Validations
  • Due date must be at least 2 days after closing date
  • For rule-based configurations, there must be at least one day difference between the chosen weekdays for closing and due date (e.g., closing on Monday and due date on Wednesday of any week)

day_of_week enums

EnumDescription
mondayMonday
tuesdayTuesday
wednesdayWednesday
thursdayThursday
fridayFriday
saturdaySaturday
sundaySunday

occurrence enums

EnumDescription
firstFirst occurrence
secondSecond occurrence
thirdThird occurrence
fourthFourth occurrence
lastLast occurrence

fallback_strategy enums

EnumDescription
next_business_dayNext business day
previous_business_dayPrevious business day
same_daySame day

invoice_payment_type enums

EnumDescription
bank_slipBank slip

interest_base enums

EnumDescription
calendar_daysCalendar days

limits object

FieldTypeDescriptionCharacters
postpaid_credit_limit *floatLimit for postpaid credit-

Response

Success - Wallet Created with Pending Analysis

STATUS
202
Response Body: Wallet pending analysis
{
"wallet_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"owner_person_key": null,
"wallet_status": "pending_analysis"
}
Information

If HTTP Status 202 is returned with the wallet_status field valued pending_analysis, the creation will be processed asynchronously. A webhook will be sent later informing whether the wallet was approved or rejected in the KYC analysis. For more details about webhooks, see the webhook documentation

Note

For cases that require KYC analysis, the owner_person_key field will be returned as null in the initial response. The wallet holder will only be created in the system at the end of the KYC process, if approved. In this case, the person key will be sent later through the approval webhook, see the webhook documentation

Success - Active Wallet Created

STATUS
201
Response Body: Active wallet
{
"wallet_key": "8cb70dea-9fb0-4a68-9572-99a72849c8d6",
"owner_person_key": "ecf87b4b-fa6e-49c0-a7f0-f2cad6b42d79",
"wallet_status": "active"
}

Response Body Params

FieldTypeDescriptionCharacters
wallet_key *uuidv4Unique wallet identification key in uuid v4 format36
owner_person_key *stringWallet owner identification key36
wallet_status *stringWallet status-

wallet_status enums

EnumDescription
pending_analysisWallet pending KYC analysis
activeWallet active and available for use
rejectedWallet rejected
Wallet Status
  • pending_analysis: Returned when wallet is created with complete owner data. Will be submitted to KYC analysis.
  • active: Returned when wallet is created with existing person key. Available for immediate use.

Error Response

STATUS
4xx
Response Body: Error
{
"title": "titulo",
"description": "description in English",
"translation": "descrição em portugues",
"code": "codigo",
"extra_fields": {}
}
HTTP Code
status
QI Code
code
Title
title
Description (eng)
description
Description (pt-br)
translation
400QIT000001Bad RequestSchema ErrorSchema Inválido
404CIN000020Requester not FoundNo requester configuration found for requester key: 8e1e6b46-beb3-467b-965c-6c545707d467Solicitante não encontrado para requester key: 8e1e6b46-beb3-467b-965c-6c545707d467
404CIN000062Not FoundPerson not found by person key: e51070e4-7494-468d-a20e-bf14789fa8ffPessoa não encontrada para a person key: e51070e4-7494-468d-a20e-bf14789fa8ff
409CIN000043ConflictActive wallet foundCarteira ativa já existe
400CIN000063Bad RequestExpiration date too close to closing dateData de vencimento muito próxima da data de fechamento
400CIN000064Bad RequestInvalid offset months for rule-based configurationMeses de offset inválidos para configuração baseada em regras
400CIN000065Bad RequestWeekdays too close for rule-based configurationDias da semana muito próximos para configuração baseada em regras
400CIN000002Bad RequestInvalid signer document numberNúmero do documento do signatário inválido
400CIN000066Bad RequestError while creating wallet in card serviceErro ao criar carteira no serviço de cartão
409CIN000099ConflictRequest control key already exists.Request control key já existe.