# Documentación Técnica - TaloService API

# Descripción General

TaloService es una integración de pagos por transferencias que permite procesar pagos, gestionar clientes y realizar reembolsos a través de la API de Talo.

# Configuración Base

El servicio requiere los siguientes parámetros de conexión:

  • public_key: Client id del cliente obtenido en talo
  • secret: Client secreta del cliente obtenido en talo
  • user_id: ID del usuario en Talo
  • ambient: Ambiente ("developer" para sandbox, otro valor para producción)

# 1. Crear Link de Pago

# POST /pagos

Crea un link de pago en la plataforma Talo.

# Descripción de Campos

Campo Tipo Requerido Descripción
provider string Siempre será "talo"
action string Siempre en "create" para crear pagos
ambient string Ambiente que se utilizará
user_id string ID del usuario en Talo
amount number Monto del pago
type string Tipo de pago (deberá ir "transfer")
reference_id string ID externo de la orden/transacción
notification_url string URL del webhook para notificaciones
return_url string URL de redirección después del pago
public_key string Client
secret string Client secret

# Ejemplo de Request

{
  "provider": "talo",
  "action": "create",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "amount":1000, 
  "type":"transfer", 
  "reference_id":"6546", 
  "notification_url":"https://www.gymcosportwear.com/paypal/paypal_order", 
  "return_url":"https://www.gymcosportwear.com/paypal/paypal_order",
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4"
}

# Response

Campo Tipo Descripción
payment_url string Url para redirigir al usuario
quotes.alias string Alias generado para el usuario
status string Status del pago
{
  {
    "message": "ok",
    "error": false,
    "code": 200,
    "data": {
        "user_info": {
            "cuit": "27422260922",
            "full_name": "BORINSKY CAMILA",
            "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303",
            "email": "cborinsky+13@itba.edu.ar"
        },
        "quotes": [
            {
                "alias": "sport78.8710.talo",
                "currency": "ARS",
                "amount": "1000",
                "amountReadable": "1000",
                "address": "0000630500021164346225",
                "network": "POLLUX"
            }
        ],
        "last_modified_timestamp": "2025-08-08T12:19:41.720Z",
        "payment_options": [
            "transfer"
        ],
        "creation_timestamp": "2025-08-08T12:19:41.720Z",
        "payment_status": "PENDING",
        "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303",
        "payment_url": "https://sandbox.talo.com.ar/payments/VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6546",
        "webhook_url": "https://www.gymcosportwear.com/paypal/paypal_order",
        "transfer_tolerance": 0,
        "redirect_url": "https://www.gymcosportwear.com/paypal/paypal_order",
        "external_id": "6546",
        "automatic_cancellation": false,
        "provider": "email",
        "price": {
            "amount": 1000,
            "currency": "ARS"
        },
        "id": "VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6546",
        "expiration_timestamp": "2025-08-08T14:19:41.720Z",
        "is_deleted": false,
        "status": "PENDING"
    }
  }
}

# 2. Consultar Link de Pago

# `POST /pagos

Consulta el estado y detalles de un link de pago existente.

# Request Body

{
  "provider": "talo",
  "action": "obtain_payment_info",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4",
  "payment_id": "VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6546"
}

# Descripción de Campos

Campo Tipo Requerido Descripción
provider string Siempre será "talo"
action string Siempre en "obtain_payment_info" para crear pagos
ambient string Ambiente que se utilizará
payment_id string ID del pago a consultar
user_id string ID del usuario en Talo
public_key string Client
secret string Client secret

# Ejemplo de Request

{
  "provider": "talo",
  "action": "obtain_payment_info",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4",
  "payment_id": "VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6546"
}

# Response

Campo Tipo Descripción
status string Status del pago
{
    "message": "ok",
    "error": false,
    "code": 200,
    "data": {
        "user_info": {
            "cuit": "27422260922",
            "full_name": "BORINSKY CAMILA",
            "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303",
            "email": "cborinsky+13@itba.edu.ar"
        },
        "quotes": [
            {
                "alias": "sport78.8710.talo",
                "currency": "ARS",
                "amount": "1000",
                "amountReadable": "1000",
                "address": "0000630500021164346225",
                "network": "POLLUX"
            }
        ],
        "last_modified_timestamp": "2025-08-08T12:19:41.720Z",
        "payment_options": [
            "transfer"
        ],
        "creation_timestamp": "2025-08-08T12:19:41.720Z",
        "payment_status": "PENDING",
        "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303",
        "payment_url": "https://sandbox.talo.com.ar/payments/VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6546",
        "webhook_url": "https://www.gymcosportwear.com/paypal/paypal_order",
        "transfer_tolerance": 0,
        "redirect_url": "https://www.gymcosportwear.com/paypal/paypal_order",
        "external_id": "6546",
        "automatic_cancellation": false,
        "provider": "email",
        "price": {
            "amount": 1000,
            "currency": "ARS"
        },
        "id": "VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6546",
        "expiration_timestamp": "2025-08-08T14:19:41.720Z",
        "is_deleted": false,
        "status": "PENDING"
    }
}

# 3. Procesar Reembolso

# POST /pagos

Procesa una devolución total o parcial de un pago.

# Descripción de Campos

Campo Tipo Requerido Descripción
provider string Siempre será "talo"
action string Siempre en "refund" para crear pagos
ambient string Ambiente que se utilizará
payment_id string ID del pago a reembolsar
user_id string ID del usuario en Talo
amount number No Monto a reembolsar (si no se envía, será reembolso total)
secuence_number string ID del equipo responsable
email string Email del responsable del reembolso
public_key string Client
secret string Client secret

# Ejemplo de Request (Reembolso Parcial)

{
  "provider": "talo",
  "action": "refund",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4",
  "payment_id": "VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6545",
  "secuence_number": "IT",
  "email": "andres.jaromezuk@pow.la",
  "amount": "1000"
}

# Ejemplo de Request (Reembolso Total)

{
  "provider": "talo",
  "action": "refund",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4",
  "payment_id": "VAR-eb6d1c11-43d7-4242-8550-04c9c2ea0303-6545",
  "secuence_number": "IT",
  "email": "andres.jaromezuk@pow.la"
}

# Response

Campo Tipo Descripción
status string Status de la devolución
{
 {
	"status": "ok",
	"data": {
		"refund_id": "abc123",
		"payment_id": "123456",
		"amount": "500.00",
		"currency": "ARS",
		"status": "CREATED",
		"created_at": "2024-06-07T12:34:56Z"
	},
	"code": 200
}
}

# 4. Crear Cliente

# POST /pagos

Crea un nuevo cliente en la plataforma Talo.

# Descripción de Campos

Campo Tipo Requerido Descripción
provider string Siempre será "talo"
action string Siempre en "create_customer" para crear pagos
ambient string Ambiente que se utilizará
secuence_number string Sufijo de alias deseado
notification_url string URL del webhook para notificaciones
card_name string Nombre completo del cliente
card_doc_num string Número de documento del cliente (identificador único del cliente)
email string Email del cliente
public_key string Client
secret string Client secret
user_id string ID del usuario en Talo

# Ejemplo de Request

{
  "provider": "talo",
  "action": "create_customer",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4",
  "secuence_number": "cheeky",
  "email": "andres.jaromezuk@pow.la",
  "card_doc_num":"29946689",
  "card_name":"Andrés Jaromezuk",
  "notification_url":"https://www.gymcosportwear.com/paypal/paypal_order"
}

# Response

{
	"data": {
		"customer_id": "123456789",
		"bank_info": {
			"cvu": "0000630500008064475741",
			"alias": "bami.abcdabcd",
		},
		"balance": 0,
		"creation_timestamp": "2025-02-18T19:57:26.674Z",
	},
}

# 5. Consultar Balance de Cliente

# POST /pagos

Consulta el balance actual de un cliente específico.

# Descripción de Campos

Campo Tipo Requerido Descripción
provider string Siempre será "talo"
action string Siempre en "create_customer" para crear pagos
ambient string Ambiente que se utilizará
card_doc_num string Número de documento del cliente
public_key string Client
secret string Client secret

# Ejemplo de Request

{
  "provider": "talo",
  "action": "get_customer_balance",
  "ambient": "developer",
  "user_id": "eb6d1c11-43d7-4242-8550-04c9c2ea0303", 
  "public_key": "95c02fba-f9f0-47a5-a418-54e7ecd7e79b",
  "secret": "8c673fb6-7196-41bc-bc7c-6898260b6aa4",
  "card_doc_num": "29946689"
}

# Response

{
  // Información del balance del cliente
}