基于 Next.js 的 Solana Actions 与 Blinks 结账模板,使用 TypeScript、React 和 Solana
furlpay-solana-actions-template — Next.js 启动器模板
作者 FurlPay
基于 Next.js 的 Solana Actions 与 Blinks 支付结账模板,提供可分享的支付链接,链接在 X 或 Discord 中展开为可签名支付组件。
看看你的网站会是什么样
浏览真实页面截图,比较内容排版与手机效果。点击下方缩略图切换,放大查看整页细节。
全部页面与视图 3
截图用于了解视觉与布局,交互效果请以实际项目为准。
值得关注的模板亮点
从已有项目资料中,快速了解它的特点。
GET 元数据使用 type: "action",并包含 ACTIONS_CORS_HEADERS、X-Action-Version、X-Blockchain-Ids 等头部
金额以美元计价,SOL 支付路径通过 SOL/USD 价格换算,而非直接按 SOL 数量计价
商户 ATA 创建幂等,首次向新代币账户付款不会失败
使用 transferChecked 在链上校验 mint 与 decimals,而非 transfer
序列化未签名交易时使用占位 blockhash,无需实时 RPC 即可完成序列化
模板详细介绍
该模板是 FurlPay 开源的 Solana Actions & Blinks 结账模板,使用 TypeScript、Next.js、React 和 Solana 构建,README 称其与 furlpay.com 的可分享支付链接使用同一套代码。它提供 Blink 元数据接口和返回待签名交易的接口,并处理 CORS 预检、Action 版本与区块链标识等头部。README 强调该模板在规范细节上的处理:GET 元数据使用 type: "action",包含完整 ACTIONS_CORS_HEADERS、X-Action-Version 与 X-Blockchain-Ids(sRFC 31);金额以美元计价,SOL 路径通过 SOL/USD 价格换算;商户 ATA 创建幂等;使用 transferChecked 校验 mint 与精度;序列化未签名交易时使用占位 blockhash,无需实时 RPC。模板提供 /actions.json、GET /api/actions/pay/[orderId]、POST /api/actions/pay/[orderId]?asset=USDC|SOL 和 OPTIONS 预检等路由。README 未说明除本地运行和上线前替换项之外的具体部署方式,也未提供性能或生产环境验证信息。
适合你的项目吗?
适用场景
- 在 X 或 Discord 中分享支付链接,让链接展开为可签名的支付组件
- 搭建接受 USDC 或 SOL 的美元计价结账流程
- 作为 Solana Actions 与 Blinks 规范实现的参考模板
- 在本地通过 dial.to 渲染并测试 Blink 支付流程
适合人群
- 需要 Solana Actions 与 Blinks 支付结账模板的开发者
- 希望以美元计价并支持 USDC 或 SOL 支付的商户集成场景
- 需要参考 sRFC 31 头部与 CORS 处理方式的 Solana 开发者
上手与定制指南
结合仓库当前版本的说明,按下面的资料检查内容、配置与运行要求。
- 1
运行 npm install 安装依赖,再运行 npm run dev 启动开发服务器
- 2
在 dial.to 中使用 http://localhost:3000/api/actions/pay/demo_order 渲染 Blink
- 3
上线前将 MERCHANT_SOLANA_WALLET 设置为你的收款钱包,参考 .env.example
- 4
将 lib/solana.ts 中的 getOrder() 替换为真实订单查询逻辑
- 5
将 SOLANA_SOL_USD_PRICE 替换为实时价格源(如 Pyth),并在 Dialect registry 注册已部署的 URL
授权与来源资料
使用条件与限制
免费使用 · 保留许可声明本次收录的是公开仓库中采用 MIT 许可的免费版本;免费范围为该版本代码,不代表外部服务或第三方素材免费。
使用时需要遵守
- 允许免费使用、修改、商用和分发该版本代码。
- 分发代码副本或实质性部分时,保留原作者版权声明和完整 MIT 许可声明。
- 代码按现状提供;担保与责任限制以原许可证及适用法律为准。
额外费用与待核对事项
- 演示图片、字体、图标及其他第三方素材需按各自许可核对,不能仅凭代码的 MIT 许可判断。
- 域名、托管、数据库、支付或 AI 等外部服务可能另外收费。
- 上线前必须将 MERCHANT_SOLANA_WALLET 环境变量设置为自己的收款钱包地址,否则无法正常收款。
- 需要将 lib/solana.ts 中的 getOrder() 替换为真实的订单查询逻辑,模板默认实现不能直接用于生产订单。
- SOL 美元计价依赖 SOLANA_SOL_USD_PRICE,上线前需替换为实时价格源(如 Pyth),否则价格可能不准确。
- 需在 Dialect registry 注册已部署的 URL,钱包才会将 Blink 渲染为可信来源。
- 本地测试 Blink 需借助第三方服务 dial.to 渲染,依赖外部平台。
查看原文依据
Permission is hereby granted, free of charge
许可证原文
1. Set `MERCHANT_SOLANA_WALLET` to your treasury (see `.env.example`)
README 原文
2. Replace `getOrder()` in `lib/solana.ts` with your real order lookup
README 原文
3. Replace `SOLANA_SOL_USD_PRICE` with a live oracle (e.g. Pyth)
README 原文
4. Register your deployed URL with the [Dialect registry](https://dial.to/register)
README 原文
https://github.com/FurlPay/furlpay-solana-actions-template/blob/main/LICENSEhttps://github.com/FurlPay/furlpay-solana-actions-template/blob/main/README.mdThen render your Blink at [dial.to](https://dial.to) with
README 原文
DeepSeek 根据仓库许可证和 README 整理 ·2026-10-14。结果仅覆盖已读取资料,依赖、图片、字体及后续条款变更以各自原文为准。
项目核对记录与介绍依据
模板资料
- 来源平台
- GitHub
- 资料与维护参考分
- 资料较完整 · 80 / 100
- 技术栈
- Next.js · React
- 网站类型
- 启动器
这个分数如何计算
本站按许可资料(最高30分)、演示链接(12分)、预览图(10分)、Star数(15分)、记录的维护时间(15分)、描述完整度(8分)、功能记录(5分)和分类资料(5分)计算。它不是代码、安全或性能测试,也不是 Google 评分;有链接不代表已实测可用。
这个项目需要核对什么
- 记录的仓库更新时间
- 2026-09-13
- 截图检查日期
- 2026-10-14
已收录演示链接。请用你的内容与屏幕尺寸检查;有演示不代表表单、认证或支付已经可用。
目录记录的主要技术栈是 Next.js。请通过依赖清单和锁文件核对实际版本与托管要求。这些说明基于收录资料,不代表代码审计或部署实测。
查看具体选型方法 →介绍的制作与核对状态
介绍由 AI 辅助整理目录与仓库资料。仓库作者不等于这篇介绍的审核者。
审核声明: codex-user-requested-batch-review-20261015 · 2026-10-15
查看当时使用的来源资料
SHA-256: 74e07fd50c6a30376bbb0205e97984d24529aa7b0f655dfbca6b2aa9a7b93b94
2026-10-14T22:26:36.040Z
来源文件 / 仓库# Furlpay Solana Actions Template     [](./LICENSE) A production-ready **Solana Actions & Blinks** checkout template built on Next.js — the same code that powers [furlpay.com](https://furlpay.com)'s shareable payment links. Post a link on X or Discord and it unfurls into a signable payment widget. ## What's spec-correct here (and often wrong elsewhere) - ✅ `type: "action"` on GET metadata, `OPTIONS` preflight, and the full `ACTIONS_CORS_HEADERS` + `X-Action-Version` + `X-Blockchain-Ids` header set (sRFC 31) - ✅ **Dollar-denominated amounts** — the SOL path converts via a SOL/USD price instead of charging "25 SOL" for a $25 order - ✅ **Idempotent merchant ATA creation** — first payment to a fresh token account doesn't fail - ✅ `transferChecked` (validates mint + decimals on-chain) instead of `transfer` - ✅ No live RPC needed to serialize: unsigned transactions use a placeholder blockhash that Blink clients replace per spec ## Run it ```bash npm install npm run dev ``` Then render your Blink at [dial.to](https://dial.to) with `http://localhost:3000/api/actions/pay/demo_order`. ## Endpoints | Route | Purpose | |---|---| | `GET /actions.json` | Maps site paths to Action API endpoints | | `GET /api/actions/pay/[orderId]` | Blink metadata: icon, title, pay buttons | | `POST /api/actions/pay/[orderId]?asset=USDC\|SOL` | Returns the base64 transaction to sign | | `OPTIONS ...` | CORS preflight for Blink clients | ## Going to production 1. Set `MERCHANT_SOLANA_WALLET` to your treasury (see `.env.example`) 2. Replace `getOrder()` in `lib/solana.ts` with your real order lookup 3. Replace `SOLANA_SOL_USD_PRICE` with a live oracle (e.g. Pyth) 4. Register your deployed URL with the [Dialect registry](https://dial.to/register) so wallets render your Blinks as trusted ## License MIT
看看同类模板
对比同技术栈与用途的模板,找到更适合的视觉与内容结构。

ai-website-cloner-template
Clone any website with one command using AI coding agents
Next.js · 启动器

Next.js SaaS Starter
Next.js SaaS Starter 是 Next.js 官方维护的 SaaS 起点模板,定位介于学习资源和可直接部署的脚手架之间。
Next.js · SaaS

Next.js Commerce
Next.js Commerce 是 Vercel 团队维护的电商启动模板,基于 Next.js App Router 构建,采用服务端渲染、React Server Components、Server Actions …
Next.js · 电商

Next-js-Boilerplate
Next-js-Boilerplate 是一个面向 Next.js 16、Tailwind CSS 4 和 TypeScript 的启动器,核心定位是开发者体验优先。
Next.js · 启动器

tailwind-nextjs-starter-blog
tailwind-nextjs-starter-blog 是一个面向个人技术博客的 Next.js 与 Tailwind CSS 启动模板,其 v2 版本基于 App Router 与 React Server Comp…
Next.js · 博客

next-forge
Production-grade Turborepo template for Next.js apps.
Next.js · 启动器
