My Gateway
Autenticação - /authentication/v1/auth
POST

REQUEST SCHEMA

  • x-api-key: (string): API Key fornecida pela equipe do MyGateway Local: header
  • authData: (string): base64(client_id:client_secret) Local: body

RESPONSE SCHEMA

200
  • auth_token: (string): Token de autorização. Local: body
  • expires_in: (datetime): Data de expiração do token. Local: body
401
  • message: (string): Mensagem descrevendo o erro. Local: body
  • error: (bool): Booleano que indica se a erro ou não. Local: body
  • errormessages: (array<string>): Descritivo dos erros. Local: body
  • returncode: (int): status code Local: body
  • id: (uuid): Identificador. Local: body
  • data: (array): Neste caso de uso, será sempre vazio. Local: body
Inicialização 3DS - SDK - /antifraud/v1/sdk/3ds/initialize
POST

REQUEST SCHEMA

  • location: (string): Origem da solicitação de início do SDK 3DS Local: body
  • fingerprintSessionId: (string): ID de sessão para o fingerprint antifraude. Local: body

RESPONSE SCHEMA

200
  • crypt: (string): Token do 3DS encripritado. Local: body
  • seed: (string): Indentificação do horário de início do SDk 3DS. Local: body
401
  • message: (string): Mensagem descrevendo o erro. Local: body
  • error: (bool): Booleano que indica se a erro ou não. Local: body
  • errormessages: (array<string>): Descritivo dos erros. Local: body
  • returncode: (int): status code Local: body
  • id: (uuid): Identificador. Local: body
  • data: (array): Neste caso de uso, será sempre vazio. Local: body
Geração de Token de Cartão de Crédito - /v1/payment/creditcard/generate/token
POST

REQUEST SCHEMA

  • cardNumber: (string): Número do cartão de credito a ser tokenizado Local: body
  • transactionId: (string): Id da transação para ser associada a cobrança realizada com o token do cartão Local: body
  • Authorization: (string): Token de autorização obtido no endpoint de autorização. Local: header

RESPONSE SCHEMA

200
  • data: (object): objeto que se encontra a resposta. Local: body
  • data.numberToken: (string): Número do cartão de credito tokenizado. Local: body
400
  • notificationErrors: (object): Objeto padrão de badrequest. Local: body
  • notificationErrors.error.erros: (array<valueserros>): Array de descrição dos erros. Local: body
  • notificationErrors.error.erros[i].propertyName: (string): Mensagem da possivel causa do erro. Local: body
  • errorTypeDescrption: (string): Descrição em high level do erro. Local: body
  • errorType: (int): código do erro. Local: body
500
  • message: (string): Mensagem da causa do erro. Local: body
  • detail: (string): Detalhes do erro. Local: body
  • timestamp: (string): Horario do erro em UTC. Local: body
Validação 3DS - Antifraude Cartão de Crédito - ThreeDsType = 1 - /v1/payments/creditcard/antifraud/validate/3ds
POST

REQUEST SCHEMA

  • code3DS: (string): code3DS Local: body
  • validateToken: (string): Token da validação Local: body
  • paymentId: (string): paymentId da transação Local: body

RESPONSE SCHEMA

200
  • data: (object): objeto que se encontra a resposta. Local: body
  • data.situation: (string): Status do pagamento (New=1, WaitingPayment=2,UnPaid=3,Canceled=4,Challenge=5,Paid=99999). Local: body
  • data.paymentId: (UUID): Identificador único do pagamento. Local: body
  • data.external3dsId: (string): Identificador único externo do pagamento. Local: body
400
  • notificationErrors: (object): Objeto padrão de badrequest. Local: body
  • notificationErrors.error.erros: (array<valueserros>): Array de descrição dos erros. Local: body
  • notificationErrors.error.erros[i].propertyName: (string): Mensagem da possivel causa do erro. Local: body
  • errorTypeDescrption: (string): Descrição em high level do erro. Local: body
  • errorType: (int): código do erro. Local: body
500
  • message: (string): Mensagem da causa do erro. Local: body
  • detail: (string): Detalhes do erro. Local: body
  • timestamp: (string): Horario do erro em UTC. Local: body
Criar Pagamento - Boleto - /v1/payments/create
POST

REQUEST SCHEMA

  • Authentication: (string): Token de autorização. Local: header
  • paymentType: (int): Tipo de pagamento, Boleto = 1. Local: body
  • billet.clientChargeId: (string): ID da cobrança do boleto. Local: body
  • billet.billet.items: (array<item>): Lista de itens do boleto. Local: body
  • billet.billet.items[i].id: (UUID): Id do item do boleto. Local: body
  • billet.billet.items[i].name: (string): Nome do item do boleto. Local: body
  • billet.billet.items[i].value: (int): Valor do item do boleto em centavos. Local: body
  • billet.billet.items[i].amount: (int): Quantidade do item no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.name: (string): Nome do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.document: (string): Documento do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.email: (string): E-mail do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.phoneNumber: (string): Telefone do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.phoneNumberDDD: (string): DDD do telefone do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.mobilePhoneNumber: (string): Número de celular do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.mobilePhoneNumberDDD: (string): DDD do número de celular do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.street: (string): Rua do endereço do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.number: (string): Número do endereço do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.neighborhood: (string): Bairro do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.zipcode: (string): CEP do endereço do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.city: (string): Cidade do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.complement: (string): Complemento do endereço do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.state: (string): Estado do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.customer.address.country: (string): País do cliente no boleto. Local: body
  • billet.billet.payment.bankingBillet.expireAt: (string): Data de expiração do boleto. Local: body
  • billet.billet.payment.bankingBillet.message: (string): Mensagem no boleto bancário. Local: body

RESPONSE SCHEMA

200
  • data.paymentId: (string): Identificador único do pagamento. Local: body
  • data.barcode: (string): Código de barras para pagamento por boleto. Local: body
  • data.pixQrcode: (string): Código QR do pagamento via PIX. Local: body
  • data.pixQrcodeImage: (string): Imagem do código QR do pagamento via PIX. Local: body
  • data.link: (string): Link associado ao pagamento. Local: body
  • data.billetLink: (string): Link do boleto gerado para o pagamento. Local: body
  • data.pdfLink: (string): Link para o PDF do boleto ou comprovante. Local: body
  • data.expireAt: (string): Data e hora de expiração do pagamento. Local: body
  • data.externalChargeId: (string): Identificador externo da cobrança. Local: body
  • data.status: (string): Status atual do pagamento. Local: body
  • data.total: (int): Valor total do pagamento. Local: body
400
  • notificationErrors: (object): Objeto padrão de badrequest. Local: body
  • notificationErrors.error.erros: (array<valueserros>): Array de descrição dos erros. Local: body
  • notificationErrors.error.erros[i].propertyName: (string): Mensagem da possivel causa do erro. Local: body
  • errorTypeDescrption: (string): Descrição em high level do erro. Local: body
  • errorType: (int): código do erro. Local: body
500
  • message: (string): Mensagem da causa do erro. Local: body
  • detail: (string): Detalhes do erro. Local: body
  • timestamp: (string): Horario do erro em UTC. Local: body
Criar Pagamento - Cartão de Crédito - /v1/payments/create
POST

REQUEST SCHEMA

  • Authentication: (string): Token de autorização. Local: header
  • paymentType: (int): Tipo de pagamento, Cartao de Credito = 3. Local: body
  • creditCard.clientChargeId: (UUID): ID da cobrança no cartão de crédito. Local: body
  • creditCard.payment.value: (int): Valor total da transação com o cartão. Local: body
  • creditCard.payment.installments: (int): Quantidade de parcelas. Local: body
  • creditCard.cardInfo.numberToken: (string): Token que representa o número do cartão. Local: body
  • creditCard.cardInfo.cardHolderName: (string): Nome do titular do cartão. Local: body
  • creditCard.cardInfo.securityCode: (string): Código de segurança do cartão (CVV). Local: body
  • creditCard.cardInfo.expirationMonth: (int): Mês de expiração do cartão. Local: body
  • creditCard.cardInfo.expirationYear: (int): Ano de expiração do cartão. Local: body
  • creditCard.sellerInfo.softDescriptor: (string): Descrição breve que aparece na fatura do cartão. Local: body
  • creditCard.antifraud.theeDs.threeDsType: (int): Tipo de autenticação 3D Secure, (Atualmente disponivel apenas o tipo = 1). Local: body
  • creditCard.antifraud.theeDs.items.code3DS: (string): code3DS, deve ser enviado quando creditCard.antifraud.theeDs.threeDsType for 1. Local: body
  • creditCard.antifraud.theeDs.items.urlSite3DS: (string): urlSite3DS, deve ser enviado quando creditCard.antifraud.theeDs.threeDsType for 1. Local: body
  • creditCard.antifraud.fingerprint.sessionId: (string): ID de sessão para o fingerprint antifraude. Local: body
  • creditCard.antifraud.fingerprint.channel: (int): Canal do fingerprint antifraude (1 - WEB, 2 - Mobile e 3 - MobileWEB). Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpAcceptBrowserValue: (string): Valor HTTP Accept do navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpAcceptContent: (string): Valor HTTP Accept Content do navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserLanguage: (string): Linguagem configurada no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserJavaEnabled: (string): Indica se o Java está habilitado no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserJavaScriptEnabled: (string): Indica se o JavaScript está habilitado no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserColorDepth: (string): Profundidade de cor configurada no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserScreenHeight: (string): Altura da tela configurada no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserScreenWidth: (string): Largura da tela configurada no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.httpBrowserTimeDifference: (string): Diferença de horário configurada no navegador 0 ou 1. Local: body
  • creditCard.antifraud.fingerprint.deviceInfo.userAgentBrowserValue: (string): User-Agent do navegador. Local: body
  • creditCard.antifraud.fingerprint.network.ip: (string): Endereço IP do cliente (IPV4) (IPV4). Local: body
  • creditCard.antifraud.fingerprint.network.referer: (string): Referência da requisição. Local: body
  • creditCard.antifraud.fingerprint.network.userAgent: (string): User-Agent da rede. Local: body
  • creditCard.antifraud.fingerprint.location.latitude: (string): Latitude da localização do cliente. Local: body
  • creditCard.antifraud.fingerprint.location.longitude: (string): Longitude da localização do cliente. Local: body
  • creditCard.antifraud.fingerprint.location.accuracy: (string): Precisão da localização do cliente. Local: body
  • creditCard.antifraud.fingerprint.location.timestamp: (string): Timestamp da localização do cliente. Local: body
  • creditCard.customer.name: (string): Nome do cliente. Local: body
  • creditCard.customer.document: (string): Documento do cliente. Local: body
  • creditCard.customer.email: (string): E-mail do cliente. Local: body
  • creditCard.customer.phoneNumber: (string): Número de telefone do cliente. Local: body
  • creditCard.customer.phoneNumberDDD: (string): DDD número de telefone do cliente. Local: body
  • creditCard.customer.mobilePhoneNumber: (string): Número de celular do cliente. Local: body
  • creditCard.customer.mobilePhoneNumberDDD: (string): Número de celular do cliente. Local: body
  • creditCard.customer.address.street: (string): Rua do endereço do cliente. Local: body
  • creditCard.customer.address.number: (string): Número do endereço do cliente. Local: body
  • creditCard.customer.address.neighborhood: (string): Bairro do endereço do cliente. Local: body
  • creditCard.customer.address.zipcode: (string): CEP do endereço do cliente. Local: body
  • creditCard.customer.address.city: (string): Cidade do endereço do cliente. Local: body
  • creditCard.customer.address.complement: (string): Complemento do endereço do cliente. Local: body
  • creditCard.customer.address.state: (string): Estado do endereço do cliente. Local: body
  • creditCard.customer.address.country: (string): País do endereço do cliente. Local: body
  • creditCard.items: (array<item>): Lista de itens do pagamento. Local: body
  • creditCard.items[i].id: (UUID): Id do item do pagamento. Local: body
  • creditCard.items[i].name: (string): Nome do item do pagamento. Local: body
  • creditCard.items[i].value: (int): Valor do item do pagamento em centavos. Local: body
  • creditCard.items[i].amount: (int): Quantidade do item no pagamento. Local: body

RESPONSE SCHEMA

200
  • data.paymentId: (string): Identificador único do pagamento. Local: body
  • data.antifraud: (object): Dados de antifraud disponivel para transações 3DS. Local: body
  • data.status: (string): Status do pagamento (New=1, WaitingPayment=2,UnPaid=3,Canceled=4,Challenge=5,Paid=99999) Local: body
  • data.orderNumber: (string): Identificador da transação Local: body
400
  • notificationErrors: (object): Objeto padrão de badrequest. Local: body
  • notificationErrors.error.erros: (array<valueserros>): Array de descrição dos erros. Local: body
  • notificationErrors.error.erros[i].propertyName: (string): Mensagem da possivel causa do erro. Local: body
  • errorTypeDescrption: (string): Descrição em high level do erro. Local: body
  • errorType: (int): código do erro. Local: body
500
  • message: (string): Mensagem da causa do erro. Local: body
  • detail: (string): Detalhes do erro. Local: body
  • timestamp: (string): Horario do erro em UTC. Local: body
Criar Pagamento - PIX - /v1/payments/create
POST

REQUEST SCHEMA

  • Authentication: (string): Token de autorização. Local: header
  • paymentType: (int): Tipo de pagamento, PIX = 2. Local: body
  • pix.clientChargeId: (UUID): ID da cobrança via PIX. Local: body
  • pix.fingerprint.sessionId: (string): ID da sessão do fingerprint. Local: body
  • pix.fingerprint.channel: (int): Canal do fingerprint antifraude (1 - WEB, 2 - Mobile e 3 - MobileWEB). Local: body
  • pix.fingerprint.deviceInfo.httpAcceptBrowserValue: (string): Valor HTTP Accept do navegador. Local: body
  • pix.fingerprint.deviceInfo.httpAcceptContent: (string): Conteúdo HTTP Accept do navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserLanguage: (string): Idioma configurado no navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserJavaEnabled: (string): Indica se o Java está habilitado no navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserJavaScriptEnabled: (string): Indica se o JavaScript está habilitado no navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserColorDepth: (string): Profundidade de cor do navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserScreenHeight: (string): Altura da tela configurada no navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserScreenWidth: (string): Largura da tela configurada no navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.httpBrowserTimeDifference: (string): Diferença de horário configurada no navegador 0 ou 1. Local: body
  • pix.fingerprint.deviceInfo.userAgentBrowserValue: (string): User-Agent do navegador. Local: body
  • pix.fingerprint.network.ip: (string): Endereço IP do cliente (IPV4). Local: body
  • pix.fingerprint.network.referer: (string): Referência da requisição. Local: body
  • pix.fingerprint.network.userAgent: (string): User-Agent da rede. Local: body
  • pix.fingerprint.location.latitude: (string): Latitude da localização do cliente. Local: body
  • pix.fingerprint.location.longitude: (string): Longitude da localização do cliente. Local: body
  • pix.fingerprint.location.accuracy: (string): Precisão da localização do cliente. Local: body
  • pix.fingerprint.location.timestamp: (string): Timestamp da localização do cliente. Local: body
  • pix.customer.name: (string): Nome do cliente. Local: body
  • pix.customer.document: (string): Documento do cliente. Local: body
  • pix.customer.email: (string): E-mail do cliente. Local: body
  • pix.customer.phoneNumber: (string): Número de telefone do cliente. Local: body
  • pix.customer.phoneNumberDDD: (string): DDD número de telefone do cliente. Local: body
  • pix.customer.mobilePhoneNumber: (string): Número de celular do cliente. Local: body
  • pix.customer.mobilePhoneNumberDDD: (string): DDD número de celular do cliente. Local: body
  • pix.customer.address.street: (string): Rua do endereço do cliente. Local: body
  • pix.customer.address.number: (string): Número do endereço do cliente. Local: body
  • pix.customer.address.neighborhood: (string): Bairro do endereço do cliente. Local: body
  • pix.customer.address.zipcode: (string): CEP do endereço do cliente. Local: body
  • pix.customer.address.city: (string): Cidade do endereço do cliente. Local: body
  • pix.customer.address.complement: (string): Complemento do endereço do cliente. Local: body
  • pix.customer.address.state: (string): Estado do endereço do cliente. Local: body
  • pix.customer.address.country: (string): País do endereço do cliente. Local: body
  • pix.value: (int): Valor da transação via PIX, valor em centavos. Local: body
  • pix.description: (string): Descrição da transação via PIX. Local: body
  • pix.items: (array<item>): Lista de itens do pagamento. Local: body
  • pix.items[i].id: (UUID): Id do item do pagamento. Local: body
  • pix.items[i].name: (string): Nome do item do pagamento. Local: body
  • pix.items[i].value: (int): Valor do item do pagamento em centavos. Local: body
  • pix.items[i].amount: (int): Quantidade do item no pagamento. Local: body

RESPONSE SCHEMA

200
  • data.paymentId: (string): Identificador único do pagamento. Local: body
  • data.dueDate: (datetime): Data de expiração do pix. Local: body
  • data.qrCode: (string): Código QR do pagamento via PIX. Local: body
400
  • notificationErrors: (object): Objeto padrão de badrequest. Local: body
  • notificationErrors.error.erros: (array<valueserros>): Array de descrição dos erros. Local: body
  • notificationErrors.error.erros[i].propertyName: (string): Mensagem da possivel causa do erro. Local: body
  • errorTypeDescrption: (string): Descrição em high level do erro. Local: body
  • errorType: (int): código do erro. Local: body
500
  • message: (string): Mensagem da causa do erro. Local: body
  • detail: (string): Detalhes do erro. Local: body
  • timestamp: (string): Horario do erro em UTC. Local: body
Situação do Pagamento - /v1/payments/situation/{paymentId}
GET

REQUEST SCHEMA


RESPONSE SCHEMA

200
  • situation: (string): Status do pagamento (New=1, WaitingPayment=2,UnPaid=3,Canceled=4,Challenge=5,Paid=99999). Local: body
  • nsu: (string): Número sequencial único para transações com cartão de crédito. Local: body
  • authorizationCode: (string): Código de autorização para transações com cartão de crédito. Local: body
400
  • notificationErrors: (object): Objeto padrão de badrequest. Local: body
  • notificationErrors.error.erros: (array<valueserros>): Array de descrição dos erros. Local: body
  • notificationErrors.error.erros[i].propertyName: (string): Mensagem da possivel causa do erro. Local: body
  • errorTypeDescrption: (string): Descrição em high level do erro. Local: body
  • errorType: (int): código do erro. Local: body
500
  • message: (string): Mensagem da causa do erro. Local: body
  • detail: (string): Detalhes do erro. Local: body
  • timestamp: (string): Horario do erro em UTC. Local: body
Configuração de WebHook
Introdução

Este guia orienta você a configurar um novo webhook para receber notificações automáticas sempre que ocorrer uma alteração no status de um pagamento. O webhook enviará uma requisição POST para a URL que você configurar, contendo informações sobre o pagamento.

Passo a Passo para Configurar um Webhook

1 - Acessar a Rota de Configuração de Webhooks

2 - Criar um Novo Webhook

  • Na página de webhooks, localize e clique no botão "Criar Novo Webhook".
  • Preencha os campos obrigatórios conforme descrito abaixo:
    1. Nome do Webhook (Obrigatório):
      Insira um nome descritivo para identificar o webhook. Exemplo: Notificação de Pagamento.

    2. URL Request (Obrigatório):
      Insira a URL para a qual as notificações serão enviadas. Exemplo: https://suaapi.com.br/receber-notificacao.

    3. API Key (Opcional):
      Insira a chave de API que será enviada no cabeçalho (header) da requisição como Authorization. Exemplo: Bearer sua-chave-api-aqui.

  • Clique em "Salvar" para finalizar a criação do webhook.

3 - Estrutura da Requisição do Webhook

Sempre que houver uma alteração no status de um pagamento, o sistema enviará uma requisição POST para a URL configurada, com o seguinte formato:

  • Cabeçalho (Header):

    Authorization: A API Key que você configurou no webhook. Exemplo: Authorization: Bearer sua-chave-api-aqui

  • Corpo (Body):

    O corpo da requisição será um JSON com os seguintes campos:

    {
    "paymentId": "UUID", // Identificador único do pagamento.
    "situation": "string" // Situação atual do pagamento.
    }

    Opções situation: "New", "WaitingPayment", "UnPaid", "Canceled", "Challenge", "Fail", "Reproved" e "Paid"

4 - Exemplo de Requisição

POST /receber-notificacao HTTP/1.1

Host: suaapi.com.br

Authorization: Bearer sua-chave-api-aqui

Content-Type: application/json

{
"paymentId": "123e4567-e89b-12d3-a456-426614174000",
"situation": "Paid"
}

5 - Testando o Webhook

Após configurar o webhook, recomendamos que você realize testes para garantir que as notificações estão sendo recebidas corretamente. Você pode simular uma requisição manualmente ou aguardar um evento real no sistema.