curl --request GET \
--url https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments \
--header 'x-api-key: <api-key>' \
--header 'x-authorization-token: <api-key>'import requests
url = "https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments"
headers = {
"x-api-key": "<api-key>",
"x-authorization-token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', 'x-authorization-token': '<api-key>'}
};
fetch('https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>",
"x-authorization-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-authorization-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments")
.header("x-api-key", "<api-key>")
.header("x-authorization-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["x-authorization-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentId": "debt_13700695",
"amount": 123,
"amountPaid": 123,
"currency": "MXN",
"status": "PENDING",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"meta": {
"page": 2,
"limit": 250,
"total": 1,
"hasMore": true
},
"requestId": "<string>"
}Listar pagos del link
Devuelve las deudas asociadas al link, con su estado y amountPaid. Un link recién creado devuelve su deuda PENDING con amountPaid 0. No incluye deudas canceladas.
curl --request GET \
--url https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments \
--header 'x-api-key: <api-key>' \
--header 'x-authorization-token: <api-key>'import requests
url = "https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments"
headers = {
"x-api-key": "<api-key>",
"x-authorization-token": "<api-key>"
}
response = requests.get(url, headers=headers)
print(response.text)const options = {
method: 'GET',
headers: {'x-api-key': '<api-key>', 'x-authorization-token': '<api-key>'}
};
fetch('https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments', options)
.then(res => res.json())
.then(res => console.log(res))
.catch(err => console.error(err));<?php
$curl = curl_init();
curl_setopt_array($curl, [
CURLOPT_URL => "https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "GET",
CURLOPT_HTTPHEADER => [
"x-api-key: <api-key>",
"x-authorization-token: <api-key>"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"net/http"
"io"
)
func main() {
url := "https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments"
req, _ := http.NewRequest("GET", url, nil)
req.Header.Add("x-api-key", "<api-key>")
req.Header.Add("x-authorization-token", "<api-key>")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.get("https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments")
.header("x-api-key", "<api-key>")
.header("x-authorization-token", "<api-key>")
.asString();require 'uri'
require 'net/http'
url = URI("https://tapipay-facade.homo.tapila.cloud/payment-links/{id}/payments")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<api-key>'
request["x-authorization-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": [
{
"paymentId": "debt_13700695",
"amount": 123,
"amountPaid": 123,
"currency": "MXN",
"status": "PENDING",
"createdAt": "2023-11-07T05:31:56Z"
}
],
"meta": {
"page": 2,
"limit": 250,
"total": 1,
"hasMore": true
},
"requestId": "<string>"
}Autorizaciones
API key del API Gateway de Tapi. Requerida en todas las operaciones. Distinta por ambiente (desarrollo, homologación, producción).
Token TAPI JWT. Requerido en todas las operaciones. Se envía sin prefijo "Bearer". Ej: x-authorization-token: eyJhbGci...
Parámetros de ruta
ID público con prefijo plk_ o el mismo valor sin prefijo.
"plk_61a837f5-3c67-423a-ade7-94b78e0007cb"
Parámetros de consulta
Filtrar por estado de la deuda. Valor inválido devuelve 400.
PENDING, PARTIALLY_PAID, PAID, OVERDUE, CANCELLED Inicio del rango de creación. Acepta fecha (YYYY-MM-DD) o date-time RFC 3339; otro formato devuelve 400. Una fecha sola cubre el día UTC completo desde 00:00:00.000Z. Un date-time se convierte a UTC y la precisión del filtro es diaria (se incluye el día UTC completo que lo contiene). Un createdAtFrom futuro sin createdAtTo devuelve una lista vacía.
"2026-09-24"
Fin del rango de creación, inclusivo. Acepta fecha (YYYY-MM-DD) o date-time RFC 3339; otro formato devuelve 400. Una fecha sola incluye el día UTC completo hasta 23:59:59.999Z, así que createdAtFrom y createdAtTo con la misma fecha devuelven las de ese día. Un date-time se convierte a UTC con precisión diaria (se incluye el día UTC que lo contiene; exactamente a las 00:00:00Z no incluye ese día). Sin createdAtTo, el rango llega hasta hoy. createdAtFrom posterior a createdAtTo devuelve 400 (createdAtFrom must be earlier than or equal to createdAtTo.).
"2026-09-24"
Monto mínimo en pesos (mayor o igual a 0, hasta 2 decimales; si no, 400)
x >= 0Monto máximo en pesos (mayor o igual a 0, hasta 2 decimales). Menor a minAmount devuelve 400.
x >= 0Filtrar por deudor
Filtrar por lote o suscripción de origen
x >= 11 <= x <= 500Respuesta
Lista de deudas asociadas al link

