Generar QR
Los QRs se generan por point of sale, indicando el uuid del PoS en el path. Hay dos tipos:
| Tipo | Uso | Monto | Vigencia |
|---|---|---|---|
| Dinámico | Una venta puntual (se incluyen ítems y monto) | Fijo, definido al crearlo | Expira (~1 hora) |
| Estático | QR impreso/permanente del punto de venta | Lo ingresa el pagador | No expira |
Crear QR dinámico
POST https://api-mpos-cabal.prd.geopagos.io/api/v4/payments/qr/{point_of_sale_uuid}
curl --location 'https://api-mpos-cabal.prd.geopagos.io/api/v4/payments/qr/{point_of_sale_uuid}' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data '{
"source": "mpos_app",
"type": "GENERIC",
"items": [
{
"name": "Venta",
"amount": 111.0,
"quantity": 1
}
],
"currency": "032"
}'
| Campo | Descripción |
|---|---|
source | Origen de la operación (ej.: mpos_app) |
type | Tipo de QR (GENERIC) |
items[] | Ítems de la venta: name, amount, quantity |
currency | Código ISO 4217 numérico (032 = Peso argentino) |
Response — 200 OK
{
"id": "8cf1ce0f-8969-4029-b8ba-87406971d54d",
"hash": "8cf1ce0f-8969-4029-b8ba-87406971d54d",
"qr": "00020101021230150011coop.sipago...",
"expires_at": "2026-06-16T15:41:19.1549225Z",
"expires_in_seconds": 3599
}
| Campo | Descripción |
|---|---|
id / hash | qr_id: identificador del QR / intent de pago. Se usa para consultar el estado y conciliar. Guardalo asociado a la venta. |
qr | Payload EMVCo del QR. Es el contenido a mostrar como imagen QR. |
expires_at / expires_in_seconds | Vencimiento del QR dinámico (~3600 segundos) |
Consejo: Cómo mostrar el QR
El string qr se convierte en imagen con cualquier librería estándar de generación de códigos QR (formato EMVCo / QR interoperable).
Obtener QR estático
Mismo endpoint, sin items (no lleva monto):
curl --location 'https://api-mpos-cabal.prd.geopagos.io/api/v4/payments/qr/{point_of_sale_uuid}' \
--header 'Authorization: Bearer {access_token}' \
--header 'Content-Type: application/json' \
--data '{
"source": "mpos_app",
"type": "GENERIC",
"currency": "032"
}'
Response — 200 OK
{
"id": "7c25437f-5543-4dde-beff-f606ead88cb0",
"hash": "7c25437f-5543-4dde-beff-f606ead88cb0",
"qr": "00020101021130150011coop.sipago..."
}
Atención: Conciliación del QR estático
La consulta de estado y el detalle del intent aplican solo a QR dinámico. Para QR estático, conciliá con la lista de movimientos filtrada por point of sale o con las notificaciones SSE.
Siguiente paso: confirmar el pago.