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
- Seu back-end cria o payment intent normalmente, sem especificar um método de pagamento.
- O comprador abre o Web Checkout (iFrame, Lightbox ou Redirect) e seleciona QR Code entre as opções disponíveis.
- 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.
- O comprador escaneia o QR Code (ou abre o deeplink), escolhe o método de pagamento dentro da carteira e confirma a operação.
- 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_checkouthabilitado 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
| Campo | Tipo | Descrição | Exemplo |
|---|---|---|---|
mode | String | Modo do payment intent. Deve ser instant (padrão) para que o comprador pague pela tela do checkout. | instant |
payment.currency | String | Código da moeda. O QR Code é processado em pesos argentinos. | ARS |
payment.amount | Integer | Valor 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
| Status | Significado |
|---|---|
Approved | A carteira confirmou o pagamento. O payment intent passa para paid e a notificação é enviada. |
Denied | A 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
- Consulte os meios de pagamento suportados.