Introduction
This guide demonstrates different methods to accept Nano payments on your website. Each solution offers unique features and benefits to suit different use cases, from simple donations to full e-commerce integration.
BitRequest
A simple, non-custodial solution for generating cryptocurrency payment request links.
- Fully decentralized
- Multi-cryptocurrency support
- Simple URL-based requests
- No fees
- Optional contact forms
- Best for: Payment requests and invoicing
Live Demo
Implementation
Simple Link
<a href="https://bitrequest.github.io/?p=home&payment=nano&uoa=usd&amount=1&address=YOUR_NANO_ADDRESS">
Pay 1 USD in Nano
</a>
Intermediate Implementation
<script>
// Configuration for the payment request
function createBitRequest() {
const payment = "nano";
const uoa = "usd";
const amount = 0.05;
const address = "YOUR_NANO_ADDRESS";
const d = btoa(JSON.stringify({
"t": "Payment Request",
"n": "Store Payment",
"c": 0
}));
return "https://bitrequest.github.io/?payment=" + payment + "&uoa=" + uoa + "&amount=" + amount + "&address=" + address + "&d=" + d;
}
// Example usage
const paymentUrl = createBitRequest();
window.location.href = paymentUrl;
</script>
Advanced Implementation
For the complete advanced implementation with features like Lightning Network support, webhooks, and shopping cart integration, check out the official BitRequest Webshop Integration Guide.
Nano.to
A modern, non-custodial payment solution that prioritizes user experience. Features a sleek Apple Pay-inspired interface, instant confirmations, and email notifications. Perfect for websites looking to accept Nano payments with minimal setup.
- Non-custodial solution
- Simple Apple Pay-like interface
- Easy frontend integration
- No fees
- Email notifications
- Contact & shipping forms
- Customizable UI & wallets
- Multi-currency pricing
- Shopping cart support
- Best for: Quick payments and donations
Live Demo
Implementation
<script src="https://pay.nano.to/latest.js"></script>
<button onclick="payWithNanoTo()">Pay Now</button>
<script>
function payWithNanoTo() {
NanoPay.open({
title: "Demo Payment",
address: '@your-username',
amount: 0.1,
notify: 'your@email.com',
contact: true,
shipping: {
onShippingUpdate: function(details) {
console.log('Shipping details:', details);
return true;
}
},
currency: 'USD',
wallet: 'natrium',
success: (block) => {
console.log('Payment successful!', {
hash: block.hash,
amount: block.amount,
email: block.email,
shipping: block.shipping
});
}
});
}
</script>
WowPay
A managed payment solution supporting multiple cryptocurrencies including Nano, Banano, and more.
- Multiple nano-fork support
- Comprehensive API
- Custodial solution
- Balance & withdrawal management
- Secure signature-based auth
- Best for: Multi-currency payment systems
Note: WowPay requires API authentication. Get your keys at pay.pilou.cc/apis.
This website is for demonstration purposes only - never expose production API keys in frontend code.
Live Demo
Implementation Examples
Create Deposit Address
// Create a deposit address
async function createDeposit(apiKey, privateKey, currency) {
const timestamp = Date.now();
const body = JSON.stringify({
currency: currency,
time: timestamp
});
// Create signature
const signature = CryptoJS.HmacSHA256(body, privateKey).toString(CryptoJS.enc.Base64);
const response = await fetch('https://nanpay.pilou.cc/wallet/deposit', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'auth': apiKey,
'sign': signature
},
body: body
});
const data = await response.json();
return data.address; // Returns managed deposit address
}
Create Withdrawal
// Create a withdrawal
async function createWithdrawal(apiKey, privateKey, currency, amount, destination) {
const timestamp = Date.now();
const body = JSON.stringify({
currency: currency,
time: timestamp,
amount: amount,
destination: destination
});
// Create signature
const signature = CryptoJS.HmacSHA256(body, privateKey).toString(CryptoJS.enc.Base64);
const response = await fetch('https://nanpay.pilou.cc/wallet/withdraw', {
method: 'POST',
headers: {
'Content-Type': 'application/json',
'auth': apiKey,
'sign': signature
},
body: body
});
return await response.json();
}
NanoPay.me
A feature-rich payment gateway with API support for creating and managing invoices.
"The Stripe of Nano Payments. Pay and get paid with Nano."
- Full-featured REST API
- Webhook support
- Payment tracking & management
- Potential processing fees in the future
- Technical support available
- Best for: E-commerce and business integration
Note: Due to browser security restrictions (CORS), this demo may not work directly in the browser. For production use, implement the API calls through your backend server. See the API documentation for details.
Dead Demo
Implementation Examples
Simple Implementation
// Create payment URL and redirect
function createNanoPayment(address, amount, title, redirectUrl) {
const params = new URLSearchParams({
address: address,
amount: amount
});
if (title) params.append('title', title);
if (redirectUrl) params.append('redirect_url', redirectUrl);
const paymentUrl = `https://nanopay.me/payment?${params}`;
window.location.href = paymentUrl;
}
API Implementation (Backend Required)
// Server-side implementation example
async function createInvoice(apiKey, paymentData) {
const response = await fetch('https://api.nanopay.me/invoices', {
method: 'POST',
headers: {
'Authorization': `Bearer ${apiKey}`,
'Content-Type': 'application/json'
},
body: JSON.stringify({
title: paymentData.title,
price: paymentData.amount,
recipient_address: paymentData.address,
redirect_url: paymentData.redirect_url
})
});
return await response.json();
}