NAV
cURL PHP JAVA C#

Introducción

Conoce una manera distinta de transaccionar, Banzilla te ofrece una API que está desarrollada con arquitectura REST y se ajusta perfectamente a las exigencias de tu comercio en línea. Lo único que debes hacer es integrarte con nosotros.

Algunas ventajas de trabajar con nosotros:

Control de cambios

Fecha Operación Objeto Descripción del cambio
05/12/2016 Cargo directo a tarjeta Customer Se cambia el atributo PhoneNumber por Phone
05/12/2016 Cargo directo a tarjeta Shipping Se cambia el atributo PhoneNumber por Phone
05/12/2016 Cargo directo a tarjeta Customer En el caso de respuesta exitosa, se elimino el atributo “Name” donde se concatenaba el nombre completo
05/12/2016 Información del Estado Address Para los países: Estados Unidos, México y Cánada, se forza a que el ISO del Estado corresponda a nuestro catálogo, en caso incorrecto devolvera un error.
05/12/2016 Tokenizar tarjeta Objeto de Solicitud Se eliminan los campos FirstName, MiddleName y LastName. Solo nos quedamos con el tarjetahabiente en el objeto Card
05/12/2016 Tokenizar tarjeta Objeto de Solicitud Se cambia el atributo PhoneNumber por Phone
05/12/2016 Tokenizar tarjeta Objeto de Respuesta Se eliminan los campos FirstName, MiddleName y LastName
05/12/2016 Obtener tarjeta Objeto de Respuesta Se eliminan los campos FirstName, MiddleName y LastName
05/12/2016 Listado de tarjetas Objeto de Respuesta Se eliminan los campos FirstName, MiddleName y LastName
19/05/2017 Status Objeto de Respuesta Se agrega tabla con descripción de los status posibles
19/05/2017 Plan Objeto de Respuesta Se cambia el atributo IsActive por Active
19/05/2017 Subscription Objeto de respuesta Reestructura general del objeto de respuesta
02/06/2017 Webhook Objeto de notificación Se describen los eventos webhook y se agregan ejemplo de los objetos de respuesta para cada evento
20/06/2017 PaymentPlan Objeto de solicitud/respuesta en Cargo directo a tarjeta Se liberan los cargos a meses sin intereses aceptando 3, 6, 9 y 12 con sus respectivas restricciones en montos al diferir los cargos

API endpoints

La API REST de Banzilla tiene un entorno de pruebas (sandbox) y un entorno de producción. Usa las credenciales que se generaron al momento de tu registro para realizar la integración de tu sistema con Banzilla. Una vez que estés listo para pasar a producción y tu solicitud sea aprobada, se generarán nuevas credenciales para acceder al entorno de producción. La siguientes URLs forman la base de los endpoints para los entornos soportados:

Producción, URL base: https://api.banzilla.com

Pruebas, URL base: https://sandbox.banzilla.com

Un endpoint completo consiste en la URL base del entorno, la versión de la API (v1) y el recurso. Por ejemplo, si queremos crear una nueva tarjeta, el endpoint sería:

POST https://sandbox.banzilla.com/v1/cards

Autenticación

La API cuenta con un servicio de autenticación básica HTTPS, esté fue diseñado para crear credenciales basadas en nombre de usuario y contraseña, que le permita autenticarse de manera segura a nuestros servidores utilizando el protocolo HTTPS.

Estas credenciales te serán proporcionadas una vez que seas registrado como cliente en nuestro sistema. Contacta a un asesor de ventas para proporcionarte credenciales de prueba.

Credenciales API

Para acceder a la API REST es necesario que proporciones tus credenciales de acceso, recuerda que podrás trabajar en:

Nota: Para cada entorno las credenciales serán distintas, en el entorno de pruebas no se realizarán los cargos por ende puedes realizar las pruebas que consideres necesarias. En el momento que completes la integración de la API y tu documentación sea aprobada, te proporcionaremos nuevas credenciales para el entorno de producción.

Errores

Al procesar una solicitud, Banzilla genera respuestas en formato JSON tanto para respuestas exitosas como para incidencias de error. A continuación, presentamos la definición del objeto error así como nuestros códigos de error para tu correcta implementación y manejo.

Objeto Error

Propiedad Tipo Descripción
Category string Categoría de la excepción
ErrorCode int Código de error
Description string Descripción detallada del error
IdRequest string ID de la solicitud que disparó el error. Cada solicitud al API genera un código ID Request
Details Details Es un diccionario que contiene la secuencia y descripción de errores ocurridos

Errores generales (-1XXX)

Código Descripción
-1001 Json request is null or wrong or incomplete.
-1002 Amount provided is invalid.
-1003 Many charge attempts have been detected in a very short period.
-1004 Promotional provided in PaymentPlan is wrong.

Errores en los instrumentos (–12XX)

Código Descripción
-1201 Method not found.
-1202 Initializing instrument error.
-1203 Gateway not found.
-1204 Instrument not found.
-1205 Amex communication failure.
-1206 Prosa communication failure.

Errores en los instrumentos (–13XX)

Código Descripción
-1301 Method not supported.

Errores relacionados a tarjetas bancarias (–2XXX)

Código Descripción
-2001 Unable tokenizing card, the card has expired.
-2002 Card is already tokenized.
-2003 The specified card does not exist or you are not allowed to see its detail.
-2004 There’s no one card tokenized.
-2005 You must provide the card token.
-2006 CardNumber Card number is invalid.
-2008 Card not found in Blacklist.
-2010 The card does not belong to merchant.
-2011 The acronym state can not be an empty string.
-2012 State ISO provided is invalid.
-2013 Country ISO provided is not valid.
-2014 There are transactions associated with the card.
-2015 Transaction provided can not be refunded.
-2016 Provided card is disabled.
-2017 There are subscriptions associates with this Card.
-2018 Card is in Blacklist.
-2019 CardNumber lenght must be 16 for visa/mastercard or 15 for amex.
-2020 SecurityCode leght must be 3 for visa/mastercard or 4 for amex.

Errores relacionados a tarjetas de prueba (–3XXX)

Código Descripción
-3001 SandBox: invalid card.

Errores en los planes de recurrencia (–4XXX)

Código Descripción
-4001 The specified plan does not exist or you are not allowed to see its detail.
-4002 There are no available plans or you are not allowed to see them.
-4003 You must provide the Id Plan.
-4004 Plan have subscriptions.
-4005 Plan is already inactive.

Errores en las suscripciones (–5XXX)

Código Descripción
-5001 The specified plan does not exist or you are not allowed to see its detail.
-5002 There are no available plans or you are not allowed to see them.
-5003 You must provide the Id Plan.
-5004 Subscription is already inactive.
-5005 Unable to create subscription.

Errores relacionados a las transacciones (–6XXX)

Código Descripción
-6001 The specified transaction does not exist or you are not allowed to see its detail.
-6002 There are no available plans or you are not allowed to see them.
-6003 Transaction has Already Been refund.
-6004 Transaction amount not match.
-6005 Transaction cannot be authorised more than once.

Errores relacionados al gateway (–7XXX)

Código Descripción
-7001 Gateway: You must indicate the gateway correct, for card: [amex, prosa], for transfer: [spei], for store:[oxxo, others].

Errores en los webhooks (–8XXX)

Código Descripción
-8001 Events provided no match, please review API Docs.
-8002 The specified webhook does not exist or you are not allowed to see its detail.
-8003 There are no available webhooks or you are not allowed to see them.
-8004 You must provide the Id Webhook.

Errores relacionados a reembolsos (–9XXX)

Código Descripción
-9001 Amount provided could not be refunded.

Status

A continuación se listan los status que pueden presentarse en las peticiones REST, en la descripción se indica el evento y la respuesta en la que se presentan.

Status Descripción
complete Indica que la transacción ha sido exitosa, aplica para transacciones del tipo Card y Refund. En transacciones Store y Transfer se puede obtener previo un status in_process.
denied Indica que la transacción ha sido denegada, este status se aplica en transacciones del tipo Card.
in_process Indica que la transacción ha sido creada pero no se ha consolidado, este status se aplica para la creación de transacciones de tipo store y transfer.
pending_refund Este status se envia en la respuesta de una solicitud de reembolso siempre que este se solicita en una fecha posterior a la creación de la transacción. Indica que un reembolso será analizado por el equipo de Banzilla para validar su viabilidad, es decir si se aplica o se deniega.
denied_refund Indica que un reembolso en status pending_refund ha sido revisado y no procedió.
under_review Este status denota que una transacción activó una alerta por presentar información fraudulenta. La transacción es suspendida y se envia a revisión para su validación.
rejected Aplica en transacciones que estuvieron en el status under_review y no se aprueban.
approved Aplica en transacciones que estuvieron en el status under_review y que son aprobadas, las transacciones en este status generaran una nueva transacción en status complete.
declined Aplica en transacciones que estuvieron en el status under_review y que son declinadas, las transacciones en este status generaran una nueva transacción en status denied.

Cargos

Cargo directo a tarjeta

Método de Pago AMEX / MASTER CARD / VISA

Url (POST): https://sandbox.banzilla.com/v1/charge

Este procedimiento genera un cargo a tarjeta bancaria. Es necesaria una petición en formato JSON y se generara una respuesta en el mismo formato con el detalle de la aplicación del cargo o las incidencias encontradas según aplique.

El monto mínimo para transaccionar es de $ 50

Si el acceso se realiza con la credencial de prueba se simularán los resultados de la transacción sin realizar el cargo a la tarjeta.

Solicitud

Solicitud

{
    "Method": "card",
    "Gateway": "amex",
    "Description": "Cargo con tarjeta",
    "Card":
    {
        "HolderName": "Jose Perez Lopez",
        "CardNumber": "4898242178928511",
        "SecurityCode": "106",
        "ExpMonth": "04",
        "ExpYear": "19",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "State": "CX",
            "Country": "MEX",
            "ZipCode": "11550"
        }
    },
    "Order":{
        "Reference": "102580",
        "Amount": 20.50,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Jose",
        "MiddleName": "Perez",
        "LastName": "Lopez",
        "Email": "jperezlopez@gmail.com",        
        "Phone":"5521212121",
        "Mobile":"5510101010",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "State": "CX",
            "Country": "MEX",
            "ZipCode": "11550"
        }
    }
}

Objetos opcionales en la solicitud

{
  "PaymentPlan": {
    "Months": 3, 
    "interest": false
},
  "Shipping": {
      "FirstName": "Jose",
      "MiddleName": "Perez",
      "LastName": "Lopez",
      "Email": "jperezlopez@gmail.com",            
      "Address": {
          "Street": "Sócrates",
          "Number": "130",
          "City": "Ciudad de México",
          "State": "CX",
          "Country": "MEX",
          "ZipCode": "11550"
    }
},
  "Items": [
    {
      "Concept": "MXL-00010000-001",
      "Quantity": 1,
      "Unitprice": 4800,
      "Amount": 4800
    }
  ]
}
Propiedad Tipo Requerido/Opcional Descripción
Method string Requerido Tipo de método usado en la transacción. Es necesario que contenga el valor card para indicar que el cargo se realizará con tarjeta bancaria
Gateway string Requerido Define el gateway de pagos utilizado. Solo acepta uno de los siguientes valores (amex,prosa)
Description string Requerido Descripción del cargo a realizar
Card Card Requerido Contiene los datos de la tarjeta bancaria con la cual se realizará el cargo
Order Order Requerido Contiene información de la orden
Customer Customer Requerido Contiene información del cliente
Shipping Shipping Opcional Contiene información referente al envío del producto
PaymentPlan PaymentPlan Opcional Indica que el cargo se realizará a meses sin intereses
Items List<Product> Opcional Contiene el listado de productos comprados

Respuesta Exitosa

Respuesta Exitosa

{
    "IdTransaction": "O6We9gUEOj",
    "CreationDate": "2016-08-23T10:25:48.8882584-05:00",
    "IdRequest": "aDbS2Haxxazwod3p",
    "Method": "card",
    "Gateway": "amex",
    "Description": "Cargo con tarjeta",
    "Status": "complete",
    "IsRecurring": false,
    "Order": {
        "Reference": "102580",
        "Amount": 20.5,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Jose",
        "MiddleName": "Perez",
        "LastName": "Lopez",
        "Email": "jperezlopez@gmail.com",
        "Phone": "5521212121",
        "Mobile": "5510101010",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "Country": "MEXICO",
            "State": "CIUDAD DE MEXICO",
            "ZipCode": "11550"
          }
    },
    "CardPayment": {
        "HolderName": "Jose Perez Lopez",
        "Authorization": "005946",
        "BrandCard": "VISA",
        "CardNumber": "4898-XXXX-XXXX-8511",
        "Issuer": "",
        "TypeCard": "CREDIT"
    }
}
Propiedad Tipo Descripción
IdTransaction string Es el ID asignado a la transacción, mediante esta propiedad se identifica de manera única cada transacción
CreationDate datetime Fecha y hora de creación de la transacción
IdRequest string ID de la solicitud. Este es un identificador único de la solicitud que se realiza al API.
Method string Método mediante el cual fue ejecutada la transacción. Puede contener uno de los siguientes valores (card,token,transfer,store)
Gateway string Gateway mediante el cual fue ejecutada la transacción. Puede contener uno de los siguientes valores (amex,prosa,spei,oxxo)
Description string Es la descripción del cargo enviada en el request del mismo
Status string Status de la transacción. Puede contener uno de los siguientes valores: (complete, denied)
Order Order Contiene la información de la orden de la transacción. Esta información es la misma que la enviada en la solicitud
Customer Customer Contiene la información referente al cliente. Esta información es la misma que la enviada en la solicitud
CardPayment CardPayment Contiene información de la tarjeta con la cual se realizó la transacción

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -1001,
    "Description": "Json request is null or wrong or incomplete.",
    "IdRequest": "aXkhQhjOyhsbws8j",
    "Details": {
        "Error 1": "CardNumber: Card number is invalid."
    }
}

Se regresa un objeto Error

Cargo a tarjeta con token

Url (POST): https://sandbox.banzilla.com/v1/charge

Este método se implementa cuando la tarjeta a la que se realizará el cargo ha sido tokenizada previamente. La respuesta será un objeto JSON con el detalle de la aplicación del cargo o las incidencias encontradas según aplique.

El monto mínimo para transaccionar es de $ 50

Si el acceso se realiza con la credencial de prueba se simularán los resultados de la transacción sin realizar el cargo a la tarjeta.

Solicitud

Solicitud

{
    "Method": "token",
    "Description": "Cargo con token",
    "Token": "CRrH644cxxp6NcDBa2",
    "Order":{
        "Reference": "id-del-cliente",
        "Amount": 1500,
        "Currency": "MXN"
    },
    "Customer": {
           "FirstName": "Jose",
         "MiddleName": "Perez",
         "Email": "jose.perez@gmail.com",        
         "Phone":"5521212121",         
         "Address": {
              "Street": "Sócrates",
              "Number": "130",
              "City": "Ciudad de México",
              "Country": "MEX",
              "State":"CX",
              "ZipCode": "11550"
        }
    },
    "Shipping": {
        "FirstName": "Jose",
        "MiddleName": "Perez",
        "Email": "jose.perez@gmail.com",         
        "Phone":"5521212121",         
        "Address": {
              "Street": "Sócrates",
              "Number": "130",
              "City": "Ciudad de México",
              "Country": "MEX",
              "State": "CX",
              "ZipCode": "11550"
        }
      }
}
Propiedad Tipo Requerido/Opcional Descripción
Method string Requerido Tipo de método usado en la transacción. Es necesario que contenga el valor token para indicar que el cargo se realizará con una tarjeta previamente tokenizada
Gateway string Requerido Define el gateway de pagos utilizado. Solo acepta uno de los siguientes valores (amex,prosa)
Description string Requerido Descripción del cargo a realizar
Token string Requerido Token de la tarjeta a utilizar para el cobro
Order Order Requerido Contiene información de la orden
Customer Customer Opcional Contiene información del cliente
Shipping Shipping Opcional Contiene información referente al envío del producto
Items List<Product> Opcional Contiene el listado de productos comprados

Respuesta Exitosa

Respuesta Exitosa

{
    "IdTransaction": "iPqbba1nNk",
    "CreationDate": "2016-08-31T14:30:43.5557191-05:00",
    "IdRequest": "cyYO2uRRfi1UoyuY",
    "Method": "token",
    "Gateway": "prosa",
  "Description": "Cargo con token",
    "Status": "complete",
    "Order": {
        "Reference": "255",
        "Amount": 540,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Jose",
        "MiddleName": "Perez",
        "LastName": "Lopez",
        "Email": "jperezlopez@gmail.com",
        "Phone": "53871400"
    },
    "CardPayment": {
    "HolderName": "Jose Perez Lopez",
        "Authorization": "000310",
        "BrandCard": "VISA",
        "CardNumber": "4898-XXXX-XXXX-8511",
        "Issuer": "",
        "TypeCard": "CREDIT"
    }
}
Propiedad Tipo Descripción
IdTransaction string Es el ID asignado a la transacción, mediante esta propiedad se identifica de manera única cada transacción.
CreationDate datetime Fecha y hora de creación de la transacción
IdRequest string ID de la solicitud. Este es un identificador único de la solicitud que se realiza al API.
Method string Método mediante el cual fue ejecutada la transacción. Puede contener uno de los siguientes valores (card,token,transfer,store)
Gateway string Gateway mediante el cual fue ejecutada la transacción. Puede contener uno de los siguientes valores (amex,prosa,spei,oxxo)
Status string Status de la transacción. Puede contener uno de los siguientes valores: (complete, denied)
Order Order Contiene la información de la orden de la transacción. Esta información es la misma que la enviada en la solicitud
Customer Customer Contiene la información referente al cliente. Esta información es la misma que la enviada en la solicitud
CardPayment CardPayment Contiene información de la tarjeta con la cual se realizó la transacción

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -2003,
    "Description": "The specified card does not exist or you are not allowed to see its detail.",
    "IdRequest": "BSicuxDYk5PVi87Z",
    "Details": {}
}

Se regresa un objeto Error

Obtener el voucher de pago

Para obtener voucher en Inglés: Url (GET): https://sandbox.banzilla.com/v1/Documents/voucher-en/{ID}

Para obtener voucher en Español: Url (GET): https://sandbox.banzilla.com/v1/Documents/voucher-es/{ID}

Obtiene el voucher de pago para firma del tarjetahabiente. Es responsabilidad del comercio recabar la firma de todas las transacciones realizadas con tarjeta bancaria, con la finalidad de tener documentación probatoria para defender un posible contracargo.

Solicitud de cargo con OXXO

URL (POST): https://sandbox.banzilla.com/v1/charge

Este método crea una petición de pago en tiendas OXXO. Es necesario enviar en la solicitud el objeto JSON indicando el tipo de método “Oxxo”. La transacción quedará registrada con estatus “pendiente” hasta que se realice el pago.

El monto mínimo para transaccionar es de $ 50

Solicitud

Solicitud

{
    "Method": "store",
    "Gateway": "oxxo",
    "DueDate": "8/31/2016",
    "Description": "Pago OXXO",
    "Order": {
        "Reference": "8519",
        "Amount": 20.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Raul",
        "MiddleName": "Martinez",
        "LastName": "Hernandez",
        "Email": "raulmartinez@hotmail.com",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "State": "CX",
            "ZipCode": "11550",
            "Country": "MEX"
        }
    },
    "Shipping": {
        "FirstName": "Raul",
        "MiddleName": "Martinez",
        "LastName": "Hernandez",
        "Email": "raulmartinez@hotmail.com",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "State": "CX",
            "ZipCode": "11550",
            "Country": "MEX"
          }
      }
}
Propiedad Tipo Requerido/Opcional Descripción
Method string Requerido Tipo de método usado en la transacción. Es necesario que contenga el valor store para indicar que el cargo se realizará mediante tienda de conveniencia.
Gateway string Requerido Define el gateway de pagos utilizado, en este caso se espera el valor oxxo
DueDate datetime Requerido Fecha límite de pago. Esta fecha debe ser mayor a la actual y únicamente se tomará la parte de la fecha sin hora, de tal manera que el pago será recibido hasta las 23:59 hrs del día en cuestión. Formato mm/dd/yyyy
Description string Requerido Descripción del cargo a realizar
Order Order Requerido Contiene información de la orden
Customer Customer Requerido Contiene información del cliente
Shipping Shipping Opcional Contiene información referente al envío del producto
Items List<Product> Opcional Contiene el listado de productos comprados

Respuesta Exitosa

Respuesta exitosa

{
    "IdTransaction": "D5sebCee4S",
    "CreationDate": "2016-08-23T10:38:36.5771791-05:00",
    "IdRequest": "4qPe9eQhfULEFGdP",
    "Method": "store",
    "Gateway": "oxxo",
    "Description": "Compra en linea para pago en OXXO",
    "Status": "in_process",
    "Order": {
        "Reference": "8519",
        "Amount": 20,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Raul",
        "MiddleName": "Martinez",
        "LastName": "Hernandez",
        "Email": "raulmartinez@hotmail.com"
    },
    "StorePayment": {
        "BarCode": "00978717518282016083100020001",
        "DueDate": "2016-08-31T00:00:00",
        "UrlDocument": "https://api.banzilla.com/v1/Documents/D5sebCee4S"
    }
}
Propiedad Tipo Descripción
IdTransaction string Es el ID asignado a la transacción, mediante esta propiedad se identifica de manera única cada transacción.
CreationDate datetime Fecha y hora de creación de la transacción.
IdRequest string ID de la solicitud. Este es un identificador único de la solicitud que se realiza al API.
Method string Método mediante el cual fue ejecutada la transacción, en este caso siempre contiene el valor store
Gateway string Gateway mediante el cual fue ejecutada la transacción, en este caso siempre contiene el valor oxxo
Description string Es la descripción que fue enviada en el request de la transacción
Status string Status de la transacción. Las transacciones con el method store siempre regresan un estatus de pendiente: in_process, el cual indica que estamos en espera del pago por parte del consumidor final
Order Order Contiene la información de la orden de la transacción. Esta información es la misma que la enviada en la solicitud
Customer Customer Contiene la información referente al cliente. Esta información es la misma que la enviada en la solicitud
StorePayment StorePayment Contiene la información referente a la solicitud de pago store

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -1001,
    "Description": "Json request is null or wrong or incomplete.",
    "IdRequest": "lFWWgziZbopzrlip",
    "Details": {
        "Error 1": "DueDate: DueDate need to be more to today"
    }
}

Se regresa un objeto Error

Solicitud de cargo via SPEI

URL (POST): https://sandbox.banzilla.com/v1/charge

Este método crea una petición de pago via SPEI, con lo cual se genera una transacción en estatus pendiente y se genera la CLABE a la cual deberá realizarse el pago, una vez que éste se efectúe, la transacción cambia a estatus autorizado y se disparan los webhooks configurados.

Es necesario enviar en la solicitud el objeto JSON indicando el tipo de método “transfer”.

El monto mínimo para transaccionar es de $ 50

Solicitud

Solicitud

{
    "Method": "transfer",
    "gateway": "spei",
    "Description": "SPEI 125800",
    "DueDate": "9/30/2016",
    "Order": {
        "Reference": "10285100-2120",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Jose",
        "MiddleName": "Hernández",
        "Email": "josehernandez@yahoo.mx",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "State": "CX",
            "ZipCode": "11550",
            "Country": "MEX"
        }
    }
}
Propiedad Tipo Requerido/Opcional Descripción
Method string Requerido Tipo de método usado en la transacción. Es necesario que contenga el valor transfer
Gateway string Requerido Define el gateway de pagos utilizado, en este caso se espera el valor spei
DueDate datetime Requerido Fecha límite de pago. Esta fecha debe ser mayor a la actual, formato mm/dd/yyyy
Description string Requerido Descripción del cargo a realizar
Order Order Requerido Contiene información de la orden
Customer Customer Requerido Contiene información del cliente
Shipping Shipping Opcional Contiene información referente al envío del producto
Items List<Product> Opcional Contiene el listado de productos comprados

Respuesta Exitosa

Respuesta exitosa

{
    "IdTransaction": "NMlgzPAgL3",
    "CreationDate": "2016-09-06T13:09:02.7660342-05:00",
    "IdRequest": "EE5Mlmf6f4goPVsD",
    "Method": "transfer",
    "Gateway": "spei",
    "Description": "SPEI 125800",
    "Status": "in_process",
    "Order": {
        "Reference": "10285100-2120",
        "Amount": 50,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "Jose",
        "MiddleName": "Hernández",
        "Email": "josehernandez@yahoo.mx"

    },
    "TransferPayment": {
        "Clabe": "000000000099999999",
        "DueDate": "2016-09-30T00:00:00",
        "Reference": "957338",
        "Bank":"STP (Sistema de Transferencias y Pagos)",
        "UrlDocument": "https://api.banzilla.com/v1/Documents/5FCpD3hM2U"
    }
}
Propiedad Tipo Descripción
IdTransaction string Es el ID asignado a la transacción, mediante esta propiedad se identifica de manera única cada transacción.
CreationDate datetime Fecha y hora de creación de la transacción.
IdRequest string ID de la solicitud. Este es un identificador único de la solicitud que se realiza al API.
Method string Método mediante el cual fue ejecutada la transacción, en este caso siempre contiene el valor transfer
Gateway string Gateway mediante el cual fue ejecutada la transacción, en este caso siempre contiene el valor spei
Description string Es la descripción enviada en el request del cargo
Status string Status de la transacción. Las transacciones con el method store siempre regresan un estatus de pendiente: in_process, el cual indica que estamos en espera del pago por parte del consumidor final
Order Order Contiene la información de la orden de la transacción. Esta información es la misma que la enviada en la solicitud
Customer Customer Contiene la información referente al cliente. Esta información es la misma que la enviada en la solicitud
TransferPayment TransferPayment Contiene la información referente a la solicitud de pago spei

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -1001,
    "Description": "Json request is null or wrong or incomplete.",
    "IdRequest": "xf7vKp8XfHPvGNZA",
    "Details": {
        "Error 1": "DueDate: DueDate need to be more to today"
    }
}

Se regresa un objeto Error

Reembolsar cargo

Url (POST): https://sandbox.banzilla.com/v1/refund

Este método realiza la petición de reembolso cambiando el estatus de la transacción a “Revisión por reembolso”, lo cual significa que dicha transacción será revisada por el área operativa de Banzilla quien se comunicará con el comercio para determinar la viabilidad de reembolso, en caso de ser aprobado, el área técnica de Banzilla cambiará el estatus de la transacción a “Reembolsada”, en caso contrario, se regresará el estatus a “Autorizada”

Una vez que la transacción ha sido reembolsada, el consumidor final verá reflejado el movimiento en su estado de cuenta en un estimado de 3 a 5 días habiles.

Este método solo aplica para cargos que se realizaron con tarjeta bancaria.

Solicitud

Solicitud

{
    "IdTransaction": "BlMcAj1hsB",   
    "Reason": "No se cuenta con el producto"
}
Propiedad Tipo Requerido/Opcional Descripción
IdTransaction string Requerido ID de la transacción a reembolsar
Reason string Requerido Motivo del reembolso

Respuesta Exitosa

Respuesta Exitosa

{
    "IdTransaction": "BlMcAj1hsB",
    "CreationDate": "2016-08-18T12:58:20.8755428-05:00",
    "IdRequest": "hlRchcJcYG5UYXx1",
    "Method": "card",
    "Gateway": "amex",
    "Status": "pending_refund",
    "RefundPayment": {
        "Amount": 100
    }
}


{
  "IdTransaction": "cALOkXx6kr",
  "CreationDate": "2017-01-13T13:06:20.3140468-06:00",
  "IdRequest": "MkcSGsBI9uoVNGoN",
  "Method": "card",
  "Gateway": "amex",
  "Status": "complete",
  "RefundPayment": {
    "Amount": 51
  }
}
Propiedad Tipo Descripción
IdTransaction string Es el ID asignado a la transacción, mediante esta propiedad se identifica de manera única cada transacción.
CreationDate datetime Fecha y hora de creación de la transacción
IdRequest string ID de la solicitud. Este es un identificador único de la solicitud que se realiza al API.
Method string Método mediante el cual fue ejecutada la transacción, en este caso siempre contiene el valor store
Gateway string Gateway mediante el cual fue ejecutada la transacción, en este caso siempre contiene el valor oxxo
Status string Status de la transacción. Las transacciones con el method store siempre regresan un estatus de pendiente: in_process, el cual indica que estamos en espera del pago por parte del consumidor final
RefundPayment RefundPayment Contiene la información referente al reembolso

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -9001,
    "Description": "Amount provided could not be refunded. ",
    "IdRequest": "Uoyoq73BwKXQ1uN6",
    "Details": {}
}

Se regresa un objeto Error

Transacciones

Obtener transacción

Url (GET): https://sandbox.banzilla.com/v1/transaction/{ID}

Este método regresa la información detalle de una transacción específica solicitada por su ID. Banzilla generara una respuesta en formato JSON con el detalle de la transacción o un objeto de error según aplique.

Solicitud

No requiere objeto en el cuerpo de la petición Ejemplo: https://sandbox.banzilla.com/v1/transactions/ndEQcGVbi5

Respuesta Exitosa

Respuesta Exitosa

{
    "OperativeStatus": "Authorized",
    "FinancialStatus": "To be liquidated",
    "Currency": "MXN",
    "Exchange": 1,
    "IdTransaction": "WgVhsltYcE",
    "IdOrder": "122345600",
    "Description": "Cobro del mes de agosto",
    "Created": "2016-08-11T00:00:00",
    "Amount": 120,
    "Method": "Card",
    "Gateway": "AMEX",
    "Card": {
        "CardPresent": false,
        "Months": 0,
        "Interest": false,
        "AuthCode": "000038",
        "Token": "Bz6iadwt1dUqsySMjA",
        "Active": true,
        "HolderName": "Jose Perez Lopez",
        "CardNumber": "3411-XXXX-XXXX-9823",
        "BrandCard": "AMERICAN EXPRESS",
        "TypeCard": "CREDIT",
        "Issuer": "",
        "Address": {
            "Street": "Sócrates",
            "Country": "MEXICO",
            "State": "CIUDAD DE MEXICO",
            "ZipCode": "11550"
        }
    },
    "Customer": {
        "FirstName": "Jose",
        "MiddleName": "Perez",
        "LastName": "Lopez",
        "Email": "jperezlopez@gmail.com",
        "Phone": "53871400",
        "Address": {
            "Street": "Sócrates 130",
            "Country": "MEXICO",
            "ZipCode": "11550"
        }
    },
    "Shipping": {
        "FirstName": "Maria Guadalupe",
        "MiddleName": "Ramirez",
        "LastName": "Ortega",
        "Email": "maria.ramirez@gmail.com",
        "Phone": "5510494941",
        "Address": {
            "Street": "Sócrates 130",
            "Country": "MEXICO",
            "ZipCode": "11550"
}
    },
    "Products": [
        {
            "Concept": "MXL-00010000-001",
            "Quantity": 1,
            "UnitPrice": 4800,
            "Amount": 4800
        }
    ]
}

Se regresa un objeto TransactionDetail

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -6001,
    "Description": "The specified transaction does not exist or you are not allowed to see its detail.",
    "IdRequest": "Viu3kmCZppHAAwnr",
    "Details": {}
}

Se regresa un objeto Error

Listado de transacciones

Url (POST): https://sandbox.banzilla.com/v1/transactions?start=[FECHA DE INICIO]&end=[FECHA DE TERMINO]&size=[]&page=[NUMPAGINA]

Nos permite la visualización de los detalles de las transacciones que se realizaron en un periodo de tiempo. Es necesario generar una petición en formato JSON indicando la fecha de inicio y de término del periodo a consultar. Banzilla generara una respuesta en formato JSON con el detalle de las transacciones encontradas o un objeto de error según aplique.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición, pero se tiene que indicar el periodo, tamaño de página e ítems por página.

Url: [GET] https://sandbox.banzilla.com/v1/transactions?start=08/01/2016&end=01/01/2020&size=1000&page=1

Respuesta Exitosa

Respuesta Exitosa

{
    "List": [
        {
            "OperativeStatus": "Cancelled",
            "Currency": "MXN",
            "Exchange": 1,
            "IdTransaction": "XVOlKhnzRb",
            "IdOrder": "MXL-00010000-001",
            "Description": "Compra Paquete Mexilimo Luxury Suv",
            "Created": "2016-08-08T00:00:00",
            "Amount": 4800,
            "Method": "Card",
            "Gateway": "AMEX",
            "Customer": {
                "FirstName": "Jose",
                "MiddleName": "Perez",
                "LastName": "Lopez",
                "Email": "jperezlopez@gmail.com",
                "Phone": "5510494941",
                "Address": {
                    "Street": "Sócrates 130",
                    "City": "Ciudad de México",
                    "Country": "MEX",
                    "ZipCode": "11550"
                }
            },
            "Shipping": {
                "FirstName": "Jose",
                "MiddleName": "Perez",
                "LastName": "Lopez",
                "Email": "jperezlopez@gmail.com",
                "Phone": "5510494941",
                "Address": {
                    "Street": "Sócrates 130",
                    "City": "Ciudad de México",
                    "Country": "MEX",
                    "ZipCode": "11550"
                }
            },
            "Products": [
                {
                    "Concept": "MXL-00010000-001",
                    "Quantity": 1,
                    "UnitPrice": 4800,
                    "Amount": 4800
                }
            ]
        },       

       {
            "OperativeStatus": "Authorized",
            "FinancialStatus": "To be liquidated",
            "Currency": "MXN",
            "Exchange": 1,
            "IdTransaction": "BTwGLAVYgh",
            "IdOrder": "MXL-00010000-001",
            "Description": "Compra Paquete Mexilimo Luxury Suv",
            "Created": "2016-08-08T00:00:00",
            "Amount": 4800,
            "Method": "Card",
            "Gateway": "AMEX",
            "Customer": {
                "FirstName": "Raul",
                "MiddleName": "Martinez",
                "LastName": "Hernandez",
                "Email": "raulmartinez@hotmail.com",
                "Phone": "5510494941",
                "Address": {
                    "Street": "Sócrates 130",
                    "City": "Ciudad de México",
                    "Country": "MEX",
                    "ZipCode": "11550"
                }
            },
            "Shipping": {
                "FirstName": "Raul",
                "MiddleName": "Martinez",
                "LastName": "Hernandez",
                "Email": "raulmartinez@hotmail.com",
                "Phone": "5510494941",
                "Address": {
                    "Street": "Sócrates 130",
                    "City": "Ciudad de México",
                    "Country": "MEX",
                    "ZipCode": "11550"
                }
            },
            "Products": [
                {
                    "Concept": "MXL-00010000-001",
                    "Quantity": 1,
                    "UnitPrice": 4800,
                    "Amount": 4800
                }
            ]
        },
 {
            "OperativeStatus": "Cancelled",
            "Currency": "MXN",
            "Exchange": 1,
            "IdTransaction": "IIPLQB1WHq",
            "IdOrder": "MXL-00010000-001",
            "Description": "Abono de paquete Mexilimo Luxury SUV",
            "Created": "2016-08-10T00:00:00",
            "Amount": 500,
            "Method": "Card",
            "Gateway": "AMEX",
            "Card": {
                "CardPresent": false,
                "Months": 0,
                "Interest": false,
                "Authorization": "",
                "Token": "BzrvtJCDvlsuw8UMMg",
                "Active": true,
                "HolderName": "Pepe Perez Perez",
                "CardNumber": "3476-XXXX-XXXX-3120",
                "BrandCard": "AMERICAN EXPRESS",
                "TypeCard": "CREDIT",
                "Issuer": "",
                "Address": {
                    "Street": "Sofocles",
                    "Country": "MEXICO",
                    "State": "CIUDAD DE MEXICO",
                    "ZipCode": "11550"
                }
            },
            "Customer": {
                "FirstName": "Pepe",
                "MiddleName": "Perez",
                "LastName": "Perez",
                "Email": "pepeperez@hotmail.com",
                "Phone": "5510152145",
                "Address": {
                    "Street": "Sócrates 130",
                    "City": "Ciudad de México",
                    "Country": "MEX",
                    "ZipCode": "11550"
                }
            }
        },
        {
            "OperativeStatus": "Authorized",
            "FinancialStatus": "To be liquidated",
            "Currency": "MXN",
            "Exchange": 1,
            "IdTransaction": "AD2OLEikl1",
            "IdOrder": "MXL-00010000-001",
            "Description": "Abono de paquete Mexilimo Luxury SUV",
            "Created": "2016-08-10T00:00:00",
            "Amount": 500,
            "Method": "Card",
            "Gateway": "AMEX",
            "Card": {
                "CardPresent": false,
                "Months": 0,
                "Interest": false,
                "Authorization": "008141",
                "Token": "BzrvtJCDvlsuw8UMMg",
                "Active": true,
                "HolderName": "Maria Lopez Lopez",
                "CardNumber": "3476-XXXX-XXXX-3164",
                "BrandCard": "AMERICAN EXPRESS",
                "TypeCard": "CREDIT",
                "Issuer": "",
                "Address": {
                    "Street": "Sofocles",
                    "Country": "MEXICO",
                    "State": "CIUDAD DE MEXICO",
                    "ZipCode": "11550"
                }
            },
            "Customer": {
                "FirstName": "Maria",
                "MiddleName": "Lopez",
                "LastName": "Lopez",
                "Email": "marialopez@gmail.com",
                "Phone": "552568741",
                "Address": {
                    "Street": "Sócrates 130",
                    "City": "Ciudad de México",
                    "Country": "MEX",
                    "ZipCode": "11550"
                }
            }
        }
    ],
    "TotalCount": 4,
    "Page": 1,
    "Size": 1000
}

La respuesta es un listado de objetos TransactionDetail

Respuesta de Error

Respuesta de Error

{
    "List": [],
    "TotalCount": 0,
    "Page": 1,
    "Size": 1000
}

En caso de error se regresa una lista vacia

Tarjetas

Tokenizar tarjeta

Url (POST): https://sandbox.banzilla.com/v1/cards

Con este método podremos almacenar los datos de tarjetas bancarias generando un token para su uso posterior. Una vez que la tarjeta ha sido tokenizada, se podrán realizar cargos a la misma mediante la utilización del token.

La información de las tarjetas es resguardada y no se podrá visualizar el número completo ni el código de seguridad de las mismas.

Banzilla generará una respuesta en formato JSON con el detalle del alta o un objeto de error según aplique.

Solicitud

Solicitud

{
    "Email": "juan.hernandez.lopez@yahoo.mx",
    "Phone": "5519521478",
    "Card": {
        "HolderName": "Juan Hernandez Lopez",
        "CardNumber": "341673881213039",
        "SecurityCode": "6168",
        "ExpMonth": "10",
        "ExpYear": "17",
        "Address":
        {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11550"
        }
    }
}
Propiedad Tipo Requerido/Opcional Descripción
Email string Requerido Email del tarjetahabiente
Phone string Opcional Número telefónico del tarjetahabiente
Card Card Requerido Contiene los datos de la tarjeta a tokenizar

Respuesta Exitosa

Respuesta Exitosa

{
    "Token": "Bzc2ck49Nld2sQbQep",
    "Created": "2016-08-23T10:51:16.279027",    
    "Active": true,
    "HolderName": "Juan Hernandez Lopez",
    "Email": "juan.hernandez.lopez@yahoo.mx",
    "Phone": "5519521478",
    "CardNumber": "547287-XXXX-XXXX-6272",
    "ExpMonth": 7,
    "ExpYear": 19,
    "BrandCard": "MASTERCARD",
    "TypeCard": "CREDIT",
    "Issuer": "T.C. ZIRAAT BANKASI, A.S.",
    "Bin": "547287",
    "Last4": "6272",
    "Address": {
        "Street": "Sócrates",
        "Number": "130",
        "City": "Ciudad de México",
        "Country": "MEXICO",
        "State": "CIUDAD DE MEXICO",
        "ZipCode": "11550"
    }
}

Se regresa un objeto CardResponser

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -1001,
    "Description": "Json request is null or wrong or incomplete.",
    "IdRequest": "YSbR2q2LbBQl6kGb",
    "Details": {
        "Error 1": "CardNumber: Card number is invalid."
    }
}

Se regresa un objeto Error

Obtener tarjeta

Url (GET): https://sandbox.banzilla.com/v1/cards/{token}

Este método obtiene los valores de una tarjeta a partir de su número de identificación (Token). Banzilla generara una respuesta en formato JSON con el detalle de la tarjeta o un objeto de error según aplique.

Solicitud

No requiere objeto en el cuerpo de la petición. Ejemplo: https://sandbox.banzilla.com/v1/cards/Bzc2ck49Nld2sQbQep

Respuesta Exitosa

Respuesta Exitosa

{
    "Token": "Bzc2ck49Nld2sQbQep",
    "Created": "2016-08-23T10:51:16.279027",    
    "Active": true,
    "HolderName": "Juan Hernandez Lopez",
    "Email": "juan.hernandez.lopez@yahoo.mx",
    "Phone": "5519521478",
    "CardNumber": "547287-XXXX-XXXX-6272",
    "ExpMonth": 7,
    "ExpYear": 19,
    "BrandCard": "MASTERCARD",
    "TypeCard": "CREDIT",
    "Issuer": "T.C. ZIRAAT BANKASI, A.S.",
    "Bin": "547287",
    "Last4": "6272",
    "Address": {
        "Street": "Sócrates",
        "Number": "130",
        "City": "Ciudad de México",
        "Country": "MEXICO",
        "State": "CIUDAD DE MEXICO",
        "ZipCode": "11550"
    }
}

Se regresa un objeto CardResponser

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -2003,
    "Description": "The specified card does not exist or you are not allowed to see its detail.",
    "IdRequest": "6ugZgJq3PxEm2P4X",
    "Details": {}
}

Se regresa un objeto Error

Listado de tarjetas

Url (GET): https://sandbox.banzilla.com/v1/cards

Este método regresa un listado de las tarjetas tokenizadas. Banzilla generara una respuesta en formato JSON con el detalle de las tarjetas encontradas o un objeto de error según aplique.

Solicitud

No requiere objeto en el cuerpo de la petición Url: [GET] https://sandbox.banzilla.com/v1/cards

Respuesta Exitosa

Respuesta Exitosa

{
    "List": [
        {
            "Token": "Bzc2ck49Nld2sQbQep",
            "Created": "2016-08-23T10:51:16.279027",
            "Active": true,
            "HolderName": "Juan Hernandez Lopez",
            "Email": "juan.hernandez.lopez@yahoo.mx",
            "Phone": "5519521478",            
            "CardNumber": "371773-XXXX-XXXX-1002",
            "ExpMonth": 7,
            "ExpYear": 19,
            "BrandCard": "MASTERCARD",
            "TypeCard": "CREDIT",
            "Issuer": "T.C. ZIRAAT BANKASI, A.S.",
            "Bin": "547287",
            "Last4": "6272",
            "Address": {
                "Street": "Sócrates",
                "Number": "130",
                "City": "Ciudad de México",
                "Country": "MEXICO",
                "State": "CIUDAD DE MEXICO",
                "ZipCode": "11550"
            }
        }
    ],
    "TotalCount": 1,
    "Page": 1,
    "Size": 10
}

Se regresa un listado de objetos CardResponser

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -2003,
    "Description": "The specified card does not exist or you are not allowed to see its detail.",
    "IdRequest": "6ugZgJq3PxEm2P4X",
    "Details": {}
}

Se regresa un objeto Error

Inactivar tarjeta

Url (PUT): https://sandbox.banzilla.com/v1/cards/{token}

Nos permite la inactivación de una tarjeta previamente tokenizada. Una vez inactivada no se permitirá hacer movimientos, pero los movimientos ya registrados para esta tarjeta continuaran dentro del dashboard.

Para inactivar es necesario proporcionar el ID del token

Solicitud

Ejemplo: https://sandbox.banzilla.com/v1/cards/BzL7pUJQDJzyevxQW9

Respuesta Exitosa

Status 200 ok

Respuesta de Error

Respuesta de Error

{
"Category": "ApiException",
"ErrorCode": -2003,
"Description": "The specified card does not exist or you are not allowed to see its detail.",
"IdRequest": "UfnQzZSg9lZgPCpa",
"Details": {}
}

Se regresa un objeto Error

Eliminar tarjeta

Url (DELETE): https://sandbox.banzilla.com/v1/cards/{token}

Nos permite la eliminación de una tarjeta previamente tokenizada. Unicamente se pueden eliminar tarjetas que no hayan transaccionado. Para tarjetas con transacciones solo se permite la inactivación del token (ver método anterior)

Para eliminar un token es necesario proporcionar el ID del mismo

Solicitud

Ejemplo: https://sandbox.banzilla.com/v1/cards/CRRWKKCO1fuHAVPHmb

Respuesta Exitosa

Status 200 ok

Respuesta de Error

Respuesta de Error

{
  "Category": "ApiException",
  "ErrorCode": -2003,
  "Description": "The specified card does not exist or you are not allowed to see its detail.",
  "IdRequest": "ifoPRk1WDohnFgu7",
  "Details": {}
}

Se regresa un objeto Error

Planes

Crear plan

Url (POST): https://sandbox.banzilla.com/v1/plans

Este método realiza la creación de un plan para pagos recurrentes. Es necesario definir la frecuencia con la que se realizaran los cargos recurrentes, así como su importe y vigencia. Banzilla generara una respuesta en formato JSON con el detalle del alta o el detalle del error en la creación del plan según aplique.

Solicitud

Solicitud

{
    "PlanName": "Plan mensual",
    "Description": "Plan de cobros mensuales",
    "Amount": 50.00,
    "Frequency": 4,
    "RepeatEvery": 1,
    "MaxAttempts": 3,
    "PlanDuration": null
}
Propiedad Tipo Requerido/Opcional Descripción
PlanName string Requerido Nombre del plan
Description string Requerido Descripción del plan
Amount decimal Requerido Importe del plan, el cual deberá ser mayor a cero
Frequency int Requerido En conjunto con la propiedad “RepeatEvery” representan la periodicidad de cobro. El campo frequency debe tomar alguno de los siguientes valores (1 = Dia, 2 = Semana, 3 = Mes, 4 = Año)
RepeatEvery int Requerido En conjunto con la propiedad “RepeatEvery” representan la periodicidad de cobro. El campo RepeatEvery determina el número de unidades del plan. Ejemplos: Frequency = 1, RepeatEvery = 5 (Plan que se cobra cada 5 dias), Frequency = 2, RepeatEvery = 1 (Plan que se cobra 1 vez cada semana), Frequency = 3, RepeatEvery = 3 (Plan trimestral con cobro cada tres meses)
PlanDuration int Opcional Duración del plan. Indica el número de cobros que deberán realizarse para darse por concluido el plan. Este valor puede ser NULL en cuyo caso se indica que es un plan con duración indefinida
MaxAttempts int Requerido Indica el número máximo de intentos de cobro que se deberán realizar por ciclo de cobro

Respuesta Exitosa

Respuesta Exitosa

{
    "IdPlan": "Eo8kFFEfsAy7gxNw",
    "Active": true,
    "Created": "2016-08-23T15:58:14.347306",
    "PlanName": "Plan mensual",
    "Description": "Plan de cobros mensuales",
    "Amount": 50,
    "Frequency": 4,
    "RepeatEvery": 1,
    "PlanDuration": 0,
    "MaxAttempts": 3
}

Se regresa un objeto Plan

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -1001,
    "Description": "Json request is null or wrong or incomplete.",
    "IdRequest": "wpmekdDRWQGr6xvi",
    "Details": {
        "Error 1": "Frequency: Frequency can take the follow values 1 = Day, 2 = Week, 3 = Month, 4 = Year "
    }
}

Se regresa un objeto Error

Obtener plan

Url (GET): https://sandbox.banzilla.com/v1/plans/{idplan}

Este método obtiene todos los valores de un plan en específico, este se selecciona a partir de su número identificador de plan (Id). Banzilla generara una respuesta en formato JSON con el detalle del plan o un objeto de error según aplique.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Ejemplo: https://sandbox.banzilla.com/v1/plans/25hRh2KvHymbLnqu

Respuesta Exitosa

Respuesta Exitosa

{
    "IdPlan": "Eo8kFFEfsAy7gxNw",
    "Active": true,
    "Created": "2016-08-23T15:58:14.347306",
    "PlanName": "Plan mensual",
    "Description": "Plan de cobros mensuales",
    "Amount": 50,
    "Frequency": 4,
    "RepeatEvery": 1,
    "PlanDuration": 0,
    "MaxAttempts": 3
}

Se regresa un objeto Plan

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -4001,
    "Description": "The specified plan does not exist or you are not allowed to see its detail.",
    "IdRequest": "8oJLsRfzQQqz6ppE",
    "Details": {}
}

Se regresa un objeto Error

Listado de planes

Url (GET): https://sandbox.banzilla.com/v1/plans

Este método devuelve un listado de todos los planes que tenemos registrados. Banzilla generara una respuesta en formato JSON con el detalle de los planes encontrados o un objeto de error según aplique.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición Ejemplo: https://sandbox.banzilla.com/v1/plans/?page=1&size=10

Respuesta Exitosa

Respuesta Exitosa

{
    "List": [
        {
            "IdPlan": "Eo8kFFEfsAy7gxNw",
            "Active": true,
            "Created": "2016-08-23T15:58:14.347306",
            "PlanName": "Plan mensual",
            "Description": "Plan de cobros mensuales",
            "Amount": 50,
            "Frequency": 4,
            "RepeatEvery": 1,
            "PlanDuration": 0,
            "MaxAttempts": 3
        }
    ],
    "TotalCount": 1,
    "Page": 1,
    "Size": 10
}

Se regresa un listado de objetos Plan

Respuesta de Error

Respuesta de Error

{
    "List": [],
    "TotalCount": 0,
    "Page": 1,
    "Size": 10
}

Se regresa un listado vacío

Eliminar plan

Url (DELETE): https://sandbox.banzilla.com/v1/plans/{idplan}

Este método realiza la eliminación definitiva de un plan mediante su número identificador. Solo se pueden eliminar planes que no hayan generado movimientos, es decir, que no tengan suscripciones activas ni inactivas. En caso de que el plan que se desee eliminar tenga movimientos será necesario utilizar el método desactivar plan.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Ejemplo: https://sandbox.banzilla.com/v1/plans/25hRh2KvHymbLnqu

Respuesta Exitosa

Status 200 ok

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -4001,
    "Description": "The specified plan does not exist or you are not allowed to see its detail.",
    "IdRequest": "jg3FBeCnVoMBsIiq",
    "Details": {}
}

Se regresa un objeto Error

Desactivar plan

Url (PUT): https://sandbox.banzilla.com/v1/plans/{idplan}

Este método realiza la suspensión de un plan, así como la suspensión de todas las suscripciones recurrentes asociadas al mismo.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Ejemplo: https://sandbox.banzilla.com/v1/plans/u6ID1h1KPrhdAMLx

Respuesta Exitosa

Status 200 ok

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -4005,
    "Description": "Plan is already disabled.",
    "IdRequest": "bJ8QiCfEHeOWGtub",
    "Details": {}
}

Se regresa un objeto Error

Suscripciones

Crear suscripción

Url (GET): https://sandbox.banzilla.com/v1/subscription

Este método permite suscribir una tarjeta a un plan recurrente. Toda tarjeta suscrita a un plan deberá ser tokenizada, sin embargo, en la solicitud de suscripción es posible enviar los datos de la tarjeta (sin tokenizar) y el proceso de suscripción tokenizará la tarjeta devolviendo el token asociado, o bien, enviar en la solicitud de suscripción el token de la tarjeta a suscribir.

Para ejecutar este método se necesita realizar una petición JSON con el ID del plan previamente registrado. Banzilla generará una respuesta en formato JSON con el detalle del alta de la suscripción o un error en la transacción según aplique.

Solicitud

Solicitud utilizando el token de la tarjeta

{
    "IdPlan":"Eo8kFFEfsAy7gxNw",
    "StartDate": "8/25/2016",
    "Subscriber":"Maria Lopez Lopez",
    "IdOrder": "REF1QZ839"
    "Email": "maria@hotmail.com",
    "Phone": "5563521489",
    "Token": "Bzc2ck49Nld2sQbQep"
}
Propiedad Tipo Requerido/Opcional Descripción
IdPlan String Requerido ID del plan a suscribir
StartDate Date Requerido Fecha en que se deberá realizar el primer cobro del plan, formato mm/dd/yyyy
Email String Requerido Email del suscriptor
Phone String Opcional Teléfono del suscriptor
Subscriber String Opcional Nombre completo del suscriptor
Token String Requerido Token de la tarjeta a suscribir
IdOrder String Requerido ID de orden, este campo se utilizará como referencia al momento de realizar el cargo de la suscripción

Solicitud

Solicitud enviando los datos de la tarjeta

{
    "IdPlan":"x9Y96NJXm1Ga6jG2",
    "Subscriber":"Maria Lopez Lopez",
    "StartDate": "8/25/2016",
    "IdOrder": "Orden 15200",
    "Email": "maria@hotmail.com",
    "Phone": "5563521489",
    "Card": {
        "HolderName" : "Maria Lopez Lopez",        
        "CardNumber" : "4498179141692954",
        "SecurityCode" : "940",
        "ExpMonth" : "06",
        "ExpYear" : "16",
        "Address" : {
            "Street": "Socrates",
            "Number": "130",
            "Apartment": null,
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11550"
        }
      }
}
Propiedad Tipo Requerido/Opcional Descripción
IdPlan String Requerido ID del plan a suscribir
StartDate Date Requerido Fecha en que se deberá realizar el primer cobro del plan, formato mm/dd/yyyy
Email String Requerido Email del suscriptor
Phone String Opcional Teléfono del suscriptor
Subscriber String Opcional Nombre completo del suscriptor
IdOrder String Requerido ID de orden, este campo se utilizará como referencia al momento de realizar el cargo de la suscripción
Card Card Requerido Objeto card con los datos de la tarjeta bancaria a suscribir

Respuesta Exitosa

Respuesta Exitosa

{
  "IdSubscription": "1Ctrh3XcBk9KMXAq",
  "Created": "2016-12-15T11:30:15.225865",
  "Active": true,
  "Subscriber": "Lucia Reyes",
  "Email": "luciar@hotmail.com",
  "Completed": false,
  "Payments": 0,
  "StartDate": "2017-01-01T00:00:00",
  "Attempts": 0,
  "RemainingPayments": 0,
  "NextPayment": "2017-01-01T00:00:00",
  "Card": {
    "Token": "Bzu2vUqvzfJQ1IAJSg",
    "Active": true,
    "HolderName": "Lucia Reyes",
    "CardNumber": "4931-XXXX-XXXX-1038"
  },
  "Plan": {
    "IdPlan": "P9bXwdojRfpukyLb",
    "Active": true,
    "PlanName": "Plan cada tercer día - 15 pesos",
    "Amount": 15,
    "Frequency": 1,
    "RepeatEvery": 3,
    "MaxAttempts": 3
  }
}

Se regresa un objeto SubscriptionResponse, sin los atributos LastAttempt y LastPayment ya que al momento de la inserción estos datos toman el valor null

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -1001,
    "Description": "Json request is null or wrong or incomplete.",
    "IdRequest": "fOyB9JRfUhdycsym",
    "Details": {
        "Error 1": "CardNumber: Card number is invalid."
    }
}

Se regresa un objeto Error

Obtener suscripción

Url (GET): https://sandbox.banzilla.com/v1/subscription/{idsubscription}

Este método regresa todos los detalles de una suscripción. Banzilla generara una respuesta en formato JSON con el detalle de la suscripción o un objeto de error según aplique.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición Ejemplo: https://sandbox.banzilla.com/v1/subscription/ID9uD7o7nvf1KdDM

Respuesta Exitosa

Respuesta Exitosa

{
    "IdSubscription": "QRYdSVKmiMgfyTQb",
    "Created": "2016-08-23T16:23:33.069019",
    "Active": true,
    "Subscriber": "Maria Lopez Lopez",
    "Email": "maria@hotmail.com",
    "Completed": false,
    "Payments": 0,
    "StartDate": "2016-08-25T00:00:00",
    "Attempts": 0,
    "RemainingPayments": 0,
    "NextPayment": "2016-08-25T00:00:00",
    "Card": {
        "Token": "BzN7CLDqV3eQhCzDxq",
        "Active": true,
        "HolderName": "Maria Lopez Lopez",
        "CardNumber": "4498-XXXX-XXXX-2954"
    },
    "Plan": {
        "IdPlan": "ijiVzdiqAtc538Ef",
        "Active": true,
        "PlanName": "Suscripcion a revista trimestral por 3 años",
        "Amount": 120,
        "Frequency": 3,
        "RepeatEvery": 3,
        "MaxAttempts": 3
    }
}

Se regresa un objeto SubscriptionResponse

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -5001,
    "Description": "The specified plan does not exist or you are not allowed to see its detail.",
    "IdRequest": "rypFdx2RG5dsjaQ7",
    "Details": {}
}

Se regresa un objeto Error

Listado de suscripciones

Url: [GET] https://sandbox.banzilla.com/v1/subscription

Este método devuelve el listado de todas las suscripciones. Banzilla generará el listado de suscripciones en formato JSON. En caso de no encontrar suscripciones se regresará un listado vacío.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Respuesta Exitosa

Respuesta Exitosa

{
    "List": [
        {
            "IdSubscription": "vCXyhhbxlCl7rt8L",
            "Created": "2016-10-03T16:23:58.769964",
            "Active": false,
            "Subscriber": "Soledad Fernandez Marquez",
            "Email": "soledad.fernandez@live.com",
            "Completed": false,
            "Payments": 5,
            "StartDate": "2016-10-04T00:00:00",
            "Attempts": 0,
            "RemainingPayments": 0,
            "NextPayment": "2016-11-02T00:00:00",
            "LastPayment": "2016-10-03T17:49:00.79925",
            "Card": {
                "Token": "BzAdy5XGdNFVuWfgLq",
                "Active": false,
                "HolderName": "Soledad Fernandez Marquez",
                "CardNumber": "3411-XXXX-XXXX-7613"
            },
            "Plan": {
                "IdPlan": "zQqhFN9tOezTu38t",
                "Active": false,
                "PlanName": "Plan mensual ",
                "Amount": 1000,
                "Frequency": 3,
                "RepeatEvery": 1,
                "MaxAttempts": 3
            }
        },
        {
            "IdSubscription": "C9iRj5rXJLjAFOBO",
            "Created": "2016-10-03T16:22:24.677666",
            "Active": false,
            "Subscriber": "Juan Pérez Pérez",
            "Email": "jperez@live.com.mx",
            "Completed": false,
            "Payments": 5,
            "StartDate": "2016-10-04T00:00:00",
            "Attempts": 0,
            "RemainingPayments": 0,
            "NextPayment": "2016-11-02T00:00:00",
            "LastPayment": "2016-10-03T17:49:01.373818",
            "Card": {
                "Token": "BzGTdN6Dsc7K6Q7OFI",
                "Active": false,
                "HolderName": "Juan Pérez Pérez",
                "CardNumber": "4426-XXXX-XXXX-0088"
            },
            "Plan": {
                "IdPlan": "zQqYUN3tOezTu38t",
                "Active": false,
                "PlanName": "Plan mensual",
                "Amount": 1000,
                "Frequency": 3,
                "RepeatEvery": 1,
                "MaxAttempts": 3
            }
        }
    ],
    "TotalCount": 2,
    "Page": 1,
    "Size": 50
}

Se regresa un listado de objetos SubscriptionDetail

Respuesta de Error

Respuesta de Error

{
    "List": [],
    "TotalCount": 0,
    "Page": 1,
    "Size": 10
}

Se regresa una lista vacia

Inactivar suscripción

Url (DELETE): https://sandbox.banzilla.com/v1/subscription/{Idsubscription}

Este método permite cancelar la suscripción a un plan recurrente evitando que se realicen más cargos a la tarjeta y cancelando los cargos programados pendientes.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Ejemplo: https://sandbox.banzilla.com/v1/subscription/u6ID1h1KPrhdAMLx

Respuesta Exitosa

Status 200 ok

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -5003,
    "Description": "Subscription is already inactive.",
    "IdRequest": "nNLJzWE9q6NuxwKL",
    "Details": {}
}

Se regresa un objeto Error

Reactivar suscripción

Url (POST): https://sandbox.banzilla.com/v1/enable/subscription/{Idsubscription}

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición, únicamente requiere el ID de la suscripción a reactivar

Ejemplo: https://sandbox.banzilla.com/v1/enable/subscription/u6ID1h1KPrhdAMLx

Respuesta Exitosa

Status 200 ok

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -5003,
    "Description": "Subscription is already inactive.",
    "IdRequest": "nNLJzWE9q6NuxwKL",
    "Details": {}
}

Se regresa un objeto Error

Webhooks

Un Webhooks es un evento callback que se ejecuta automáticamente después de tener lugar determinados eventos. Para que un webhook se ejecute es necesario que exista una URL configurada en donde el cliente espere la respuesta del evento ejecutado. Por ejemplo, si se quieren captar las respuestas asíncronas de la ejecución de un cargo con tarjeta, se tiene que crear un webhook para el evento “TokenPaymentSuccess”, y se tiene que indicar la url en donde se captara la respuesta. En caso de que exista autenticación en dicha url, se tiene que proveer tanto el usuario como la contraseña en el request de creación del webhook.

Es importante mencionar que la configuración de los webhooks solo aceptan POST y GET, y que la autenticación de los mismos deberá ser tipo Basic.

Los eventos soportados son:

Evento Descripción
DirectPaymentSuccess Pago directo exitoso
DirectPaymentFail Pago directo fallido
RecurrentPaymentSuccess Pago con token exitoso
RecurrentPaymentFail Pago con token fallido
StorePaymentPending Pago pendiente generado por Store
TransferPaymentPending Pago pendiente generado por Transfer
StorePaymentSuccess Pago exitoso realizado en Store
TransferPaymentSuccess Pago exitoso realizado por Transfer
Challenge Transacción sospechosa y que será analizada
Refund Reembolso realizado
ChallengeRetriedApproved Transacción challenge aprobada
ChallengeRetriedDeclined Transacción challenge declinada

Alta de Webhook

Url: [POST] http://sandbox.banzilla.com/v1/webhooks

Este método realiza la configuración de un webhook para un evento de Banzilla. Al solicitar la creación, la API realiza una petición para verificar que la URL provista esté habilitada, con esta verificación poblará el campo “Verified” en true o false según sea el caso.

Solicitud

Solicitud

{
    "Event":"TokenPaymentSuccess",
    "Url": "https://www.mitienda.com/apiresponse",
    "Method": "POST"    
}
Propiedad Tipo Requerido/Opcional Descripción
Url string Requerido URL donde se realizará la notificación
User string Opcional Es el usuario para la autenticación a la URL
Password string Opcional Password de autenticación a la URL. Este valor es obligatorio cuando se proporciona un User
Method string Requerido Método HTTP. Deberá tomar alguno de los siguientes valores (GET, POST)
Event string Requerido Evento que dispara la notificación a la URL. Ver tabla de eventos

Respuesta Exitosa

Respuesta Exitosa

{
  "Reference": "o4LDOEwMCxciCicf",
  "Creation": "2016-08-10T11:14:29.664345",
  "Verified": false,
  "Url": "https://www.mitienda.com/apiresponse",
  "Method": "POST",
  "Event": "TokenPaymentSuccess"
}

La respuesta es un objeto Webhook

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -8001,
    "Description": "Events provided no match, please review API Docs.",
    "IdRequest": "BAviur9B7k5m2Fgh",
    "Details": {}
}

Se regresa un objeto Error

Obtener Webhook

Url: [GET] http://sandbox.banzilla.com/v1/webhooks/{ID}

Obtiene la información de un webhook a partir de su ID.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Ejemplo: http://sandbox.banzilla.com/v1/webhooks/6a8Uz2Y8cG3EVRW2

Respuesta Exitosa

Respuesta Exitosa

{
    "Reference": "6a8Uz2Y8cG3EVRW2",
    "Creation": "2016-08-09T11:55:42.202819",
    "Verified": true,
    "Url": "https://www.google.com.mx",
    "Method": "POST",
    "Event": "TokenPaymentSuccess"
}

Se regresa un objeto Webhook

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -8002,
    "Description": "The specified webhook does not exist or you are not allowed to see its detail.",
    "IdRequest": "qMtN1gNyEeVrhmxB",
    "Details": {}
}

Se regresa un objeto Error

Listado de webhooks

Url: [GET] http://sandbox.banzilla.com/v1/webhooks

Obtiene el listado de webhooks configurados. Este método permite indicar la página y el total de elementos que se quieren consultar por página, usando las variables “page” y “size” respectivamente.

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Respuesta Exitosa

Respuesta Exitosa

{
    "List": [
        {
            "Reference": "6a8Uz2Y8cG3EVRW2",
            "Creation": "2016-08-09T11:55:42.202819",
            "Verified": true,
            "Url": "https://www.google.com.mx",
            "Method": "POST",
            "Event": "TokenPaymentSuccess"
        },
        {
            "Reference": "o4LDOEwMCxciCicf",
            "Creation": "2016-08-10T11:14:29.664345",
            "Verified": false,
            "Url": "https://www.mitienda.com/apiresponse",
            "Method": "POST",
            "Event": "TokenPaymentSuccess"
        }
    ],
    "TotalCount": 2,
    "Page": 1,
    "Size": 10
}

Se regresa un listado de objetos Webhook

Respuesta de Error

Respuesta de Error

{
    "List": [],
    "TotalCount": 0,
    "Page": 1,
    "Size": 10
}

Se regresa un listado vacio

Eliminar webhook

Url: [DELETE] http://sandbox.banzilla.com/v1/webhooks/{ID}

Elimina la configuración de un webhook a partir de su ID

Solicitud

No requiere el envío de un objeto en el cuerpo de la petición

Ejemplo: http://sandbox.banzilla.com/v1/webhooks/6a8Uz2Y8cG3EVRW2

Respuesta Exitosa

Status 200 OK

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -8002,
    "Description": "The specified webhook does not exist or you are not allowed to see its detail.",
    "IdRequest": "UxSTikYJCJH96paV",
    "Details": {}
}

Se regresa un objeto Error

Notificación de eventos webhook

Los eventos que el cliente configura en sus notificaciones webhook (Ver tabla de eventos) envian un objeto json cuando dicho evento ocurre. El cliente debe tener las siguientes consideraciones:

A continuación se muestra la estructura que el cliente debe esperar al realizarse una notificación webhook para cada evento.

Evento: DirectPaymentSuccess

Pago directo exitoso

Objeto de notificación

{
    "IdTransaction": "CKRh5E9ktn",
    "CreationDate": "2016-04-19T18:37:45.3508704-05:00",
    "IdRequest": "4pCOamjUJPNLBFCl",
    "Method": "card",
    "Gateway": "amex",
    "Description": "Cargo con tarjeta",
    "Status": "complete",
    "IsRecurrent": false,
    "Order": {
        "Reference": "fpPnxocvlJ",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Address": {
            "Street": "Angel Pola",
            "Number": "10",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11220"
        }
    },
    "CardPayment": {
        "HolderName": "José Pérez López",
        "CardNumber": "3456-XXXX-XXXX-0007",
        "Authorization": "128363",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    }
}

Evento: DirectPaymentFail

Pago directo fallido

Objeto de notificación

{
    "IdTransaction": "ve1CSDtJYx",
    "CreationDate": "2016-04-19T18:36:02.6493266-05:00",
    "IdRequest": "gPX4wDygEk4YpYMb",
    "Method": "card",
    "Gateway": "amex",
    "Description": "Cargo con tarjeta",
    "Status": "denied",
    "IsRecurrent": false,
    "Order": {
        "Reference": "fpPnxocvlJ",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Address": {
            "Street": "Angel Pola",
            "Number": "10",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11220"
        }
    },
    "CardPayment": {
        "HolderName": "José Pérez López",
        "CardNumber": "3456-XXXX-XXXX-0007",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    }
}

Evento: RecurrentPaymentSuccess

Pago con token exitoso

Objeto de notificación

{
    "IdTransaction": "vIXiecTSdY",
    "CreationDate": "2016-06-01T06:00:27.5525232-05:00",
    "IdRequest": "ULpcqtzoyAPYh5s6",
    "Method": "token",
    "Gateway": "amex",
    "Description": "Suscripción mensual",
    "Status": "complete",
    "IsRecurrent": true,
    "Order": {
        "Reference": "0h8gP9sy2f",
        "Amount": 100.0,
        "Currency": "MXN"
    },
    "CardPayment": {
        "HolderName": "José Pérez López",
        "CardNumber": "3766-XXXX-XXXX-5006",
        "Authorization": "274212",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    },
    "Recurrent": {
        "Subscriber": "José Pérez López",
        "Email": "jose.perez@hotmail.com",
        "IdSubscription": "Vr9jBN83jl6SzvE3",
        "IdPlan": "xtRGu36NwRheJhj9",
        "PlanName": "Plan de suscrpción mensual",
        "StartDate": "2016-05-12T00:00:00",
        "Token": "BzSSYKYLHbOaqvxPkJ",
        "Payments": 21,
        "NextPayment": "2016-06-02T00:00:00"
    }
}

Evento: RecurrentPaymentFail

Pago con token fallido

Objeto de notificación

{
    "IdTransaction": "bNBoUGQ357",
    "CreationDate": "2016-06-01T18:00:34.2463815-05:00",
    "IdRequest": "Q57WkRHzuhvNKFUh",
    "Method": "token",
    "Gateway": "amex",
    "Description": "Suscripción mensual",
    "Status": "denied",
    "IsRecurrent": true,
    "Order": {
        "Reference": "6jOyOyQTJb",
        "Amount": 100.0,
        "Currency": "MXN"
    },
    "CardPayment": {
        "HolderName": "José Pérez López",
        "CardNumber": "3766-XXXX-XXXX-4009",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    },
    "Recurrent": {
        "Subscriber": "José Pérez López",
        "Email": "jose.perez@hotmail.com",
        "IdSubscription": "b8NdZ2WiaWBzRZTy",
        "IdPlan": "xtRGu36NwRheJhj9",
        "PlanName": "Suscripción mensual",
        "StartDate": "2016-05-12T00:00:00",
        "Token": "Bz6TuZcNVHUZ6TBNMj",
        "Payments": 0,
        "NextPayment": "2016-05-24T00:00:00"
    }
}

Evento: StorePaymentPending

Pago pendiente generado por Store

Objeto de notificación

{
    "IdTransaction": "AXTAq9Yqgj",
    "CreationDate": "2016-12-01T09:41:32.51783",    
    "Method": "Store",
    "Gateway": "OXXO",
    "Description": "Cargo con oxxo",
    "Status": "complete",   
    "Order": {
        "Reference": "119216",
        "Amount": 50.0,
        "Currency": "MXN",
        "Website": "10.0.1.254"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",        
        "Email": "jose.perez@hotmail.com",
        "Phone": "5510495252",      
        "Address": {
            "Street": "Sócrates",
            "Number": "130",            
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11550"
        }
    },
    "StorePayment": {
        "BarCode": "57739795394982016123000050003",
        "DueDate": "2016-06-02T12:13:04.9878231-05:00",
        "UrlDocument": "https://api.banzilla.com/v1/Documents/AXTAq9Yqgj"
    }
}

Evento: TransferPaymentPending

Pago pendiente generado por Transfer

Objeto de notificación

{
    "IdTransaction": "2LGhlqVXuX",
    "CreationDate": "2016-04-19T18:40:00.1691538-05:00",
    "IdRequest": "W4ZeNgFz4DVzQ2Zb",
    "Method": "transfer",
    "Gateway": "spei",
    "Description": "Prueba con spei",
    "Status": "in_process",
    "Order": {
        "Reference": "119216",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11550"
        }
    },
    "TransferPayment": {
        "Clabe": "646180120899999955",
        "DueDate": "2016-12-30T00:00:00",
        "Reference": "368192",
        "Bank": "STP (Sistema de Transferencias y Pagos)",
        "UrlDocument": "https://api.banzilla.com/v1/Documents/2LGhlqVXuX"
    }
}

Evento: StorePaymentSuccess

Pago exitoso realizado en Store

Objeto de notificación

{
    "IdTransaction": "AXTAq9Yqgj",
    "CreationDate": "2016-12-01T09:41:32.51783",    
    "Method": "Store",
    "Gateway": "OXXO",
    "Description": "Prueba con oxxo",
    "Status": "complete",
    "Order": {
        "Reference": "119216",
        "Amount": 50.0,
        "Currency": "MXN",
        "Website": "10.0.1.254"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Phone": "5510495252",      
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11550"
        }
    },
    "StorePayment": {
        "BarCode": "57739795394982016123000050003",
        "DueDate": "2016-06-02T11:12:22.1002964-05:00",
        "UrlDocument": "https://api.banzilla.com/v1/Documents/AXTAq9Yqgj"
    }
}

Evento: TransferPaymentSuccess

Pago exitoso realizado por Transfer

Objeto de notificación

{
    "IdTransaction": "dQtmgB6hKh",
    "CreationDate": "2016-03-13T16:29:46.495398",
    "Method": "Transfer",
    "Gateway": "SPEI",
    "Description": "Prueba con spei",
    "Status": "complete",
    "Order": {
        "Reference": "119216",
        "Amount": 50.0,
        "Currency": "MXN",
        "Website": "10.0.1.254"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Phone": "5510495252",
        "Address": {
            "Street": "Sócrates",
            "Number": "130",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11550"
        }
    },
    "TransferPayment": {
        "Clabe": "646180120899999955",
        "DueDate": "2016-12-30T00:00:00",
        "Reference": "915432",
        "Bank": "STP (Sistema de Transferencias y Pagos)",
        "UrlDocument": "https://api.banzilla.com/v1/Documents/dQtmgB6hKh"
    }
}

Evento: Refund

Reembolso realizado

Objeto de notificación

{
    "IdTransaction": "CKRh5E9ktn",
    "CreationDate": "2016-04-19T18:41:50.3884713-05:00",
    "IdRequest": "gTF3x4Ck1rsjIVmD",
    "Method": "card",
    "Gateway": "amex",
    "Status": "complete",
    "RefundPayment": {
        "Amount": 50.00
    }
}

Evento: Challenge

Transacción sospechosa y que será analizada para ejecutar su aprobación

Objeto de notificación

{
    "IdTransaction": "r4ucEfjfdw",
    "CreationDate": "2016-04-19T18:22:31.9007885-05:00",
    "IdRequest": "9ygpyLwBXAN1hgKv",
    "Method": "card",
    "Gateway": "amex",
    "Description": "City Airport Transfer ",
    "Status": "under_review",
    "IsRecurrent": false,
    "Order": {
        "Reference": "fpPnxocvlJ",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Address": {
            "Street": "Angel Pola",
            "Number": "10",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11220"
        }
    },
    "CardPayment": {
        "HolderName": "José Pérez López",
        "CardNumber": "3456-XXXX-XXXX-0007",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    }
}

Evento: ChallengeRetriedApproved

Transacción challenge aprobada

Objeto de notificación

{
    "IdTransaction": "lQQsivdhpj",
    "CreationDate": "2016-04-21T12:57:13.2128466-05:00",
    "IdRequest": "Tobp6VF5NXnf4byR",
    "Method": "card",
    "Gateway": "amex",
    "Description": "Cargo con tarjeta",
    "Status": "approved",
    "IsRecurring": false,
    "Order": {
        "Reference": "fpPnxocvlJ",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Address": {
            "Street": "Angel Pola",
            "Number": "10",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11220"
        }
    },
    "CardPayment": {
        "HolderName": "José Pérez López",
        "CardNumber": "345678-XXXX-XXXX-0007",
        "Authorization": "146159",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    }
}

Evento: ChallengeRetriedDeclined

Transacción challenge declinada

Objeto de notificación

{
    "IdTransaction": "cqFaoDijFp",
    "CreationDate": "2016-04-21T12:53:11.914292-05:00",
    "IdRequest": "Tobp6VF5NXnf4byR",
    "Method": "card",
    "Gateway": "amex",
    "Description": "City Airport Transfer ",
    "Status": "declined",
    "IsRecurring": false,
    "Order": {
        "Reference": "fpPnxocvlJ",
        "Amount": 50.00,
        "Currency": "MXN"
    },
    "Customer": {
        "FirstName": "José",
        "MiddleName": "Pérez",
        "LastName": "López",
        "Email": "jose.perez@hotmail.com",
        "Address": {
            "Street": "Angel Pola",
            "Number": "10",
            "City": "Ciudad de México",
            "Country": "MEX",
            "State": "CX",
            "ZipCode": "11220"
        }
    },
    "CardPayment": {
        "HolderName": "José Cortés Pérez",
        "CardNumber": "345678-XXXX-XXXX-0007",
        "Authorization": "146121",
        "BrandCard": "American Express",
        "Issuer": "American Express",
        "TypeCard": "CREDIT"
    }
}

Blacklist

Agregar tarjeta

Url: [POST] https://sandbox.banzilla.com/v1/cards/blacklist

Este método agrega una tarjeta a la blacklist del comercio, con lo cual no se permitirá cobro alguno para dicha tarjeta

Solicitud

Solicitud

{
    "CardNumber": "4898242678918611",
    "Reason": "Tarjeta robada"
}
Propiedad Tipo Requerido/Opcional Descripción
CardNumber string Requerido Número de tarjeta a suscribir a blacklist
Reason string Requerido Motivo de ingreso a blacklist

Solicitud

{
    "Token": "BzsEm56GTTNqlFMk7S",
    "Reason": "Tarjeta robada"
}
Propiedad Tipo Requerido/Opcional Descripción
Token string Requerido Token de la tarjeta a ingresar a blacklist
Reason string Requerido Motivo de ingreso a blacklist

Respuesta Exitosa

Status 200 OK

Respuesta de Error

Respuesta de Error

{
    "Category": "ApiException",
    "ErrorCode": -2007,
    "Description": "Card is already in Blacklist.",
    "IdRequest": "FaWIdJK11kvnjTAN",
    "Details": {}
}

Se regresa un objeto Error

Listado de tarjetas en blacklist

Url: [GET] https://sandbox.banzilla.com/v1/cards/blacklist

Este método regresa un listado de las tarjetas en blacklist, identificando las tarjetas que están en blacklist por sistema y las que como comercio has agregado.

Solicitud

No requiere objeto en el cuerpo de la petición

Respuesta Exitosa

Respuesta Exitosa

{
    "List": [
        {
            "Created": "2016-08-24T00:00:00",
            "Global": false,
            "Card": "4898-XXXX-XXXX-8611",
            "Reason": "tarjeta robada"
        }
    ],
    "TotalCount": 1,
    "Page": 1,
    "Size": 10
}
Propiedad Tipo Descripción
Created datetime Fecha de inserción en blacklist
Global bool Indica si la tarjeta se encuentra en blacklist de manera global, es decir, por Banzilla (true), o si es una tarjeta en blacklist únicamente para el comercio que invoca el método
Card string Número de tarjeta en blacklist. Unicamente se muestran los primeros 4 digitos y últimos 4 digitos. Formato “NNNN-XXXX-XXXX-NNNN”
Reason string Motivo por el cual ingreso a blacklist

Respuesta de Error

Respuesta de Error

{
    "List": [],
    "TotalCount": 0,
    "Page": 1,
    "Size": 10
}

Se regresa una lista vacia

Eliminar de blacklist

Url: [DELETE] https://sandbox.banzilla.com/v1/cards/blacklist/4898242678918611
Este método borra una tarjeta de la blacklist del comercio. Es importante notar que no es posible eliminar una tarjeta de blacklist que ha sido ingresada por Banzilla.

Solicitud

No requiere objeto en el cuerpo de la petición, únicamente enviar el número de tarjeta a borrar de blacklist

Respuesta Exitosa

Status 200 OK

Respuesta de Error

Respuesta de Error

{
    "List": [],
    "TotalCount": 0,
    "Page": 1,
    "Size": 10
}

Se regresa un objeto Error

Objetos comunes

Definición de objetos compartidos entre solicitudes y respuestas de diversos métodos

Objeto Address

Propiedad Tipo Requerido/Opcional Descripción
Street string Requerido Calle
Number string Requerido Número exterior
Apartment string Opcional Número interior
City string Requerido Nombre de la ciudad, no se requiere codificación ISO
Country string(3) Requerido País. Se debe especificar con formato ISO
State string(2) Requerido Estado. Se debe específicar con formato ISO. Para los países: Estados Unidos, México y Cánada, se valida el ISO del Estado acorde al listado.
ZipCode string(5) Requerido Código Postal a 5 digitos

Objeto Card

Propiedad Tipo Requerido/Opcional Descripción
HolderName string(50) Requerido Titular de la tarjeta bancaria
CardNumber string Requerido Número de tarjeta bancaria. Este valor deberá enviarse sin formato alguno, no espacios en blanco, no guiones. Ejemplo: 4898242678918611
SecurityCode string(5) Requerido CVV de tarjeta bancaria, por lo regular consiste en 3 caracteres, para tarjetas AMEX son 4.
ExpMonth int Requerido Mes de expiración de la tarjeta. Acepta valores entre (1-12)
ExpYear int Requerido Año de expiración de la tarjeta, solo utilizar los dos últimos dígitos
Address Address Requerido Dirección de la tarjeta bancaria. Es la dirección donde llegan los estados de cuenta de la tarjeta

Objeto CardDetail

Propiedad Tipo Descripción
CardPresent bool Indica si el cargo fue realizado con tarjeta presente (true)
Months int Indica el número de pagos en que fue diferido el pago
Interest bool Indica si el cargo fue realizado a meses con intereses (true), sin intereses (false)
Authorization string Código de autorizacion del cargo a la tarjeta bancaria
Token string Token de la tarjeta bancaria
Active bool Indica si el token se encuentra activo en el momento de la petición
HolderName string Titular de la tarjeta bancaria
CardNumber string Número de tarjeta bancaria. Solo los primeros 4 digitos y ultimos 4 digitos serán visibles, y se presentará con el siguiente formato: “3411-XXXX-XXXX-9623”
FirstName string Nombre del tarjetahabiente
MiddleName string Primer apellido del tarjetahabiente
LastName string Segundo apellido del tarjetahabiente
Email string Email del tarjetahabiente
Phone string Número telefónico del tarjetahabiente
ExpMonth int Mes de expiración de la tarjeta bancaria
ExpYear int Año de expiración de la tarjeta bancaria
BrandCard string Marca de la tarjeta bancaria. Ejemplo: “AMERICAN EXPRESS”, “VISA”, “MASTERCARD”
TypeCard string Tipo de tarjeta bancaria, puede tomar uno de los siguientes valores (CHARGE CARD, CREDIT, DEBIT, OTHER)
Issuer string Nombre de quien emite la tarjeta bancaria
Bin string Primeros 6 digitos de la tarjeta bancaria
Created datetime Fecha de tokenización de la tarjeta
Last4 string Ultimos 4 digitos de la tarejta bancaria
Address Address Dirección de la tarjeta bancaria. Ver definición del objeto Address

Objeto CardPayment

Propiedad Tipo Descripción
HolderName string Nombre del tarjetahabiente
Authorization string Es el código de autorización de la transacción. Este dato es proporcionado por el Gateway
BrandCard string Marca de la tarjeta bancaria. Ejemplos: VISA, AMEX, etc.
CardNumber string Número de la tarjeta bancaria con formato
Issuer string Nombre de quien emite la tarjeta bancaria
TypeCard string Tipo de tarjeta bancaria, puede tomar uno de los siguientes valores (CHARGE CARD, CREDIT, DEBIT, OTHER)

Objeto CardResponser

Propiedad Tipo Descripción
Token string Token generado para la tarjeta bancaria
Active bool Indica el estatus del token. Default true
HolderName string Titular de tarjeta bancaria
CardNumber string Número de tarjeta de crédito. Unicamente serán visibles los primeros 6 y últimos 4 digitos. Formato: “547287-XXXX-XXXX-6272”
Email string Email del tarjetahabiente
Phone string Número telefónico del tarjetahabiente
ExpMonth int Mes de expiración de la tarjeta bancaria
ExpYear int Año de expiración de la tarjeta bancaria
BrandCard string Marca de la tarjeta bancaria. Ejemplos: “AMERICAN EXPRESS”, “VISA”, “MASTERCARD”
TypeCard string Tipo de tarjeta bancaria, puede tomar uno de los siguientes valores (CHARGE CARD, CREDIT, DEBIT, OTHER)
Issuer string Nombre de quien emite la tarjeta bancaria
Bin string Primeros 6 digitos de la tarjeta bancaria
Created datetime Fecha de tokenización de la tarjeta
Last4 string Ultimos 4 digitos de la tarjeta bancaria
Address Address Dirección de la tarjeta bancaria

Objeto Customer

Propiedad Tipo Requerido/Opcional Descripción
FirstName string Requerido Nombre del tarjetahabiente
MiddleName string Requerido Primer apellido del tarjetahabiente
LastName string Opcional Segundo apellido del tarjetahabiente
Email string Requerido Email del tarjetahabiente
Phone string Opcional Número telefónico del tarjetahabiente
Mobile string Opcional Celular del tarjetahabiente
Address Address Requerido Dirección del tarjetahabiente

Objeto Order

Propiedad Tipo Requerido/Opcional Descripción
Reference string(26) Requerido Puedes utilizar este campo para enviar una referencia de tu cargo. Cuentas con hasta 26 caracteres para generar tu referencia
Amount decimal Requerido Importe de la transacción con 2 decimales
Currency string(3) Requerido Moneda en la cual se realizará el cargo. Valores (MXN, USD)
Website string Opcional Es la URL desde donde se ejecuta el cargo. Es un valor referencia

Objeto Plan

Propiedad Tipo Descripción
IdPlan string ID del plan generado por Banzilla. Este ID servirá para identificar de manera única al plan y para realizar peticiones sobre el mismo
Active bool Indica si el plan se encuentra activo (true) o inactivo (false)
Created datetime Fecha y hora de creación del plan
PlanName string Nombre del plan
Description string Descripción del plan
Amount decimal Importe del plan, el cual deberá ser mayor a cero
Frequency int En conjunto con la propiedad “RepeatEvery” representan la periodicidad de cobro. El campo frequency debe tomar alguno de los siguientes valores (1 = Dia, 2 = Semana, 3 = Mes, 4 = Año)
RepeatEvery int En conjunto con la propiedad “RepeatEvery” representan la periodicidad de cobro. El campo RepeatEvery determina el número de unidades del plan. Ejemplos: Frequency = 1, RepeatEvery = 5 (Plan que se cobra cada 5 dias), Frequency = 2, RepeatEvery = 1 (Plan que se cobra 1 vez cada semana), Frequency = 3, RepeatEvery = 3 (Plan trimestral con cobro cada tres meses)
PlanDuration int Duración del plan. Indica el número de cobros que deberán realizarse para darse por concluido el plan. Este valor puede ser NULL en cuyo caso se indica que es un plan con duración indefinida
MaxAttempts int Indica el número máximo de intentos de cobro que se deberán realizar por ciclo de cobro

Objeto Product

Propiedad Tipo Requerido/Opcional Descripción
Concept string Requerido Concepto o descripción del producto comprado
Quantity decimal Requerido Cantidad comprada, se puede utilizar 2 decimales
UnitPrice decimal Requerido Precio unitario hasta 2 decimales
Amount decimal Requerido Cantidad * Precio unitario hasta 2 decimales

Objeto RefundPayment

Propiedad Tipo Descripción
Authorization string Código de autorización del reembolso
Amount decimal Importe reembolsado

Objeto PaymentPlan

Propiedad Tipo Requerido/Opcional Descripción
Months int Requerido Número de meses a los que será diferido el cargo. Valores aceptados: 3,6,9,12
Interest boolean Requerido Indica si se aplican intereses al cargo, actualmente solo esta habilitado para recibir verdadero. Valores aceptados: true

Objeto Shipping

Propiedad Tipo Requerido/Opcional Descripción
FirstName string Requerido Nombre de la persona a quien se le envía
MiddleName string Requerido Primer apellido de la persona a quien se le envía
LastName string Opcional Segundo apellido de la persona a quien se le envía
Email string Requerido Email de la persona a quien se le envía
Phone string Opcional Número telefónico de la persona a quien se le envía
Mobile string Opcional Celular de la persona a quien se le envía
Address Address Requerido Dirección de envío
Method string Opcional Método de envío
Reference string Opcional Referencia del lugar de envío
Comments string Opcional Observaciones o comentarios adicionales al envío

Objeto StorePayment

Propiedad Tipo Descripción
BarCode string Código de barras con el cual deberá realizarse el pago en la tienda de conveniencia
DueDate datetime Fecha límite de pago, formato mm/dd/yyyy
UrlDocument string Contiene la dirección URL para descargar el documento PDF para pago

Objeto SubsDetail

Propiedad Tipo Descripción
Email string Email asociado a la suscripción
Created datetime Fecha de creación de la suscripción
Begin datetime Fecha de inicio de la suscripción
LastPayment datetime Fecha de ultimo cobro de la suscripción
LastAttempt datetime Fecha de ultimo intento de cobro. Este atributo solo tiene un valor cuando en el ciclo actual no se ha logrado realizar un cobro efectivo
Attempts int Número de intentos de cobro. Este atributo solo tiene un valor cuando en el ciclo actual no se ha logrado realizar un cobro efectivo
Payments int Número de cobros realizados
RemainingPayments int Número de cobros pendientes. Este atributo solo tiene un valor en planes con duración definida (PlanDuration)
Completed bool Indica si el plan ha sido completado. Este atributo solo tiene un valor en planes con duración definida (PlanDuration)
Active bool Indica si la suscripción se encuentra active
Inactivation datetime En caso de que el atributo Active tenga el valor false, el atributo Inactivation muestra la fecha y hora de inactivación
IdSubscription string ID de la suscripción
Subscriber string Nombre complete del suscriptor
CardNumber string Número de tarjeta suscrita al plan. Unicamente se mostrarán los primeros 4 digitos y los últimos 4 digitos. Formato: “NNNN-XXXX-XXXX-NNNN”
Token string Token de la tarjeta suscrita
IdPlan string ID del plan al que se suscribió
PlanName string Nombre del plan al que se suscribió
Amount decimal Importe de la suscripción
Frequency int Frecuencia de cobro. Valores posibles (1 = Dia, 2 = Semana, 3 = Mes, 4 = Año)
RepeatEvery int Número de unidades de la frecuencia de cobro. En conjunto con el campo frequency representan la periodicidad de cobro. Ejemplos: Frequency = 1, RepeatEvery = 5 (Plan que se cobra cada 5 dias), Frequency = 2, RepeatEvery = 1 (Plan que se cobra 1 vez cada semana), Frequency = 3, RepeatEvery = 3 (Plan trimestral con cobro cada tres meses)
PlanDuration int Duración del plan, es decir, el número de cobros que deberá realizarse para concluir el plan. En caso NULL se trata de un plan con duración indefinida
MaxAttempts int Número de intentos de cobro que deberá realizarse por cada ciclo de cobro
NextPayment datetime Fecha del siguiente cobro

Objeto Suscription

Propiedad Tipo Descripción
IdSubscription string ID de la suscripción. Este valor es generado por Banzilla y servirá para identificar de manera única la suscripción y realizar peticiones sobre la misma
Subscriber string Nombre completo del suscriptor
CardNumber string Número de tarjeta suscrita al plan. Unicamente se mostrarán los primeros 4 digitos y los últimos 4 digitos. Formato: “NNNN-XXXX-XXXX-NNNN”
Token string Token de la tarjeta suscrita
IdPlan string ID del plan al que se suscribió
PlanName string Nombre del plan al que se suscribió
Amount decimal Importe de la suscripción
Frequency int Frecuencia de cobro. Valores posibles (1 = Dia, 2 = Semana, 3 = Mes, 4 = Año)
RepeatEvery int Número de unidades de la frecuencia de cobro. En conjunto con el campo frequency representan la periodicidad de cobro. Ejemplos: Frequency = 1, RepeatEvery = 5 (Plan que se cobra cada 5 dias), Frequency = 2, RepeatEvery = 1 (Plan que se cobra 1 vez cada semana), Frequency = 3, RepeatEvery = 3 (Plan trimestral con cobro cada tres meses)
PlanDuration int Duración del plan, es decir, el número de cobros que deberá realizarse para concluir el plan. En caso NULL se trata de un plan con duración indefinida
MaxAttempts int Número máximo de intentos de cobro por cada ciclo de cobro
NextPayment datetime Fecha del siguiente cobro

Objeto SubscriptionResponse

Propiedad Tipo Descripción
IdSubscription string ID de la suscripción. Este valor es generado por Banzilla y servirá para identificar de manera única la suscripción y realizar peticiones sobre la misma
Created datetime Fecha y hora de creación de la suscripción
Active bool Bandera que indica si la suscripción está activa. True = Activa, False = Inactiva
Subscriber string Nombre completo del suscriptor
Email string Email del suscriptor
Completed bool Bandera que indica si se han realizado todos los cobros de la suscripción (en caso de que tenga duración definida). True = Cobros completados, False = Aun tiene cobros pendientes
Payments int Número de cobros realizados
StartDate datetime Fecha en que inicio la suscripción (fecha de intento del primer cobro), formato mm/dd/yyyy
Attempts int Número de intentos de cobro del último ciclo
LastAttempt datetime Fecha del ultimo intento de cobro
RemainingPayments int Número de cobros pendientes (en caso que la suscripción tenga duración definida)
NextPayment datetime Fecha del próximo intento de cobro
Card CardResponser Objeto que contiene los datos de la tarjeta suscrita
Plan Plan Objeto que contiene los datos del plan al cual está suscrito

Objeto TransactionDetail

Propiedad Tipo Descripción
OperativeStatus string Estatus operativo de la transacción. Puede tomar alguno de los siguientes valores (Failed by antifraud, Failed by terminal, Pending,Cancelled,Repayment,Authorized,Challenge,Challenge retried,Challenge discarded,Challenge expired,In dispute,Chargeback won,Chargeback lost,Review for refund)
FinancialStatus string Estatus financiero de la transacción. Puede tomar alguno de los siguientes valores (To be liquidated,Liquidated,Paid,To be deducted,Deducted,Financial damage,Cancelled)
Currency string Moneda en que se efectúo la transacción. Valores posibles (MXN, USD)
Exchange decimal Tipo de cambio con respecto a moneda nacional
IdTransaction string ID de la transacción
IdOrder string Referencia de la transacción generada por el cliente
Description string Descripción con la cual fue creada la transacción
Created datetime Fecha de transacción
Amount decimal Importe de la transacción
Method string Método utilizado en la transacción, puede tomar alguno de los siguientes valores (card, token, store, transfer)
Gateway string Gateway utilizado en la transacción, puede tomar alguno de los siguientes valores (amex,prosa,spei,oxxo,others)
Customer Customer Contiene los datos del cliente de la transacción. Ver definición del objeto Customer
Shipping Shipping Contiene los datos del envío de productos. Ver definición del objeto Shipping
Products List<Product> Listado de productos comprados. Ver definición del objeto Product
Card CardDetail En caso de que la transacción haya sido efectuada con tarjeta bancaria, éste objeto contendrá los datos de la misma
Store StorePayment En caso de que la transacción haya sido efectuada via tienda de conveniencia, éste objeto contendrá los datos de la misma
Transfer TransferPayment En caso de que la transacción haya sido efectuada via transferencia bancaria, éste objeto contendrá los datos de la misma

Objeto TransferPayment

Propiedad Tipo Descripción
Clabe string Es la clave interbancaria (CLABE) a la cual fue realizada la transferencia
DueDate datetime Fecha de transferencia bancaria, formato mm/dd/yyyy
Reference string Clave de 6 posiciones que deberá indicar el consumidor final al momento de realizar el SPEI para que su pago se identifique de manera única. Es muy importante proporcionar este dato
Bank string Es el nombre del banco para realizar la transferencia (STP)
UrlDocument string Contiene la URL para descargar el documento para pago

Objeto Webhook

Propiedad Tipo Descripción
Reference String ID del webhook. Es el identificador único mediante el cual se podrán realizar peticiones
Creation Datetime Fecha y hora de creación del webhook
Verified bool Determina si la URL ha sido verificada, mientras ésta no sea verificada no se disparará la notificación
Url string URL donde se realizará la notificación
User string Es el usuario para la autenticación a la URL
Password string Password de autenticación a la URL
Method string Método HTTP configurado
Event string Evento que dispara la notificación a la URL. Ver tabla de eventos

Códigos ISO para Países

Ponemos a tu disposición el catálogo de países con su código ISO, el cual es requerido para cualquier objeto Address que se envie via API.

País ISO
AFGANISTAN AFG
ALAND ALA
ALBANIA ALB
ALEMANIA DEU
ANDORRA AND
ANGOLA AGO
ANGUILA AIA
ANTIGUA Y BARBUDA ATG
ANTILLAS NEERLANDESAS ANT
ARABIA SAUDITA SAU
ARGELIA DZA
ARGENTINA ARG
ARMENIA ARM
ARUBA ABW
AUSTRALIA AUS
AUSTRIA AUT
AUTORIDAD NACIONAL PALESTINA PSE
AZERBAIYAN AZE
BAHAMAS BHS
BANGLADES BGD
BARBADOS BRB
BAREIN BHR
BELGICA BEL
BELICE BLZ
BENIN BEN
BERMUDAS BMU
BIELORRUSIA BLR
BIRMANIA MMR
BOLIVIA BOL
BOSNIA Y HERZEGOVINA BIH
BOTSUANA BWA
BRASIL BRA
BRUNEI BRN
BULGARIA BGR
BURKINA FASO BFA
BURUNDI BDI
BUTAN BTN
CABO VERDE CPV
CAMBOYA KHM
CAMERUN CMR
CANADA CAN
CATAR QAT
CHAD TCD
CHILE CHL
CHINA CHN
CHIPRE CYP
CIUDAD DEL VATICANO VAT
COLOMBIA COL
COMORAS COM
COREA DEL NORTE PRK
COREA DEL SUR KOR
COSTA DE MARFIL CIV
COSTA RICA CRI
CROACIA HRV
CUBA CUB
DINAMARCA DNK
DOMINICA DMA
ECUADOR ECU
EGIPTO EGY
EL SALVADOR SLV
EMIRATOS ARABES UNIDOS ARE
ERITREA ERI
ESLOVAQUIA SVK
ESLOVENIA SVN
ESPAÑA ESP
ESTADOS UNIDOS USA
ESTONIA EST
ETIOPIA ETH
FILIPINAS PHL
FINLANDIA FIN
FIYI FJI
FRANCIA FRA
GABON GAB
GAMBIA GMB
GEORGIA GEO
GHANA GHA
GIBRALTAR GIB
GRANADA GRD
GRECIA GRC
GROENLANDIA GRL
GUADALUPE GLP
GUAM GUM
GUATEMALA GTM
GUAYANA FRANCESA GUF
GUERNSEY GGY
GUINEA GIN
GUINEA ECUATORIAL GNQ
GUINEA-BISSAU GNB
GUYANA GUY
HAITI HTI
HONDURAS HND
HONG KONG HKG
HUNGRIA HUN
INDIA IND
INDONESIA IDN
IRAK IRQ
IRAN IRN
IRLANDA IRL
ISLA BOUVET BVT
ISLA DE MAN IMN
ISLA DE NAVIDAD CXR
ISLANDIA ISL
ISLAS CAIMAN CYM
ISLAS COCOS CCK
ISLAS COOK COK
ISLAS FEROE FRO
ISLAS GEORGIAS DEL SUR Y SANDWICH DEL SUR SGS
ISLAS HEARD Y MCDONALD HMD
ISLAS MALVINAS FLK
ISLAS MARIANAS DEL NORTE MNP
ISLAS MARSHALL MHL
ISLAS PITCAIRN PCN
ISLAS SALOMON SLB
ISLAS TURCAS Y CAICOS TCA
ISLAS VIRGENES BRITANICAS VGB
ISLAS VIRGENES DE LOS ESTADOS UNIDOS VIR
ISRAEL ISR
ITALIA ITA
JAMAICA JAM
JAPON JPN
JERSEY JEY
JORDANIA JOR
KAZAJISTAN KAZ
KENIA KEN
KIRGUISTAN KGZ
KIRIBATI KIR
KUWAIT KWT
LAOS LAO
LESOTO LSO
LETONIA LVA
LIBANO LBN
LIBERIA LBR
LIBIA LBY
LIECHTENSTEIN LIE
LITUANIA LTU
LUXEMBURGO LUX
MACAO MAC
MADAGASCAR MDG
MALASIA MYS
MALAUI MWI
MALDIVAS MDV
MALI MLI
MALTA MLT
MARRUECOS MAR
MARTINICA MTQ
MAURICIO MUS
MAURITANIA MRT
MAYOTTE MYT
MEXICO MEX
MICRONESIA FSM
MOLDAVIA MDA
MONACO MCO
MONGOLIA MNG
MONTENEGRO MNE
MONTSERRAT MSR
MOZAMBIQUE MOZ
NAMIBIA NAM
NAURU NRU
NEPAL NPL
NICARAGUA NIC
NIGER NER
NIGERIA NGA
NIUE NIU
NORFOLK NFK
NORUEGA NOR
NUEVA CALEDONIA NCL
NUEVA ZELANDA NZL
OMAN OMN
PAISES BAJOS NLD
PAKISTAN PAK
PALAOS PLW
PANAMA PAN
PAPUA NUEVA GUINEA PNG
PARAGUAY PRY
PERU PER
POLINESIA FRANCESA PYF
POLONIA POL
PORTUGAL PRT
PUERTO RICO PRI
REINO UNIDO GBR
REP. DEM. DEL CONGO COD
REPUBLICA ARABE SAHARAUI DEMOCRATICA ESH
REPUBLICA CENTROAFRICANA CAF
REPUBLICA CHECA CZE
REPUBLICA DE MACEDONIA MKD
REPUBLICA DEL CONGO COG
REPUBLICA DOMINICANA DOM
REUNION REU
RUANDA RWA
RUMANIA ROU
RUSIA RUS
SAMOA WSM
SAMOA ESTADOUNIDENSE ASM
SAN BARTOLOME BLM
SAN CRISTOBAL Y NIEVES KNA
SAN MARINO SMR
SAN MARTIN MAF
SAN PEDRO Y MIQUELON SPM
SAN VICENTE Y LAS GRANADINAS VCT
SANTA HELENA, A. Y T. SHN
SANTA LUCIA LCA
SANTO TOME Y PRINCIPE STP
SENEGAL SEN
SERBIA SRB
SEYCHELLES SYC
SIERRA LEONA SLE
SINGAPUR SGP
SIRIA SYR
SOMALIA SOM
SRI LANKA LKA
SUAZILANDIA SWZ
SUDAFRICA ZAF
SUDAN SDN
SUECIA SWE
SUIZA CHE
SURINAM SUR
SVALBARD Y JAN MAYEN SJM
TAILANDIA THA
TAIWAN TWN
TANZANIA TZA
TAYIKISTAN TJK
TERRITORIO BRITANICO DEL OCEANO INDICO IOT
TERRITORIOS AUSTRALES FRANCESES ATF
TIMOR ORIENTAL TLS
TOGO TGO
TOKELAU TKL
TONGA TON
TRINIDAD Y TOBAGO TTO
TUNEZ TUN
TURKMENISTAN TKM
TURQUIA TUR
TUVALU TUV
UCRANIA UKR
UGANDA UGA
URUGUAY URY
UZBEKISTAN UZB
VANUATU VUT
VENEZUELA VEN
VIETNAM VNM
WALLIS Y FUTUNA WLF
YEMEN YEM
YIBUTI DJI
ZAMBIA ZMB
ZIMBABUE ZWE

listado en formato json

{
    "countries": [{
        "country-en": "AFGHANISTAN",
        "country-es": "AFGANISTAN",
        "iso": "AFG"
    }, {
        "country-en": "ALAND ISLANDS",
        "country-es": "ALAND",
        "iso": "ALA"
    }, {
        "country-en": "ALBANIA",
        "country-es": "ALBANIA",
        "iso": "ALB"
    }, {
        "country-en": "ALGERIA",
        "country-es": "ARGELIA",
        "iso": "DZA"
    }, {
        "country-en": "AMERICAN SAMOA",
        "country-es": "SAMOA ESTADOUNIDENSE",
        "iso": "ASM"
    }, {
        "country-en": "ANDORRA",
        "country-es": "ANDORRA",
        "iso": "AND"
    }, {
        "country-en": "ANGOLA",
        "country-es": "ANGOLA",
        "iso": "AGO"
    }, {
        "country-en": "ANGUILLA",
        "country-es": "ANGUILA",
        "iso": "AIA"
    }, {
        "country-en": "ANTIGUA AND BARBUDA",
        "country-es": "ANTIGUA Y BARBUDA",
        "iso": "ATG"
    }, {
        "country-en": "ARGENTINA",
        "country-es": "ARGENTINA",
        "iso": "ARG"
    }, {
        "country-en": "ARMENIA",
        "country-es": "ARMENIA",
        "iso": "ARM"
    }, {
        "country-en": "ARUBA",
        "country-es": "ARUBA",
        "iso": "ABW"
    }, {
        "country-en": "AUSTRALIA",
        "country-es": "AUSTRALIA",
        "iso": "AUS"
    }, {
        "country-en": "AUSTRIA",
        "country-es": "AUSTRIA",
        "iso": "AUT"
    }, {
        "country-en": "AZERBAIJAN",
        "country-es": "AZERBAIYAN",
        "iso": "AZE"
    }, {
        "country-en": "BAHAMAS",
        "country-es": "BAHAMAS",
        "iso": "BHS"
    }, {
        "country-en": "BAHRAIN",
        "country-es": "BAREIN",
        "iso": "BHR"
    }, {
        "country-en": "BANGLADESH",
        "country-es": "BANGLADES",
        "iso": "BGD"
    }, {
        "country-en": "BARBADOS",
        "country-es": "BARBADOS",
        "iso": "BRB"
    }, {
        "country-en": "BELARUS",
        "country-es": "BIELORRUSIA",
        "iso": "BLR"
    }, {
        "country-en": "BELGIUM",
        "country-es": "BELGICA",
        "iso": "BEL"
    }, {
        "country-en": "BELIZE",
        "country-es": "BELICE",
        "iso": "BLZ"
    }, {
        "country-en": "BENIN",
        "country-es": "BENIN",
        "iso": "BEN"
    }, {
        "country-en": "BERMUDA",
        "country-es": "BERMUDAS",
        "iso": "BMU"
    }, {
        "country-en": "BHUTAN",
        "country-es": "BUTAN",
        "iso": "BTN"
    }, {
        "country-en": "BOLIVIA",
        "country-es": "BOLIVIA",
        "iso": "BOL"
    }, {
        "country-en": "BOSNIA AND HERZEGOVINA",
        "country-es": "BOSNIA Y HERZEGOVINA",
        "iso": "BIH"
    }, {
        "country-en": "BOTSWANA",
        "country-es": "BOTSUANA",
        "iso": "BWA"
    }, {
        "country-en": "BOUVET ISLAND",
        "country-es": "ISLA BOUVET",
        "iso": "BVT"
    }, {
        "country-en": "BRAZIL",
        "country-es": "BRASIL",
        "iso": "BRA"
    }, {
        "country-en": "BRITISH INDIAN OCEAN TERRITORY",
        "country-es": "TERRITORIO BRITANICO DEL OCEANO INDICO",
        "iso": "IOT"
    }, {
        "country-en": "BRITISH VIRGIN ISLANDS",
        "country-es": "ISLAS VIRGENES BRITANICAS",
        "iso": "VGB"
    }, {
        "country-en": "BRUNEI DARUSSALAM",
        "country-es": "BRUNEI",
        "iso": "BRN"
    }, {
        "country-en": "BULGARIA",
        "country-es": "BULGARIA",
        "iso": "BGR"
    }, {
        "country-en": "BURKINA FASO",
        "country-es": "BURKINA FASO",
        "iso": "BFA"
    }, {
        "country-en": "BURUNDI",
        "country-es": "BURUNDI",
        "iso": "BDI"
    }, {
        "country-en": "CAMBODIA",
        "country-es": "CAMBOYA",
        "iso": "KHM"
    }, {
        "country-en": "CAMEROON",
        "country-es": "CAMERUN",
        "iso": "CMR"
    }, {
        "country-en": "CANADA",
        "country-es": "CANADA",
        "iso": "CAN"
    }, {
        "country-en": "CAPE VERDE",
        "country-es": "CABO VERDE",
        "iso": "CPV"
    }, {
        "country-en": "CAYMAN ISLANDS",
        "country-es": "ISLAS CAIMAN",
        "iso": "CYM"
    }, {
        "country-en": "CENTRAL AFRICAN REPUBLIC",
        "country-es": "REPUBLICA CENTROAFRICANA",
        "iso": "CAF"
    }, {
        "country-en": "CHAD",
        "country-es": "CHAD",
        "iso": "TCD"
    }, {
        "country-en": "CHILE",
        "country-es": "CHILE",
        "iso": "CHL"
    }, {
        "country-en": "CHINA",
        "country-es": "CHINA",
        "iso": "CHN"
    }, {
        "country-en": "CHRISTMAS ISLAND",
        "country-es": "ISLA DE NAVIDAD",
        "iso": "CXR"
    }, {
        "country-en": "COCOS (KEELING) ISLANDS",
        "country-es": "ISLAS COCOS",
        "iso": "CCK"
    }, {
        "country-en": "COLOMBIA",
        "country-es": "COLOMBIA",
        "iso": "COL"
    }, {
        "country-en": "COMOROS",
        "country-es": "COMORAS",
        "iso": "COM"
    }, {
        "country-en": "CONGO, DEMOCRATIC REPUBLIC OF THE",
        "country-es": "REP. DEM. DEL CONGO",
        "iso": "COD"
    }, {
        "country-en": "CONGO (BRAZZAVILLE)",
        "country-es": "REPUBLICA DEL CONGO",
        "iso": "COG"
    }, {
        "country-en": "COOK ISLANDS",
        "country-es": "ISLAS COOK",
        "iso": "COK"
    }, {
        "country-en": "COSTA RICA",
        "country-es": "COSTA RICA",
        "iso": "CRI"
    }, {
        "country-en": "CÔTE D'IVOIRE",
        "country-es": "COSTA DE MARFIL",
        "iso": "CIV"
    }, {
        "country-en": "CROATIA",
        "country-es": "CROACIA",
        "iso": "HRV"
    }, {
        "country-en": "CUBA",
        "country-es": "CUBA",
        "iso": "CUB"
    }, {
        "country-en": "CYPRUS",
        "country-es": "CHIPRE",
        "iso": "CYP"
    }, {
        "country-en": "CZECH REPUBLIC",
        "country-es": "REPUBLICA CHECA",
        "iso": "CZE"
    }, {
        "country-en": "DENMARK",
        "country-es": "DINAMARCA",
        "iso": "DNK"
    }, {
        "country-en": "DJIBOUTI",
        "country-es": "YIBUTI",
        "iso": "DJI"
    }, {
        "country-en": "DOMINICA",
        "country-es": "DOMINICA",
        "iso": "DMA"
    }, {
        "country-en": "DOMINICAN REPUBLIC",
        "country-es": "REPUBLICA DOMINICANA",
        "iso": "DOM"
    }, {
        "country-en": "ECUADOR",
        "country-es": "ECUADOR",
        "iso": "ECU"
    }, {
        "country-en": "EGYPT",
        "country-es": "EGIPTO",
        "iso": "EGY"
    }, {
        "country-en": "EL SALVADOR",
        "country-es": "EL SALVADOR",
        "iso": "SLV"
    }, {
        "country-en": "EQUATORIAL GUINEA",
        "country-es": "GUINEA ECUATORIAL",
        "iso": "GNQ"
    }, {
        "country-en": "ERITREA",
        "country-es": "ERITREA",
        "iso": "ERI"
    }, {
        "country-en": "ESTONIA",
        "country-es": "ESTONIA",
        "iso": "EST"
    }, {
        "country-en": "ETHIOPIA",
        "country-es": "ETIOPIA",
        "iso": "ETH"
    }, {
        "country-en": "FALKLAND ISLANDS (MALVINAS)",
        "country-es": "ISLAS MALVINAS",
        "iso": "FLK"
    }, {
        "country-en": "FAROE ISLANDS",
        "country-es": "ISLAS FEROE",
        "iso": "FRO"
    }, {
        "country-en": "FIJI",
        "country-es": "FIYI",
        "iso": "FJI"
    }, {
        "country-en": "FINLAND",
        "country-es": "FINLANDIA",
        "iso": "FIN"
    }, {
        "country-en": "FRANCE",
        "country-es": "FRANCIA",
        "iso": "FRA"
    }, {
        "country-en": "FRENCH GUIANA",
        "country-es": "GUAYANA FRANCESA",
        "iso": "GUF"
    }, {
        "country-en": "FRENCH POLYNESIA",
        "country-es": "POLINESIA FRANCESA",
        "iso": "PYF"
    }, {
        "country-en": "FRENCH SOUTHERN TERRITORIES",
        "country-es": "TERRITORIOS AUSTRALES FRANCESES",
        "iso": "ATF"
    }, {
        "country-en": "GABON",
        "country-es": "GABON",
        "iso": "GAB"
    }, {
        "country-en": "GAMBIA",
        "country-es": "GAMBIA",
        "iso": "GMB"
    }, {
        "country-en": "GEORGIA",
        "country-es": "GEORGIA",
        "iso": "GEO"
    }, {
        "country-en": "GERMANY",
        "country-es": "ALEMANIA",
        "iso": "DEU"
    }, {
        "country-en": "GHANA",
        "country-es": "GHANA",
        "iso": "GHA"
    }, {
        "country-en": "GIBRALTAR",
        "country-es": "GIBRALTAR",
        "iso": "GIB"
    }, {
        "country-en": "GREECE",
        "country-es": "GRECIA",
        "iso": "GRC"
    }, {
        "country-en": "GREENLAND",
        "country-es": "GROENLANDIA",
        "iso": "GRL"
    }, {
        "country-en": "GRENADA",
        "country-es": "GRANADA",
        "iso": "GRD"
    }, {
        "country-en": "GUADELOUPE",
        "country-es": "GUADALUPE",
        "iso": "GLP"
    }, {
        "country-en": "GUAM",
        "country-es": "GUAM",
        "iso": "GUM"
    }, {
        "country-en": "GUATEMALA",
        "country-es": "GUATEMALA",
        "iso": "GTM"
    }, {
        "country-en": "GUERNSEY",
        "country-es": "GUERNSEY",
        "iso": "GGY"
    }, {
        "country-en": "GUINEA",
        "country-es": "GUINEA",
        "iso": "GIN"
    }, {
        "country-en": "GUINEA-BISSAU",
        "country-es": "GUINEA-BISSAU",
        "iso": "GNB"
    }, {
        "country-en": "GUYANA",
        "country-es": "GUYANA",
        "iso": "GUY"
    }, {
        "country-en": "HAITI",
        "country-es": "HAITI",
        "iso": "HTI"
    }, {
        "country-en": "HEARD ISLAND AND MCDONALD ISLANDS",
        "country-es": "ISLAS HEARD Y MCDONALD",
        "iso": "HMD"
    }, {
        "country-en": "HOLY SEE (VATICAN CITY STATE)",
        "country-es": "CIUDAD DEL VATICANO",
        "iso": "VAT"
    }, {
        "country-en": "HONDURAS",
        "country-es": "HONDURAS",
        "iso": "HND"
    }, {
        "country-en": "HONG KONG, SPECIAL ADMINISTRATIVE REGION OF CHINA",
        "country-es": "HONG KONG",
        "iso": "HKG"
    }, {
        "country-en": "HUNGARY",
        "country-es": "HUNGRIA",
        "iso": "HUN"
    }, {
        "country-en": "ICELAND",
        "country-es": "ISLANDIA",
        "iso": "ISL"
    }, {
        "country-en": "INDIA",
        "country-es": "INDIA",
        "iso": "IND"
    }, {
        "country-en": "INDONESIA",
        "country-es": "INDONESIA",
        "iso": "IDN"
    }, {
        "country-en": "IRAN, ISLAMIC REPUBLIC OF",
        "country-es": "IRAN",
        "iso": "IRN"
    }, {
        "country-en": "IRAQ",
        "country-es": "IRAK",
        "iso": "IRQ"
    }, {
        "country-en": "IRELAND",
        "country-es": "IRLANDA",
        "iso": "IRL"
    }, {
        "country-en": "ISLE OF MAN",
        "country-es": "ISLA DE MAN",
        "iso": "IMN"
    }, {
        "country-en": "ISRAEL",
        "country-es": "ISRAEL",
        "iso": "ISR"
    }, {
        "country-en": "ITALY",
        "country-es": "ITALIA",
        "iso": "ITA"
    }, {
        "country-en": "JAMAICA",
        "country-es": "JAMAICA",
        "iso": "JAM"
    }, {
        "country-en": "JAPAN",
        "country-es": "JAPON",
        "iso": "JPN"
    }, {
        "country-en": "JERSEY",
        "country-es": "JERSEY",
        "iso": "JEY"
    }, {
        "country-en": "JORDAN",
        "country-es": "JORDANIA",
        "iso": "JOR"
    }, {
        "country-en": "KAZAKHSTAN",
        "country-es": "KAZAJISTAN",
        "iso": "KAZ"
    }, {
        "country-en": "KENYA",
        "country-es": "KENIA",
        "iso": "KEN"
    }, {
        "country-en": "KIRIBATI",
        "country-es": "KIRIBATI",
        "iso": "KIR"
    }, {
        "country-en": "KOREA, DEMOCRATIC PEOPLE'S REPUBLIC OF",
        "country-es": "COREA DEL NORTE",
        "iso": "PRK"
    }, {
        "country-en": "KOREA, REPUBLIC OF",
        "country-es": "COREA DEL SUR",
        "iso": "KOR"
    }, {
        "country-en": "KUWAIT",
        "country-es": "KUWAIT",
        "iso": "KWT"
    }, {
        "country-en": "KYRGYZSTAN",
        "country-es": "KIRGUISTAN",
        "iso": "KGZ"
    }, {
        "country-en": "LAO PDR",
        "country-es": "LAOS",
        "iso": "LAO"
    }, {
        "country-en": "LATVIA",
        "country-es": "LETONIA",
        "iso": "LVA"
    }, {
        "country-en": "LEBANON",
        "country-es": "LIBANO",
        "iso": "LBN"
    }, {
        "country-en": "LESOTHO",
        "country-es": "LESOTO",
        "iso": "LSO"
    }, {
        "country-en": "LIBERIA",
        "country-es": "LIBERIA",
        "iso": "LBR"
    }, {
        "country-en": "LIBYA",
        "country-es": "LIBIA",
        "iso": "LBY"
    }, {
        "country-en": "LIECHTENSTEIN",
        "country-es": "LIECHTENSTEIN",
        "iso": "LIE"
    }, {
        "country-en": "LITHUANIA",
        "country-es": "LITUANIA",
        "iso": "LTU"
    }, {
        "country-en": "LUXEMBOURG",
        "country-es": "LUXEMBURGO",
        "iso": "LUX"
    }, {
        "country-en": "MACAO, SPECIAL ADMINISTRATIVE REGION OF CHINA",
        "country-es": "MACAO",
        "iso": "MAC"
    }, {
        "country-en": "MACEDONIA, REPUBLIC OF",
        "country-es": "REPUBLICA DE MACEDONIA",
        "iso": "MKD"
    }, {
        "country-en": "MADAGASCAR",
        "country-es": "MADAGASCAR",
        "iso": "MDG"
    }, {
        "country-en": "MALAWI",
        "country-es": "MALAUI",
        "iso": "MWI"
    }, {
        "country-en": "MALAYSIA",
        "country-es": "MALASIA",
        "iso": "MYS"
    }, {
        "country-en": "MALDIVES",
        "country-es": "MALDIVAS",
        "iso": "MDV"
    }, {
        "country-en": "MALI",
        "country-es": "MALI",
        "iso": "MLI"
    }, {
        "country-en": "MALTA",
        "country-es": "MALTA",
        "iso": "MLT"
    }, {
        "country-en": "MARSHALL ISLANDS",
        "country-es": "ISLAS MARSHALL",
        "iso": "MHL"
    }, {
        "country-en": "MARTINIQUE",
        "country-es": "MARTINICA",
        "iso": "MTQ"
    }, {
        "country-en": "MAURITANIA",
        "country-es": "MAURITANIA",
        "iso": "MRT"
    }, {
        "country-en": "MAURITIUS",
        "country-es": "MAURICIO",
        "iso": "MUS"
    }, {
        "country-en": "MAYOTTE",
        "country-es": "MAYOTTE",
        "iso": "MYT"
    }, {
        "country-en": "MEXICO",
        "country-es": "MEXICO",
        "iso": "MEX"
    }, {
        "country-en": "MICRONESIA, FEDERATED STATES OF",
        "country-es": "MICRONESIA",
        "iso": "FSM"
    }, {
        "country-en": "MOLDOVA",
        "country-es": "MOLDAVIA",
        "iso": "MDA"
    }, {
        "country-en": "MONACO",
        "country-es": "MONACO",
        "iso": "MCO"
    }, {
        "country-en": "MONGOLIA",
        "country-es": "MONGOLIA",
        "iso": "MNG"
    }, {
        "country-en": "MONTENEGRO",
        "country-es": "MONTENEGRO",
        "iso": "MNE"
    }, {
        "country-en": "MONTSERRAT",
        "country-es": "MONTSERRAT",
        "iso": "MSR"
    }, {
        "country-en": "MOROCCO",
        "country-es": "MARRUECOS",
        "iso": "MAR"
    }, {
        "country-en": "MOZAMBIQUE",
        "country-es": "MOZAMBIQUE",
        "iso": "MOZ"
    }, {
        "country-en": "MYANMAR",
        "country-es": "BIRMANIA",
        "iso": "MMR"
    }, {
        "country-en": "NAMIBIA",
        "country-es": "NAMIBIA",
        "iso": "NAM"
    }, {
        "country-en": "NAURU",
        "country-es": "NAURU",
        "iso": "NRU"
    }, {
        "country-en": "NEPAL",
        "country-es": "NEPAL",
        "iso": "NPL"
    }, {
        "country-en": "NETHERLANDS",
        "country-es": "PAISES BAJOS",
        "iso": "NLD"
    }, {
        "country-en": "NETHERLANDS ANTILLES",
        "country-es": "ANTILLAS NEERLANDESAS",
        "iso": "ANT"
    }, {
        "country-en": "NEW CALEDONIA",
        "country-es": "NUEVA CALEDONIA",
        "iso": "NCL"
    }, {
        "country-en": "NEW ZEALAND",
        "country-es": "NUEVA ZELANDA",
        "iso": "NZL"
    }, {
        "country-en": "NICARAGUA",
        "country-es": "NICARAGUA",
        "iso": "NIC"
    }, {
        "country-en": "NIGER",
        "country-es": "NIGER",
        "iso": "NER"
    }, {
        "country-en": "NIGERIA",
        "country-es": "NIGERIA",
        "iso": "NGA"
    }, {
        "country-en": "NIUE",
        "country-es": "NIUE",
        "iso": "NIU"
    }, {
        "country-en": "NORFOLK ISLAND",
        "country-es": "NORFOLK",
        "iso": "NFK"
    }, {
        "country-en": "NORTHERN MARIANA ISLANDS",
        "country-es": "ISLAS MARIANAS DEL NORTE",
        "iso": "MNP"
    }, {
        "country-en": "NORWAY",
        "country-es": "NORUEGA",
        "iso": "NOR"
    }, {
        "country-en": "OMAN",
        "country-es": "OMAN",
        "iso": "OMN"
    }, {
        "country-en": "PAKISTAN",
        "country-es": "PAKISTAN",
        "iso": "PAK"
    }, {
        "country-en": "PALAU",
        "country-es": "PALAOS",
        "iso": "PLW"
    }, {
        "country-en": "PALESTINIAN TERRITORY, OCCUPIED",
        "country-es": "AUTORIDAD NACIONAL PALESTINA",
        "iso": "PSE"
    }, {
        "country-en": "PANAMA",
        "country-es": "PANAMA",
        "iso": "PAN"
    }, {
        "country-en": "PAPUA NEW GUINEA",
        "country-es": "PAPUA NUEVA GUINEA",
        "iso": "PNG"
    }, {
        "country-en": "PARAGUAY",
        "country-es": "PARAGUAY",
        "iso": "PRY"
    }, {
        "country-en": "PERU",
        "country-es": "PERU",
        "iso": "PER"
    }, {
        "country-en": "PHILIPPINES",
        "country-es": "FILIPINAS",
        "iso": "PHL"
    }, {
        "country-en": "PITCAIRN",
        "country-es": "ISLAS PITCAIRN",
        "iso": "PCN"
    }, {
        "country-en": "POLAND",
        "country-es": "POLONIA",
        "iso": "POL"
    }, {
        "country-en": "PORTUGAL",
        "country-es": "PORTUGAL",
        "iso": "PRT"
    }, {
        "country-en": "PUERTO RICO",
        "country-es": "PUERTO RICO",
        "iso": "PRI"
    }, {
        "country-en": "QATAR",
        "country-es": "CATAR",
        "iso": "QAT"
    }, {
        "country-en": "RÉUNION",
        "country-es": "REUNION",
        "iso": "REU"
    }, {
        "country-en": "ROMANIA",
        "country-es": "RUMANIA",
        "iso": "ROU"
    }, {
        "country-en": "RUSSIAN FEDERATION",
        "country-es": "RUSIA",
        "iso": "RUS"
    }, {
        "country-en": "RWANDA",
        "country-es": "RUANDA",
        "iso": "RWA"
    }, {
        "country-en": "SAINT-BARTHÉLEMY",
        "country-es": "SAN BARTOLOME",
        "iso": "BLM"
    }, {
        "country-en": "SAINT HELENA",
        "country-es": "SANTA HELENA, A. Y T.",
        "iso": "SHN"
    }, {
        "country-en": "SAINT KITTS AND NEVIS",
        "country-es": "SAN CRISTOBAL Y NIEVES",
        "iso": "KNA"
    }, {
        "country-en": "SAINT LUCIA",
        "country-es": "SANTA LUCIA",
        "iso": "LCA"
    }, {
        "country-en": "SAINT-MARTIN (FRENCH PART)",
        "country-es": "SAN MARTIN",
        "iso": "MAF"
    }, {
        "country-en": "SAINT PIERRE AND MIQUELON",
        "country-es": "SAN PEDRO Y MIQUELON",
        "iso": "SPM"
    }, {
        "country-en": "SAINT VINCENT AND GRENADINES",
        "country-es": "SAN VICENTE Y LAS GRANADINAS",
        "iso": "VCT"
    }, {
        "country-en": "SAMOA",
        "country-es": "SAMOA",
        "iso": "WSM"
    }, {
        "country-en": "SAN MARINO",
        "country-es": "SAN MARINO",
        "iso": "SMR"
    }, {
        "country-en": "SAO TOME AND PRINCIPE",
        "country-es": "SANTO TOME Y PRINCIPE",
        "iso": "STP"
    }, {
        "country-en": "SAUDI ARABIA",
        "country-es": "ARABIA SAUDITA",
        "iso": "SAU"
    }, {
        "country-en": "SENEGAL",
        "country-es": "SENEGAL",
        "iso": "SEN"
    }, {
        "country-en": "SERBIA",
        "country-es": "SERBIA",
        "iso": "SRB"
    }, {
        "country-en": "SEYCHELLES",
        "country-es": "SEYCHELLES",
        "iso": "SYC"
    }, {
        "country-en": "SIERRA LEONE",
        "country-es": "SIERRA LEONA",
        "iso": "SLE"
    }, {
        "country-en": "SINGAPORE",
        "country-es": "SINGAPUR",
        "iso": "SGP"
    }, {
        "country-en": "SLOVAKIA",
        "country-es": "ESLOVAQUIA",
        "iso": "SVK"
    }, {
        "country-en": "SLOVENIA",
        "country-es": "ESLOVENIA",
        "iso": "SVN"
    }, {
        "country-en": "SOLOMON ISLANDS",
        "country-es": "ISLAS SALOMON",
        "iso": "SLB"
    }, {
        "country-en": "SOMALIA",
        "country-es": "SOMALIA",
        "iso": "SOM"
    }, {
        "country-en": "SOUTH AFRICA",
        "country-es": "SUDAFRICA",
        "iso": "ZAF"
    }, {
        "country-en": "SOUTH GEORGIA AND THE SOUTH SANDWICH ISLANDS",
        "country-es": "ISLAS GEORGIAS DEL SUR Y SANDWICH DEL SUR",
        "iso": "SGS"
    }, {
        "country-en": "SPAIN",
        "country-es": "ESPAÑA",
        "iso": "ESP"
    }, {
        "country-en": "SRI LANKA",
        "country-es": "SRI LANKA",
        "iso": "LKA"
    }, {
        "country-en": "SUDAN",
        "country-es": "SUDAN",
        "iso": "SDN"
    }, {
        "country-en": "SURINAME",
        "country-es": "SURINAM",
        "iso": "SUR"
    }, {
        "country-en": "SVALBARD AND JAN MAYEN ISLANDS",
        "country-es": "SVALBARD Y JAN MAYEN",
        "iso": "SJM"
    }, {
        "country-en": "SWAZILAND",
        "country-es": "SUAZILANDIA",
        "iso": "SWZ"
    }, {
        "country-en": "SWEDEN",
        "country-es": "SUECIA",
        "iso": "SWE"
    }, {
        "country-en": "SWITZERLAND",
        "country-es": "SUIZA",
        "iso": "CHE"
    }, {
        "country-en": "SYRIAN ARAB REPUBLIC (SYRIA)",
        "country-es": "SIRIA",
        "iso": "SYR"
    }, {
        "country-en": "TAIWAN, REPUBLIC OF CHINA",
        "country-es": "TAIWAN",
        "iso": "TWN"
    }, {
        "country-en": "TAJIKISTAN",
        "country-es": "TAYIKISTAN",
        "iso": "TJK"
    }, {
        "country-en": "TANZANIA, UNITED REPUBLIC OF",
        "country-es": "TANZANIA",
        "iso": "TZA"
    }, {
        "country-en": "THAILAND",
        "country-es": "TAILANDIA",
        "iso": "THA"
    }, {
        "country-en": "TIMOR-LESTE",
        "country-es": "TIMOR ORIENTAL",
        "iso": "TLS"
    }, {
        "country-en": "TOGO",
        "country-es": "TOGO",
        "iso": "TGO"
    }, {
        "country-en": "TOKELAU",
        "country-es": "TOKELAU",
        "iso": "TKL"
    }, {
        "country-en": "TONGA",
        "country-es": "TONGA",
        "iso": "TON"
    }, {
        "country-en": "TRINIDAD AND TOBAGO",
        "country-es": "TRINIDAD Y TOBAGO",
        "iso": "TTO"
    }, {
        "country-en": "TUNISIA",
        "country-es": "TUNEZ",
        "iso": "TUN"
    }, {
        "country-en": "TURKEY",
        "country-es": "TURQUIA",
        "iso": "TUR"
    }, {
        "country-en": "TURKMENISTAN",
        "country-es": "TURKMENISTAN",
        "iso": "TKM"
    }, {
        "country-en": "TURKS AND CAICOS ISLANDS",
        "country-es": "ISLAS TURCAS Y CAICOS",
        "iso": "TCA"
    }, {
        "country-en": "TUVALU",
        "country-es": "TUVALU",
        "iso": "TUV"
    }, {
        "country-en": "UGANDA",
        "country-es": "UGANDA",
        "iso": "UGA"
    }, {
        "country-en": "UKRAINE",
        "country-es": "UCRANIA",
        "iso": "UKR"
    }, {
        "country-en": "UNITED ARAB EMIRATES",
        "country-es": "EMIRATOS ARABES UNIDOS",
        "iso": "ARE"
    }, {
        "country-en": "UNITED KINGDOM",
        "country-es": "REINO UNIDO",
        "iso": "GBR"
    }, {
        "country-en": "UNITED STATES OF AMERICA",
        "country-es": "ESTADOS UNIDOS",
        "iso": "USA"
    }, {
        "country-en": "URUGUAY",
        "country-es": "URUGUAY",
        "iso": "URY"
    }, {
        "country-en": "UZBEKISTAN",
        "country-es": "UZBEKISTAN",
        "iso": "UZB"
    }, {
        "country-en": "VANUATU",
        "country-es": "VANUATU",
        "iso": "VUT"
    }, {
        "country-en": "VENEZUELA (BOLIVARIAN REPUBLIC OF)",
        "country-es": "VENEZUELA",
        "iso": "VEN"
    }, {
        "country-en": "VIET NAM",
        "country-es": "VIETNAM",
        "iso": "VNM"
    }, {
        "country-en": "VIRGIN ISLANDS, US",
        "country-es": "ISLAS VIRGENES DE LOS ESTADOS UNIDOS",
        "iso": "VIR"
    }, {
        "country-en": "WALLIS AND FUTUNA ISLANDS",
        "country-es": "WALLIS Y FUTUNA",
        "iso": "WLF"
    }, {
        "country-en": "WESTERN SAHARA",
        "country-es": "REPUBLICA ARABE SAHARAUI DEMOCRATICA",
        "iso": "ESH"
    }, {
        "country-en": "YEMEN",
        "country-es": "YEMEN",
        "iso": "YEM"
    }, {
        "country-en": "ZAMBIA",
        "country-es": "ZAMBIA",
        "iso": "ZMB"
    }, {
        "country-en": "ZIMBABWE",
        "country-es": "ZIMBABUE",
        "iso": "ZWE"
    }]
}

Códigos ISO para Estados

Ponemos a tu disposición el catálogo de estados con su código ISO para México, Estados Unidos y Cánada, el cual es requerido para cualquier objeto Address que se envie via API.

Para enviar un estado de cualquier otro país, favor de utilizar el código ISO "XX”

País Ciudad ISO
MEXICO AGUASCALIENTES AG
MEXICO BAJA CALIFORNIA BC
MEXICO BAJA CALIFORNIA SUR BS
MEXICO CAMPECHE CM
MEXICO CHIAPAS CS
MEXICO CHIHUAHUA CH
MEXICO CIUDAD DE MEXICO CX
MEXICO COAHUILA DE ZARAGOZA CO
MEXICO COLIMA CL
MEXICO DURANGO DG
MEXICO GUANAJUATO GT
MEXICO GUERRERO GR
MEXICO HIDALGO HG
MEXICO JALISCO JC
MEXICO MÉXICO ME
MEXICO MICHOACÁN DE OCAMPO MN
MEXICO MORELOS MS
MEXICO NAYARIT NT
MEXICO NUEVO LEÓN NL
MEXICO OAXACA OC
MEXICO PUEBLA PL
MEXICO QUERÉTARO QO
MEXICO QUINTANA ROO QR
MEXICO SAN LUIS POTOSÍ SP
MEXICO SINALOA SL
MEXICO SONORA SR
MEXICO TABASCO TC
MEXICO TAMAULIPAS TS
MEXICO TLAXCALA TL
MEXICO VERACRUZ DE IGNACIO DE LA LLAVE VZ
MEXICO YUCATÁN YN
MEXICO ZACATECAS ZS
USA ALABAMA AL
USA ALASKA AK
USA ARIZONA AZ
USA ARKANSAS AR
USA CALIFORNIA CA
USA COLORADO CO
USA CONNECTICUT CT
USA DELAWARE DE
USA DISTRICT OF COLUMBIA DC
USA FLORIDA FL
USA GEORGIA GA
USA HAWAII HI
USA IDAHO ID
USA ILLINOIS IL
USA INDIANA IN
USA IOWA IA
USA KANSAS KS
USA KENTUCKY KY
USA LOUISIANA LA
USA MAINE ME
USA MARYLAND MD
USA MASSACHUSETTS MA
USA MICHIGAN MI
USA MINNESOTA MN
USA MISSISSIPPI MS
USA MISSOURI MO
USA MONTANA MT
USA NEBRASKA NE
USA NEVADA NV
USA NEW HAMPSHIRE NH
USA NEW JERSEY NJ
USA NEW MEXICO NM
USA NEW YORK NY
USA NORTH CAROLINA NC
USA NORTH DAKOTA ND
USA OHIO OH
USA OKLAHOMA OK
USA OREGON OR
USA PENNSYLVANIA PA
USA RHODE ISLAND RI
USA SOUTH CAROLINA SC
USA SOUTH DAKOTA SD
USA TENNESSEE TN
USA TEXAS TX
USA UTAH UT
USA VERMONT VT
USA VIRGINIA VA
USA WASHINGTON WA
USA WEST VIRGINIA WV
USA WISCONSIN WI
USA WYOMING WY
CANADA ALBERTA AB
CANADA BRITISH COLUMBIA BC
CANADA MANITOBA MB
CANADA NEW BRUNSWICK NB
CANADA NEWFOUNDLAND AND LABRADOR NL
CANADA NOVA SCOTIA NS
CANADA NORTHWEST TERRITORIES NT
CANADA NUNAVUT NU
CANADA ONTARIO ON
CANADA PRINCE EDWARD ISLAND PE
CANADA QUEBEC QC
CANADA SASKATCHEWAN SK
CANADA YUKON TERRITORY YT

Listado de Estados en formato json

{
    "countrystates": [{
        "country": "CAN",
        "states": [{
            "iso": "AB",
            "state": "ALBERTA"
        }, {
            "iso": "BC",
            "state": "BRITISH COLUMBIA"
        }, {
            "iso": "MB",
            "state": "MANITOBA"
        }, {
            "iso": "NB",
            "state": "NEW BRUNSWICK"
        }, {
            "iso": "NL",
            "state": "NEWFOUNDLAND AND LABRADOR"
        }, {
            "iso": "NT",
            "state": "NORTHWEST TERRITORIES"
        }, {
            "iso": "NS",
            "state": "NOVA SCOTIA"
        }, {
            "iso": "NU",
            "state": "NUNAVUT"
        }, {
            "iso": "ON",
            "state": "ONTARIO"
        }, {
            "iso": "PE",
            "state": "PRINCE EDWARD ISLAND"
        }, {
            "iso": "QC",
            "state": "QUEBEC"
        }, {
            "iso": "SK",
            "state": "SASKATCHEWAN"
        }, {
            "iso": "YT",
            "state": "YUKON TERRITORY"
        }]
    }, {
        "country": "USA",
        "states": [{
            "iso": "AL",
            "state": "ALABAMA"
        }, {
            "iso": "AK",
            "state": "ALASKA"
        }, {
            "iso": "AZ",
            "state": "ARIZONA"
        }, {
            "iso": "AR",
            "state": "ARKANSAS"
        }, {
            "iso": "CA",
            "state": "CALIFORNIA"
        }, {
            "iso": "CO",
            "state": "COLORADO"
        }, {
            "iso": "CT",
            "state": "CONNECTICUT"
        }, {
            "iso": "DE",
            "state": "DELAWARE"
        }, {
            "iso": "DC",
            "state": "DISTRICT OF COLUMBIA"
        }, {
            "iso": "FL",
            "state": "FLORIDA"
        }, {
            "iso": "GA",
            "state": "GEORGIA"
        }, {
            "iso": "HI",
            "state": "HAWAII"
        }, {
            "iso": "ID",
            "state": "IDAHO"
        }, {
            "iso": "IL",
            "state": "ILLINOIS"
        }, {
            "iso": "IN",
            "state": "INDIANA"
        }, {
            "iso": "IA",
            "state": "IOWA"
        }, {
            "iso": "KS",
            "state": "KANSAS"
        }, {
            "iso": "KY",
            "state": "KENTUCKY"
        }, {
            "iso": "LA",
            "state": "LOUISIANA"
        }, {
            "iso": "ME",
            "state": "MAINE"
        }, {
            "iso": "MD",
            "state": "MARYLAND"
        }, {
            "iso": "MA",
            "state": "MASSACHUSETTS"
        }, {
            "iso": "MI",
            "state": "MICHIGAN"
        }, {
            "iso": "MN",
            "state": "MINNESOTA"
        }, {
            "iso": "MS",
            "state": "MISSISSIPPI"
        }, {
            "iso": "MO",
            "state": "MISSOURI"
        }, {
            "iso": "MT",
            "state": "MONTANA"
        }, {
            "iso": "NE",
            "state": "NEBRASKA"
        }, {
            "iso": "NV",
            "state": "NEVADA"
        }, {
            "iso": "NH",
            "state": "NEW HAMPSHIRE"
        }, {
            "iso": "NJ",
            "state": "NEW JERSEY"
        }, {
            "iso": "NM",
            "state": "NEW MEXICO"
        }, {
            "iso": "NY",
            "state": "NEW YORK"
        }, {
            "iso": "NC",
            "state": "NORTH CAROLINA"
        }, {
            "iso": "ND",
            "state": "NORTH DAKOTA"
        }, {
            "iso": "OH",
            "state": "OHIO"
        }, {
            "iso": "OK",
            "state": "OKLAHOMA"
        }, {
            "iso": "OR",
            "state": "OREGON"
        }, {
            "iso": "PA",
            "state": "PENNSYLVANIA"
        }, {
            "iso": "RI",
            "state": "RHODE ISLAND"
        }, {
            "iso": "SC",
            "state": "SOUTH CAROLINA"
        }, {
            "iso": "SD",
            "state": "SOUTH DAKOTA"
        }, {
            "iso": "TN",
            "state": "TENNESSEE"
        }, {
            "iso": "TX",
            "state": "TEXAS"
        }, {
            "iso": "UT",
            "state": "UTAH"
        }, {
            "iso": "VT",
            "state": "VERMONT"
        }, {
            "iso": "VA",
            "state": "VIRGINIA"
        }, {
            "iso": "WA",
            "state": "WASHINGTON"
        }, {
            "iso": "WV",
            "state": "WEST VIRGINIA"
        }, {
            "iso": "WI",
            "state": "WISCONSIN"
        }, {
            "iso": "WY",
            "state": "WYOMING"
        }]
    }, {
        "country": "MEX",
        "states": [{
            "iso": "AG",
            "state": "AGUASCALIENTES"
        }, {
            "iso": "BC",
            "state": "BAJA CALIFORNIA"
        }, {
            "iso": "BS",
            "state": "BAJA CALIFORNIA SUR"
        }, {
            "iso": "CM",
            "state": "CAMPECHE"
        }, {
            "iso": "CS",
            "state": "CHIAPAS"
        }, {
            "iso": "CH",
            "state": "CHIHUAHUA"
        }, {
            "iso": "CX",
            "state": "CIUDAD DE MEXICO"
        }, {
            "iso": "CO",
            "state": "COAHUILA DE ZARAGOZA"
        }, {
            "iso": "CL",
            "state": "COLIMA"
        }, {
            "iso": "DG",
            "state": "DURANGO"
        }, {
            "iso": "GT",
            "state": "GUANAJUATO"
        }, {
            "iso": "GR",
            "state": "GUERRERO"
        }, {
            "iso": "HG",
            "state": "HIDALGO"
        }, {
            "iso": "JC",
            "state": "JALISCO"
        }, {
            "iso": "ME",
            "state": "MÉXICO"
        }, {
            "iso": "MN",
            "state": "MICHOACÁN DE OCAMPO"
        }, {
            "iso": "MS",
            "state": "MORELOS"
        }, {
            "iso": "NT",
            "state": "NAYARIT"
        }, {
            "iso": "NL",
            "state": "NUEVO LEÓN"
        }, {
            "iso": "OC",
            "state": "OAXACA"
        }, {
            "iso": "PL",
            "state": "PUEBLA"
        }, {
            "iso": "QO",
            "state": "QUERÉTARO"
        }, {
            "iso": "QR",
            "state": "QUINTANA ROO"
        }, {
            "iso": "SP",
            "state": "SAN LUIS POTOSÍ"
        }, {
            "iso": "SL",
            "state": "SINALOA"
        }, {
            "iso": "SR",
            "state": "SONORA"
        }, {
            "iso": "TC",
            "state": "TABASCO"
        }, {
            "iso": "TS",
            "state": "TAMAULIPAS"
        }, {
            "iso": "TL",
            "state": "TLAXCALA"
        }, {
            "iso": "VZ",
            "state": "VERACRUZ DE IGNACIO DE LA LLAVE"
        }, {
            "iso": "YN",
            "state": "YUCATÁN"
        }, {
            "iso": "ZS",
            "state": "ZACATECAS"
        }]
    }]
}

Tarjetas de prueba

En el siguiente listado proporcionamos las tarjetas que puedes utilizar en el entorno de sandbox.

Tarjetas para simular cargos exitosos

Número de Tarjeta CVV Mes de Expiración Año de Expiración Tipo de Tarjeta
4898242678918611 106 4 19 VISA
4648321455339598 866 7 19 VISA
4426175029604087 562 8 17 VISA
341192111079623 4375 3 19 AMEX
341673881213039 6168 10 17 AMEX
5165158577299957 228 10 18 MASTERCARD
5298371823147611 763 3 18 MASTERCARD
5472874511226272 726 4 19 MASTERCARD

Tarjetas para simular cargos denegados

Número de Tarjeta CVV Mes de Expiración Año de Expiración Tipo de Tarjeta
4021466886064609 393 5 19 VISA
4451285854590349 405 9 18 VISA
371504658851110 5032 9 18 AMEX
347639702413920 8375 8 17 AMEX
348298743277510 1016 1 21 AMEX
5333886089196009 365 3 18 MASTERCARD
5306033502185904 539 7 19 MASTERCARD