POST

/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/merchant

Request

CampoTipoRequeridoDescripción
merchantIdUUIDsíID del comercio (Botón de Pago) generado en Yappy Comercial WEB.
urlDomainstringsí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"];
Error común: 401 Unauthorized

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).

¿Te fue útil esta página?