Solicitudes de Transacción
Transacciones generadas por el servidor para flujos de pago de Solana Pay.
Busca en todas las páginas de la documentación
Transacciones generadas por el servidor para flujos de pago de Solana Pay.
// La API del comerciante devuelve application/vnd.solana.transaction+json o un cuerpo que cumple con las especificaciones
import { createSolanaRpc } from "@solana/kit";Cuándo usar esto:
import { NextRequest, NextResponse } from "next/server";
import {
createSolanaRpc,
createTransactionMessage,
setTransactionMessageFeePayerSigner,
setTransactionMessageLifetimeUsingBlockhash,
appendTransactionMessageInstruction,
address,
} from "@solana/kit";
export async function GET(req: NextRequest) {
const account = req.nextUrl.searchParams.get("account");
if (!account) return NextResponse.json({ error: "falta la cuenta" }, { status: 400 });
const rpc = createSolanaRpc(process.env.RPC_URL!);
const { value: bh } = await rpc.getLatestBlockhash().send();
// Construir transacción con el cliente como pagador de tarifas (parámetro account)
let msg = createTransactionMessage({ version: 0 });
// adjuntar instrucciones del comerciante que referencian la cuenta como firmante/pagador
// serializar a transacción de cable en base64 para la billetera
return NextResponse.json({
transaction: "BASE64_WIRE_TX",
message: "Completa tu compra",
});
}Lo que esto demuestra:
| Alternativa | Usar Cuando | No Usar Cuando |
|---|---|---|
| URL de transferencia simple | Pago simple de SOL | Necesita swap/mint |
| Checkout de custodia | Rampas de acceso a fiat | Comerciante de autocustodia |
Proveedores en el layout cliente layout.tsx; las páginas mezclan componentes de servidor y cliente.
Solo variables de entorno del servidor para keypairs; NEXT_PUBLIC_ para URLs RPC.
Todos los ejemplos usan @solana/kit, no web3.js v1.
Firma solo en componentes cliente.
Revalidar lecturas en cadena con cuidado - la cadena es la fuente de verdad.
Endpoints HTTPS que devuelven JSON de Acciones de Solana.
Aplicación React Native separada con MWA.
Surfpool para integración; simular RPC en pruebas unitarias.
Archivos de entorno e IDs de programa separados.
Decodificar registros de simulación para mensajes dirigidos al usuario.
Versiones de Stack: Esta página fue escrita para Agave 4.1.1, Solana CLI 3.0.10, Anchor 0.32.1, anchor-lang 0.32.1, Rust 1.91.1, @solana/kit 7.0.0, Surfpool 0.12.0, y LiteSVM 0.6.x.
Revisado por Chris St. John·Última actualización: 19 jul 2026