Nueva Tarea
Nivel de seguridad requerida para este servicio
Medio (accessToken)
Objetivo
Una tarea es una solicitud al dispositivo para realizar una acción. Estas pueden ser realizar un cobro, donde se le ofrece al cliente opciones para completarlo, o tareas más específicas como cobrar con tarjeta de débito o QR un monto determinado. Otras tareas que el dispositivo soporta es la impresión de comprobantes. Este endpoint permite generar una o más solicitudes de cobro o anulación. Se deben especificar los medios de pago a utilizar, modo de impresión, datos del comprador (opcional) y de la cuenta de acreditación.
Request
curl -X GET "https://$env/external/posdevice-api/tasks-request" \
-H 'Authorization: $YOUR_ACCESS_TOKEN' \
-H 'Content-Type: application/json' \
--data-urlencode "$body"
env
: Entorno de la API, como producción o desarrollo.YOUR_ACCESS_TOKEN
: Token obtenido en el servicio de autenticación.body
: JSON con el cuerpo del mensaje. Ver a continuación.
Ejemplo del body request:
{
"target": {
"deviceId": "E44E3A25-57B8-43E5-B093-65AAD4C01C45"
},
"tasks": [
{
"payment": {
"originID": "ID PROPIO CLIENTE",
"operationType": "PAYMENT",
"sourceOriginID": "",
"executionOrder": 1,
"printTicket": "auto",
"callbackURL": null,
"qrMethod": {
"accountMoney": true
},
"cardMethod": {
"credit": true,
"creditInterestPayer": "client",
"creditInstallmentsOption": true,
"creditInstallments": null,
"debit": true
},
"originalAmount": {
"amount": 1000,
"currency": "ARS"
},
"collectAccountData": {
"portfolioId": 6127,
"personId": 6346958
}
"buyerData": {
"taxNumber": 26267162
}
}
}
]
}
Información adicional sobre campos
originID
: ID própio del CLIENTEoperationType
: Tipo de operaciónsourceOriginID
: Identificador solo requerido para anulacionesexecutionOrder
: Como es posible enviar múltiples tareas a la vez, estas requieren un orden de ejecución.printTicket
: Indica si la terminal debe imprimir el ticket automaticamente, ofrecer la posibilidad al cliente o no imprimircallbackURL
: Es una dirección adicional y redundante para notificar el resultado del pago, puede ser de red local al punto de venta.qrMethod.accountMoney
: En "true" indica que acepta pagos con dinero en cuenta (del cliente)cardMethod.credit
: En "true" permite que el cliente pague con tarjeta de crédito,creditInterestPayer
: Indica quien paga los intereses de financiación (Por ejemplo: "client")creditInstallmentsOption
: En true, ofrece selección de cuotas para pagos con tarjeta de créditocreditInstallments
: En "null", permite que el cliente eliga las cuotas. Enviando las cuotas no se muestra la selección.debit
: En "true" permite pagos con tarjeta de débitoamount
: Es el importe de la compra. Siempre debe ser positivocurrency
: Moneda en la que esta expresado el importecollectAccountData.portfolioId
: Es el ID (int) de la cuenta en donde va a realizarse el cobrocollectAccountData.personId
: Es el titular de la cuenta que va a recibir el cobrobuyerData.taxNumber
: Es el nro de DNI del comprador. Si no se envía y el monto es alto, se le solicita al cliente
Ejemplo de Respuestas:
[
{
"taskId": 15,
"originID": "MERCH-OperationId-15",
"generationDate": "2023-11-13T21:17:22.457",
"status": "InProgress",
"statusDate": "2023-11-13T21:22:03.97",
"paymentaData": null
}
]
Tipo de Operaciones (opertationType)
Código | Descripción |
---|---|
PAYMENT | Para una tarea de cobro |
ANNULMENT | Para una tarea de anulación |
Posibles Estados de una Task (status):
Código | Descripción |
---|---|
Created | Estado inicial cuando se recibe la solicitud de tarea |
InProgress | Estado luego de ser recibida de forma correcta por el dispositivo POS |
Canceled | En caso de no poder enviarla al POS o si este no puede procesarla |
Processed | Cuando se procesó el cobro asociado con la tarea |
Completed | Cuando se recibe el cupón (voucher) desde el procesador de pagos. Este es el estado FINAL del flujo deseado para cobro con tarjetas |
Failed | Cuando se produce algún error en los procesos posteriores a la recepción correcta de la tarea en el POS |
Nota: Los estados de las tareas no hacen referencia al estado del cupón asociado. El cupón asociado puede haberse "cobrado", "rechazado", "devuelto", etc. una vez que la tarea se completó.
Posibles Estados de un pago con Tarjeta (propiedad status en cardPaymentaData):
Código | Descripción |
---|---|
PENDING | Estado inválido en el proveedor del servicio (no se procesa el cobro) |
REVERSED | El cobro fue revertido por el emisor. |
APPROVED | Cobro aprobado |
FAILED | Falló la operación de cobro. No se procesa el cobro |
REJECTED | El emisor rechazó el pago. |
Posibles Estados con QR Task (propiedad status en qrPaymentaData):
Código | Descripción |
---|---|
PENDING | El QR se encuentra pendiente de cobro. Aplica a QR de "USO UNICO" |
ACTIVE | El QR se encuentra pendiente de cobro. Aplica a QR que NO son de "USO UNICO" |
COLLECTED | El QR fue cobrado correctamente |
EXPIRED | Se venció el tiempo de vida del QR. Ya no puede ser cobrado |
NOTFOUND | No se encontró el QR asociado |
UNDEFINED | Estado no definido. QR inválido |
Anulación de Cupones
Se utiliza el mismo endpoint que para un cobro normal con 2 modificaciones:
"operationType": "ANNULMENT"
"sourceOriginID": "OriginId de la operación a anular"
NOTA: Solo pueden anularse operaciones cuyos cupones hayan sido cobrados en los últimos 30 días. El importe a anular debe ser menor o igual al importe original del cupón o la suma de anulaciones parciales previas. Si la operación a anular corresponde a un QR la misma se efectiviza en el momento. No requiere operaciones en el POS. En cualquier caso que la anulación no pueda realizarse se informará el motivo mediante una excepción de negocio.