For Sites & Developers

Accept payments your
processor won't.

Register your site, get API keys, and start accepting payments in minutes. 3% flat fee. Zero chargebacks. Instant settlement. Built-in age verification.

3%
Flat fee
0
Chargebacks
<1s
Settlement
1
Script tag
Register

Apply for
merchant access.

Tell us about your site. We review every application and send you API credentials once approved.

By registering you agree to the Terms of Service. We'll review your site and send you API credentials once approved.

Integration

Live in minutes.
Not months.

01

HTML / Script Tag

Easiest

Drop our widget into any HTML page. No build step, no framework required. The widget handles wallet connection, age verification, and payment UI.

<!-- 1. Include the widget --> <script src="https://prilana.com/widget.js"></script> <!-- 2. Add a pay button anywhere on your page --> <prilana-pay merchant-id="YOUR_MERCHANT_ID" api-key="YOUR_API_KEY" amount="9.99" label="Subscribe Now" ></prilana-pay> <!-- 3. Listen for payment events --> <script> document.querySelector('prilana-pay') .addEventListener('prilana:success', (e) => { // e.detail.txSignature — Solana transaction hash // e.detail.amount — payment amount // e.detail.orderId — your order reference console.log('Paid:', e.detail.txSignature); // Verify server-side, then unlock content }); </script>
02

React / Next.js

npm

Install our React SDK for full control over the payment flow. Works with Next.js, Remix, Vite, or any React app.

npm install @prilana/react
import { PrilanaPayButton } from '@prilana/react' export default function SubscribePage() { const handleSuccess = (payment) => { // payment.txSignature — Solana transaction hash // payment.buyer — buyer wallet address // payment.verified — age verification status (boolean) // payment.level — verification level (1 = selfie) console.log('Paid:', payment.txSignature) } return ( <PrilanaPayButton merchantId="YOUR_MERCHANT_ID" amount={9.99} currency="USD" onSuccess={handleSuccess} onError={(err) => console.error(err)} > Subscribe Now </PrilanaPayButton> ) }
03

Server-Side Verification

After the client receives a payment confirmation, verify it server-side before unlocking content. Use your API key to authenticate.

# Verify a payment server-side after receiving it curl -X POST https://prilana.com/api/merchant/verify-payment \ -H "Authorization: Bearer YOUR_API_KEY" \ -H "Content-Type: application/json" \ -d '{ "txSignature": "5UfDuX...", "merchantId": "YOUR_MERCHANT_ID", "expectedAmount": 9.99 }' # Response: # { # "valid": true, # "buyer": "7nYBm...", # "amount": 9.99, # "verified": true, # "verificationLevel": 1, # "timestamp": "2026-03-16T12:00:00Z" # }
04

Webhooks

Receive real-time payment notifications at your endpoint. Every webhook is signed with HMAC-SHA256 using your API key so you can verify authenticity.

// Configure your webhook URL in the merchant dashboard. // Prilana sends a POST request on every confirmed payment. // POST https://your-site.com/api/webhooks/prilana // Headers: X-Prilana-Signature: <HMAC-SHA256 of body with API key> { "event": "payment.confirmed", "data": { "txSignature": "5UfDuX...", "buyer": "7nYBm...", "amount": 9.99, "currency": "USD", "verified": true, "verificationLevel": 1, "merchantId": "prln_m_...", "timestamp": "2026-03-16T12:00:00Z" } }
05

Check Age Verification

API Key

Query a wallet's verification status using your API key. Use it to gate content before payment, or to show verified badges on user profiles.

# Check if a wallet is age-verified curl https://prilana.com/api/verify/check?wallet=7nYBm... \ -H "X-API-Key: YOUR_API_KEY" \ -H "X-Merchant-Id: YOUR_MERCHANT_ID" # Response: # { # "verified": true, # "level": 1, # "method": "rekognition_selfie", # "verifiedAt": "2026-03-15T10:30:00Z", # "expiresAt": "2027-03-15T10:30:00Z" # }

How it works under the hood

CLIENT

Widget connects the buyer's Solana wallet, checks verification via our API, and prompts payment. All client-side, no server needed.

ON-CHAIN

Tokens transfer directly from buyer to your wallet in a single atomic transaction. The smart contract enforces the fee split — trustless and auditable.

SERVER

Your backend verifies the payment signature via our API or webhook. The 3% fee is deducted at settlement time, not from the buyer.

Why Switch

Everything merchants need.
Nothing that holds you back.

COMPLIANCE

Compliant by Default

Built-in age verification covers every US state law, the UK Online Safety Act, and the EU Digital Services Act. You don't have to build it yourself.

REVENUE

Zero Chargebacks

Blockchain transactions are final. No fraud disputes, no shame chargebacks, no revenue clawed back months later.

SPEED

Instant Settlement

Funds land in your wallet in under a second. No rolling reserves. No 7-14 day holds. No funds locked up.

PRICING

3% Flat Fee

No per-transaction surcharge. No monthly minimums. No Visa/Mastercard annual fees. Just 3% flat on every sale.

INTEGRATION

One Script Tag

Add Prilana Pay to any site with a single line of code. We handle wallets, age verification, checkout UI, and settlement.

FLEXIBILITY

Multi-Token Support

Buyers pay with SOL, USDC, or $PRLN. Auto-swap settles to your preferred token. Zero friction for your customers.

Comparison

See how we stack up.

Legacy processors charge 10%+ and hold your money for months. Mainstream gateways won't serve you at all. Prilana does both — for less.

 CCBillSegpayStripeCoinbasePrilana
Transaction fee~10.8% + $0.55~8.5–12% + $0.502.9% + $0.301%3% flat
Chargebacks$25–50 each$25+ each$15 eachNoneNone
Settlement7–14 days7–14 days2–7 days1–3 days<1 second
Rolling reserve5–10% / 6mo5–10% / 6moPossibleNoneNone
Adult merchants acceptedYesYesNoNoYes
Age verification built inNoNoNoNoYes
Buyer privacyNoNoNoNoYes
No account freezesYesYesNoNoYes
No card network dependencyNoNoNoYesYes
No Visa/MC annual feesNoNoYesYesYes

What you actually keep on a $50 sale

CCBill: $5.40 fee + $0.55 tx + ~$2.50 reserve = you keep $41.55. Stripe: Won't take your money. Coinbase: Won't take your money. Prilana: $1.50 fee. You keep $48.50. Instant.