GET https://api.fire.rest/api/v2/external/payment-methods/config
x-api-key: <sua_api_key>
GET https://api.fire.rest/api/v2/external/payment-methods/config?storeCode=K008
x-api-key: <sua_api_key>
{
"success": true,
"data": {
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"generatedAt": "2026-09-04T13:00:00.000Z",
"stores": [
{
"storeId": "aa11bb22-0000-4000-8000-000000000002",
"storeCode": "K008",
"storeNumber": 812,
"name": "Morumbi",
"countryCode": "BR",
"active": "ACTIVE",
"status": "PUBLISHED",
"methods": [
{
"methodId": "9f3a1c2e-0000-4000-8000-000000000001",
"code": "cielo",
"name": "Cielo",
"description": null,
"logoUrl": "https://cdn.fire.rest/logos/cielo.webp",
"cardBrands": ["visa", "mastercard"],
"active": true,
"position": 0,
"configFields": [
{
"key": "merchant_id",
"label": "Merchant ID",
"required": true,
"scopeLevel": "account",
"secret": false,
"helpText": null
},
{
"key": "terminal_key",
"label": "Chave do terminal",
"required": true,
"scopeLevel": "store",
"secret": true,
"helpText": null
},
{
"key": "terminal_ip",
"label": "IP da maquininha",
"required": false,
"scopeLevel": "device",
"secret": false,
"helpText": null
}
],
"charging": true,
"availability": [
{"channelCode": "KIOSK", "fulfillmentCode": "DINE_IN", "enabled": true},
{"channelCode": "KIOSK", "fulfillmentCode": "TAKEAWAY", "enabled": false}
],
"config": {"merchant_id": "M-000123", "terminal_key": "sk_live_..."},
"missingRequiredKeys": [],
"devices": [
{
"deviceType": "KIOSK",
"deviceId": "cc33dd44-0000-4000-8000-000000000003",
"charging": false,
"availability": [
{"channelCode": "KIOSK", "fulfillmentCode": "DINE_IN", "enabled": false},
{"channelCode": "KIOSK", "fulfillmentCode": "TAKEAWAY", "enabled": false}
],
"config": {"terminal_ip": "10.20.0.9"}
}
]
}
]
}
],
"warnings": [],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
}
{
"success": false,
"error": "VALIDATION_ERROR",
"message": "Datos de entrada inválidos",
"details": [
{
"code": "custom",
"path": ["storeCode"],
"message": "Use either storeId or storeCode, not both"
}
]
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "API key required. Use x-api-key: pk_live_... header"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key does not have required scope: payment-methods:read. Available: store:read"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key must be vendor-scoped (account + vendor binding) to access this endpoint"
}
{
"success": false,
"error": "NOT_FOUND",
"message": "Store not found"
}
API
Configuração de formas de pagamento (v2)
Leia a configuração de formas de pagamento do vendor da sua API key, resolvida por loja: quais formas existem, onde cada uma cobra e com quais valores.
GET
/
api
/
v2
/
external
/
payment-methods
/
config
GET https://api.fire.rest/api/v2/external/payment-methods/config
x-api-key: <sua_api_key>
GET https://api.fire.rest/api/v2/external/payment-methods/config?storeCode=K008
x-api-key: <sua_api_key>
{
"success": true,
"data": {
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"generatedAt": "2026-09-04T13:00:00.000Z",
"stores": [
{
"storeId": "aa11bb22-0000-4000-8000-000000000002",
"storeCode": "K008",
"storeNumber": 812,
"name": "Morumbi",
"countryCode": "BR",
"active": "ACTIVE",
"status": "PUBLISHED",
"methods": [
{
"methodId": "9f3a1c2e-0000-4000-8000-000000000001",
"code": "cielo",
"name": "Cielo",
"description": null,
"logoUrl": "https://cdn.fire.rest/logos/cielo.webp",
"cardBrands": ["visa", "mastercard"],
"active": true,
"position": 0,
"configFields": [
{
"key": "merchant_id",
"label": "Merchant ID",
"required": true,
"scopeLevel": "account",
"secret": false,
"helpText": null
},
{
"key": "terminal_key",
"label": "Chave do terminal",
"required": true,
"scopeLevel": "store",
"secret": true,
"helpText": null
},
{
"key": "terminal_ip",
"label": "IP da maquininha",
"required": false,
"scopeLevel": "device",
"secret": false,
"helpText": null
}
],
"charging": true,
"availability": [
{"channelCode": "KIOSK", "fulfillmentCode": "DINE_IN", "enabled": true},
{"channelCode": "KIOSK", "fulfillmentCode": "TAKEAWAY", "enabled": false}
],
"config": {"merchant_id": "M-000123", "terminal_key": "sk_live_..."},
"missingRequiredKeys": [],
"devices": [
{
"deviceType": "KIOSK",
"deviceId": "cc33dd44-0000-4000-8000-000000000003",
"charging": false,
"availability": [
{"channelCode": "KIOSK", "fulfillmentCode": "DINE_IN", "enabled": false},
{"channelCode": "KIOSK", "fulfillmentCode": "TAKEAWAY", "enabled": false}
],
"config": {"terminal_ip": "10.20.0.9"}
}
]
}
]
}
],
"warnings": [],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
}
{
"success": false,
"error": "VALIDATION_ERROR",
"message": "Datos de entrada inválidos",
"details": [
{
"code": "custom",
"path": ["storeCode"],
"message": "Use either storeId or storeCode, not both"
}
]
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "API key required. Use x-api-key: pk_live_... header"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key does not have required scope: payment-methods:read. Available: store:read"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key must be vendor-scoped (account + vendor binding) to access this endpoint"
}
{
"success": false,
"error": "NOT_FOUND",
"message": "Store not found"
}
Devolve a configuração de pagamentos que a Fire tem cadastrada para o vendor da sua API key,
resolvida loja por loja: quais formas cada uma oferece, onde cada uma cobra e com quais valores.
Cada entrada se basta — não há catálogo à parte para cruzar.
Sem filtro, traz todas as lojas do vendor, paginadas. Com
storeId ou storeCode, apenas uma.
A resposta inclui os valores de configuração, inclusive os marcados como secretos (chaves de
estabelecimento, credenciais de maquininha). Trate esta resposta como material sensível: não
registre em logs, não guarde em cache no navegador e não repasse a terceiros.
Esta é a v2. A v1 devolve país → vendor → formas com
um
enabled e continua disponível, sem data de desativação. A v2 muda a origem dos dados e
acrescenta os níveis de loja, canal, fulfillment e terminal.Autenticação
string
obrigatório
Sua API key da Fire com o escopo
payment-methods:read. A key precisa ser vendor-scoped
(binding account + vendor) — keys sem vendorId são rejeitadas com 403. A conta e o vendor
são resolvidos a partir da key: não são aceitos como query params.Parâmetros
string
UUID da loja na Fire. Excludente com
storeCode: enviar os dois devolve 400.string
O código externo da loja (
EXTERNAL CODE no backoffice). É o identificador que você
provavelmente já tem no seu próprio cadastro. Não é ambíguo porque a API key fixa o vendor.string
Restringe
availability a um canal (por exemplo KIOSK). Comparado em maiúsculas. As lojas que
ficam sem combinações para esse canal continuam aparecendo, sem formas de pagamento.integer
padrão:"1"
Página de
stores.integer
padrão:"20"
Lojas por página. Máximo
100.Requisição
GET https://api.fire.rest/api/v2/external/payment-methods/config
x-api-key: <sua_api_key>
GET https://api.fire.rest/api/v2/external/payment-methods/config?storeCode=K008
x-api-key: <sua_api_key>
Resposta
boolean
Sempre
true em um 200.object
Mostrar data
Mostrar data
string
UUID da conta da API key.
string
Vendor da API key.
string
ISO 8601 do momento da resolução.
object[]
Mostrar store
Mostrar store
string
UUID da loja.
string | null
Código externo.
integer
Numeração da loja na Fire.
string | null
Nome da loja.
string | null
null quando a loja não tem país cadastrado; nesse caso ela aparece em warnings e methods vem vazio.string
ACTIVE, INACTIVE ou SUSPENDED.string
DRAFT, PUBLISHED, PARTIALLY_PUBLISHED ou ARCHIVED.object[]
Mostrar storeMethod
Mostrar storeMethod
string
UUID da forma. É o identificador, e o único estável.
string
Código, por conveniência. Só é único dentro de um país, então use
methodId para identificar uma forma.string
Nome exibido.
string | null
Descrição opcional.
string | null
URL do logo.
string[]
Bandeiras aceitas. Vazio = não é uma forma com cartão.
boolean
Se a forma está ativa na conta. Em
false não cobra em nenhuma loja.integer
Ordem sugerida.
object[]
Os campos que a forma declara. O que os valores de
config significam.boolean
Derivado: a forma está ativa e cobra em alguma combinação. Com
?channel=, restrito a esse canal.object[]
object
Valores efetivos no nível da loja: os da conta com os da loja por cima. Apenas campos
account e store.string[]
Campos obrigatórios de conta ou loja em branco. Se não estiver vazio, a loja não está pronta para cobrar com essa forma.
object[]
Terminais com configuração ou postura própria. Vazio é o normal.
Mostrar device
Mostrar device
string
KIOSK ou POS.string
Identificador do terminal na Fire.
boolean
Se esse equipamento cobra, já resolvido contra o que diz a sua loja.
object[]
Igual à da loja, com o que é próprio do equipamento aplicado por cima.
object
Apenas os valores cadastrados nesse terminal, sem misturar de novo os da loja: é assim que se distingue a exceção da herança.
object[]
O que ficou pela metade sem derrubar a resposta. Hoje só
STORE_COUNTRY_MISSING: a loja não
tem país cadastrado, então o catálogo dela não pôde ser resolvido.integer
Lojas do vendor que atendem ao filtro.
integer
Página devolvida.
integer
Tamanho da página.
integer
Total de páginas.
{
"success": true,
"data": {
"accountId": "550e8400-e29b-41d4-a716-446655440000",
"vendorId": "100.1.10",
"generatedAt": "2026-09-04T13:00:00.000Z",
"stores": [
{
"storeId": "aa11bb22-0000-4000-8000-000000000002",
"storeCode": "K008",
"storeNumber": 812,
"name": "Morumbi",
"countryCode": "BR",
"active": "ACTIVE",
"status": "PUBLISHED",
"methods": [
{
"methodId": "9f3a1c2e-0000-4000-8000-000000000001",
"code": "cielo",
"name": "Cielo",
"description": null,
"logoUrl": "https://cdn.fire.rest/logos/cielo.webp",
"cardBrands": ["visa", "mastercard"],
"active": true,
"position": 0,
"configFields": [
{
"key": "merchant_id",
"label": "Merchant ID",
"required": true,
"scopeLevel": "account",
"secret": false,
"helpText": null
},
{
"key": "terminal_key",
"label": "Chave do terminal",
"required": true,
"scopeLevel": "store",
"secret": true,
"helpText": null
},
{
"key": "terminal_ip",
"label": "IP da maquininha",
"required": false,
"scopeLevel": "device",
"secret": false,
"helpText": null
}
],
"charging": true,
"availability": [
{"channelCode": "KIOSK", "fulfillmentCode": "DINE_IN", "enabled": true},
{"channelCode": "KIOSK", "fulfillmentCode": "TAKEAWAY", "enabled": false}
],
"config": {"merchant_id": "M-000123", "terminal_key": "sk_live_..."},
"missingRequiredKeys": [],
"devices": [
{
"deviceType": "KIOSK",
"deviceId": "cc33dd44-0000-4000-8000-000000000003",
"charging": false,
"availability": [
{"channelCode": "KIOSK", "fulfillmentCode": "DINE_IN", "enabled": false},
{"channelCode": "KIOSK", "fulfillmentCode": "TAKEAWAY", "enabled": false}
],
"config": {"terminal_ip": "10.20.0.9"}
}
]
}
]
}
],
"warnings": [],
"total": 1,
"page": 1,
"size": 20,
"totalPages": 1
}
}
{
"success": false,
"error": "VALIDATION_ERROR",
"message": "Datos de entrada inválidos",
"details": [
{
"code": "custom",
"path": ["storeCode"],
"message": "Use either storeId or storeCode, not both"
}
]
}
{
"success": false,
"error": "UNAUTHORIZED",
"message": "API key required. Use x-api-key: pk_live_... header"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key does not have required scope: payment-methods:read. Available: store:read"
}
{
"success": false,
"error": "FORBIDDEN",
"message": "API key must be vendor-scoped (account + vendor binding) to access this endpoint"
}
{
"success": false,
"error": "NOT_FOUND",
"message": "Store not found"
}
Como ler a resposta
Para saber se deve exibir uma forma numa loja, olhecharging. É true quando a forma está
ativa na conta e cobra em pelo menos uma combinação daquela loja.
Para saber em qual canal e fulfillment ela cobra, olhe availability. Uma entrada com
enabled: false significa “está configurada aqui, mas desligada agora” — o provedor caiu, por
exemplo. É diferente de não aparecer: o que não aparece não é oferecido naquela loja.
Confundir os dois se paga depois: se você descartar as entradas pausadas, no dia em que a forma
for retomada o seu lado vai lê-la como uma combinação que nunca foi configurada e vai
reconfigurar o que já estava lá.
Antes de tentar cobrar, olhe missingRequiredKeys. Se trouxer algo, faltam dados
obrigatórios e a cobrança vai falhar do lado do provedor.
devices quase sempre vem vazio. Aparece quando um terminal específico tem uma exceção — a
maquininha de um quiosque quebrou e só aquele equipamento foi desligado, sem mexer nos demais da
loja. Se a sua integração não distingue terminais, pode ignorar: o nível de loja é a resposta
correta para um canal de venda.
Notas
- Identifique as formas por
methodId, nunca porcode. Um código só é único dentro de um país, e um vendor com lojas em dois países pode definir o mesmo código duas vezes, comiddiferente. fulfillmentCodeé devolvido exatamente como está guardado, sem normalizar contra o catálogo global.- As formas com
active: falseviajam do mesmo jeito, para você exibi-las como “indisponível” ou escondê-las — a decisão é sua. - Pedir uma loja que não pertence ao vendor da sua key devolve
404, não403.
Relacionado
Configuração de formas de pagamento (v1)
A versão anterior, sem níveis de loja. Continua disponível.
Configuração de canais
Quais canais e fulfillments o seu vendor tem habilitados.

