Integration Types
Otras características
Card Payments
Mobile Wallets
Alternative Payment Methods
Resources
Una transacción de tarjeta de crédito se puede enviar con tres niveles de datos de transacción: Nivel I, Nivel II y Nivel III. Cada nivel se define por la cantidad de información que se proporciona para procesar la transacción.
Si acepta tarjetas de empresa, corporativas o de compra, entonces proporcionar datos de Nivel II/III sobre su transacción puede calificar la transacción para mejores tasas de intercambio. La empresa de su cliente también puede beneficiarse de estados de cuenta detallados de la tarjeta, así como de información para apoyar y agilizar los procesos comerciales, como la autorización de compras, la reconciliación y la reportería.
Tenga en cuenta que el motor de pagos no valida que los datos proporcionados en la transacción son suficientes para calificar para tasas de intercambio específicas, como lo requieren los esquemas de tarjeta.
Cuando cree un pedido, todos los datos de Nivel II o III que proporcione se aplicarán a todas las transacciones del pedido.
Si utiliza el motor de pagos para realizar transacciones de pago y autenticación 3DS, puede crear un pedido enviando una solicitud INITIATE_AUTHENTICATION seguida de una solicitud AUTHENTICATE_PAYER con datos de Nivel II/III y proporcionando authentication.transactionId en la solicitud posterior de AUTHORIZE, PAY o VERIFY y los datos de Nivel II/III se completan a partir de la autenticación a la que se hace referencia.
Si proporcionó datos de Nivel II/III en la solicitud AUTHENTICATE_PAYER y luego proporciona authentic.transactionId en la solicitud posterior de AUTHORIZE, PAY o VERIFY, aún puede enviar los mismos o diferentes datos de Nivel II/III en su solicitud financiera para anular los datos de Nivel II/III proporcionados en la autenticación.
Los campos de Nivel II se admiten a partir de la versión 64 y los de Nivel III desde la versión 77 de la solicitud AUTHENTICATE_PAYER.
Referencia de la API de Authenticate Payer [REST][NVP]
Solo necesita proporcionar datos de Nivel II/III sobre las operaciones posteriores (Capture o Refund) cuando desee:
Puede anular los datos de Nivel II/III para el pedido proporcionando los datos al nivel del pedido. Esto puede resultar adecuado para corregir información proporcionada al crear el pedido. Luego, la información actualizada se aplicará a todas las transacciones posteriores del pedido. Por ejemplo, order.customerReference
order.amount
en una solicitud de transacción Authorize, pero no en una solicitud de transacción Capture posterior.Vea la columna Campo de nivel de pedido en las tablas de Nivel II/III a continuación.
Puede proporcionar datos de Nivel II/III que solo se apliquen a la transacción específica. Por ejemplo, transaction.taxAmount
Vea la columna Campo de nivel de transacción en las tablas de Nivel II/III a continuación.
Cuando el motor de pagos envía datos de Nivel II/III a su adquirente, los valores proporcionados en la transacción tienen prioridad sobre los valores proporcionados en el nivel de pedido. Si no proporciona valores en la transacción, el motor de pagos utilizará los valores proporcionados en el nivel de pedido para enviarlos al adquirente, solo cuando corresponda.
Para proporcionar los siguientes datos de Nivel II en su solicitud de transacción, utilice los campos correspondientes de nivel de pedido y/o de nivel de transacción de API, como se muestra en la siguiente tabla.
Datos de Nivel II | Campo de nivel de pedido | Campo de nivel de transacción |
---|---|---|
Fecha de pedido del cliente | order.customerOrderDate |
|
Monto del pedido (el monto que se autorizará, enviado al crear un pedido) | order.amount Si proporciona cualquiera de los montos subtotales ( order.itemAmount , order.shippingAndHandlingAmount , order.taxAmount , order.gratuityAmount , order.cashbackAmount ), order.discount.amount entonces el monto del pedido DEBE ser igual a la suma de los montos subtotales menos el monto del descuento. |
|
Monto del artículo | order.itemAmount Si no proporciona este campo, pero proporciona cualquier dato de artículo de línea, entonces este monto se calcula como la suma de los montos totales de artículos ( order.item[n].unitPrice por order.item[n].quantity ) para todos los artículos de línea. Si proporciona tanto este campo como cualquier dato de artículo de línea, entonces el valor en este campo DEBE igualar el valor calculado.Si los decimales del valor calculado exceden las unidades menores de la moneda del pagador; el motor de pagos redondeará el total usando el algoritmo "redondear la mitad al par". Por ejemplo, si 2.555 (cantidad) multiplicado por 3 (precio unitario) da un total de 7.665, y si la moneda del pagador (USD) tiene 2 unidades menores, entonces el monto del artículo redondeado será igual a 7.66. Asegúrese de aplicar este redondeo cuando proporcione el campo de monto del artículo en la solicitud. |
transaction.itemAmount |
Monto de transporte y envío | order.shippingAndHandlingAmount El monto total de transporte y envío de la transacción, incluidos los impuestos aplicables. |
transaction.shippingAndHandlingAmount |
Monto del impuesto de transporte y envío | order.shippingAndHandlingTaxAmount Este campo es compatible con la versión 67 y superiores. El monto del impuesto gravado sobre el monto de transporte y envío de la transacción. Este monto está incluido en el monto de transporte y envío proporcionado en el campo order.shippingAndHandlingTaxAmount .
|
transaction.shippingAndHandlingTaxAmount |
Tasa de impuesto de transporte y envío | order.shippingAndHandlingTaxRate Este campo es compatible con la versión 67 y superiores. La tasa de impuesto aplicada al monto de transporte y envío del pedido para determinar el monto del impuesto de transporte y envío. Para una tasa de impuesto del 2.5 %, indique 0.025. |
transaction.shippingAndHandlingTaxRate |
Monto de derechos de aduana | order.dutyAmount Este campo es compatible con la versión 67 y superiores. El monto de derechos de aduana, también conocido como impuesto aduanero, arancel o gravamen, para la transacción. |
transaction.dutyAmount |
Monto del impuesto | order.taxAmount Si no proporciona este campo, pero proporciona cualquier dato de artículo de línea, entonces este monto se calcula como la suma del monto del impuesto total ( order.item[n].unitTaxAmount por order.item[n].quantity ) para todos los artículos de línea. Si proporciona tanto este campo como cualquier dato de artículo de línea, entonces el valor en este campo DEBE igualar el valor calculado.Si los decimales del valor calculado exceden las unidades menores de la moneda del pagador; el motor de pagos redondeará el total usando el algoritmo "redondear la mitad al par". Por ejemplo, si 2.555 (cantidad) multiplicado por 3 (precio unitario) da un total de 7.665, y si la moneda del pagador (USD) tiene 2 unidades menores, entonces el monto del artículo redondeado será igual a 7.66. Asegúrese de aplicar este redondeo cuando proporcione el campo de monto del artículo en la solicitud. |
transaction.taxAmount |
Tipo de impuesto [n] | order.tax[n].type Puede que deba enviar el valor de enumeración correcto, según lo requiera su adquirente. Póngase en contacto con su proveedor de servicios de pago para obtener más detalles. |
transaction.tax[n].type Puede que deba enviar el valor de enumeración correcto, según lo requiera su adquirente. Póngase en contacto con su proveedor de servicios de pago para obtener más detalles. |
Monto de impuesto [n] | order.tax[n].amount |
transaction.tax[n].amount |
Tasa de impuesto [n] | order.tax[n].rate |
transaction.tax[n].rate |
Indicador de exención de impuestos | order.taxStatus |
transaction.taxStatus |
Monto de descuento | order.discount.amount |
transaction.discountAmount |
Referencia de compra del negocio | order.reference Si no se proporciona, el motor de pagos utiliza el valor proporcionado en order.id (campo obligatorio). |
|
Número de factura | order.invoiceNumber |
|
Número de referencia de cliente/titular de la tarjeta | order.customerReference |
|
Nombre del solicitante | order.requestorName |
|
ID de registro de impuesto del negocio: federal/nacional | order.taxRegistrationId |
Si el suyo es un negocio de EE. UU., proporcione su ID tributario federal. Si el suyo es un negocio de Canadá, proporcione su cuenta HST (Impuesto a las ventas armonizado) con la Agencia Tributaria de Canadá. |
ID de registro de impuesto del negocio: estatal/provincial/local | order.localTaxRegistrationId |
|
Número de registro de IVA del cliente | customer.taxRegistrationId |
|
Dirección del negocio: código postal | El valor configurado en su perfil de negocio se envía al adquirente. | |
Dirección del negocio: estado/provincia | El valor configurado en su perfil de negocio se envía al adquirente. | |
Código postal de dirección de origen | shipping.origin.postcodeZip Si no se proporciona, el valor configurado en su perfil de negocio puede enviarse al adquirente. |
|
Calle de destino del envío | shipping.address.street shipping.address.street2 |
|
Ciudad de destino del envío | shipping.address.city |
|
Estado/provincia de destino del envío | shipping.address.stateProvince Debe proporcionar el código de subdivisión de país ISO 3166-2 de tres caracteres. Si el destino es un territorio de EE. UU., proporcione el código de país. Por ejemplo, GUM en los campos shipping.address.country y shipping.address.stateProvince. Proporcione este campo solo si todos los artículos incluidos en el pedido se envían a la misma ubicación. |
|
País de destino del envío | shipping.address.country Si el destino es un territorio de EE. UU., proporcione el código de país. Por ejemplo, GUM en los campos shipping.address.country y shipping.address.stateProvince . Proporcione este campo solo si todos los artículos incluidos en el pedido se envían a la misma ubicación.
|
|
Código postal de destino del envío | shipping.address.postcodeZip |
|
Nombre de la dirección de facturación | customer.firstName customer.lastName |
|
Calle 1 de dirección de facturación | billing.address.street |
|
Calle 2 de dirección de facturación | billing.address.street2 |
|
Ciudad de dirección de facturación | billing.address.city |
|
Estado de dirección de facturación | billing.address.stateProvince |
|
Código postal de dirección de facturación | billing.address.postcodeZip |
|
País de dirección de facturación | billing.address.country |
Los datos de Nivel III incluyen los datos de Nivel II indicados anteriormente, más los datos del artículo de línea. Para proporcionar los siguientes datos de Nivel III en su solicitud de transacción, utilice los campos correspondientes de nivel de pedido (del grupo de parámetros de order.item[n]
) y/o de nivel de transacción (del grupo de parámetros de transaction.item[n]
) de API, como se muestra en la siguiente tabla.
Datos de Nivel III | Campo de nivel de pedido | Campo de nivel de transacción |
---|---|---|
ID tributario de negocio del artículo | El valor no se puede proporcionar en el nivel de artículo. Para todos los artículos, el valor proporcionado en el nivel de pedido en el campo order.taxRegistrationId se remitirá al adquirente. |
|
Total de artículos | Si se requiere en el mensaje del adquirente, este monto se calcula como la suma de los montos totales de artículos (order.item[n].unitPrice por order.item[n].quantity ) para todos los artículos de línea. |
|
Unidad de medida del artículo | order.item[n].unitOfMeasure Puede que deba enviar el valor de enumeración correcto, según lo requiera su adquirente. Póngase en contacto con su proveedor de servicios de pago para obtener más detalles. |
transaction.item[n].unitOfMeasure Puede que deba enviar el valor de enumeración correcto, según lo requiera su adquirente. Póngase en contacto con su proveedor de servicios de pago para obtener más detalles. |
Descripción del artículo | order.item[n].description |
transaction.item[n].description |
Marca del artículo | order.item[n].brand |
transaction.item[n].brand |
Categoría del artículo | order.item[n].category |
transaction.item[n].category |
Categoría de industria del artículo | order.item[n].industryCategory |
transaction.item[n].industryCategory |
Nombre del artículo | order.item[n].name |
transaction.item[n].name |
SKU del artículo | order.item[n].sku |
transaction.item[n].sku |
UNSPSC (código estándar de productos y servicios de las Naciones Unidas) del artículo | order.item[n].detail.unspsc |
transaction.item[n].detail.unspsc |
UPC (código de producto universal) del artículo | order.item[n].detail.upc |
transaction.item[n].detail.upc |
Código de mercancía del artículo | order.item[n].detail.commodityCode |
transaction.item[n].detail.commodityCode |
Cantidad del artículo | order.item[n].quantity Cuando una cantidad decimal se multiplica por montos ( order.item[n].unitPrice , order.item[n].unitTaxAmount , o bien order.item[n].unitDiscountAmount ), y si los decimales del valor calculado exceden las unidades menores de la moneda del pagador; el motor de pagos redondeará el total usando el algoritmo "redondear la mitad al par". Por ejemplo, si 2.555 (cantidad) multiplicado por 3 (precio unitario) da un total de 7.665, y si la moneda del pagador (USD) tiene 2 unidades menores, entonces el monto del artículo redondeado será igual a 7.66. |
transaction.item[n].quantity |
Precio unitario del artículo | order.item[n].unitPrice Este monto se multiplica por order.item[n].quantity para calcular el monto total de artículos para el artículo de línea. Si se proporciona order.itemAmount , entonces la suma del monto total de artículos para todos los artículos de línea DEBE igualar el valor de order.itemAmount .
|
transaction.item[n].unitPrice |
Monto del impuesto del artículo | order.item[n].unitTaxAmount Este monto se multiplica por order.item[n].quantity para calcular el monto total del impuesto para el artículo de línea. Si se proporciona order.taxAmount , entonces la suma del monto total del impuesto para todos los artículos de línea DEBE igualar el valor de order.taxAmount .
|
transaction.item[n].unitTaxAmount |
Tipo de impuesto del artículo | order.item[n].detail.unitTaxType Utilice este campo para proporcionar el tipo de impuesto cobrado para este artículo de línea, si solo es un tipo de impuesto único. |
transaction.item[n].detail.unitTaxType |
Tasa de impuesto del artículo (porcentaje) | order.item[n].detail.unitTaxRate Utilice este campo para proporcionar la tasa de impuesto que se cobra para este artículo de línea, si solo es un tipo impositivo único. |
transaction.item[n].detail.unitTaxRate |
Tipo de impuesto del artículo [n] | order.item[n].detail.tax[m].type order.item[n].detail.tax[m].amount order.item[n].detail.tax[m].rate Utilice estos campos para proporcionar un desglose del monto del impuesto del pedido para el artículo de línea por tipo de impuesto. Esto se aplica si se cobra más de un tipo de impuesto para este artículo de línea. Si hay un solo tipo de impuesto, use order.item[n].detail.unitTaxType |
transaction.item[n].detail.tax[m].type transaction.item[n].detail.tax[m].amount transaction.item[n].detail.tax[m].rate Utilice estos campos para proporcionar un desglose del monto del impuesto de la transacción para el artículo de línea por tipo de impuesto. Esto se aplica si se cobra más de un tipo de impuesto para este artículo de línea. Si hay un solo tipo de impuesto, use transaction.item[n].detail.unitTaxType |
Monto del impuesto del artículo [n] | ||
Tasa de impuesto del artículo [n] (porcentaje) | ||
Monto de descuento del artículo | order.item[n].unitDiscountAmount Este monto se multiplica por order.item[n].quantity para calcular el monto total del descuento para el artículo de línea. Si se proporciona order.discount.amount , entonces el valor de este campo DEBE igualar la suma del monto total del descuento para todos los artículos de línea. |
transaction.item[n].unitDiscountAmount |
Tasa de descuento del artículo (porcentaje) | order.item[n].detail.unitDiscountRate |
transaction.item[n].detail.unitDiscountRate |