QR Code Payment
This document applies to the following country:
| Argentina |
|---|
QR Code is an interoperable payment method available in Argentina.
Instead of entering card details, the buyer scans a dynamic QR Code displayed on the WebCheckout screen, or opens the wallet app through the deeplink, when on mobile, and confirms the payment inside the wallet of their choice.
Because confirmation happens inside the wallet, the payment is asynchronous: the WebCheckout displays the QR Code and keeps the transaction pending until the wallet confirms or declines the payment.
The final result is delivered to the merchant through the webhook notification.
⚠️ Important: The QR Code is displayed by the WebCheckout screen (iFrame, Lightbox, or Redirect). There is no QR Code-specific API call in the merchant integration: you create the payment intent as you already do today, and the method starts appearing as one more option for the buyer.
The QR Code is generated in Argentine pesos (ARS), with the purchase amount informed in the payment intent.
Requirements
- Configuring your WebChekout by Portal or by API (depending on your location).
- Generate your token following the Authentication document.
- The
qr_code_checkoutproduct enabled for the seller and configured. - A webhook URL configured in the technical setup, since the QR Code payment result is always delivered asynchronously.
Info: If you try to configure a product that is not enabled for the seller, the following message is displayed: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{ "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": [] }
How it works
- Your back-end creates the payment intent as usual, without specifying a payment method.
- The buyer opens the WebCheckout (iFrame, Lightbox, or Redirect) and selects QR Code among the available options.
- The WebCheckout 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.
Create the payment intent
There is no new attribute or contract change to enable the QR Code: the payment intent is the same one already used for the other methods. The attributes below are the ones that affect how the QR Code is displayed.
Request fields
| Attribute | 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 |
request example
json
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": "laura.fernandez@example.com.ar",
"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"
}'json
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": "laura.fernandez@example.com.ar",
"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"
}'Response
Example of response:
json
{
"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"
}json
{
"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"
}With the
payment_intent_id, load the Web Checkout using the integration option you already use, iFrame, Lightbox, or Redirect, as described in integration options.Buyer experience
- 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 payment method used inside the wallet (account balance or card) and any installment plan are chosen by the buyer in the wallet, not in your request.
- While the payment is not confirmed, the checkout keeps the waiting screen. If the buyer leaves the screen, the payment remains pending until it is confirmed in the wallet or the payment intent expires.
Status lifecycle
| Status | Meaning |
|---|---|
Approved | The wallet confirmed the payment. The payment intent moves to paid and the notification is sent. |
Denied | The wallet declined or canceled the payment, the QR Code was deactivated, or the QR Code could not be generated. |
Reconciliation
Reconcile the notification with your order using the
order_id sent when creating the payment intent, or using the payment_intent_id itself. The payment_id received in the notification is the transaction identifier for queries and for any cancellation and refund operations.Next steps
- Check the supported payment methods.
On this page
QR Code Payment