Skip to main content

5.1 Autorización

La solicitud de autorización se utiliza para confirmar la disponibilidad de fondos en la cuenta del tarjetahabiente. Este tipo de transacciones ponen una retención temporal o una autorización pendiente en la cuenta del tarjetahabiente y no garantiza el pago. Para este tipo de transacción, los comercios deben enviar la Solicitud de Servicio, “CCAUTHORIZE”, en la solicitud de transacción.

La Solicitud de Autenticación es la primera de dos partes en el proceso de “autorización” y “captura” de fondos. Este proceso de dos pasos es comúnmente utilizado por comercios que tienen que realizar el procesamiento parcial de órdenes. Para capturar la Solicitud de Autenticación, utilice la Solicitud de Servicio, “CCCAPTURE”.

5.1.1 Parámetros de autorización

La tabla a continuación solo incluye parámetros típicamente enviados en una Solicitud de Autenticación Simple. Nótese que los comercios pueden enviar parámetros adicionales listados en la sección 4 de esta especificación.

Nombre del campoDescripciónTipo de DatosRequerimiento
request_actionAcción de solicitud de servicio (Envía "CCAUTHORIZE").Service Request TypesRequerido
req_usernameNombre de usuario de solicitud de servicioAlfanuméricoRequerido
req_passwordContraseña de solicitud de servicioAlfanumérico y caracteres especialesRequerido
request_response_formatFormato de respuesta de servicioValores aceptados: “XML”, “PIPES” y ”JSON”Opcional (default: XML)
request_api_versionVersión de APINuméricoRequerido
site_idID de sitio web del comercioNuméricoRequerido
cust_fnameNombres del tarjetahabienteAlfanumérico y caracteres especialesOpcional
cust_lnameApellidos del tarjetahabienteAlfanumérico y caracteres especialesOpcional
cust_emailCorreo del tarjetahabienteAlfanuméricoOpcional
li_count_1Contador de líneas de artículos Valor máximo “99”.NuméricoRequerido
li_prod_id_1ID de línea de artículo 1NuméricoRequerido
li_value_1Cantidad de transacción de línea de artículo 1NuméricoRequerido
xtl_order_idID de orden del comercioAlfanuméricoOpcional
bill_addrCalle de la dirección de facturación del tarjetahabienteAlfanuméricoOpcional (los campos de dirección pueden ser requeridos por el banco)
bill_addr_cityCiudad de la dirección de facturación del tarjetahabienteAlfanuméricoOpcional (los campos de dirección pueden ser requeridos por el banco)
bill_addr_stateEstado de la dirección de facturación del tarjetahabienteCódigo de 2 letras del estadoOpcional (los campos de dirección pueden ser requeridos por el banco)
bill_addr_zipCódigo postal de la dirección de facturación del tarjetahabienteAlfanuméricoOpcional (los campos de dirección pueden ser requeridos por el banco)
bill_addr_countryPaís de la dirección de facturación del tarjetahabienteCódigo de 2 letras del país ISO 3166-1 alpha-2Opcional (los campos de dirección pueden ser requeridos por el banco)
pmt_numbNúmero de tarjeta de Numérico Requerido créditoNuméricoRequerido
token_guidID de tokenAlfanuméricoID de token utilizado en lugar de pmt_numb. Ver Tokenización.
pmt_keyCódigo CVV2 o CVC2 de la tarjetaNumérico (4)Requerido
pmt_expiryFecha de expiración de Numérico Requerido la tarjetaNumérico MMAAAA
Ejemplo: “122014”Requerido
cust_loginNombre de usuario del tarjetahabienteAlfanumérico y caracteres especialesOpcional
cust_passwordContraseña del tarjetahabiente (debe contener una mayúscula, una minúscula y un número) de al menos 10 caracteres.AlfanuméricoOpcional
merch_acct_idID de cuenta de comercioNuméricoRequerido
request_currencyCódigo de 3 letras de la divisaEjemplo: USDRequerido
pmt_descriptorDescriptor dinámicoAlfanuméricoOpcional
pmt_descriptor_phoneNúmero dinámico de Soporte al cliente del bancoNuméricoOpcional
cust_phoneTeléfono del tarjetahabienteNuméricoOpcional
request_aff_idID externo de afiliadoAlfanuméricoOpcional
request_aff_id_subID externo de subafiliadoAlfanuméricoOpcional
unique_xtl_order_idFuerza la unicidad del ID de orden.Valores posibles: “0” – desactiva la bandera “1” – Solicitud de declinación “2” – Retorna respuesta de aprobaciónOpcional
pmt_id_xtlCalIdentificador único de pago externoleAlfanumérico (longitud máxima: 64)Opcional
mbshp_id_xtlID externo de membresíaAlfanuméricoOpcional (Esto será requerido si el tipo de TRANS_REBILL_TYPE no es NONE)
trans_rebill_typeTipo de cargo recurrenteUno de los siguientes valores NONE, TRIAL,
INITIAL, REBILLRequerido
card_on_file_flagBandera para indicar si COF (tarjeta guardada) o Nueva tarjetaLos valores posibles son 0 o 1Requerido

5.1.2 Ejemplo de solicitud de autorización

POST /payment/pmt_service.cfm HTTP/1.0

User-Agent: Mozilla/4.0 (compatible; MSIE 7.0; Windows NT 5.1)

Accept: image/gif, image/x-xbitmap, image/jpeg, image/pjpeg, application/x-shockwave-flash, application/vnd.ms-powerpoint, application/vnd.ms-excel, application/msword, */*

Accept-Encoding: identity Accept-Language: en-us,en

Host: API.PLGW.com

Accept-Charset: iso-8859-1,*,utf-8

Content-Type: application/x-www-form-urlencoded Content-Length: 531

req_password=Test1234567&site_id=0&cust_fname=Daenarys&bill_addr_city=Los%20Angeles&bill_addr_state=CA&pmt_expiry=10%2F2020&xtl_cust_id=testcust11&pmt_key=123&request_response_format=XML&pmt_numb=4111111111111111&cust_lname=Targaryen&request_api_version=4.4&cust_email=useremail%40tests.com&li_value_1=1.25&req_username=merchant100%40example.com&li_prod_id_1=1001&request_currency=USD&xtl_order_id=testorder117&bill_addr_zip=90401&request_action=CCAUTHORIZE&merch_acct_id=100&bill_addr=1%20Main%20St&bill_addr_country=US&pmt_id_xtl=ABCD12345&mbship_id_xtl=888920&card_on-file_bandera=0&trans_rebill_type=rebill

5.1.3 Ejemplo de respuesta de autorización

<RESPONSE>
<REQUEST_ACTION>CCAUTHCAP</REQUEST_ACTION>
<TRANS_STATUS_NAME>APPROVED</TRANS_STATUS_NAME>
<TRANS_VALUE>1.25</TRANS_VALUE>
<TRANS_VALUE_SETTLED>1.25</TRANS_VALUE_SETTLED>
<CURR_CODE_ALPHA_SETTLED>USD</CURR_CODE_ALPHA_SETTLED>
<TRANS_EXCH_RATE/>
<TRANS_ID>989898</TRANS_ID>
<CUST_ID>212121</CUST_ID>
<XTL_CUST_ID/>
<PO_ID>17171717</PO_ID>
<XTL_ORDER_ID/>
<BATCH_ID>3114</BATCH_ID>
<PROC_NAME>Test Processor</PROC_NAME>
<MERCH_ACCT_ID>100</MERCH_ACCT_ID>
<CARD_BRAND_NAME>Visa</CARD_BRAND_NAME>
<CARD_TYPE>VISA CREDIT CARD</CARD_TYPE>
<PMT_AAU_UPDATE_DT>16-NOV-2018</PMT_AAU_UPDATE_DT>
<CARD_PREPAID>1</CARD_PREPAID>
<CARD_BANK>BANK OF EUROPE</CARD_BANK>
<CARD_BALANCE/>
<PMT_L4>1111</PMT_L4>
<PMT_ID>101011</PMT_ID>
<PMT_ID_XTL/>
<PROC_UDF01/>
<PROC_UDF02/>
<PROC_AUTH_RESPONSE>72682</PROC_AUTH_RESPONSE>
<PROC_RETRIEVAL_NUM>74C8C7C8-5652-48BB-A68BGRACE46A2D1</PROC_RETRIEVAL_NUM>
<PROC_REFERENCE_NUM/>
<PROC_REDIRECT_URL/>
<AVS_RESPONSE>M</AVS_RESPONSE>
<CVV_RESPONSE>M</CVV_RESPONSE>
<REQUEST_API_VERSION>4.4</REQUEST_API_VERSION>
<PO_LI_ID_1>8509920</PO_LI_ID_1>
<PO_LI_COUNT_1>1</PO_LI_COUNT_1>
<PO_LI_AMOUNT_1>1.25</PO_LI_AMOUNT_1>
<PO_LI_PROD_ID_1>1001</PO_LI_PROD_ID_1>
<MBSHP_ID_1/>
</RESPONSE>

5.1.4 Ejemplo de respuesta de intento fallido de autorización

<RESPONSE>
<REQUEST_ACTION>CCAUTHORIZE</REQUEST_ACTION>
<TRANS_STATUS_NAME>DECLINED</TRANS_STATUS_NAME>
<TRANS_VALUE>5.01</TRANS_VALUE>
<TRANS_ID>20005</TRANS_ID>
<CUST_ID>2</CUST_ID>
<XTL_CUST_ID>c777777777</XTL_CUST_ID>
<MERCH_ACCT_ID>100</MERCH_ACCT_ID>
<CARD_BRAND_NAME>Mastercard</CARD_BRAND_NAME>
<PMT_L4>5100</PMT_L4>
<PMT_ID/>
<PMT_ID_XTL/>
<API_RESPONSE>0</API_RESPONSE>
<API_ADVICE> </API_ADVICE>
<SERVICE_RESPONSE>640</SERVICE_RESPONSE>
<SERVICE_ADVICE>Retry</SERVICE_ADVICE>
<PROCESSOR_RESPONSE>501</PROCESSOR_RESPONSE>
<PROCESSOR_ADVICE>Retry</PROCESSOR_ADVICE>
<INDUSTRY_RESPONSE>0</INDUSTRY_RESPONSE>
<INDUSTRY_ADVICE> </INDUSTRY_ADVICE>
<REF_FIELD/>
<PROC_NAME>Test Processor</PROC_NAME>
<AVS_RESPONSE/>
<CVV_RESPONSE/>
<REQUEST_API_VERSION>4.4</REQUEST_API_VERSION>
</RESPONSE>

5.1.5 Ejemplo de respuesta de servicio declinado

<RESPONSE>
<REQUEST_ACTION>CCAUTHORIZE</REQUEST_ACTION>
<TRANS_STATUS_NAME/>
<CUST_ID/>
<XTL_CUST_ID>c777777777</XTL_CUST_ID>
<MERCH_ACCT_ID>100</MERCH_ACCT_ID>
<CARD_BRAND_NAME/>
<PMT_L4/>
<PMT_ID/>
<PMT_ID_XTL/>
<API_RESPONSE>113</API_RESPONSE>
<API_ADVICE>Invalid Data</API_ADVICE>
<SERVICE_RESPONSE>0</SERVICE_RESPONSE>
<SERVICE_ADVICE>Declined</SERVICE_ADVICE>
<PROCESSOR_RESPONSE>0</PROCESSOR_RESPONSE>
<PROCESSOR_ADVICE> </PROCESSOR_ADVICE>
<INDUSTRY_RESPONSE>0</INDUSTRY_RESPONSE>
<INDUSTRY_ADVICE> </INDUSTRY_ADVICE>
<REF_FIELD>cust_password</REF_FIELD>
<PROC_NAME/>
<AVS_RESPONSE/>
<CVV_RESPONSE/>
<REQUEST_API_VERSION>4.4</REQUEST_API_VERSION>
</RESPONSE>

El ejemplo anterior fuie declinado por el API debido a datos inválidos en el campo CUST_PASSWORD

(ver los parámetros API_ADVICE y REF_FIELD). Solicitudes declinadas por el servicio también tendrán el mensaje “Declined” en el campo SERVICE_ADVICE.