Transaction Requests
Transações geradas pelo servidor para fluxos de checkout Solana Pay.
Busque em todas as páginas da documentação
Transações geradas pelo servidor para fluxos de checkout Solana Pay.
// API do comerciante retorna application/vnd.solana.transaction+json ou body conforme spec
import { createSolanaRpc } from "@solana/kit";Quando usar:
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: "missing account" }, { status: 400 });
const rpc = createSolanaRpc(process.env.RPC_URL!);
const { value: bh } = await rpc.getLatestBlockhash().send();
// Construa transação com cliente como fee payer (param account)
let msg = createTransactionMessage({ version: 0 });
// anexe instruções do comerciante referenciando account como signer/payer
// serialize para transação wire base64 para wallet
return NextResponse.json({
transaction: "BASE64_WIRE_TX",
message: "Complete your purchase",
});
}O que isso demonstra:
| Alternativa | Use quando | Não use quando |
|---|---|---|
| URL de transferência simples | Pagamento SOL simples | Precisa swap/mint |
| Checkout custodial | Fiat on-ramps | Comerciante self-custody |
Providers em client layout.tsx; pages misturam server + client components.
Env de servidor apenas para keypairs; NEXT_PUBLIC_ para URLs RPC.
Todos os exemplos usam @solana/kit, não web3.js v1.
Assinatura apenas em client components.
Revalide leituras on-chain com cuidado - chain é fonte da verdade.
Endpoints HTTPS retornando JSON Solana Actions.
App React Native separado com MWA.
Surfpool para integração; mock RPC em testes unitários.
Arquivos env e program IDs separados.
Decodifique logs de simulação para mensagens ao usuário.
Versões da stack: Esta página foi 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 e LiteSVM 0.6.x.
Revisado por Chris St. John·Última atualização: 19 de jul. de 2026