Tarjetas crédito y débito

Aprenda cómo integrar su solución para procesar pagos con tarjetas crédito o débito.

Parámetros del Request

Se necesita incluir campos específicos para que este método de pago funcione correctamente. Consulte la sección Parámetros del Request para obtener información detallada sobre los parámetros de compra básica como el monto y la moneda.

PropiedadTipo¿Obligatorio?Descripción
TrxTokenstringToken que identifica la tarjeta del cliente.
Para más información sobre cómo crear el token, consulte Clientes.
TargetCountryISOstringIndica el país destino.
InstallmentsintegerNoEste parámetro hace referencia al número de pagos en el que se divide una compra con tarjeta de crédito.
CustomerEmailstringCorreo electrónico del cliente.
CustomerFirstNamestringNombre del cliente.
CustomerLastNamestringApellido del cliente.
CustomerDocumentTypeIdnumericNoTipo de documento del cliente.
Consulte la tabla de tipos de documento para ver los posibles valores.
CustomerDocNumberstringNoNúmero de documento del cliente.
CustomerPhoneNumberstringNúmero de teléfono del cliente.
CustomerBillingAddressCountrystringPaís del cliente.
CustomerBillingAddressStatestringEstado del cliente.
CustomerBillingAddressCitystringCiudad del cliente.
CustomerBillingAddressAddressDetailstringDetalle de la dirección del cliente.
CustomerBillingAddressPostalCodestringNoCódigo postal del cliente.
El código postal es obligatorio para Estados Unidos y Canadá.
CustomerShippingAddressCountrystringNoPaís de la dirección de envío.
CustomerShippingAddressStatestringNoEstado de la dirección de envío.
CustomerShippingAddressCitystringNoCiudad de la dirección de envío.
CustomerShippingAddressAddressDetailstringNoDetalle de la dirección de envío.
CustomerShippingAddressPostalCodestringNoCódigo postal de la dirección de envío.
CustomerIPstringNoIP del cliente que utiliza el servicio.
DataUYobjectNoInformación específica para Uruguay.
En Uruguay, dos leyes promueven los medios de pago electrónicos mediante la devolución de puntos de IVA. Las leyes 19.210 (Ley de inclusión financiera) y 17.934 de servicios gastronómicos y afines regulan estos beneficios, y los datos presentados en este objeto son necesarios para su correcto uso.
Este campo es requerido para el modelo Gateway.
DataUYIsFinalConsumerbooleanNoIndica si la venta se realiza a un consumidor final.
Este campo es requerido para el modelo Gateway.
DataUYInvoicestringNo *Número de factura asociado a la venta. Este parámetro solo acepta caracteres numéricos.
DataUYTaxableAmountnumberNo *Importe gravado por IVA.

Ejemplo del Request

{
  "TrxToken": "OT__AJrM-jq7nqEZUiuiTpUzImdM_6Cp7rxT4jiYpVJ8SzQ_",
  "Capture": true,
  "Order": "20201229",
  "Amount": "10000",
  "Currency": "USD",
  "TargetCountryISO": "UY",
  "Installments": 1,
  "Customer": {
    "BillingAddress": {
      "Country": "Uruguay",
      "City": "Montevideo",
      "State": "Montevideo",
      "PostalCode": "150000",
      "AddressDetail": "Calle falsa 4567/Depto/Provincia"
    },
    "Email": "rserrano@mail.com",
    "DocNumber": "47666489",
    "DocumentTypeId": 2,
    "PhoneNumber": "0930000111",
    "FirstName": "Rodrigo",
    "LastName": "Serrano"
  }
}

Parámetros del Response

Para más información sobre los parámetros del Response, consulte la sección de parámetros de la creación de la compra.

Ejemplo del Response

{
  "Response": {
    "PurchaseId": 1248284,
    "Created": "2023-09-29T15:34:10.012",
    "TrxToken": null,
    "Order": "20201229",
    "Transaction": {
      "TransactionID": 1267112,
      "Created": "2023-09-29T15:34:10.012",
      "AuthorizationDate": "",
      "TransactionStatusId": 1,
      "Status": "Approved",
      "ErrorCode": "0",
      "Description": "",
      "ApprovalCode": null,
      "Steps": [
        {
          "Step": "Generic External",
          "Created": "",
          "Status": null,
          "ResponseCode": "00",
          "ResponseMessage": "Authorization - Function performed error-free",
          "Error": "0",
          "AuthorizationCode": "586316",
          "UniqueID": null,
          "AcquirerResponseDetail": "{\"TransactionResult\":\"APPROVED\",\"ProcessorResponseCode\":\"00\",\"ProcessorResponseMessage\":\"Function performed error-free\",\"ApprovalCode\":\"Y:586316:4637904926:PPXX:5863160734\",\"OrderId\":\"A-79d7a01b-5b36-4326-b872-82c29f196ec0\",\"IpgTransactionId\":\"84637904926\",\"ProcessorApprovalCode\":\"586316\",\"ProcessorReceiptNumber\":\"0734\",\"ProcessorBatchNumber\":\"001\",\"ProcessorReferenceNumber\":\"586316586316\",\"ProcessorTraceNumber\":\"586316\"}"
        }
      ]
    },
    "Capture": true,
    "Amount": 10000,
    "OriginalAmount": 10000,
    "TaxableAmount": 0,
    "Tip": 0,
    "Installments": 1,
    "Currency": "USD",
    "Description": null,
    "Customer": {
      "CustomerId": 254952,
      "Created": "2023-09-29T15:34:05.713",
      "CommerceCustomerId": null,
      "Owner": "Anonymous",
      "Email": "rserrano@mail.com",
      "Enabled": true,
      "ShippingAddress": null,
      "BillingAddress": {
        "AddressId": 377785,
        "AddressType": 2,
        "Country": "Uruguay",
        "City": "Montevideo",
        "State": "Montevideo",
        "PostalCode": "150000",
        "AddressDetail": "Calle falsa 4567/Depto/Provincia"
      },
      "Plans": null,
      "AdditionalData": null,
      "PaymentProfiles": [
        {
          "PaymentProfileId": 259793,
          "PaymentMediaId": 2,
          "Created": "2023-09-29T15:34:05.713",
          "LastUpdate": null,
          "Brand": "MasterCard",
          "CardOwner": "Rodrigo Serrano",
          "Bin": null,
          "IssuerBank": null,
          "Installments": null,
          "Type": "CreditCard",
          "IdCommerceToken": 0,
          "Token": null,
          "Expiration": "202912",
          "Last4": "0008",
          "Enabled": null,
          "DocumentNumber": null,
          "DocumentTypeId": null,
          "ExternalValue": null,
          "AffinityGroup": null
        }
      ],
      "CaptureURL": null,
      "UniqueID": null,
      "URL": "https://api.stage.bamboopayment.com/Customer/254952",
      "FirstName": "Rodrigo",
      "LastName": "Serrano",
      "DocNumber": "47666489",
      "DocumentTypeId": 2,
      "PhoneNumber": "0930000111",
      "ExternalValue": null
    },
    "RefundList": null,
    "PlanID": null,
    "UniqueID": null,
    "AdditionalData": null,
    "CustomerUserAgent": null,
    "CustomerIP": null,
    "URL": "https://api.stage.bamboopayment.com/Purchase/1248284",
    "DataUY": {
      "IsFinalConsumer": false,
      "Invoice": null,
      "TaxableAmount": 0
    },
    "DataDO": {
      "Invoice": null,
      "Tax": 0
    },
    "Acquirer": {
      "AcquirerID": 73,
      "Name": "FiservIPG",
      "CommerceNumber": null
    },
    "CommerceAction": null,
    "PurchasePaymentProfileId": 259793,
    "LoyaltyPlan": null,
    "DeviceFingerprintId": null,
    "MetadataIn": null,
    "MetadataOut": null,
    "CrossBorderData": null,
    "CrossBorderDataResponse": null,
    "Redirection": null,
    "IsFirstRecurrentPurchase": false,
    "AntifraudData": {
      "AntifraudFingerprintId": null,
      "AntifraudMetadataIn": null
    },
    "PaymentMediaId": null,
    "PurchaseType": 1,
    "HasCvv": null,
    "TargetCountryISO": null
  },
  "Errors": []
}

Tarjetas de prueba

Para generar información de tarjetas válidas para pruebas, debe establecer primero qué adquirente necesita probar y qué tipo de prueba quiere hacer.

Determinación del BIN

Al configurar un adquirente, también se crea el BIN (número de identificación bancaria) de la tarjeta. Este BIN debe coincidir con uno de los bines asociados a las marcas procesadas por el adquirente. Por ejemplo, si está realizando una prueba de integración con MasterCard, el BIN de la tarjeta generada debe ajustarse al siguiente formato: ^ 5 \ [1-5] \ [0-9]*

Este formato significa que debe comenzar con el número 5; el segundo número debe estar entre 1 y 5, luego se acepta cualquier otro número. Por ejemplo, el BIN a probar puede ser 510000. A continuación se enumeran los bines válidos en el sistema y su adquirente correspondiente.

BIN (formato)MarcaNotas
^4\[0-9]*VISACualquier tarjeta que empiece con 4.
^5\[1-5]\[0-9]*MasterCardCualquier tarjeta que empiece con 51 hasta 5.
^589892|^542991OCACualquier tarjeta que empiece con 589892 o 542991.

Determinación de Comportamiento para el modelo PayFac

El comportamiento de la respuesta dependerá del monto enviado. Utilice las siguientes tarjetas para simular los diferentes estados de la compra.

MarcaPANCVVFecha de Expiración
Mastercard516585000000000812312/29
Visa470455000000000512312/29

Tarjetas sin CVV

| Marca | PAN | CVV | Fecha de Expiración | |—|—|—| | Mastercard Crédito | 5101980000000000 | 12/29 | | Mastercard Prepago | 5599260000000006 | 12/29 | | Visa Crédito | 4103770000000006 | 12/29 | | Visa Débito | 4213000000000005 | 12/29 | | Visa Internacional Crédito | 4147960000000001 | 12/29 | | Visa Internacional Débito | 4345590000000006 | 12/29 |

ComportamientoMonto
Resultado: Rejected
Error: La tarjeta no permite operar con cuotas.
UYU 1045,00
Resultado: Rejected
Error: Tarjeta expirada.
UYU 1046,00
Resultado: Rejected
Error: Fondos insuficientes.
UYU 1051,00
Resultado: OK
Aprobado
  • Menor o igual a UYU 1000,00
  • Mayor a UYU 1061,00

Determinación de Comportamiento para el modelo Gateway

El comportamiento de la respuesta dependerá de la terminación de la tarjeta. Genere la tarjeta utilizando el bin de la marca correspondiente, y envíe los siguientes cuatro últimos dígitos de acuerdo con el resultado esperado.

TerminaciónComportamiento
0001Resultado: OK
Aprobado.
0002Resultado: Rechazado
Error: TR007
Error con algún dato del medio de pago (número de tarjeta, código de verificación y/o fecha de expiración).
0013Resultado: Rechazado
Error: TR012
Límite de crédito excedido.

Particularidades para el modelo Gateway

  • Puede realizar compras a cuotas siempre que el Banco Emisor lo tenga habilitado.
  • Puede realizar compras con Tarjetas de Débito siempre que el Banco Emisor lo tenga habilitado.
  • Visanet exige la inclusión del CVV en la primera compra del cliente o en el alta del cliente.
    Una vez realizado el registro y obtenido el Commerce Token, no es necesario solicitar el CVV en futuras transacciones.
  • Fiserv requiere que se envíe el CVV, incluso si tiene el Commerce Token. Debe ejecutar Flujo de solicitud de código de verificación.
    Esta modalidad está activada por defecto. Si desea desactivarla, debe negociar con Fiserv y notificarnoslo.
  • Creditel y PassCard requieren que el mensaje de Purchase incluya el número y tipo de documento del tarjetahabiente (campos Customer.DocumentTypeId y Customer.DocNumber).
  • PassCard requiere que se envíe el CVV, incluso si tiene el Commerce Token. Por lo tanto, debe ejecutar el Flujo de Solicitud de Código de Verificación.
  • Cuando utilice OCAOneClick2 (OCA Multi-Acquiring), necesita incluir la dirección IP de la persona que está haciendo la compra. Para esto, debe enviar el parámetro CustomerIP en el request.

Compras utilizando MasterCard a través de OCA

Cuando utilice MasterCard en el model Gateway, se recomienda enviar el device FingerPrint utilizando el método SetDeviceFingerPrint.

Agregue esta función al script utilizado en para el formulario de Checkout (PWCheckOut) para generar y retornar el valor utilizado en la compra.

En este ejemplo, mostramos cómo invocar y obtener el resultado.

<script type="text/javascript">
    PWCheckout.SetDeviceFingerprint();
</script>

Luego, incluya el token en la creación de la compra de acuerdo con los siguientes escenarios.

  • Para OneTimeToken, envíe el device FingerPrint que generó y el OT token.
  • Para CommerceToken, existen dos casos:
    • Para compras recurrentes (sin CVV), envíe el device FingerPrint que genera y el CT token. Usted puede utilizar un CT token existente o generar uno nuevo.
    • Para compras con CVV, no es necesario generar un DeviceFingerPrint ya que cuando el cliente ingresa el CVV, el sistema envía el valor generado cuando se muestra la página de solicitud de CVV. Después, se genera una Compra en estado Pending y necesita redirigir al cliente a la URL retornada en el parámetro actionUrl donde ingresa el CVV.
footer
Última modificación 19 de septiembre de 2024

© Bamboo | All rights reserved 2024