QR Code Payments
This document applies to the following country:
| Argentina |
|---|
In Getnet’s Web Checkout, the buyer doesn't enter card details. Instead, they scan a dynamic QR Code displayed on the Web Checkout screen. On mobile, they can open the wallet app through the deeplink. They then confirm the payment inside the wallet of their choice. The QR Code is generated in Argentine pesos (ARS), with the purchase amount from the payment intent.
⚠️ Important: The Web Checkout screen (iFrame, Lightbox, or Redirect) displays the QR Code. Your integration needs no QR Code-specific API call. You create the payment intent as you already do today, and the method appears as one more option for the buyer.
How it works
A QR Code payment follows these steps:
- Your back-end creates the payment intent as usual, without specifying a payment method.
- The buyer opens the Web Checkout (iFrame, Lightbox, or Redirect) and selects QR Code among the available options.
- The Web Checkout generates and displays a dynamic QR Code, with the purchase amount and currency, and presents the wallet deeplink for buyers on mobile.
- The buyer scans the QR Code (or opens the deeplink), chooses the payment method inside the wallet, and confirms the operation.
- Getnet receives the confirmation from the wallet, updates the payment, and sends the webhook notification to the configured URL.
The end-to-end flow involves the buyer, the Web Checkout screen, and the Getnet Web Checkout API:
Before you start
Before you integrate QR Code payments, make sure you have the following:
- Configure your Web Checkout by Portal or by API (depending on your location).
- Generate your token as described in the Authentication document.
- Have the
qr_code_checkoutproduct enabled and configured for the seller. - Have a webhook URL configured in the technical setup, because the QR Code payment result is always delivered asynchronously.
Info: If you try to configure a product that is not enabled for the seller, you get the following message:JSON
{ "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": [] }JSON
12345{ "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": [] }
Create the payment intent
Enabling the QR Code requires no new attribute or contract change. The payment intent is the same one you already use for the other methods. The following attributes affect how the QR Code is displayed.
| Field | Type | Description | Example |
|---|---|---|---|
mode | String | Payment intent mode. Must be instant (default) so that the buyer pays through the checkout screen. | instant |
payment.currency | String | Currency code. The QR Code is processed in Argentine pesos. | ARS |
payment.amount | Integer | Purchase amount in integer format, where the last 2 digits represent the cents. | 1410000 |
Response
Example response:
payment_intent_id, load the Web Checkout with the integration option you already use (iFrame, Lightbox, or Redirect), as described in integration options.Buyer experience
During a QR Code payment, the buyer experiences the following:
- The QR Code is dynamic: it already contains the purchase amount and currency, so the buyer does not enter any values.
- On desktop, the buyer scans the code with the wallet app. On mobile, the checkout also offers the deeplink that opens the wallet directly.
- The buyer chooses the payment method (account balance or card) and any installment plan in the wallet. You don't set them in your request.
- Until the payment is confirmed, the checkout keeps showing the waiting screen. If the buyer leaves the screen, the payment stays pending. It remains pending until the buyer confirms it in the wallet or the payment intent expires.
Status lifecycle
The following table lists the statuses of a QR Code payment.
| Status | Meaning |
|---|---|
Approved | The wallet confirmed the payment. The payment intent moves to paid and Getnet sends the notification. |
Denied | The wallet declined or canceled the payment, the QR Code was deactivated, or the QR Code could not be generated. |
Reconciliation
order_id you sent when you created the payment intent. You can also use the payment_intent_id itself. The payment_id in the notification identifies the transaction. Use it for queries and for any cancellation and refund operations.Next steps
- Check the supported payment methods.
On this page