Delivery
El cliente paga en USDC al rider o restaurante directo. Settlement en 1 segundo. Sin chargebacks fraudulentos.
Si tu plataforma es de delivery, e-commerce, ticketing, mensajería o cualquier cosa que cobre — integra Tropico en tu checkout. El cliente paga directo desde su wallet, la plata cae en USDC al merchant en 1 segundo, no hay banco en el medio.
Quién puede integrar Tropico en su plataforma. Si no estás en esta lista, igual llámanos — el patrón es el mismo.
El cliente paga en USDC al rider o restaurante directo. Settlement en 1 segundo. Sin chargebacks fraudulentos.
Checkout USDC + redirect post-pago. El merchant recibe la plata sin intermediario bancario.
QR único por ticket. Validación on-chain en la puerta — imposible duplicar.
Cobros recurrentes vía Modo Agente del usuario (Guacama firma con su permiso).
Elige el que mejor encaje con tu stack. Los tres devuelven el mismo resultado: una sesión con `reference` única que tu app trackea hasta confirmar el pago on-chain.
Universal · sin SDK
El más simple. Tu plataforma genera un link `solana:...` y lo abre el cliente. Funciona con cualquier wallet de Solana del mundo.
// 1. Pides un link al endpoint de Tropico
const r = await fetch("https://tropico.app/api/checkout/create", {
method: "POST",
headers: { "Content-Type": "application/json" },
body: JSON.stringify({
merchantWallet: "Mer7Gh...",
amount: 12.50,
partnerId: "tu-app",
orderId: "ORD-001",
}),
}).then(r => r.json());
// 2. Le pasas el link al cliente
window.location.href = r.solanaPayUrl;
// → "solana:Mer7Gh...?amount=12.50&spl-token=...&reference=..."Server-to-server
Para apps con backend propio. Creas la sesión server-side, recibes webhook cuando el pago se confirma on-chain, marcas la orden como pagada.
// Server-side de tu plataforma
import fetch from "node-fetch";
async function createTropicoCharge(orderId, amount) {
const res = await fetch("https://tropico.app/api/checkout/create", {
method: "POST",
headers: {
"Authorization": `Bearer ${process.env.TROPICO_API_KEY}`,
"Content-Type": "application/json",
},
body: JSON.stringify({
merchantWallet: process.env.MERCHANT_WALLET,
amount,
partnerId: "tu-empresa",
orderId,
channel: "ecommerce",
redirectUrl: `https://tu-tienda.com/orden/${orderId}/ok`,
webhookUrl: "https://api.tu-empresa.com/webhooks/tropico",
}),
});
return res.json(); // { sessionId, solanaPayUrl, reference, ... }
}Una línea de HTML
Pegas un script en tu checkout y aparece un botón Tropico Pay listo. Maneja el flow completo (QR, deeplink móvil, redirect). Cero estado en tu lado.
<!-- En tu página de checkout -->
<script src="https://tropico.app/sdk/tropico-pay.js" defer></script>
<button
data-tropico-pay
data-merchant="Mer7Gh..."
data-amount="12.50"
data-order="ORD-001"
data-partner="tu-app"
data-redirect="https://tu-app.com/orden/ORD-001/ok"
>
Pagar con Tropico
</button>Cuando el cliente firma el pago en su wallet, Tropico monitorea la blockchain con el `reference` único de la sesión. Cuando se confirma (~1 segundo), tu webhook recibe:
POST https://api.tu-empresa.com/webhooks/tropico
Content-Type: application/json
X-Tropico-Signature: sha256=...
{
"event": "payment.confirmed",
"sessionId": "tps_a1b2c3d4...",
"orderId": "ORD-001",
"reference": "...",
"amount": 12.50,
"tokenSymbol": "USDC",
"merchantReceives": 12.4375,
"feeBps": 50,
"txSignature": "5xK...abc",
"blockTime": 1715200800,
"explorer": "https://solscan.io/tx/5xK...abc"
}Tu endpoint debe responder 200 en menos de 5 segundos. Tropico reintenta hasta 24h con backoff exponencial si falla.
Te damos API key, sandbox con devnet, soporte directo del equipo y un slot en el directorio de partners de Tropico. Onboarding técnico en una llamada.