Acepta pagos
Acepta pagos con una terminal POS desde tu punto de venta a través de Cloud terminal API. Cloud terminal API te permite enviar solicitudes a una terminal Ultra P desde cualquier aplicación compatible para procesar un pago.
Con Cloud Terminal API lleva el control de tu operación desde tu sistema y utiliza una terminal como un periférico (pinpad) para leer la información de la tarjeta para procesar un pago.
Modelo de datos de la solicitud
Estos son todos los parámetros que puedes configurar al momento de realizar una solicitud.
Propiedad | Tipo | Requerido | Descripción |
---|---|---|---|
device | String | Sí | Número de serie de la terminal. |
amount | Integer | Sí | Monto de la transacción. |
dteType | Integer | - | Tipo de Documento Tributario Electrónico (DTE):
|
extraData | Object | - | Objeto para información adicional. |
extraData.taxIdnValidation | String | - | Rol Único Tributario (RUT) del comercio. |
extraData.netAmount | Integer | - | Monto de la transacción (IVA incluido) que será reportado al Servicio de Impuestos Internos (SII). |
extraData.exemptAmount | Integer | - | Monto exento de la transacción que será reportado al Servicio de Impuestos Internos (SII). |
extraData.sourceName | String | - | Nombre del paquete de tu aplicación. |
extraData.sourceVersion | String | - | Número de versión de paquete de tu aplicación. |
extraData.customFields | Array[Object] | - | Envía información adicional para ser almacenada para reportes e imprimir la información en el ticket de venta. |
extraData.customFields.name | String | - | Nombre del campo personalizado. Máximo 28 caracteres. |
extraData.customFields.value | String | - | Valor del campo personalizado. Máximo 28 caracteres. |
extraData.customFields.print | Boolean | - | Indica si la información enviada será impresa en el ticket de venta. |
Operaciones
Descubre todas las operaciones disponibles a través de integraciones por Cloud Terminal API.
Venta
El proceso de venta se inicia cuando un cliente quiere comprar un producto o servicio en tu establecimiento a través de algún medio de pago físico o digital. Durante el proceso, tu sistema punto de venta envía una solicitud de cobro con la configuración necesaria a la aplicación de pagos, la cuál se comunica con la terminal de forma segura para leer, cifrar y enviar la información de la tarjeta de crédito o débito de tu cliente a Kushki para ser procesada. Recibirás la respuesta de la solicitud en la aplicación de pagos. En caso de que la transacción haya sido autorizada de forma exitosa, se descontará el monto autorizado de la cuenta de tu cliente de forma inmediata y posteriormente será liquidado a tu cuenta bancaria de acuerdo al proceso de liquidación. En caso de error, obtendrás más información en la aplicación de pagos y se podrá reintentar nuevamente la solicitud con un método de pago válido.
Envía una solicitud con la configuración de pago desde tu sistema punto de venta hacia el endpoint Collect card payments para realizar una operación de venta.
curl --request POST \--url https://integrations.payment.haulmer.com/PaymentRequest/Create \--header 'Accept: application/json' \--header 'Content-Type: application/json' \--header 'X-API-Key: apiKey' \--data '{"amount": 1900,"device": "TJ71246J27718","dteType": 0,"extraData": {"netAmount": 1900,"sourceName": "com.example.app123","customFields": [{"name": "Mesa","print": true,"value": "idMesa"},{"name": "Mesero","print": true,"value": "idMesero"}],"exemptAmount": 0,"sourceVersion": "1.10.4"}}'
Propina
Añade un monto adicional para propina durante una operación de venta en la aplicación de pagos durante el proceso de pago. Elige entre un monto predefinido o ingresa un monto personalizado. En caso de no requerir agregar propina, da clic fuera del diálogo para continuar.
Pagos diferidos
Incrementa el monto promedio de compra de tus clientes en tu establecimiento ofreciendo la opción de diferir un pago en un número de cuotas establecido. La transacción deberá cumplir con ciertos requisitos para poder ser diferida. Revisa los requisitos con tu gerente de cuenta.
Para diferir un pago, habilita la opción dentro de los ajustes de la aplicación de pagos y selecciona la opción deseada durante el proceso de pago.
Revisa la referencia de Cloud terminal API para información más detallada.
Respuesta
Si la información enviada es correcta, obtendrás un código de estado HTTP 201 indicando que la solicitud se envió correctamente a la terminal.
{"amount": 1900,"status": "Pending","dteType": 0,"deviceId": "TJ71246J27718","extraData": {"sourceName": "com.example.app123","customFields": [{"name": "Mesa","print": true,"value": "idMesa"},{"name": "Mesero","print": true,"value": "idMesero"}],"sourceVersion": "1.10.4","taxIdnValidation": "1234567-2"},"paymentRequestId": 9876}
Flujo aplicación de pagos
Para poder recibir una solicitud e iniciar el proceso de pago, la terminal deberá estar configurada en Modo integración dentro de los ajustes de la aplicación de pagos.
Al recibir una solicitud, se desplegará la pantalla de pago con el monto configurado. Da clic en el botón Aceptar para continuar con el proceso de pago o da clic en el botón Rechazar para cancelar la solicitud.
En caso de que la opción de Propina esté habilitado dentro de los ajustes de la aplicación de pagos, se desplegará la pantalla de propinas. Elige una opción en pantalla para continuar.
Elige el tipo de tarjeta en pantalla.
En caso de que la opción de Cashback esté habilitada dentro de los ajustes de la aplicación de pagos, se desplegará la pantalla de cashback. Elige una opción en pantalla para continuar.
Posteriormente, se desplegará la pantalla de Opera tu tarjeta indicando el momento en que se debe ingresar el método de pago.
La pantalla para ingresar el PIN aparecerá de acuerdo a las siguientes reglas de seguridad:
- Tarjetas de débito: se solicitará la entrada del PIN para todas las transacciones con tarjetas de débito.
- Tarjeta de crédito:
- Sin contacto (contactless): se solicitará la entrada de PIN en montos mayores a $20.000.
- Chip: se solicitará la entrada del PIN independientemente del monto de la transacción.
Después de la autenticación por parte del tarjetahabiente, aparecerá una animación indicando que la información enviada está siendo procesada.
Finalmente, obtendrás el resultado de la solicitud en la pantalla de respuesta.
Al finalizar la operación en la terminal, recibirás un webhook con información útil del resultado de la transacción.