Pular para o conteúdo principal

Referência da API

Bem-vindo à Referência da API PaysGator. Esta documentação fornece informações detalhadas sobre nossos endpoints de API, estruturas de solicitação e formatos de resposta.

URL Base

Todas as solicitações de API devem ser feitas para a seguinte URL base:

https://paysgator.com/api/v1

Autenticação

A API usa autenticação por Chave de API (API Key). Inclua sua chave no cabeçalho X-Api-Key de cada solicitação. Você pode usar chaves LIVE ou TEST para controlar o modo de transação.

X-Api-Key: SUA_CHAVE_API

Endpoints

Pagamentos (Payments)

Criar Pagamento (Create Payment)

Cria uma transação de pagamento com um link de pagamento associado.

  • URL: /payment/create
  • Método: POST
  • Corpo da Solicitação:
CampoTipoObrigatórioDescrição
amountnumberSimValor do pagamento (ex: 100.00).
currencystringSimCódigo de moeda ISO 4217 (ex: USD, MZN).
payment_methodsarrayNãoLista de métodos de pagamento permitidos (ex: ["MPESA", "CARD"]).
returnUrlstringNãoURL para redirecionar após o pagamento.
fieldsarrayNãoCampos a coletar do cliente (name, email, phone, address).
externalTransactionIdstringNãoSeu ID de referência externa.
metadataobjectNãoMetadados adicionais.
  • Resposta (200 OK):
    • success: true
    • data:
      • paymentlinkId: UUID
      • checkoutUrl: URL da página de pagamento
      • transactionId: UUID

Confirmar Pagamento (Confirm Payment)

Confirma um pagamento diretamente de um link de pagamento (para métodos do tipo "Confirm").

  • URL: /payment/confirm
  • Método: POST
  • Corpo da Solicitação:
CampoTipoObrigatórioDescrição
paymentLinkIdstringSimO ID do link de pagamento.
paymentMethodstringSimO método a ser usado (ex: MPESA).
payment_fieldsobjectNãoCampos específicos do método (ex: { "phoneNumber": "..." }).
customerobjectNãoInformações do cliente (name, email, phone, address, country).
  • Resposta (200 OK):
    • success: true
    • data:
      • transactionId: UUID
      • fee: Taxa da transação
      • netAmount: Valor líquido

Carteira (Wallet)

Obter Saldo da Carteira (Get Wallet Balance)

Recupera o saldo da carteira associada à chave da API.

  • URL: /wallet/balance
  • Método: GET
  • Resposta (200 OK):
    • walletId: UUID
    • currency: Código da moeda
    • balance: Saldo como string
    • mode: LIVE ou TEST

Transações (Transactions)

Obter Transação (Get Transaction)

Recupera detalhes de uma transação específica.

  • URL: /transactions/{id}
  • Método: GET
  • Parâmetros:
    • id (caminho): UUID da transação
  • Resposta (200 OK):
    • id: UUID
    • amount: número
    • currency: string
    • status: PENDING, SUCCESS, FAILED, REFUNDED
    • method: método de pagamento usado
    • createdAt: data ISO
    • mode: LIVE ou TEST

Assinaturas (Subscriptions)

Criar Assinatura (Create Subscription)

Inicia uma nova assinatura no estado PAUSED e retorna uma URL de checkout.

  • URL: /subscription/create
  • Método: POST
  • Corpo da Solicitação:
CampoTipoObrigatórioDescrição
planIdstringSimID do plano de assinatura.
customerEmailstringSimEndereço de e-mail do cliente.
customerNamestringNãoNome do cliente.
metadataobjectNãoMetadados adicionais.
  • Resposta (200 OK):
    • success: true
    • data:
      • subscriptionId: UUID
      • checkoutUrl: URL da página de pagamento
      • status: PAUSED

Obter Assinatura (Get Subscription)

Recupera detalhes de uma assinatura específica.

  • URL: /subscription/{id}
  • Método: GET
  • Parâmetros:
    • id (caminho): UUID da assinatura
  • Resposta (200 OK):
    • success: true
    • data:
      • id: UUID
      • planId: UUID
      • customerEmail: string
      • status: ACTIVE, CANCELED, PAST_DUE, PAUSED
      • currentPeriodStart: data ISO
      • currentPeriodEnd: data ISO
      • createdAt: data ISO

Listar Assinaturas (List Subscriptions)

Lista todas as assinaturas da empresa.

  • URL: /subscriptions
  • Método: GET
  • Parâmetros (Consulta):
    • customerEmail: (Opcional) Filtrar por e-mail do cliente.
    • status: (Opcional) Filtrar por status.
    • planId: (Opcional) Filtrar por ID do plano.
  • Resposta (200 OK):
    • success: true
    • data: Array de objetos de Assinatura.

Atualizar Assinatura (Update Subscription)

Atualiza o status de uma assinatura (cancel, pause, resume).

  • URL: /subscriptions/{id}
  • Método: PATCH
  • Parâmetros:
    • id (caminho): UUID da assinatura
  • Corpo da Solicitação:
CampoTipoObrigatórioDescrição
actionstringSimUm dos seguintes: cancel, pause, resume.
  • Resposta (200 OK):
    • id: UUID
    • status: ACTIVE, CANCELED, PAST_DUE, PAUSED
    • currentPeriodEnd: data ISO

Erros

A API usa códigos de status HTTP padrão para indicar sucesso ou falha. As respostas de erro seguem este formato:

{
"error": {
"message": "Mensagem de erro legível por humanos",
"code": "CODIGO_LEGIVEL_POR_MAQUINA"
}
}

Códigos de Erro Comuns:

  • UNAUTHORIZED
  • NOT_FOUND
  • MISSING_FIELDS
  • WALLET_NOT_FOUND
  • CURRENCY_MISMATCH
  • PAYMENT_FAILED
  • INTERNAL_ERROR