curl --request POST \
--url https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link \
--header 'Content-Type: application/json' \
--data '
{
"invoiceIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link"
payload = { "invoiceIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({invoiceIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']})
};
fetch('https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link', 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://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'invoiceIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link"
payload := strings.NewReader("{\n \"invoiceIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link")
.header("Content-Type", "application/json")
.body("{\n \"invoiceIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"invoiceIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"contractVersion": 1,
"invoiceIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"initPoint": "https://www.mercadopago.cl/checkout/v1/redirect?pref_id=1",
"total": 1,
"count": 2
}Pago con MercadoPago de varias facturas del enlace (sin sesión)
Crea una sola preferencia de MercadoPago, sin pagador, por el saldo de cada factura elegida, con una referencia por factura, que vence a los 60 minutos y vuelve a la página del enlace con ?pago=exitoso|fallido|pendiente&multi=1. Cada factura tiene que ser del cliente del enlace y admitir pago en línea según la factura; si una no cumple, no se crea la preferencia. No se persiste; el pago lo registra el webhook, que lo reparte según el saldo de cada factura.
curl --request POST \
--url https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link \
--header 'Content-Type: application/json' \
--data '
{
"invoiceIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
]
}
'import requests
url = "https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link"
payload = { "invoiceIds": ["3c90c3cc-0d44-4b50-8888-8dd25736052a"] }
headers = {"Content-Type": "application/json"}
response = requests.post(url, json=payload, headers=headers)
print(response.text)const options = {
method: 'POST',
headers: {'Content-Type': 'application/json'},
body: JSON.stringify({invoiceIds: ['3c90c3cc-0d44-4b50-8888-8dd25736052a']})
};
fetch('https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link', 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://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_ENCODING => "",
CURLOPT_MAXREDIRS => 10,
CURLOPT_TIMEOUT => 30,
CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
CURLOPT_CUSTOMREQUEST => "POST",
CURLOPT_POSTFIELDS => json_encode([
'invoiceIds' => [
'3c90c3cc-0d44-4b50-8888-8dd25736052a'
]
]),
CURLOPT_HTTPHEADER => [
"Content-Type: application/json"
],
]);
$response = curl_exec($curl);
$err = curl_error($curl);
curl_close($curl);
if ($err) {
echo "cURL Error #:" . $err;
} else {
echo $response;
}package main
import (
"fmt"
"strings"
"net/http"
"io"
)
func main() {
url := "https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link"
payload := strings.NewReader("{\n \"invoiceIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
req, _ := http.NewRequest("POST", url, payload)
req.Header.Add("Content-Type", "application/json")
res, _ := http.DefaultClient.Do(req)
defer res.Body.Close()
body, _ := io.ReadAll(res.Body)
fmt.Println(string(body))
}HttpResponse<String> response = Unirest.post("https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link")
.header("Content-Type", "application/json")
.body("{\n \"invoiceIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}")
.asString();require 'uri'
require 'net/http'
url = URI("https://api.raul.ugps.io/api/v1/debt-links/{token}/payment-link")
http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true
request = Net::HTTP::Post.new(url)
request["Content-Type"] = 'application/json'
request.body = "{\n \"invoiceIds\": [\n \"3c90c3cc-0d44-4b50-8888-8dd25736052a\"\n ]\n}"
response = http.request(request)
puts response.read_body{
"contractVersion": 1,
"invoiceIds": [
"3c90c3cc-0d44-4b50-8888-8dd25736052a"
],
"initPoint": "https://www.mercadopago.cl/checkout/v1/redirect?pref_id=1",
"total": 1,
"count": 2
}Path Parameters
Token del enlace de deuda
Body
Facturas del cliente del enlace que se pagan juntas; los repetidos se ignoran. El máximo cabe en la referencia de MercadoPago (64 caracteres)
1 - 6 elementsResponse
Versión del contrato; el consumidor acepta la vigente y la anterior
x >= 11
Enlace https de MercadoPago al que navega el cliente
"https://www.mercadopago.cl/checkout/v1/redirect?pref_id=1"
Suma de saldos en CLP
x >= 0x >= 1