Skip to main content

Especificaciones para lectura de QR

Las Entidades Participantes pueden habilitar la lectura de código QR a través de Transfiya, por lo cual deberán implementar las siguientes especificaciones:
Dominio: https://bank.apihub.achcolombia.com.co
POST /ach/bk/v1/money-movement/qr 

Campos de Entrada

CampoTipoDescripciónFormatoObligatorio
metaobjectSI
requestIduuidCódigo generado por la entidad participante para identificar el paquetea1b2c3d4-e5f6-7890-abcd-ef1234567890SI
timestampdatetimeFecha y hora de la solictud de generación del código QR2025-12-23T18:16:35.099ZSI
versionstringVersión del esquema, enviar el valor “1.0”1.0SI
dataobjectSI
movementTypeenumTipo de operación realizada. [QR, QRVALIDATE, QRPARSER]QRPARSERSI
useCaseInformationobjectSI
qrCodestringCadena de texto que contiene el código QR generado en formato EMVCOCadena TLVSI
{
  "meta": {
    "requestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "timestamp": "2026-01-15T00:07:31.512Z",
    "version": "1.0"
  },
  "data": {
    "movementType": "QRPARSER",
    "useCaseInformation": {
      "qrCode": "00020101021126580014br.gov.bcb.pix0136d2905f4-4f6e-4e2e-8c7a-5a7c6c3e8f9f520400005303986540615.005802BR5925Fulano de Tal6037Sao Paulo61080540900062070503***63041D3D"
    }
  }
}

Campos de Salida:

El sistema Transfiya retornará un JSON con los campos contenidos en la cadena TLV. Esta información es necesaria para que la Entidad Participante Origen ejecute el proceso de resolución de llave y la creación de la transacción.

Campos de Respuesta

CampoTipoDescripciónFormato
metaobject
requestIduuidCódigo generado por la entidad participante para identificar el paquetea1b2c3d4-e5f6-7890-abcd-ef1234567890
timestampdatetimeFecha y hora de la respuesta a la solicitud de generación del código QR2025-12-23T18:16:35.099Z
statusenumEstado de la respuesta. SUCCESS, ERRORSUCCESS
statusCodestringCódigo HTTP de la respuesta200
statusDescstringDescripción del código HTTPOK
dataobject
movementTypeenumTipo de operación a realizar. [QR, QRVALIDATE, QRPARSER]QRPARSER
Tag numberobjectNúmero del tag EMVCO26
idstringNúmero del tag EMVCO26
namestringNombre del campoMerchant Account Information
lenstringTamaño del campo32
dataobjectContenido del tag-
SubTag NumberobjectNúmero del subTag EMVCO26
idstringNúmero del subTag EMVCO01
namestringNombre del campoGlobal Unique Identifier
lenstringTamaño del campo14
datastringContenido del tagCO.COM.ACH.LLA
rawdatastringFragmento del TLV para este TAGCO.COM.ACH.LLA
rawdatastringFragmento del TLV para este TAG0014CO.COM.ACH.LLA02103152466845
errorobject
codeintegerCódigo de error generado (cero si no hay errores)1005
messagestringMensaje de error (vacío si no hay errores)Fallas técnicas

{
  "meta": {
    "requestId": "3fa85f64-5717-4562-b3fc-2c963f66afa6",
    "timestamp": "2026-01-15T00:03:39.558Z",
    "status": "SUCCESS",
    "statusCode": "200",
    "statusDesc": "OK"
  },
  "data": {
    "movementType": "QRPARSER",
    "26": {
      "id": "26",
      "name": "Merchant Account Information",
      "len": 32,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 14,
          "data": "CO.COM.ACH.LLA",
          "rawData": "CO.COM.ACH.LLA"
        },
        "02": {
          "id": "02",
          "name": "Celular",
          "len": 10,
          "data": "3152466845",
          "rawData": "3152466845"
        }
      },
      "rawData": "0014CO.COM.ACH.LLA02103152466845"
    },
    "49": {
      "id": "49",
      "name": "Merchant Account Information",
      "len": 25,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 14,
          "data": "CO.COM.ACH.RED",
          "rawData": "CO.COM.ACH.RED"
        },
        "01": {
          "id": "01",
          "name": "Merchat PAN",
          "len": 3,
          "data": "ACH",
          "rawData": "ACH"
        }
      },
      "rawData": "0014CO.COM.ACH.RED0103ACH"
    },
    "53": {
      "id": "53",
      "name": "Transaction Currency",
      "len": 3,
      "data": "170",
      "rawData": "170"
    },
    "54": {
      "id": "54",
      "name": "Transaction Amount",
      "len": 4,
      "data": "8900",
      "rawData": "8900"
    },
    "58": {
      "id": "58",
      "name": "Country Code",
      "len": 2,
      "data": "CO (Colombia)",
      "rawData": "CO"
    },
    "59": {
      "id": "59",
      "name": "Merchant Name",
      "len": 13,
      "data": "Julián Suarez",
      "rawData": "Julián Suarez"
    },
    "60": {
      "id": "60",
      "name": "Merchant City",
      "len": 6,
      "data": "Bogota",
      "rawData": "Bogota"
    },
    "61": {
      "id": "61",
      "name": "Postal Code",
      "len": 6,
      "data": "114056",
      "rawData": "114056"
    },
    "62": {
      "id": "62",
      "name": "Additional Data Field Template",
      "len": 11,
      "data": "07010080200",
      "rawData": "07010080200"
    },
    "63": {
      "id": "63",
      "name": "CRC",
      "len": 4,
      "data": "2F1E",
      "rawData": "2F1E"
    },
    "80": {
      "id": "80",
      "name": "Unreserved Templates",
      "len": 27,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 16,
          "data": "CO.COM.ACH.CANAL",
          "rawData": "CO.COM.ACH.CANAL"
        },
        "01": {
          "id": "01",
          "len": 3,
          "data": "POS",
          "rawData": "POS"
        }
      },
      "rawData": "0016CO.COM.ACH.CANAL0103POS"
    },
    "81": {
      "id": "81",
      "name": "Unreserved Templates",
      "len": 25,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 15,
          "data": "CO.COM.ACH.CIVA",
          "rawData": "CO.COM.ACH.CIVA"
        },
        "01": {
          "id": "01",
          "len": 2,
          "data": "03",
          "rawData": "03"
        }
      },
      "rawData": "0015CO.COM.ACH.CIVA010203"
    },
    "82": {
      "id": "82",
      "name": "Unreserved Templates",
      "len": 23,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 14,
          "data": "CO.COM.ACH.IVA",
          "rawData": "CO.COM.ACH.IVA"
        },
        "01": {
          "id": "01",
          "len": 1,
          "data": "0",
          "rawData": "0"
        }
      },
      "rawData": "0014CO.COM.ACH.IVA01010"
    },
    "83": {
      "id": "83",
      "name": "Unreserved Templates",
      "len": 24,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 15,
          "data": "CO.COM.ACH.BASE",
          "rawData": "CO.COM.ACH.BASE"
        },
        "01": {
          "id": "01",
          "len": 1,
          "data": "0",
          "rawData": "0"
        }
      },
      "rawData": "0015CO.COM.ACH.BASE01010"
    },
    "84": {
      "id": "84",
      "name": "Unreserved Templates",
      "len": 25,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 15,
          "data": "CO.COM.ACH.CINC",
          "rawData": "CO.COM.ACH.CINC"
        },
        "01": {
          "id": "01",
          "len": 2,
          "data": "03",
          "rawData": "03"
        }
      },
      "rawData": "0015CO.COM.ACH.CINC010203"
    },
    "85": {
      "id": "85",
      "name": "Unreserved Templates",
      "len": 23,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 14,
          "data": "CO.COM.ACH.INC",
          "rawData": "CO.COM.ACH.INC"
        },
        "01": {
          "id": "01",
          "len": 1,
          "data": "0",
          "rawData": "0"
        }
      },
      "rawData": "0014CO.COM.ACH.INC01010"
    },
    "90": {
      "id": "90",
      "name": "Unreserved Templates",
      "len": 43,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 16,
          "data": "CO.COM.ACH.TRXID",
          "rawData": "CO.COM.ACH.TRXID"
        },
        "01": {
          "id": "01",
          "len": 19,
          "data": "62FB70176DC0B870F58",
          "rawData": "62FB70176DC0B870F58"
        }
      },
      "rawData": "0016CO.COM.ACH.TRXID011962FB70176DC0B870F58"
    },
    "91": {
      "id": "91",
      "name": "Unreserved Templates",
      "len": 86,
      "data": {
        "00": {
          "id": "00",
          "name": "Global Unique Identifier",
          "len": 14,
          "data": "CO.COM.ACH.SEC",
          "rawData": "CO.COM.ACH.SEC"
        },
        "01": {
          "id": "01",
          "len": 64,
          "data": "ac77cb8cc46f1e0aee1b8e3212bc9f27bcb8ec16aaf38d2ce42194a92bfc4d12",
          "rawData": "ac77cb8cc46f1e0aee1b8e3212bc9f27bcb8ec16aaf38d2ce42194a92bfc4d12"
        }
      },
      "rawData": "0014CO.COM.ACH.SEC0164ac77cb8cc46f1e0aee1b8e3212bc9f27bcb8ec16aaf38d2ce42194a92bfc4d12"
    },
    "00": {
      "id": "00",
      "name": "Payload Format Indicator",
      "len": 2,
      "data": "01",
      "rawData": "01"
    },
    "01": {
      "id": "01",
      "name": "Point of Initiation Method",
      "len": 2,
      "data": "11",
      "rawData": "11"
    }
  }
}