Token de Uso Recurrente
El cliente recibe un CommerceToken después de registrar su tarjeta, la cual puede ser utilizada para futuras transacciones. A continuación, se encuentran los pasos para comprar como un usuario registrado en el sitio web.
Crear un Cliente
El primer paso es crear el cliente en Bamboo Payment. Para esto, debe invocar un request POST a las siguientes URL de acuerdo con sus necesidades.
- Producción:
https://api.bamboopayment.com/v3/api/customer
- Stage:
https://api.stage.bamboopayment.com/v3/api/customer
Parámetros del Request
Parámetro | Tipo | ¿Obligatorio? | Descripción |
---|---|---|---|
Email | string | Sí | Dirección de correo electrónico del cliente. |
FirstName | string | Sí | Nombre del cliente. |
LastName | string | Sí | Apellido del cliente. |
DocumentType | string | Sí | Tipo de documento del cliente. Encuentre los posibles valores en la tabla de Tipos de Documento de acuerdo con el país. |
DocumentNumber | string | Sí | Número de documento del cliente. |
Owner | string | No | Determina si el usuario es anónimo o si el comercio, o nosotros, lo registró. Los posibles valores son:
|
PhoneNumber | string | Sí | Número de teléfono de contacto del cliente. |
Address | object | Sí | Este parámetro es la dirección de facturación del cliente. |
Address →AddressType | string | Sí | Tipo de dirección. |
Address →Country | string | Sí | País de la dirección. |
Address →State | string | Sí | Estado de la dirección. |
Address →City | string | Sí | Ciudad de la dirección. |
Address →AddressDetail | string | Sí | Este parámetro corresponde a la información adicional de la dirección, como calle, número, etc. |
Ejemplo del Request
{
"Email": "test@bamboopayment.com",
"FirstName": "Jhon",
"LastName": "Doe",
"DocumentNumber":"123456721",
"DocumentType": "DNI.AR",
"PhoneNumber" : "549112345678",
"Address": {
"Country": "ARG",
"State": "Buenos Aires",
"City": "Buenos Aires",
"AddressDetail": "Solano Lopez 1774"
}
}
Parámetros del Response
El objeto de respuesta retorna la información del cliente recién creado o el error que se haya podido producir. En el parámetro Response.CustomerId
se encuentra el identificador de cliente generado por la API para poder consultarlo o actualizarlo.
Utilice los siguientes parámetros para realizar operaciones adicionales sobre los clientes:
UniqueID
: Identificador único temporal utilizado para registrar métodos de pago externos. Cada vez que se solicita la información del Cliente, se obtiene un nuevo identificador. Para más información, consulte Invocando el formulario de inscripción de tarjeta.URL
: URL en la que se puede consultar la información de un cliente. Para más información, consulte Obtener un cliente.
Ejemplo del Response
{
"Response": {
"CustomerId": 249205,
"Created": "2023-08-22T11:26:53.343",
"Owner": "Commerce",
"Email": "kristeldyoder@teleworm.us",
"Enabled": true,
"Address": {
"Country": "Uruguay",
"State": "Montevideo",
"AddressDetail": "100",
"PostalCode": "11600",
"City": "Montevideo"
},
"PaymentProfiles": [],
"UniqueID": "UI_b53cb8db-771e-4622-a5db-0e58e156f192",
"URL": "https://api.stage.bamboopayment.com/api/Customer/249205",
"FirstName": "Kristel",
"LastName": "Yoder",
"DocNumber": "31130749",
"DocumentType": "CI.UY",
"PhoneNumber": "093000000",
}
}
Operaciones sobre los clientes
Una vez haya creado un usuario, puede realizar operaciones para obtener o actualizar su información.
Obtener un cliente
Se puede obtener la información del cliente usando su ID o su dirección de correo electrónico.
Para esto, debe invocar un request GET a las siguientes URL de acuerdo con sus necesidades.
- Producción:
https://api.bamboopayment.com/v3/api/customer
- Stage:
https://api.stage.bamboopayment.com/v3/api/customer
Endpoint | ||
---|---|---|
Obtener por el correo electrónico del cliente | /email/{{EmailAddress}} |
En la respuesta, se obtiene una lista con el mismo objeto retornado en la creación del cliente.
Actualizar un cliente
Para actualizar la información de un cliente, debe invocar un request POST a las siguientes URL de acuerdo con sus necesidades.
- Producción:
https://api.bamboopayment.com/v1/api/customer/{{{{customer-id}}}}/update
- Stage:
https://api.stage.bamboopayment.com/v1/api/customer/{{customer-id}}/update
Donde {{customer-id}}
es el id generado cuando se creó el usuario. En el cuerpo del request los parámetros que quiera actualizar.
En la respuesta, se obtiene el mismo objeto retornado en la creación del cliente.
Alert
La operación Update de cliente, aún no está migrada a la versión 3 de la API.
Capturar la información de la tarjeta
El siguiente paso es obtener el token de la tarjeta del cliente. Para esto, puede invocar el formulario de inscripción de tarjeta o utilizar la Tokenización Directa si su comercio cumple con la normativa PCI.
Info
Si utiliza el identificador del Medio alternativo, no requiere realizar este paso y debe incluir el PaymentMethod.
Invocando el formulario de inscripción de tarjeta
Info
Si utiliza la versión Legacy del formulario de captura de tarjetas, verifique los pasos a seguir desde aquí
- Obtener el valor uniqueId del customer, para ello, se debe ejecutar la operación Get Customer.
- Invocar el formulario de captura de tarjetas, enviando en el campo
uniqueId
dentro del objetometadata
en elcustomer
, como es indicado en la sección Información de clientes
Crear una Compra Básica
Debe enviar el token recién obtenido desde el navegador o la aplicación móvil al servidor de aplicaciones para crear la transacción de compra.
Desde el servidor, invoque el método Crear una Compra, incluyendo el objeto Purchase
con el token y los datos de la transacción adicionales.
En caso de operar con cliente previamente creado y con tarjeta guardada a través del formulario de captura de tarjetas o tokenización directa, debe invocar la función Get Customer y obtener el CommerceToken de la tarjeta selecciona, detallado dentro del objeto PaymentProfile, para luego, enviar la compra con el valor obtenido.
Ejemplo del Response de Cliente con Tarjeta Guardada
{
"CustomerId": 415589,
"CommerceId": 0,
"CommerceAccountId": 4924,
"Email": "test@bamboopayment.com",
"FirstName": "Jhon",
"LastName": "Doe",
"ExternalCustomerId": null,
"PhoneNumber": "549112345678",
"BornPlace": null,
"BornDate": null,
"IsAnonymous": false,
"Created": "0001-01-01T00:00:00.000",
"Document": {
"DocumentType": "DNI.AR",
"Value": "123456721",
"Abbreviation": null,
"Description": null
},
"Country": "AR",
"Gender": null,
"Address": {
"Country": "ARG",
"State": "Buenos Aires",
"City": "Buenos Aires",
"AddressDetail": "Solano Lopez 1774"
},
"SessionId": "UI_d657da45-d67a-46d4-a53b-22deb5e05691",
"PaymentProfiles": [
{
"PaymentProfileId": 435168,
"PaymentMediaId": 1,
"Created": "2025-01-16T18:26:30.753",
"LastUpdate": "2025-01-16T18:26:30.753",
"Brand": "VISA",
"CardOwner": "Sora Doe",
"Bin": "463403",
"IssuerBank": "Santander",
"Installments": null,
"Type": "CreditCard",
"IdCommerceToken": 53963,
"Token": "CT__gIOtp4dvXEiWnsxmFtHWTSSDAQ",
"Expiration": "202704",
"Last4": "1111",
"Enabled": true,
"DocumentNumber": "",
"DocumentTypeId": 2,
"ExternalValue": null,
"AffinityGroup": null
}
]
}
Ejemplo del Request
{
"TrxToken": "CT_kYv0qTHckRiZ4wjCz5NguZRuwFLSIrQc4jiYpVJ8SzQ_",
"Order": "17030613595101621fb",
"Amount": 123456,
"Currency": "USD",
"Capture": true,
"TargetCountryISO":"CL"
}
Compras recurrentes en un clic
Después de que los clientes se registren correctamente, algunas tarjetas permiten ciertas transacciones sin necesidad de un Código de Verificación (CVV), lo que permite una experiencia de usuario más ágil (pagos en un solo clic).
En estos casos, las compras se pueden enviar directamente sin solicitar más información al cliente, como se explica en el punto anterior, Compra básica.
Debe solicitar el Código de Verificación cada vez que realice transacciones en las que la tarjeta no permita esta función, ya que no podemos almacenarlo en nuestros servidores.
Para invocar el Código de Verificación, deberá seguir los pasos descriptor en ésta sección.