Cancelar deuda
curl --request POST \
--url https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel \
--header 'x-api-key: <api-key>' \
--header 'x-authorization-token: <api-key>'import requests
url = "https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel"
headers = {
"x-api-key": "<api-key>",
"x-authorization-token": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'x-authorization-token': '<api-key>'}
};
fetch('https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel', 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/debts/{id}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/debts/{id}/cancel"
req, _ := http.NewRequest("POST", 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.post("https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel")
.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/debts/{id}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-authorization-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"debtId": "debt_COLE-OCT-00042",
"externalRequestId": "<string>",
"status": "PENDING",
"amount": 123,
"amountPaid": 123,
"currency": "MXN",
"dueDate": "2023-12-25",
"allowOverduePayment": true,
"allowPartialPayments": true,
"autopay": true,
"createdAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"paymentMethods": [
"CASH"
],
"paymentUrl": "<string>",
"contact": {
"contactId": "<string>",
"externalClientId": "<string>",
"createdInline": true
},
"product": {
"productId": "<string>",
"name": "<string>",
"active": true,
"createdInline": true
}
},
"requestId": "<string>"
}Debts
Cancelar deuda
Cancela una deuda en estado PENDING, PARTIALLY_PAID u OVERDUE. No lleva body (si se envía, se ignora). La deuda cancelada se sigue leyendo con GET /debts/.
POST
/
debts
/
{id}
/
cancel
Cancelar deuda
curl --request POST \
--url https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel \
--header 'x-api-key: <api-key>' \
--header 'x-authorization-token: <api-key>'import requests
url = "https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel"
headers = {
"x-api-key": "<api-key>",
"x-authorization-token": "<api-key>"
}
response = requests.post(url, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'x-api-key': '<api-key>', 'x-authorization-token': '<api-key>'}
};
fetch('https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel', 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/debts/{id}/cancel",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
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/debts/{id}/cancel"
req, _ := http.NewRequest("POST", 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.post("https://tapipay-facade.homo.tapila.cloud/debts/{id}/cancel")
.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/debts/{id}/cancel")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["x-api-key"] = '<api-key>'
request["x-authorization-token"] = '<api-key>'
response = http.request(request)
puts response.read_body{
"data": {
"debtId": "debt_COLE-OCT-00042",
"externalRequestId": "<string>",
"status": "PENDING",
"amount": 123,
"amountPaid": 123,
"currency": "MXN",
"dueDate": "2023-12-25",
"allowOverduePayment": true,
"allowPartialPayments": true,
"autopay": true,
"createdAt": "2023-11-07T05:31:56Z",
"description": "<string>",
"paymentMethods": [
"CASH"
],
"paymentUrl": "<string>",
"contact": {
"contactId": "<string>",
"externalClientId": "<string>",
"createdInline": true
},
"product": {
"productId": "<string>",
"name": "<string>",
"active": true,
"createdInline": 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
debtId (debt_...) o externalRequestId sin prefijo.
Ejemplo:
"debt_COLE-OCT-00042"

