Getnet DocsGetnet Docs

Result Codes and Errors

This reference lists all result and error codes returned by the TPVPC. TpvpcImplantado uses the same codes.

This guide applies to Slim Pack.

The Get Central integration exposes two distinct layers of result information, which must never be confused:

  1. Library return codes – returned directly by the function call (int)
  2. Financial response codes – returned inside the XML response

Both layers are mandatory for correct error handling.

System Return Codes

Every TPVPC function returns a numeric code immediately, before any XML response. A 0 means the call finished; it says nothing about whether the payment was authorized.

The same number means different things depending on which function returned it. Read the code against the function you called, not against a single global list.

Initialization — fnDllIniTpvpcLatente and fnDllIniTpvpcLatenteExt

CodeDescription
-1Internal system error. Reload the dynamic library; if it persists, report it to the acquirer.
-2Failed to load the configuration XML.
-3datosConf/datosComercio/comercio has no value.
-4datosConf/datosComercio/terminal has no value.
-5datosConf/datosComercio/clave has no value.
-6datosConf/accesoUsuario/usuario has no value.
-7datosConf/accesoUsuario/clave has no value.
-8datosConf/modo has no value.
-9Neither merchant-data access nor user access was specified. One of the two is mandatory.
-10datosConf/confDispositivo/puerto has no value. If you are not using a PIN pad, omit the confDispositivo element entirely; if you include it, configure every child element.
-11datosConf/confDispositivo/version has no value.
-12Internal system error.
-13PIN pad discovery failed: the maximum wait TimeOut was exceeded.
-14The TPVPC Latente graphical interface could not start.
-16Communication problem with the TPVPC web service. Check the internet connection and initialize again once the service is back.
-18The request reaches the TPVPC, but one of the values is wrong. Check the merchant code, the terminal and the signature key.
-19The PIN pad is not configured correctly. Contact the acquirer.
-20The communication port specified is not correct.
-21The version specified is incompatible with the installed PIN pad. Ask the acquirer for the correct value.
-40The library version has expired and must be updated.

Transaction operations — fnDllOperPinPad, fnDllOperManualExt, fnDllOperPinPadDCC

CodeDescription
-1The configuration data was not set correctly. Call fnDllIniTpvpcLatente again; if it persists, contact the acquirer.
-2The TimeOut set by the application was exceeded.
-3System error. The application must be restarted.
-4The input data is not correctly formatted. Check the parameter list.
-13One of the parameters is not valid. Check the parameter list. (fnDllOperPinPad only.)
-17The response buffer is not large enough. Use the value given in the documentation.
-18One parameter has the wrong format. For example, cImporte must be #000.00: 3000 euros is 3000.00.

Critical rule: if a transaction function returns -2, the TimeOut expired and the final result of the operation is unknown. Run a query before retrying, so you do not charge twice. This rule applies here only: during initialization, -2 means the configuration XML could not be loaded.

Query and close operations — fnDllOperConsulta, fnDllOperTotales, fnDllOperComContable

CodeDescription
-1The configuration data was not set correctly. Call fnDllIniTpvpcLatente again.
-2An internal system error occurred while running the operation. If it persists, contact the acquirer.
-3Error in the input parameters.
-12Internal system error.
-15Operation not supported. (fnDllOperConsulta and fnDllOperTotales.)

Financial Response Codes (XML)

Financial response codes are returned inside the XML response and represent the actual authorization decision made by the issuer network.

The <estado> element reports the operation’s processing state: F (finished), P (in progress), T (technical failure), or G (denied).

A transaction is AUTHORIZED only if:

<estado>F</estado>
<resultado>Autorizada</resultado>

Numeric codes must be interpreted only after this validation.


Approval Codes

Code RangeMeaningDescription
0000–0099ApprovedTransaction authorized.
0900Partial approvalApproved for an amount lower than requested.

Denial Codes

CodeDescription
0101Expired card.
0102Suspected fraud.
0104Restricted card.
0116Insufficient funds.
0118Card not allowed for this operation.
0129CVV error.
0180PIN entry required.
0181Incorrect PIN.
0184PIN attempts exceeded.
0190Issuer declined transaction without details.
0191Issuer unavailable.
0200Do not honor.
0202Card reported stolen.
0204Card reported lost.
0208Transaction not permitted.
0211Invalid card number.
0212Invalid transaction.
0222Security violation.
0907Issuer communication error.
0912Issuer not responding.
0960System malfunction.

Error Handling Rules

  1. Always evaluate the library return code first.
  2. If the return code is not 0, do not assume any financial result.
  3. If the return code is 0, parse the XML response and validate <estado> and <resultado>.
  4. If the return code is -2, perform a status query before retrying.
  5. Never retry a financial operation blindly.

Best Practices

  • Do not map numeric response codes directly to success or failure.
  • Always rely on XML authorization fields as the source of truth.
  • Persist response codes for reconciliation and audit purposes.
  • Handle timeouts and communication errors explicitly.

This page defines the complete and authoritative set of result codes required for a safe and compliant Get Central integration.