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
- auth_token: (string): Token de autorização. Local: body
- expires_in: (datetime): Data de expiração do token. Local: body
- 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
- crypt: (string): Token do 3DS encripritado. Local: body
- seed: (string): Indentificação do horário de início do SDk 3DS. Local: body
- 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
- data: (object): objeto que se encontra a resposta. Local: body
- data.numberToken: (string): Número do cartão de credito tokenizado. Local: body
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
- 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
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.
1 - Acessar a Rota de Configuração de Webhooks
- Abra o seu navegador e acesse a seguinte URL: https://mygateway.com.br/painel/webhooks
- Faça login no painel de administração, se necessário.
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:
-
Nome do Webhook (Obrigatório):
Insira um nome descritivo para identificar o webhook. Exemplo: Notificação de Pagamento. -
URL Request (Obrigatório):
Insira a URL para a qual as notificações serão enviadas. Exemplo: https://suaapi.com.br/receber-notificacao. -
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
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.