Referência API
Referência
Rotas, modelos de objetos, enums, configuração e formatação de erros.
Referência de rota
| Método | Rota |
|---|---|
| GET | /api/partner/v1/companies |
Auth Sessão Uso Listar empresas do usuário Retorna as equipes disponíveis para as ferramentas do portal do usuário MakeCrypto autenticado. | |
| POST | /api/partner/v1/onboarding/company |
Auth Segredo de onboarding do parceiro Uso Criar link de onboarding da empresa Cria um rascunho de onboarding preenchido pelo parceiro e retorna uma URL de reivindicação para o comerciante. | |
| GET | /api/partner/v1/makepay/payment-links |
Auth Chave API MakePay Uso Listar ou criar links de pagamento Lê os links de pagamento da empresa associada à chave API ou cria links de checkout MakePay hospedados. | |
| POST | /api/partner/v1/makepay/payment-links |
Auth Chave API MakePay ou público Uso Listar ou criar links de pagamento Lê os links de pagamento da empresa associada à chave API ou cria links de checkout MakePay hospedados. | |
| POST | /gateway/pay/{makepayKeyId} |
Auth Chave pública do formulário Uso Enviar formulário de pagamento HTML Recebe campos de formulário do navegador, cria um link de pagamento hospedado e redireciona o comprador para o checkout. | |
| GET | /api/partner/v1/makepay/payment-links/{uid} |
Auth Chave API MakePay Uso Ler ou atualizar link de pagamento Lê os detalhes de um link de pagamento ou altera seu status para active, paused ou archived. | |
| PATCH | /api/partner/v1/makepay/payment-links/{uid} |
Auth Chave API MakePay Uso Ler ou atualizar link de pagamento Lê os detalhes de um link de pagamento ou altera seu status para active, paused ou archived. | |
| POST | /api/partner/v1/makepay/payment-links/{uid}/send-request-email |
Auth Chave API MakePay Uso Enviar solicitação de pagamento Envia ou reenvia o link hospedado ao e-mail do cliente. | |
| GET | /api/partner/v1/makepay/subscriptions |
Auth Chave API MakePay Uso Listar ou criar assinaturas Retorna planos de assinatura recorrente MakePay ou cria uma assinatura e a primeira fatura. | |
| POST | /api/partner/v1/makepay/subscriptions |
Auth Chave API MakePay Uso Listar ou criar assinaturas Retorna planos de assinatura recorrente MakePay ou cria uma assinatura e a primeira fatura. | |
| GET | /api/partner/v1/makepay/customers |
Auth Chave API MakePay Uso Listar ou atualizar clientes Retorna perfis de clientes MakePay ou cria/atualiza clientes por e-mail. | |
| POST | /api/partner/v1/makepay/customers |
Auth Chave API MakePay Uso Listar ou atualizar clientes Retorna perfis de clientes MakePay ou cria/atualiza clientes por e-mail. | |
| POST | /api/partner/v1/makepay/customers/{customerId}/portal |
Auth Chave API MakePay Uso Criar link do portal do cliente Gera sob demanda uma URL assinada do portal do cliente MakePay válida por 24 horas. | |
| GET | /api/partner/v1/timezones |
Auth Público Uso Listar fusos horários Retorna identificadores de fuso horário IANA compatíveis. | |
| GET | /api/partner/v1/makepay/settings |
Auth Chave API MakePay Uso Ler ou atualizar configurações MakePay Lê ou atualiza configurações de liquidação, redirecionamento, taxas e tratamento de pagamento insuficiente. | |
| PUT | /api/partner/v1/makepay/settings |
Auth Chave API MakePay Uso Ler ou atualizar configurações MakePay Lê ou atualiza configurações de liquidação, redirecionamento, taxas e tratamento de pagamento insuficiente. | |
| GET | /api/partner/v1/makepay/destination-assets |
Auth Chave API MakePay Uso Listar ativos de destino Retorna os ativos de liquidação compatíveis e o ativo padrão atual. | |
| GET | /api/partner/v1/makepay/webhook-requests |
Auth Chave API MakePay Uso Listar entregas de webhook Mostra tentativas de entrega de webhooks de pagamento e assinatura, além do status de nova tentativa. | |
Integração de parceiro OAuth
POST /api/partner/v1/onboarding/company pode incluir um objeto opcional oauth. MakeCrypto valida o aplicativo OAuth, redireciona o URI, os escopos e o desafio PKCE antes de criar o link de integração. Quando o comerciante conclui a integração, MakeCrypto cria a empresa, concede ao aplicativo OAuth acesso a essa empresa e redireciona para o redirectUri registrado com uma autorização code.
{
"idempotencyKey": "merchant_123",
"company": {
"name": "Acme Markets",
"website": "https://acme.example"
},
"oauth": {
"clientId": "mco_app_example",
"redirectUri": "https://apps.makecrypto.io/oauth/callback",
"scope": "company:read makepay:payment-links:write makepay:settings:read",
"state": "merchant_123",
"codeChallenge": "PKCE_S256_CODE_CHALLENGE",
"codeChallengeMethod": "S256"
}
}
O aplicativo parceiro deve reter o code_verifier PKCE correspondente e trocar o código retornado usando POST /oauth/token.
Objeto PaymentLink
| Campo | Tipo | Notas |
|---|---|---|
id | string | UUID interno. |
uid | string | Identificador de link de pagamento público usado em rotas checkout hospedadas e incorporadas. |
status | "active" | "paused" | "archived" | Status do link gerenciado pelo lojista. |
payload | PaymentLinkPayload | Campos de pedido, valor, cliente, redirecionamento, metadados, marca e tempo de execução do comerciante. |
created_at | string | Carimbo de data e hora ISO. |
updated_at | string | Carimbo de data e hora ISO. |
expires_at | string | null | Carimbo de data/hora de expiração resolvido ou null sem expiração. |
publicUrl | string | URL de checkout hospedou MakePay, incluído nas respostas de criação, lista, detalhe e atualização de status. |
PagamentoLinkPayload
| Campo | Tipo | Notas |
|---|---|---|
title | string | Etiqueta de pagamento visível. |
description | string | Descrição visível para o cliente. |
amount | string | Valor decimal a ser cobrado. |
fiatCurrency | string | Moeda visual opcional, como USD ou EUR. |
currency | string | Símbolo de liquidação como USDT, USDC ou BTC. |
asset | string | Identificador exato do ativo alvo. Use-o quando existir um símbolo em várias strings. |
orderId | string | Pedido do comerciante ou referência da fatura. |
customerEmail | string | Usado para e-mails e cargas de webhook. |
clientId | string | Identificador de cliente opcional do lado do comerciante. |
returnUrl | string | URL do comerciante para navegação de retorno genérica. |
successUrl | string | URL do comerciante para pagamentos concluídos. |
failureUrl | string | URL do comerciante por pagamentos falhados ou cancelados. |
expirationTime | "15m" | "1h" | "12h" | "24h" | "72h" | "never" | Duração solicitada do link de pagamento. |
metadata | Record<string, unknown> | Metadados definidos pelo lojista e retornados em dashboards e webhooks. |
runtimeMode | "merchant_target_net_v2" | Injetado por API para novos links pagos. |
billingVersion | "v2" | Injetado por API para novos links pagos. |
merchantName | string | Injetado da marca da empresa quando disponível. |
merchantPictureUrl | string | Injetado do perfil da empresa, quando disponível. |
merchantLogoUrl | string | Injetado da marca comercial, quando disponível. |
merchantPaymentLinkTheme | "light" | "dark" | "system" | Injetado da configuração do tema checkout do comerciante. |
Objeto Cliente
| Campo | Tipo | Notas |
|---|---|---|
id | string | UUID interno. |
uid | string | Identificador de cliente público MakePay usado em links do portal. |
email | string | E-mail do cliente. |
name | string | null | Nome de exibição do cliente. Editável no portal. |
clientId | string | null | Identificador do cliente comerciante. Leia apenas no portal. |
metadata | Record<string, unknown> | Metadados definidos pelo comerciante. |
createdAt | string | Carimbo de data e hora ISO. |
updatedAt | string | Carimbo de data e hora ISO. |
urls | { customerPortal: string } | Presente nas respostas de geração do portal. Não persista este URL. |
Resposta do Portal do Cliente
POST /api/partner/v1/makepay/customers/{customerId}/portal retorna um portal assinado URL para o cliente salvo.
{
"ok": true,
"companyId": "acct_123",
"customer": {
"id": "b834dd77-69b8-41a9-a4b6-95bc9dd14c2d",
"uid": "cus_01hzy4k6p4w9y2x7e2z7n8a2xm",
"email": "buyer@example.com",
"name": "Ada Lovelace",
"clientId": "client_1042",
"metadata": {
"source": "api"
},
"createdAt": "2026-04-20T10:00:00.000Z",
"updatedAt": "2026-04-20T10:00:00.000Z",
"urls": {
"customerPortal": "https://makepay.io/billing?company=acct_123&customer=cus_01hzy4k6p4w9y2x7e2z7n8a2xm&expires=1776765600&signature=8d1f..."
}
},
"expiresAt": "2026-04-21T10:00:00.000Z"
}O URL é válido por 24 horas e usa o payment_link_domain verificado pela empresa quando disponível. Caso contrário, cabe à fonte pública MakePay.
| Parâmetro de consulta | Notas |
|---|---|
company | ID da conta corporativa MakeCrypto que pertence ao cliente. |
customer | Cliente UID MakePay. |
expires | Carimbo de data/hora Unix em segundos. |
signature | Assinatura HMAC em v1:{companyId}:{customerUid}:{expires}. |
Gera links do portal sob demanda quando o cliente abre o faturamento. URLs de clientes expirados, alterados ou outros são rejeitados antes de carregar os dados do portal.
Objeto de assinatura
| Campo | Tipo | Notas |
|---|---|---|
id | string | UUID interno. |
uid | string | Identificador de assinatura visível para o comerciante. |
status | "active" | "paused" | "overdue" | "cancelled" | Status atual da assinatura. |
customerEmail | string | E-mail do cliente usado para lembretes e correspondência do portal. |
label | string | Etiqueta de assinatura visível para o cliente. |
description | string | null | Descrição opcional. |
amountUsd | string | Valor recorrente em USD. |
settlementAsset | string | Identificador do ativo de liquidação alvo. |
cadence | "weekly" | "biweekly" | "monthly" | "custom_months" | "yearly" | Cadência visual. |
billingIntervalUnit | "week" | "month" | "year" | Unidade de intervalo de faturamento. |
billingIntervalCount | number | Número de unidades entre ciclos. |
startAt | string | Carimbo de data/hora ISO do primeiro ciclo de faturamento. |
timezone | string | Fuso horário da IANA usado para lembretes. |
metadata | Record<string, unknown> | Metadados definidos pelo comerciante e configurações avançadas de redirecionamento/tolerância. |
cycles | SubscriptionCycle[] | Ciclos gerados retornados pela listagem de rotas e chamadas de dashboard. |
As assinaturas passam para overdue quando um ciclo não pago excede seu carimbo de data/hora dueAt em pelo menos 24 horas. MakePay envia um makepay.subscription.status_changed assinado webhook sempre que o status da assinatura muda.
Configurações de MakePay
| Campo | Tipo | Notas |
|---|---|---|
status | "active" | "paused" | Disponibilidade do produto para a equipe. |
defaultDestinationAsset | string | null | Identificador de ativo padrão usado quando os links enviam apenas currency. |
feePaidBy | "client" | "merchant" | Determina se o cliente ou lojista absorve as comissões MakePay. |
returnRedirectUrl | string | null | Redirecionamento de fallback após checkout. |
successRedirectUrl | string | null | Redirecionamento após um pagamento concluído. |
failureRedirectUrl | string | null | Redirecionamento após cancelamento ou falha no pagamento. |
underpaymentPercentEnabled | boolean | Ative a tolerância percentual. |
underpaymentPercentThreshold | number | Porcentagem de pagamento insuficiente permitida. |
underpaymentFixedEnabled | boolean | Ative a tolerância fixa. |
underpaymentFixedThreshold | number | Valor fixo permitido para pagamento insuficiente. |
Ativo de destino
| Campo | Tipo | Notas |
|---|---|---|
assetIdentifier | string | String canônica, símbolo e identificador de contrato. |
chainCode | string | Código da cadeia de liquidação. |
chainName | string | Nome legível da string. |
symbol | string | Símbolo de ativo. |
name | string | Nome do ativo. |
decimals | number | Decimais do token. |
isDefault | boolean | Indica se este ativo é a inadimplência atual da empresa. |
Valores de status
active: O link pode ser aberto e pago.paused: O link ainda está visível para o comerciante, mas não deve aceitar novas iniciações de pagamento.archived: O link está oculto nas visualizações ativas e deve ser tratado como fechado.
Valores de status da assinatura:
active: A assinatura cobra faturas programadas normalmente.paused: Lembretes e alterações do comerciante/cliente pausaram a assinatura.overdue: Pelo menos um ciclo não pago está vencido há 24 horas ou mais.cancelled: A assinatura foi encerrada e os ciclos gerados não pagos foram cancelados.
Formato de erro
Os erros retornam JSON com error e, quando disponível, errorCode.
{
"errorCode": "invalid_destination_asset",
"error": "payload.asset ETH.USDT-... is not available for supported settlement routes."
}