{"id":3971,"date":"2026-10-13T11:07:14","date_gmt":"2026-10-13T11:07:14","guid":{"rendered":"https:\/\/nownodes.io\/blog\/?p=3971"},"modified":"2026-10-13T11:07:15","modified_gmt":"2026-10-13T11:07:15","slug":"solana-pay-and-recurring-payments-how-to-accept-payments-on-solana","status":"publish","type":"post","link":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/","title":{"rendered":"Solana Pay and Recurring Payments: How to Accept Payments on Solana"},"content":{"rendered":"\n<p class=\"wp-block-paragraph\">Solana Pay is an open standard for requesting a crypto payment through a URL or QR code, so a wallet can read it and a customer can pay in a couple of taps. It handles one payment at a time. Recurring charges, like a monthly subscription, use a different mechanism built on token delegation. This guide covers both: how to accept a single payment on Solana, and how to let a customer authorize repeat charges without handing over control of their wallet.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"what-is-solana-pay\">What Is Solana Pay?<\/h2>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"960\" height=\"1024\" src=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-89-960x1024.png\" alt=\"\" class=\"wp-image-3973\" srcset=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-89-960x1024.png 960w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-89-281x300.png 281w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-89-768x819.png 768w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-89.png 1214w\" sizes=\"auto, (max-width: 960px) 100vw, 960px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">Solana Pay is a specification for encoding a payment request inside a URL that starts with <code>solana:<\/code>. A wallet reads that URL, shows the customer what they are about to pay, and submits the transaction to the network. It does not add new blockchain features. It reuses Solana&#8217;s existing signing and transfer rules and agrees on a common format so any compatible wallet behaves the same way.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Because the request is just a URL, it fits inside a QR code. A shop can print one next to the register, a website can show one at checkout, and an invoice can carry one in an email. The reference implementation is the open-source <a href=\"https:\/\/www.npmjs.com\/package\/@solana\/pay\" solana=\"\" pay=\"\"><code>@solana\/pay<\/code><\/a> JavaScript library, which generates these requests, renders the QR codes, and helps you match an incoming payment back to the right order.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"whats-the-difference-between-a-transfer-request-and-a-transaction-request\">What&#8217;s the Difference Between a Transfer Request and a Transaction Request?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Solana Pay defines two request types, and the choice shapes how much control you have over the payment.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>transfer request<\/strong> is the simpler one. It is a non-interactive request to move SOL or an SPL token straight to your address. You set the <code>recipient<\/code> (your public key) and usually an <code>amount<\/code>, plus optional fields like <code>spl-token<\/code> for the mint, a <code>reference<\/code> key, and a human-readable <code>label<\/code> and <code>message<\/code>. The wallet builds the transfer from those parameters alone.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">A <strong>transaction request<\/strong> is interactive and more flexible. Instead of describing a transfer, the URL points to an endpoint you control. The wallet calls that endpoint, sends the customer&#8217;s public key, and your server returns a fully built transaction encoded in base64. The wallet then asks the customer to sign it. This lets you do things a plain transfer can&#8217;t, like splitting a payment, adding a fee, minting a receipt NFT, or gating the purchase behind a rule. The full field list is in the <a href=\"https:\/\/docs.solanapay.com\/spec\" rel=\"nofollow noopener noreferrer\" solana=\"\" pay=\"\">Solana Pay specification<\/a>.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"why-accept-payments-on-solana-in-the-first-place\">Why Accept Payments on Solana in the First Place?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">The practical reasons are cost and speed. Solana&#8217;s base fee is 5,000 lamports per signature, which is 0.000005 SOL, a fraction of a cent at typical prices (<a href=\"https:\/\/solana.com\/docs\/core\/fees\" rel=\"nofollow noopener noreferrer\">Solana docs<\/a>). For a merchant that usually means the network cost of accepting a payment is negligible, even on small purchases where card fees would eat the margin.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">Settlement is also fast. Solana produces a new block roughly every 400 milliseconds, and a payment is usually safe to treat as confirmed within about half a second, with full deterministic finality taking longer (<a href=\"https:\/\/www.helius.dev\/blog\/alpenglow\" rel=\"nofollow noopener noreferrer\">Helius<\/a>). The Alpenglow consensus upgrade, rolling out across the network in 2026, is designed to push median finality down to around 150 milliseconds, closing most of the remaining gap with traditional card authorization.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">There is a trade-off worth naming. Crypto payments are final once they land, so there is no built-in chargeback. That protects the merchant from fraudulent reversals, but it also means refund logic is your responsibility, not the network&#8217;s.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"who-actually-uses-solana-pay\">Who Actually Uses Solana Pay?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">The standard was built for commerce, so the users are mostly people selling something.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>In-person merchants<\/strong> show a QR code at the point of sale. The customer scans it with a mobile wallet and the funds arrive directly, with no card terminal or acquiring bank in the middle.<\/li>\n\n\n\n<li><strong>Online stores<\/strong> embed a payment request at checkout. Shopify merchants, for example, can accept Solana Pay through an app that originally launched to enable USDC payments, so customers pay in a dollar-pegged stablecoin rather than a volatile asset.<\/li>\n\n\n\n<li><strong>Creators and services<\/strong> use it for tipping, donations, paywalls, and one-off invoices, where the appeal is low fees and instant receipt.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">A common thread is stablecoins. Since a transfer request can specify any SPL token mint, most real-world checkout flows accept USDC instead of SOL, which removes price swings between the moment a customer pays and the moment a merchant books the revenue.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-you-set-up-a-solana-payment-request\">How Do You Set Up a Solana Payment Request?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">At a high level, accepting a single payment follows the same sequence whether it is in a shop or on a web page. Here is the flow using the <code>@solana\/pay<\/code> library.<\/p>\n\n\n\n<ol class=\"wp-block-list\">\n<li><strong>Create a unique reference.<\/strong> Generate a fresh keypair and use its public key as a <code>reference<\/code>. This is not a signer; it is a marker attached to the transaction so you can find it later. One reference per order keeps your payments distinct.<\/li>\n\n\n\n<li><strong>Build the request URL.<\/strong> Encode your recipient address, the amount, the token mint (for USDC or another SPL token), the reference, and a label and message. The library&#8217;s <code>encodeURL<\/code> turns these into a <code>solana:<\/code> URL.<\/li>\n\n\n\n<li><strong>Render the QR code.<\/strong> Pass the URL to <code>createQR<\/code>, which produces a scannable code. The default size is 512 pixels, and you can set the background and foreground colors.<\/li>\n\n\n\n<li><strong>Show it to the customer.<\/strong> They scan it with a compatible wallet, review the amount, and approve. The wallet signs and submits the transfer.<\/li>\n\n\n\n<li><strong>Confirm and fulfill.<\/strong> Watch the chain for a transaction carrying your reference, verify the amount and recipient, then release the goods.<\/li>\n<\/ol>\n\n\n\n<p class=\"wp-block-paragraph\">The reference trick matters because your server never receives the transaction signature directly. The customer&#8217;s wallet submits the transaction, not you.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"how-do-you-confirm-a-payment-went-through\">How Do You Confirm a Payment Went Through?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">You confirm a payment by watching for the reference key you attached, then checking the transaction details. The library&#8217;s <code>findReference<\/code> helper looks up a transaction by its reference, and under the hood it uses the standard <code>getSignaturesForAddress<\/code> method. Once you have the signature, you validate that the recipient, amount, and token mint match what you expected before marking the order paid.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">How certain you need to be depends on the purchase. Solana exposes commitment levels, <code>processed<\/code>, <code>confirmed<\/code>, and <code>finalized<\/code>, that trade speed for certainty. A coffee can ship on <code>confirmed<\/code>; a high-value transfer is better held until <code>finalized<\/code>. Polling works for low volume, but a busy checkout is better served by a persistent connection that pushes updates as they happen, which is where a WebSocket or streaming interface fits.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is the layer where infrastructure choice starts to matter, since both submitting transactions and monitoring for confirmations run through a Solana node endpoint.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"how-do-recurring-payments-work-on-solana\">How Do Recurring Payments Work on Solana?<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Solana Pay does not do subscriptions. A payment request is a one-time event: the customer approves one transfer and nothing more happens on its own. Recurring billing needs a way for a merchant to pull a payment later, on a schedule, with the customer&#8217;s prior consent and no second signature each time.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">On Solana that consent comes from <strong>token delegation<\/strong>. A token owner can approve another account to move a limited amount of their tokens. The official <a href=\"https:\/\/solana.com\/docs\/payments\/subscriptions\/overview\" rel=\"nofollow noopener noreferrer\">Subscriptions Delegation Program<\/a> builds a structured billing system on top of this idea, with code published in the <a href=\"https:\/\/github.com\/solana-program\/subscriptions\" rel=\"nofollow noopener noreferrer\">solana-program\/subscriptions<\/a> repository and an audit by Cantina.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">The design works around one Solana rule: a token account can only have a single approved authority at a time. To avoid clashes, the program gives each user-and-token pair a program-controlled &#8220;Subscription Authority&#8221; that the user approves once. That authority can&#8217;t move funds on its own. Every charge has to match an active authorization the user created, with its own limits.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"fixed-recurring-or-subscription-plan-which-model\">Fixed, Recurring, or Subscription Plan: Which Model?<\/h3>\n\n\n<figure class=\"wp-block-image size-large\"><img loading=\"lazy\" decoding=\"async\" width=\"1024\" height=\"683\" src=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-90-1024x683.png\" alt=\"\" class=\"wp-image-3974\" srcset=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-90-1024x683.png 1024w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-90-300x200.png 300w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-90-768x512.png 768w, https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/image-90.png 1536w\" sizes=\"auto, (max-width: 1024px) 100vw, 1024px\" \/><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">The program supports three authorization models, and the right one depends on how predictable the charges are.<\/p>\n\n\n\n<figure class=\"wp-block-table\"><table class=\"has-fixed-layout\"><thead><tr><th>Model<\/th><th>What it allows<\/th><th>Good for<\/th><\/tr><\/thead><tbody><tr><td><strong>Fixed delegation<\/strong><\/td><td>Spend up to a fixed total, with an optional expiry<\/td><td>Prepaid caps, metered or usage-based billing<\/td><\/tr><tr><td><strong>Recurring delegation<\/strong><\/td><td>An allowance that resets every period (daily, weekly, monthly)<\/td><td>Flat-rate subscriptions<\/td><\/tr><tr><td><strong>Subscription plan<\/strong><\/td><td>A merchant publishes billing terms; approved collectors charge each enrolled subscriber per period<\/td><td>SaaS-style billing across many customers<\/td><\/tr><\/tbody><\/table><\/figure>\n\n\n\n<p class=\"wp-block-paragraph\">In code, these map to calls like <code>transferFixed<\/code>, <code>transferRecurring<\/code>, and <code>transferSubscription<\/code>. The program also supports Token-2022 transfer hooks, so tokens with extra on-chain logic still work inside a subscription.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"what-are-the-limits-and-risks\">What Are the Limits and Risks?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">The controls are deliberately tight, which is what makes delegated billing safe to offer customers.<\/p>\n\n\n\n<ul class=\"wp-block-list\">\n<li><strong>A per-period cap.<\/strong> <code>amountPerPeriod<\/code> sets the most a collector can pull in one period. The allowance resets when the next period begins, so a charge that exceeds the remaining allowance is rejected.<\/li>\n\n\n\n<li><strong>A hard expiry.<\/strong> <code>expiryTs<\/code> is a firm stop. After it passes, transfers fail, and the documentation notes there is no grace period.<\/li>\n\n\n\n<li><strong>Revocation at any time.<\/strong> The user can cancel the delegation whenever they want, which closes the authorization and returns its rent.<\/li>\n\n\n\n<li><strong>No built-in scheduler.<\/strong> Each charge still has to be submitted by a signer. The program enforces the rules, but something off-chain, a backend service, has to actually trigger each period&#8217;s transfer. That service needs reliable network access to keep billing on time.<\/li>\n<\/ul>\n\n\n\n<p class=\"wp-block-paragraph\">That last point is the main operational difference from a card subscription. The blockchain guarantees the limits, not the timing. You run the clock.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"reliable-solana-access-for-payments-and-billing\">Reliable Solana Access for Payments and Billing<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Every part of this, broadcasting a signed payment, watching for the reference, and submitting recurring charges on schedule, depends on a connection to the Solana network. Running and syncing your own validator to do that is heavy, so most teams use a managed endpoint instead.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">This is where <a href=\"https:\/\/nownodes.io\">NOWNodes<\/a> fits. It provides <a href=\"https:\/\/nownodes.io\/nodes\/solana-sol\">Solana RPC endpoints<\/a> for reading state and sending transactions, WebSocket subscriptions for watching address activity without constant polling, and gRPC streaming for continuous updates with commitment-level choices (processed, confirmed, or finalized) that line up directly with how you confirm a payment. For a recurring-billing backend, that steady access is what keeps collectors charging on time across many subscribers.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">For an early integration, free public endpoints let you prototype a checkout flow without an API key, within a modest rate limit, before moving to a plan with higher throughput. The same account reaches <a href=\"https:\/\/nownodes.io\/nodes\">120+ networks<\/a>, which helps if you later accept payments on more than one chain. NOWNodes supplies the infrastructure access; signing, custody, and the payment logic stay in your application and your customers&#8217; wallets.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"conclusion\">Conclusion<\/h2>\n\n\n<p class=\"wp-block-paragraph\">Think of it as two tools for two jobs. Solana Pay is for taking a payment right now: a URL or QR code, a wallet, and a transfer that settles in well under a second for a tiny fee. Recurring payments are a separate pattern built on token delegation, where a customer approves capped, time-limited, revocable charges and a backend submits each one on schedule.<\/p>\n\n\n\n<p class=\"wp-block-paragraph\">If you only need to accept one-off payments, start with a transfer request and the <code>@solana\/pay<\/code> library. If you are building subscriptions, look at the Subscriptions Delegation Program and pick the fixed, recurring, or plan model that matches your billing. Either way, the integration lives or dies on a dependable connection to the network, so treat your Solana endpoint as part of the payment stack, not an afterthought.<\/p>\n\n\n<h2 class=\"wp-block-heading\" id=\"faq\">FAQ<\/h2>\n\n<h3 class=\"wp-block-heading\" id=\"which-wallets-support-solana-pay\">Which Wallets Support Solana Pay?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Major Solana wallets, including Phantom and Solflare, can scan Solana Pay QR codes and handle both transfer and transaction requests. Any wallet that implements the specification will read a <code>solana:<\/code> URL the same way, which is the point of having a shared standard.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"is-there-a-solana-pay-app-for-inperson-payments\">Is There a Solana Pay App for In-Person Payments?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">Yes. Solana Pay ships with an open-source Point of Sale reference app built on the <code>@solana\/pay<\/code> library, which a merchant can run to generate payment QR codes at a register. It is a starting template rather than a packaged commercial product, so many businesses adapt it or use a third-party checkout built on the same standard.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"do-merchants-need-to-hold-sol-to-accept-solana-payments\">Do Merchants Need to Hold SOL to Accept Solana Payments?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">For incoming transfers, the customer&#8217;s wallet pays the network fee, so a merchant can receive funds without holding SOL first. You do need a small SOL balance once your own service signs transactions, such as building transaction requests or submitting recurring charges, since the signer covers the per-signature fee.<\/p>\n\n\n<h3 class=\"wp-block-heading\" id=\"how-is-solana-pay-different-from-stripe-or-a-card-processor\">How Is Solana Pay Different From Stripe or a Card Processor?<\/h3>\n\n\n<p class=\"wp-block-paragraph\">A card processor sits between buyer and seller, authorizes the charge, and can reverse it later, in exchange for a percentage fee. Solana Pay has no intermediary: the payment moves directly wallet-to-wallet and settles with finality, for a flat network fee measured in fractions of a cent. The flip side is that there are no automatic chargebacks and no processor handling disputes, so refunds and fraud checks are your responsibility.<\/p>\n","protected":false},"excerpt":{"rendered":"<p>Solana Pay is an open standard for requesting a crypto payment through a URL or QR code, so a wallet can read it and a customer can pay in a couple of taps. It handles one payment at a time. Recurring charges, like a monthly subscription, use a different mechanism built on token delegation. This [&hellip;]<\/p>\n","protected":false},"author":3,"featured_media":3972,"comment_status":"open","ping_status":"open","sticky":false,"template":"","format":"standard","meta":{"_eb_attr":"","_lmt_disableupdate":"","_lmt_disable":"","_monsterinsights_skip_tracking":false,"footnotes":""},"categories":[102],"tags":[],"class_list":["post-3971","post","type-post","status-publish","format-standard","has-post-thumbnail","hentry","category-dev-report"],"blocksy_meta":[],"yoast_head":"<!-- This site is optimized with the Yoast SEO plugin v22.0 - https:\/\/yoast.com\/wordpress\/plugins\/seo\/ -->\n<title>How to Accept Solana Payments and Build Subscriptions<\/title>\n<meta name=\"description\" content=\"Solana Pay lets merchants accept SOL and USDC through simple QR codes. See how one-off payments and recurring subscriptions actually work on Solana.\" \/>\n<meta name=\"robots\" content=\"index, follow, max-snippet:-1, max-image-preview:large, max-video-preview:-1\" \/>\n<link rel=\"canonical\" href=\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\" \/>\n<meta property=\"og:locale\" content=\"en_US\" \/>\n<meta property=\"og:type\" content=\"article\" \/>\n<meta property=\"og:title\" content=\"How to Accept Solana Payments and Build Subscriptions\" \/>\n<meta property=\"og:description\" content=\"Solana Pay lets merchants accept SOL and USDC through simple QR codes. See how one-off payments and recurring subscriptions actually work on Solana.\" \/>\n<meta property=\"og:url\" content=\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\" \/>\n<meta property=\"og:site_name\" content=\"NOWNodes Blog\" \/>\n<meta property=\"article:published_time\" content=\"2026-10-13T11:07:14+00:00\" \/>\n<meta property=\"article:modified_time\" content=\"2026-10-13T11:07:15+00:00\" \/>\n<meta property=\"og:image\" content=\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/nodes_1-100.jpg\" \/>\n\t<meta property=\"og:image:width\" content=\"2400\" \/>\n\t<meta property=\"og:image:height\" content=\"1200\" \/>\n\t<meta property=\"og:image:type\" content=\"image\/jpeg\" \/>\n<meta name=\"author\" content=\"\u0410nastasia\" \/>\n<meta name=\"twitter:card\" content=\"summary_large_image\" \/>\n<meta name=\"twitter:creator\" content=\"@nownodes\" \/>\n<meta name=\"twitter:site\" content=\"@nownodes\" \/>\n<meta name=\"twitter:label1\" content=\"Written by\" \/>\n\t<meta name=\"twitter:data1\" content=\"\u0410nastasia\" \/>\n\t<meta name=\"twitter:label2\" content=\"Est. reading time\" \/>\n\t<meta name=\"twitter:data2\" content=\"10 minutes\" \/>\n<script type=\"application\/ld+json\" class=\"yoast-schema-graph\">{\"@context\":\"https:\/\/schema.org\",\"@graph\":[{\"@type\":\"Article\",\"@id\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#article\",\"isPartOf\":{\"@id\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\"},\"author\":{\"name\":\"\u0410nastasia\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8\"},\"headline\":\"Solana Pay and Recurring Payments: How to Accept Payments on Solana\",\"datePublished\":\"2026-10-13T11:07:14+00:00\",\"dateModified\":\"2026-10-13T11:07:15+00:00\",\"mainEntityOfPage\":{\"@id\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\"},\"wordCount\":2098,\"commentCount\":0,\"publisher\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#organization\"},\"articleSection\":[\"Dev Report\"],\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"CommentAction\",\"name\":\"Comment\",\"target\":[\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#respond\"]}]},{\"@type\":\"WebPage\",\"@id\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\",\"url\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\",\"name\":\"How to Accept Solana Payments and Build Subscriptions\",\"isPartOf\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#website\"},\"datePublished\":\"2026-10-13T11:07:14+00:00\",\"dateModified\":\"2026-10-13T11:07:15+00:00\",\"description\":\"Solana Pay lets merchants accept SOL and USDC through simple QR codes. See how one-off payments and recurring subscriptions actually work on Solana.\",\"breadcrumb\":{\"@id\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#breadcrumb\"},\"inLanguage\":\"en-US\",\"potentialAction\":[{\"@type\":\"ReadAction\",\"target\":[\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/\"]}]},{\"@type\":\"BreadcrumbList\",\"@id\":\"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#breadcrumb\",\"itemListElement\":[{\"@type\":\"ListItem\",\"position\":1,\"name\":\"Blog\",\"item\":\"https:\/\/nownodes.io\/blog\"},{\"@type\":\"ListItem\",\"position\":2,\"name\":\"Dev Report\",\"item\":\"https:\/\/nownodes.io\/blog\/category\/dev-report\"},{\"@type\":\"ListItem\",\"position\":3,\"name\":\"Solana Pay and Recurring Payments: How to Accept Payments on Solana\"}]},{\"@type\":\"WebSite\",\"@id\":\"https:\/\/nownodes.io\/blog\/#website\",\"url\":\"https:\/\/nownodes.io\/blog\/\",\"name\":\"NOWNodes Blog\",\"description\":\"Your first-to-go source of development guides, web3 analytics and most recent news about NOWNodes\",\"publisher\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#organization\"},\"potentialAction\":[{\"@type\":\"SearchAction\",\"target\":{\"@type\":\"EntryPoint\",\"urlTemplate\":\"https:\/\/nownodes.io\/blog\/?s={search_term_string}\"},\"query-input\":\"required name=search_term_string\"}],\"inLanguage\":\"en-US\"},{\"@type\":\"Organization\",\"@id\":\"https:\/\/nownodes.io\/blog\/#organization\",\"name\":\"NOWNodes Blog\",\"url\":\"https:\/\/nownodes.io\/blog\/\",\"logo\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/\",\"url\":\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png\",\"contentUrl\":\"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png\",\"width\":1164,\"height\":1164,\"caption\":\"NOWNodes Blog\"},\"image\":{\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/\"},\"sameAs\":[\"https:\/\/twitter.com\/nownodes\"]},{\"@type\":\"Person\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8\",\"name\":\"\u0410nastasia\",\"image\":{\"@type\":\"ImageObject\",\"inLanguage\":\"en-US\",\"@id\":\"https:\/\/nownodes.io\/blog\/#\/schema\/person\/image\/\",\"url\":\"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g\",\"contentUrl\":\"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g\",\"caption\":\"\u0410nastasia\"},\"url\":\"https:\/\/nownodes.io\/blog\/author\/nasty-nownodes\"}]}<\/script>\n<!-- \/ Yoast SEO plugin. -->","yoast_head_json":{"title":"How to Accept Solana Payments and Build Subscriptions","description":"Solana Pay lets merchants accept SOL and USDC through simple QR codes. See how one-off payments and recurring subscriptions actually work on Solana.","robots":{"index":"index","follow":"follow","max-snippet":"max-snippet:-1","max-image-preview":"max-image-preview:large","max-video-preview":"max-video-preview:-1"},"canonical":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/","og_locale":"en_US","og_type":"article","og_title":"How to Accept Solana Payments and Build Subscriptions","og_description":"Solana Pay lets merchants accept SOL and USDC through simple QR codes. See how one-off payments and recurring subscriptions actually work on Solana.","og_url":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/","og_site_name":"NOWNodes Blog","article_published_time":"2026-10-13T11:07:14+00:00","article_modified_time":"2026-10-13T11:07:15+00:00","og_image":[{"width":2400,"height":1200,"url":"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2026\/10\/nodes_1-100.jpg","type":"image\/jpeg"}],"author":"\u0410nastasia","twitter_card":"summary_large_image","twitter_creator":"@nownodes","twitter_site":"@nownodes","twitter_misc":{"Written by":"\u0410nastasia","Est. reading time":"10 minutes"},"schema":{"@context":"https:\/\/schema.org","@graph":[{"@type":"Article","@id":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#article","isPartOf":{"@id":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/"},"author":{"name":"\u0410nastasia","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8"},"headline":"Solana Pay and Recurring Payments: How to Accept Payments on Solana","datePublished":"2026-10-13T11:07:14+00:00","dateModified":"2026-10-13T11:07:15+00:00","mainEntityOfPage":{"@id":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/"},"wordCount":2098,"commentCount":0,"publisher":{"@id":"https:\/\/nownodes.io\/blog\/#organization"},"articleSection":["Dev Report"],"inLanguage":"en-US","potentialAction":[{"@type":"CommentAction","name":"Comment","target":["https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#respond"]}]},{"@type":"WebPage","@id":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/","url":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/","name":"How to Accept Solana Payments and Build Subscriptions","isPartOf":{"@id":"https:\/\/nownodes.io\/blog\/#website"},"datePublished":"2026-10-13T11:07:14+00:00","dateModified":"2026-10-13T11:07:15+00:00","description":"Solana Pay lets merchants accept SOL and USDC through simple QR codes. See how one-off payments and recurring subscriptions actually work on Solana.","breadcrumb":{"@id":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#breadcrumb"},"inLanguage":"en-US","potentialAction":[{"@type":"ReadAction","target":["https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/"]}]},{"@type":"BreadcrumbList","@id":"https:\/\/nownodes.io\/blog\/solana-pay-and-recurring-payments-how-to-accept-payments-on-solana\/#breadcrumb","itemListElement":[{"@type":"ListItem","position":1,"name":"Blog","item":"https:\/\/nownodes.io\/blog"},{"@type":"ListItem","position":2,"name":"Dev Report","item":"https:\/\/nownodes.io\/blog\/category\/dev-report"},{"@type":"ListItem","position":3,"name":"Solana Pay and Recurring Payments: How to Accept Payments on Solana"}]},{"@type":"WebSite","@id":"https:\/\/nownodes.io\/blog\/#website","url":"https:\/\/nownodes.io\/blog\/","name":"NOWNodes Blog","description":"Your first-to-go source of development guides, web3 analytics and most recent news about NOWNodes","publisher":{"@id":"https:\/\/nownodes.io\/blog\/#organization"},"potentialAction":[{"@type":"SearchAction","target":{"@type":"EntryPoint","urlTemplate":"https:\/\/nownodes.io\/blog\/?s={search_term_string}"},"query-input":"required name=search_term_string"}],"inLanguage":"en-US"},{"@type":"Organization","@id":"https:\/\/nownodes.io\/blog\/#organization","name":"NOWNodes Blog","url":"https:\/\/nownodes.io\/blog\/","logo":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/","url":"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png","contentUrl":"https:\/\/nownodes.io\/blog\/wp-content\/uploads\/2024\/02\/cropped-New-Logo-NN.png","width":1164,"height":1164,"caption":"NOWNodes Blog"},"image":{"@id":"https:\/\/nownodes.io\/blog\/#\/schema\/logo\/image\/"},"sameAs":["https:\/\/twitter.com\/nownodes"]},{"@type":"Person","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/person\/0890ec68e813adecb93c18ee00e1e7a8","name":"\u0410nastasia","image":{"@type":"ImageObject","inLanguage":"en-US","@id":"https:\/\/nownodes.io\/blog\/#\/schema\/person\/image\/","url":"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g","contentUrl":"https:\/\/secure.gravatar.com\/avatar\/1de24ab8dcdd7ec30f6adaf78b56bc1eda421f87575b7e103c8fc3fc4420e833?s=96&d=mm&r=g","caption":"\u0410nastasia"},"url":"https:\/\/nownodes.io\/blog\/author\/nasty-nownodes"}]}},"modified_by":"\u0410nastasia","_links":{"self":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts\/3971","targetHints":{"allow":["GET"]}}],"collection":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts"}],"about":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/types\/post"}],"author":[{"embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/users\/3"}],"replies":[{"embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/comments?post=3971"}],"version-history":[{"count":1,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts\/3971\/revisions"}],"predecessor-version":[{"id":3975,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/posts\/3971\/revisions\/3975"}],"wp:featuredmedia":[{"embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/media\/3972"}],"wp:attachment":[{"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/media?parent=3971"}],"wp:term":[{"taxonomy":"category","embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/categories?post=3971"},{"taxonomy":"post_tag","embeddable":true,"href":"https:\/\/nownodes.io\/blog\/wp-json\/wp\/v2\/tags?post=3971"}],"curies":[{"name":"wp","href":"https:\/\/api.w.org\/{rel}","templated":true}]}}