Utilizando o One-Click Payments da Glin, é possível enviar o usuário do seu sistema direto para o sistema de pagamentos da Glin e ser notificado sempre que um pagamento for realizado.


Antes de utilizar essa funcionalidade, você deve entrar em contato com a Glin através do email api@glin.com.br.


Enviando uma requisição de pagamento


O envio do seu cliente para o nosso sistema de pagamento é feito através de um redirecionamento simples.


Uma vez definido o valor a ser pago, você deve direcioná-lo para um link no formato abaixo:


https://glin.com.br/one-click/<slug>/<valor>/<ext_reference>


Onde:

  • <slug> deve ser substituído pelo código da sua loja (será informado por e-mail)
  • <valor> deve ser substituído pelo valor a ser pago em dólares multiplicado por 100, ou seja, para um pedido de $100 deve ser enviado 10000 ou para um pedido de $1038.90 deve ser enviado 103890
  • <ext_reference> (opcional) deve ser substituído por um código interno do seus sistema referente a este pedido; este código constará na notificação que enviaremos para o seu sistema na confirmação do pagamento. Caso não seja preenchido, a notificação por Webhook não será enviada (a notificação por email continuará sendo enviada normalmente. Não há verificação de duplicidade neste código.


Exemplo: o cliente gerou o pedido 1AB2C3988F em seu sistema com valor final em dólares de $107.84. Ao clicar no botão de pagamento ele deve ser direcionado para o link abaixo:


https://glin.com.br/one-click/<slug>/10784/1AB2C3988F


Onde novamente <slug> será substituído por um código fixo informado por nós em seu cadastro.


Notificações de pagamento


Quando o cliente realizar o pagamento, você e seu sistema serão notificados de 3 maneiras:


  • E-mail: será enviado para o e-mail cadastrado
  • Dashboard: em nosso site, você terá acesso a um dashboard onde pode visualizar o status de todos os pedidos realizados
  • Webhook: uma notificação POST será enviada para um endpoint previamente informado por você e cadastrado como webhook da sua loja (será melhor detalhada abaixo). IMPORTANTE: esta notificação só será enviada se for enviado um valor para ext_reference na requisição


Nas três formas, as informações mínimas disponibilizadas serão: e-mail do cliente, valor em dólares que foi pago, forma de pagamento utilizada pelo cliente, código do pedido na Glin, referência externa do pedido (caso você tenha informado no momento de envio da requisição).


Formato da notificação POST


Caso tenha sido cadastrado um endpoit para notificação como webhook da sua loja, você será notificado sempre que for confirmado o pagamento de um pedido. A notificação utilizará um método POST padrão com os seguintes campos:


{

    "authenticity_token": "tokenDaSuaLoja",

    "name": "Nome da sua loja",

    "email": "email@example.com",

    "order_id": "ABC123",

    "amount": 107.84,

    "payment_type": "creditCard",

    "payment_status": "confirmed",

    "external_reference": "1AB2C3988F"

}


Onde:

  • authenticity_token: um token de autenticidade que iremos informar previamente para que seu sistema autentique que a informação de fato está vindo da Glin
  • name: nome da sua loja cadastrado em nosso sistema
  • email: e-mail do cliente cadastrado em nosso sistema
  • order_id: código do pedido na Glin
  • amout: valor em dólares pago pelo pedido
  • payment_type: forma de pagamento utilizada pelo cliente - pode ter os valores creditCard ou bankTransfer
  • payment_status: status do pagamento 
  • external_reference: a sua referência de pedido, caso ela tenha sido enviada na requisição do pagamento


Ao receber uma notificação em seu endpoint, faça sempre as validações abaixo:


  1. Verifique se o authenticity_token informado na notificação coincide com o informado no momento do seu cadsatro cadastro na Glin
  2. Utilize o campo order_id como chave validadora de duplicidade, ou seja, somente a primeira notificação recebida com um determinado order_id deve ser aceita; eventuais notificações subsequentes devem ser ignoradas
  3. O campo payment_status deve constar o valor confirmed para pagamentos confirmados
  4. Valide o valor pago presente no campo amount, ele deve ser o mesmo informado por você na requisição do pagamento, mas é importante validá-lo aqui - não utilize somente o external_reference para confirmar confirmar o pagamento em seu sistema.