Getnet DocsGetnet Docs

Pagamento com QR Code

Este documento se aplica ao seguinte país:

Argentina

No Web Checkout da Getnet, em vez de informar os dados do cartão, o comprador escaneia um QR Code dinâmico exibido na tela do Web Checkout, ou abre o aplicativo da carteira pelo deeplink, quando está no celular, e confirma o pagamento dentro da carteira que preferir. O QR Code é gerado em pesos argentinos (ARS), com o valor da compra informado no payment intent.

Como a confirmação acontece dentro da carteira, o pagamento é assíncrono: o Web Checkout exibe o QR Code e mantém a transação pendente até que a carteira confirme ou recuse o pagamento. O resultado final é entregue ao merchant pela notificação por webhook.

⚠️ Importante: O QR Code é exibido pela tela do Web Checkout (iFrame, Lightbox ou Redirect). Não há chamada de API específica para QR Code na integração do merchant: você cria o payment intent como já faz hoje, e o método passa a aparecer como mais uma opção para o comprador.

Como funciona

  1. Seu back-end cria o payment intent normalmente, sem especificar um método de pagamento.
  2. O comprador abre o Web Checkout (iFrame, Lightbox ou Redirect) e seleciona QR Code entre as opções disponíveis.
  3. O Web Checkout gera e exibe um QR Code dinâmico, com o valor e a moeda da compra, e apresenta o deeplink da carteira para compradores no celular.
  4. O comprador escaneia o QR Code (ou abre o deeplink), escolhe o método de pagamento dentro da carteira e confirma a operação.
  5. A Getnet recebe a confirmação da carteira, atualiza o pagamento e envia a notificação por webhook para a URL configurada.

O fluxo completo envolve o comprador, a tela do Web Checkout e a API Getnet WebCheckout:

Requisitos

  • Configurar seu Web Checkout via Portal ou via API (dependendo da sua localização).
  • Gerar seu token seguindo o documento de Authentication.
  • Ter o produto qr_code_checkout habilitado e configurado para o vendedor.
  • Ter uma URL de webhook configurada na configuração técnica, já que o resultado do pagamento por QR Code é sempre entregue de forma assíncrona.

Se você tentar configurar um produto que não está habilitado para o vendedor, a seguinte mensagem é exibida:

\{
   "code": "payment_method_not_enabled_in_seller",
   "message": "Payment method 'qr_code_checkout' is not enabled for this seller. Please enable it in seller configuration first.",
   "details": []
\}

Crie o payment intent

Não há atributo novo nem alteração de contrato para habilitar o QR Code: o payment intent é o mesmo já usado para os outros métodos. Os atributos abaixo são os que afetam a exibição do QR Code.

Campos da requisição

CampoTipoDescriçãoExemplo
modeStringModo do payment intent. Deve ser instant (padrão) para que o comprador pague pela tela do checkout.instant
payment.currencyStringCódigo da moeda. O QR Code é processado em pesos argentinos.ARS
payment.amountIntegerValor da compra em formato inteiro, em que os últimos 2 dígitos representam os centavos.1410000

Exemplo de requisição

curl https://api-sbx.pre.globalgetnet.com/dpy/web-checkout/v1/payment-intent \
--request POST \
--header 'Content-Type: application/json' \
--header 'Authorization: Bearer YOUR_SECRET_TOKEN' \
--data '{
  "mode": "instant",
  "order_id": "PEDIDO_AR_97531",
  "payment": {
    "currency": "ARS",
    "amount": 1410000
  },
  "product": [
    {
      "product_type": "cash_carry",
      "title": "Bota de couro Look Fashion",
      "value": 1410000,
      "quantity": 1
    }
  ],
  "customer": {
    "customer_id": "cliente_ar_005",
    "first_name": "Laura",
    "last_name": "Fernández",
    "name": "Laura Fernández",
    "email": "[email protected]",
    "document_type": "dni",
    "document_number": "45678912",
    "billing_address": {
      "street": "Av. Corrientes",
      "number": "1234",
      "city": "Buenos Aires",
      "state": "Buenos Aires",
      "country": "AR",
      "postal_code": "1043"
    }
  },
  "soft_descriptor": "Loja AR",
  "expires_at": "1h"
}'

Resposta

Exemplo de resposta:

{
  "payment_intent_id": "f6ee8bc7-229d-4d9d-bced-7dd2371a1f57",
  "trade_name": "GetNet Store",
  "redirect_url": "https://www.pre.globalgetnet.com/checkout/f6ee8bc7-229d-4d9d-bced-7dd2371a1f57"
}

Com o payment_intent_id, carregue o Web Checkout usando a opção de integração que você já utiliza, iFrame, Lightbox ou Redirect, conforme descrito nas opções de integração.

Experiência do comprador

  • O QR Code é dinâmico: já contém o valor e a moeda da compra, então o comprador não informa nenhum valor.
  • No desktop, o comprador escaneia o código com o aplicativo da carteira. No celular, o checkout também oferece o deeplink que abre a carteira diretamente.
  • O método de pagamento usado dentro da carteira (saldo em conta ou cartão) e qualquer plano de parcelamento são escolhidos pelo comprador na carteira, não na sua requisição.
  • Enquanto o pagamento não é confirmado, o checkout mantém a tela de espera. Se o comprador sair da tela, o pagamento permanece pendente até ser confirmado na carteira ou até o payment intent expirar.

Ciclo de vida do status

StatusSignificado
ApprovedA carteira confirmou o pagamento. O payment intent passa para paid e a notificação é enviada.
DeniedA carteira recusou ou cancelou o pagamento, o QR Code foi desativado, ou não foi possível gerar o QR Code.

Reconciliação

Concilie a notificação com o seu pedido usando o order_id enviado na criação do payment intent, ou usando o próprio payment_intent_id. O payment_id recebido na notificação é o identificador da transação para consultas e para operações de cancelamento e estorno.

Próximos passos