Referencia
Base https://api.tikipay.ar. Montos como string. Auth: Authorization: Bearer …. Las URLs que nos pases tienen que ser https. La pestaña Respuesta es el JSON HTTP. El SDK lo envuelve en { http, data }.
- Salud
- Cuenta
- Cargos
- Crear cobro
- Listar cobros
- Ver cobro
- Actualizar cobro
- Devolver
- Transacciones
- Devoluciones
- Liquidaciones
GET /v1/salud
Pública. No lleva key.
curl https://api.tikipay.ar/v1/salud
$ch = curl_init('https://api.tikipay.ar/v1/salud');
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
echo curl_exec($ch);const r = await fetch('https://api.tikipay.ar/v1/salud');
const data = await r.json();HTTP/1.1 200 OK
{
"ok": true,
"name": "Tiki Pay",
"version": "1"
}GET /v1/cuenta
Quién sos y si ya podés cobrar.
curl https://api.tikipay.ar/v1/cuenta \ -H "Authorization: Bearer tiki_test_xxx"
require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->cuenta();
print_r($r['data']);const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const r = await tiki.cuenta();
console.log(r.data);HTTP/1.1 200 OK
{
"data": {
"id": 1,
"email": "comercio@ejemplo.com",
"nombre": "Ana Pérez",
"puede_cobrar": true
}
}GET /v1/cargos
Lo que te cobramos por medio: lo nuestro más el procesador, en un solo porcentaje.
curl https://api.tikipay.ar/v1/cargos \ -H "Authorization: Bearer tiki_test_xxx"
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->cargos();const r = await tiki.cargos();
HTTP/1.1 200 OK
{
"data": [
{ "medio": "transferencia", "label": "Transferencia", "porcentaje": "0.3500" },
{ "medio": "qr", "label": "QR", "porcentaje": "0.8000" },
{ "medio": "debito", "label": "Débito", "porcentaje": "2.0000" },
{ "medio": "credito", "label": "Crédito", "porcentaje": "3.0000" },
{ "medio": "prepaga", "label": "Prepaga", "porcentaje": "2.0000" }
]
}POST /v1/cobros
201. Te devolvemos el link en url. success_url y error_url, si las mandás, tienen que ser https.
| Campo | Envío | |
|---|---|---|
| concepto | sí | Texto que ve quien paga |
| monto | sí | String decimal, ej. 15000.00 |
| vencimiento | no | ISO 8601. Si no va, 7 días |
| tarjeta / qr / transferencia | no | Boolean. Default true |
| referencia | no | Tu id interno |
| success_url / error_url | no | https solamente |
curl -X POST https://api.tikipay.ar/v1/cobros \
-H "Authorization: Bearer tiki_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"concepto": "Factura 1001",
"monto": "15000.00",
"vencimiento": "2026-10-01T18:00:00-03:00",
"tarjeta": true,
"qr": true,
"transferencia": true,
"referencia": "FAC-1001",
"success_url": "https://tudominio.com/ok",
"error_url": "https://tudominio.com/error"
}'$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->crearCobro(array(
'concepto' => 'Factura 1001',
'monto' => '15000.00',
'vencimiento' => '2026-10-01T18:00:00-03:00',
'tarjeta' => true,
'qr' => true,
'transferencia' => true,
'referencia' => 'FAC-1001',
'success_url' => 'https://tudominio.com/ok',
'error_url' => 'https://tudominio.com/error'
));
echo $r['data']['data']['url'];const r = await tiki.crearCobro({
concepto: 'Factura 1001',
monto: '15000.00',
vencimiento: '2026-10-01T18:00:00-03:00',
tarjeta: true,
qr: true,
transferencia: true,
referencia: 'FAC-1001',
success_url: 'https://tudominio.com/ok',
error_url: 'https://tudominio.com/error'
});
console.log(r.data.data.url);HTTP/1.1 201 Created
{
"data": {
"id": 12,
"codigo": "TKI1-AB12CD34",
"concepto": "Factura 1001",
"monto": "15000.00",
"monto_cobrado": "0.00",
"estado": "PENDIENTE",
"url": "https://pagos.ejemplo.com/d/TKI1-AB12CD34",
"cvu": null,
"qr": null,
"referencia": "FAC-1001",
"medios": { "tarjeta": true, "qr": true, "transferencia": true },
"vencimiento": "2026-10-01 18:00:00",
"success_url": "https://tudominio.com/ok",
"error_url": "https://tudominio.com/error",
"created_at": "2026-09-11 20:00:00",
"updated_at": "2026-09-11 20:00:00"
}
}El objeto cobro (crear, listar, ver, sync) siempre trae estos campos:
| Campo | |
|---|---|
| id | Entero interno |
| codigo | Código público del cobro |
| concepto | Lo que ve quien paga |
| monto / monto_cobrado | String decimal |
| estado | PENDIENTE, EN_PROCESO, PAGADA, PAGADA_PARCIALMENTE, CANCELADO, DEVUELTA, DEVUELTA_PARCIALMENTE |
| url | Link para pagar |
| cvu / qr | Pueden ir null hasta que estén listos |
| referencia | Tu id, o null |
| medios | tarjeta, qr, transferencia |
| vencimiento / success_url / error_url | Pueden ir null |
| created_at / updated_at | Fecha local |
GET /v1/cobros
Filtros: estado, q (código, concepto o tu referencia).
curl "https://api.tikipay.ar/v1/cobros?estado=PENDIENTE&q=FAC-1001" \ -H "Authorization: Bearer tiki_test_xxx"
require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->cobros(array('estado' => 'PENDIENTE', 'q' => 'FAC-1001'));const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const r = await tiki.cobros({ estado: 'PENDIENTE', q: 'FAC-1001' });HTTP/1.1 200 OK
{
"data": [
{
"id": 12,
"codigo": "TKI1-AB12CD34",
"concepto": "Factura 1001",
"monto": "15000.00",
"monto_cobrado": "0.00",
"estado": "PENDIENTE",
"url": "https://pagos.ejemplo.com/d/TKI1-AB12CD34",
"cvu": null,
"qr": null,
"referencia": "FAC-1001",
"medios": { "tarjeta": true, "qr": true, "transferencia": true },
"vencimiento": "2026-10-01 18:00:00",
"success_url": "https://tudominio.com/ok",
"error_url": "https://tudominio.com/error",
"created_at": "2026-09-11 20:00:00",
"updated_at": "2026-09-11 20:00:00"
}
]
}GET /v1/cobros/{id}
curl https://api.tikipay.ar/v1/cobros/12 \ -H "Authorization: Bearer tiki_test_xxx"
require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->cobro(12);const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const r = await tiki.cobro(12);HTTP/1.1 200 OK
{
"data": {
"id": 12,
"codigo": "TKI1-AB12CD34",
"concepto": "Factura 1001",
"monto": "15000.00",
"monto_cobrado": "15000.00",
"estado": "PAGADA",
"url": "https://pagos.ejemplo.com/d/TKI1-AB12CD34",
"cvu": "0000003100010000000001",
"qr": "000201010212...",
"referencia": "FAC-1001",
"medios": { "tarjeta": true, "qr": true, "transferencia": true },
"vencimiento": "2026-10-01 18:00:00",
"success_url": "https://tudominio.com/ok",
"error_url": "https://tudominio.com/error",
"created_at": "2026-09-11 20:00:00",
"updated_at": "2026-09-11 20:05:00"
}
}POST /v1/cobros/{id}/sync
Pide el estado actualizado del cobro.
curl -X POST https://api.tikipay.ar/v1/cobros/12/sync \
-H "Authorization: Bearer tiki_test_xxx" \
-H "Content-Type: application/json" \
-d '{}'require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->syncCobro(12);const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const r = await tiki.syncCobro(12);HTTP/1.1 200 OK
{
"data": {
"id": 12,
"codigo": "TKI1-AB12CD34",
"concepto": "Factura 1001",
"monto": "15000.00",
"monto_cobrado": "15000.00",
"estado": "PAGADA",
"url": "https://pagos.ejemplo.com/d/TKI1-AB12CD34",
"cvu": "0000003100010000000001",
"qr": "000201010212...",
"referencia": "FAC-1001",
"medios": { "tarjeta": true, "qr": true, "transferencia": true },
"vencimiento": "2026-10-01 18:00:00",
"success_url": "https://tudominio.com/ok",
"error_url": "https://tudominio.com/error",
"created_at": "2026-09-11 20:00:00",
"updated_at": "2026-09-11 20:05:00"
}
}POST /v1/cobros/{id}/devoluciones
201. El cobro tiene que estar acreditado. transaccion_id es opcional.
curl -X POST https://api.tikipay.ar/v1/cobros/12/devoluciones \
-H "Authorization: Bearer tiki_test_xxx" \
-H "Content-Type: application/json" \
-d '{
"monto": "1000.00",
"transaccion_id": null
}'require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->devolver(12, '1000.00', null);const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const r = await tiki.devolver(12, '1000.00');HTTP/1.1 201 Created
{
"data": {
"id": 3,
"cobro_id": 12,
"monto": "1000.00",
"tipo": "parcial",
"estado": "DEVUELTA_PARCIALMENTE",
"created_at": "2026-09-11 20:10:00"
}
}Transacciones
GET /v1/transacciones y GET /v1/transacciones/{id}. Filtros: medio (qr, transferencia, debito, credito, prepaga), estado (ACREDITADO, RECHAZADO). te_cobramos es el costo real. te_queda es lo que se acredita.
curl "https://api.tikipay.ar/v1/transacciones?medio=qr&estado=ACREDITADO" \ -H "Authorization: Bearer tiki_test_xxx" curl https://api.tikipay.ar/v1/transacciones/88 \ -H "Authorization: Bearer tiki_test_xxx"
require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$lista = $tiki->transacciones(array('medio' => 'qr', 'estado' => 'ACREDITADO'));
$una = $tiki->transaccion(88);const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const lista = await tiki.transacciones({ medio: 'qr', estado: 'ACREDITADO' });
const una = await tiki.transaccion(88);HTTP/1.1 200 OK
{
"data": {
"id": 88,
"cobro_id": 12,
"medio": "qr",
"monto": "15000.00",
"te_cobramos": "120.00",
"te_queda": "14880.00",
"estado": "ACREDITADO",
"codigo": "OP-998877",
"fecha": "2026-09-11 20:05:00",
"acreditacion": "2026-09-12 18:00:00"
}
}
// GET /v1/transacciones devuelve el mismo objeto dentro de un array:
{ "data": [ { … } ] }Devoluciones
GET /v1/devoluciones y GET /v1/devoluciones/{id}.
curl https://api.tikipay.ar/v1/devoluciones \ -H "Authorization: Bearer tiki_test_xxx" curl https://api.tikipay.ar/v1/devoluciones/3 \ -H "Authorization: Bearer tiki_test_xxx"
require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$lista = $tiki->devoluciones();
$una = $tiki->devolucion(3);const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const lista = await tiki.devoluciones();
const una = await tiki.devolucion(3);HTTP/1.1 200 OK
{
"data": {
"id": 3,
"cobro_id": 12,
"monto": "1000.00",
"tipo": "parcial",
"estado": "DEVUELTA_PARCIALMENTE",
"created_at": "2026-09-11 20:10:00"
}
}
// GET /v1/devoluciones: { "data": [ { … } ] }GET /v1/liquidaciones
Estimado de cuándo te llega cada pago.
curl https://api.tikipay.ar/v1/liquidaciones \ -H "Authorization: Bearer tiki_test_xxx"
require 'Tiki.php';
$tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
$r = $tiki->liquidaciones();const tiki = new TikiPay('tiki_test_xxx', 'https://api.tikipay.ar');
const r = await tiki.liquidaciones();HTTP/1.1 200 OK
{
"data": [
{
"id": 5,
"transaccion_id": 88,
"cobro_id": 12,
"bruto": "15000.00",
"te_cobramos": "120.00",
"te_queda": "14880.00",
"fecha_operacion": "2026-09-11 20:05:00",
"fecha_estimada": "2026-09-12 18:00:00",
"estado": "estimado"
}
]
}