curl https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166 \
-X POST \
-H "Authorization: Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi" \
-H "Content-Type: application/json" \
-H "x-idempotency: unique-id-001" \
-d '{
"template_id": 1421,
"metadata": [
{ "key": "1", "value": "Juan Sebastián" },
{ "key": "2", "value": "Tienda Aurora" },
{ "key": "3", "value": "https://co.co/g/00480251326" }
]
}'
const response = await fetch('https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi',
'Content-Type': 'application/json',
'x-idempotency': 'unique-id-001'
},
body: JSON.stringify({
template_id: 1421,
metadata: [
{ key: '1', value: 'Juan Sebastián' },
{ key: '2', value: 'Tienda Aurora' },
{ key: '3', value: 'https://co.co/g/00480251326' }
]
})
});
console.log(response.status); // 201
import requests
url = "https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166"
headers = {
"Authorization": "Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi",
"Content-Type": "application/json",
"x-idempotency": "unique-id-001"
}
data = {
"template_id": 1421,
"metadata": [
{"key": "1", "value": "Juan Sebastián"},
{"key": "2", "value": "Tienda Aurora"},
{"key": "3", "value": "https://co.co/g/00480251326"}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code) # 201
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi",
"Content-Type: application/json",
"x-idempotency: unique-id-001"
],
CURLOPT_POSTFIELDS => json_encode([
"template_id" => 1421,
"metadata" => [
["key" => "1", "value" => "Juan Sebastián"],
["key" => "2", "value" => "Tienda Aurora"],
["key" => "3", "value" => "https://co.co/g/00480251326"]
]
])
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); // 201
curl_close($ch);
?>
{}
{
"message": "Este pago fue aprobado, no se puede reintentar"
}
{
"message": "La plantilla seleccionada no existe, no está aprobada, no es una plantilla de cobro o no está disponible para esta empresa.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"template_id": [
"La plantilla seleccionada no existe, no está aprobada, no es una plantilla de cobro o no está disponible para esta empresa."
]
}
}
{
"message": "The selected metadata.0.key is invalid.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"metadata.0.key": [
"The selected metadata.0.key is invalid."
]
}
}
{
"message": "No se puede generar la operación, genera un token de idempotencia y envíelo en los headers como x-idempotency",
"code": 10003,
"code_name": "idempotency_error"
}
{
"message": "Registro no encontrado, Pago no existe",
"code": 10002,
"code_name": "record_not_found"
}
{
"message": "Registro no encontrado, Token de api no existe",
"code": 10002,
"code_name": "record_not_found"
}
Reenviar cobro
Reenvia una solicitud de pago a tu cliente.
POST
/
payments
/
{payment_id}
curl https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166 \
-X POST \
-H "Authorization: Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi" \
-H "Content-Type: application/json" \
-H "x-idempotency: unique-id-001" \
-d '{
"template_id": 1421,
"metadata": [
{ "key": "1", "value": "Juan Sebastián" },
{ "key": "2", "value": "Tienda Aurora" },
{ "key": "3", "value": "https://co.co/g/00480251326" }
]
}'
const response = await fetch('https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi',
'Content-Type': 'application/json',
'x-idempotency': 'unique-id-001'
},
body: JSON.stringify({
template_id: 1421,
metadata: [
{ key: '1', value: 'Juan Sebastián' },
{ key: '2', value: 'Tienda Aurora' },
{ key: '3', value: 'https://co.co/g/00480251326' }
]
})
});
console.log(response.status); // 201
import requests
url = "https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166"
headers = {
"Authorization": "Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi",
"Content-Type": "application/json",
"x-idempotency": "unique-id-001"
}
data = {
"template_id": 1421,
"metadata": [
{"key": "1", "value": "Juan Sebastián"},
{"key": "2", "value": "Tienda Aurora"},
{"key": "3", "value": "https://co.co/g/00480251326"}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code) # 201
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi",
"Content-Type: application/json",
"x-idempotency: unique-id-001"
],
CURLOPT_POSTFIELDS => json_encode([
"template_id" => 1421,
"metadata" => [
["key" => "1", "value" => "Juan Sebastián"],
["key" => "2", "value" => "Tienda Aurora"],
["key" => "3", "value" => "https://co.co/g/00480251326"]
]
])
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); // 201
curl_close($ch);
?>
{}
{
"message": "Este pago fue aprobado, no se puede reintentar"
}
{
"message": "La plantilla seleccionada no existe, no está aprobada, no es una plantilla de cobro o no está disponible para esta empresa.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"template_id": [
"La plantilla seleccionada no existe, no está aprobada, no es una plantilla de cobro o no está disponible para esta empresa."
]
}
}
{
"message": "The selected metadata.0.key is invalid.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"metadata.0.key": [
"The selected metadata.0.key is invalid."
]
}
}
{
"message": "No se puede generar la operación, genera un token de idempotencia y envíelo en los headers como x-idempotency",
"code": 10003,
"code_name": "idempotency_error"
}
{
"message": "Registro no encontrado, Pago no existe",
"code": 10002,
"code_name": "record_not_found"
}
{
"message": "Registro no encontrado, Token de api no existe",
"code": 10002,
"code_name": "record_not_found"
}
Path Parameters
string
required
Token único para garantizar la idempotencia de la petición
string
required
ID del cobro que quieres reenviar a tu cliente. Crear cobro.
Body
Ambos campos son opcionales. Si reenvías sin body, el cobro sale con la misma plantilla y el mismo metadata del último envío.integer
Plantilla de WhatsApp con la que se reenviará el cobro. Reemplaza la plantilla fijada al crear el cobro o en un reenvío anterior.Obtén los valores válidos con
GET /templates: solo sirven los id que traen selectable: true, es decir, plantillas aprobadas de categoría PAYMENT que pertenecen a tu empresa o son genéricas compartidas contigo.Si la plantilla no existe, no está aprobada, no es de cobro o no está disponible para tu empresa, la petición falla con un error 422 y el cobro no se reenvía.
array
Metadatos del cobro, en el mismo formato que al crear el cobro: una lista de pares
key / value (ambos texto).Cada llave que envías sobrescribe su valor en el metadata del cobro; las llaves que no envías se conservan.Así cambias los marcadores de la plantilla: los que la plantilla declara como metadata.<número> en su campo variables de GET /templates se llenan con la llave de ese número, así que {"key": "1", "value": "Juan Sebastián"} llena el {{1}}. Los demás marcadores (customer_name, amount, …) los completa OnePay con los datos del cobro.La llave
template_id está reservada. Si la envías dentro de metadata recibirás un error 422: úsala como campo de primer nivel.La plantilla y el metadata quedan guardados en el cobro, no solo en este envío: los verás en el
metadata del cobro y se usan también en los reenvíos siguientes. Si el cobro entra al motor de cobranzas, los recordatorios por etapa usan la plantilla configurada en la regla correspondiente.curl https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166 \
-X POST \
-H "Authorization: Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi" \
-H "Content-Type: application/json" \
-H "x-idempotency: unique-id-001" \
-d '{
"template_id": 1421,
"metadata": [
{ "key": "1", "value": "Juan Sebastián" },
{ "key": "2", "value": "Tienda Aurora" },
{ "key": "3", "value": "https://co.co/g/00480251326" }
]
}'
const response = await fetch('https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166', {
method: 'POST',
headers: {
'Authorization': 'Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi',
'Content-Type': 'application/json',
'x-idempotency': 'unique-id-001'
},
body: JSON.stringify({
template_id: 1421,
metadata: [
{ key: '1', value: 'Juan Sebastián' },
{ key: '2', value: 'Tienda Aurora' },
{ key: '3', value: 'https://co.co/g/00480251326' }
]
})
});
console.log(response.status); // 201
import requests
url = "https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166"
headers = {
"Authorization": "Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi",
"Content-Type": "application/json",
"x-idempotency": "unique-id-001"
}
data = {
"template_id": 1421,
"metadata": [
{"key": "1", "value": "Juan Sebastián"},
{"key": "2", "value": "Tienda Aurora"},
{"key": "3", "value": "https://co.co/g/00480251326"}
]
}
response = requests.post(url, headers=headers, json=data)
print(response.status_code) # 201
<?php
$ch = curl_init();
curl_setopt_array($ch, [
CURLOPT_URL => "https://api.onepay.la/v1/payments/9e5ccd4a-d2f0-49dd-87fc-a0da752bd166",
CURLOPT_RETURNTRANSFER => true,
CURLOPT_POST => true,
CURLOPT_HTTPHEADER => [
"Authorization: Bearer sk_test_KjbE0Vobf5Lg1yNZ4HoKawDItDs3Rod9VXNBWrEYmGn06tkesPIi",
"Content-Type: application/json",
"x-idempotency: unique-id-001"
],
CURLOPT_POSTFIELDS => json_encode([
"template_id" => 1421,
"metadata" => [
["key" => "1", "value" => "Juan Sebastián"],
["key" => "2", "value" => "Tienda Aurora"],
["key" => "3", "value" => "https://co.co/g/00480251326"]
]
])
]);
$response = curl_exec($ch);
echo curl_getinfo($ch, CURLINFO_HTTP_CODE); // 201
curl_close($ch);
?>
Response
boolean
Indica si la operación fue exitosa
string
Mensaje descriptivo del resultado de la operación
Response Example
{}
{
"message": "Este pago fue aprobado, no se puede reintentar"
}
{
"message": "La plantilla seleccionada no existe, no está aprobada, no es una plantilla de cobro o no está disponible para esta empresa.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"template_id": [
"La plantilla seleccionada no existe, no está aprobada, no es una plantilla de cobro o no está disponible para esta empresa."
]
}
}
{
"message": "The selected metadata.0.key is invalid.",
"code": 10001,
"code_name": "validation_error",
"errors": {
"metadata.0.key": [
"The selected metadata.0.key is invalid."
]
}
}
{
"message": "No se puede generar la operación, genera un token de idempotencia y envíelo en los headers como x-idempotency",
"code": 10003,
"code_name": "idempotency_error"
}
{
"message": "Registro no encontrado, Pago no existe",
"code": 10002,
"code_name": "record_not_found"
}
{
"message": "Registro no encontrado, Token de api no existe",
"code": 10002,
"code_name": "record_not_found"
}
Was this page helpful?
⌘I