/payments/validate/merchant
Valida que tu comercio y dominio están autorizados, y devuelve un token de sesión (TTL 10 min) + el epochTime
que necesitas para crear la orden.
Endpoint
https://api-comecom-uat.yappycloud.comhttps://apipagosbg.bgeneral.cloud/payments/validate/merchantRequest
| Campo | Tipo | Requerido | Descripción |
|---|---|---|---|
merchantId | UUID | sí | ID del comercio (Botón de Pago) generado en Yappy Comercial WEB. |
urlDomain | string | sí | Dominio registrado en Yappy Comercial WEB (debe coincidir exactamente). |
Body de ejemplo
{
"merchantId": "5c2d13e5-537f-43f1-b1d0-d90d8fdaf8be",
"urlDomain": "https://www.tudominio.com"
}
Response 200 OK
{
"status": {
"code": "0000",
"description": "Correct execution"
},
"body": {
"token": "eyJhbGciOiJIUzI1NiIsInR5cCI6Ikp...",
"epochTime": 1777301827
}
}
Llamada de ejemplo
curl -X POST {{BASE_URL}}/payments/validate/merchant \
-H "Content-Type: application/json" \
-d '{
"merchantId": "5c2d13e5-537f-43f1-b1d0-d90d8fdaf8be",
"urlDomain": "https://www.tudominio.com"
}'
const response = await fetch("{{BASE_URL}}/payments/validate/merchant", {
method: 'POST',
headers: { 'Content-Type': 'application/json' },
body: JSON.stringify({
merchantId: process.env.YAPPY_MERCHANT_ID,
urlDomain: 'https://www.tudominio.com'
})
});
const { body } = await response.json();
const { token, epochTime } = body;
import os, requests
resp = requests.post(
"{{BASE_URL}}/payments/validate/merchant",
headers={"Content-Type": "application/json"},
json={
"merchantId": os.environ["YAPPY_MERCHANT_ID"],
"urlDomain": "https://www.tudominio.com",
},
)
data = resp.json()["body"]
token, epoch_time = data["token"], data["epochTime"]
<?php
$ch = curl_init("{{BASE_URL}}/payments/validate/merchant");
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_HTTPHEADER, ["Content-Type: application/json"]);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode([
"merchantId" => getenv("YAPPY_MERCHANT_ID"),
"urlDomain" => "https://www.tudominio.com"
]));
$resp = json_decode(curl_exec($ch), true);
$token = $resp["body"]["token"];
$epochTime = $resp["body"]["epochTime"];
Si ves este error, probablemente tu merchantId no coincide con el que generaste en la plataforma web.
Revisa que copiaste el ID completo sin espacios extras. Otra causa común: el urlDomain no coincide
exactamente con el registrado en Yappy Comercial WEB (diferencia mayúsculas/minúsculas o http vs https).