Use Cases
CryptumPay can be integrated in different ways depending on your business model. Choose the approach that best fits your needs — from simple donations to complex e-commerce workflows.
Donations, Account Top-ups
Type: Flexible Amount Orders
Best for: Donations, gambling balance top-ups, pay-what-you-want pricing, tips.
Orders are created client-side. Users enter the amount they want to pay.
Example:
<div
class="cryptumpay-auto-button-v1"
data-project-id="abc12345-1234-5678-9abc-123456789def"
data-project-order-title="Donation"
data-project-order-description="Support our project"
></div>Features:
- No backend required - Orders created entirely in the browser
- Simplest integration - Just add HTML, no JavaScript code needed
- User chooses amount - Perfect for flexible pricing scenarios
- Instant setup - Start accepting payments in minutes
E-commerce
Type: Fixed Amount Orders
Best for: E-commerce products, subscriptions, services with fixed pricing.
The order is created at the moment the user clicks the payment button. This allows users to select options, choose plans, or configure their purchase on your site, then click the button — you create the order with the final amount, and the user immediately sees the payment form with the correct price.
Perfect for sites without a shopping cart — just plan selection and a payment button.
Orders are always created through your backend with exact amounts.
Example:
<div id="payment-button"></div>document.addEventListener('CryptumPay:ready', (event) => {
const button = new CryptumPay.Button('payment-button');
button.setOptions({
projectId: 'abc12345-1234-5678-9abc-123456789def'
});
button.onCreateOrder(async () => {
// your backend creates the order with fixed amount
const response = await fetch('/api/create-order', {
method: 'POST',
body: JSON.stringify({})
});
const data = await response.json();
return data.id;
});
});Backend Integration required
You can create orders via:
- Your backend using @cryptumpay/node-sdk
- Merchant Console manually
- Direct API calls
Features:
- Backend-controlled pricing - You specify exact amounts server-side
- Full control - Validate inventory, apply discounts, check permissions
- Secure - No price manipulation from client-side
- Best conversion - Modal keeps users on your site
Custom Business Logic
Type: Pre-Created Orders
Best for: Invoice pages, checkout flows, order recovery, custom business workflows.
You create orders on your backend whenever needed, then display a payment button that opens the order immediately.
Example:
<div
class="cryptumpay-auto-button-v1"
data-project-id="abc12345-1234-5678-9abc-123456789def"
data-order-id="11280ee0-fc4b-4616-b0bb-5751128b76fb"
></div>Features:
- No JavaScript code needed - Just two data attributes
- Maximum flexibility - Create orders according to any business logic
- Order recovery - Resume abandoned payments with existing order IDs
- Async workflows - Create order independently of button click
Without Widget
Type: Payment Links
Best for: Email invoices, messengers, SMS notifications, or when modal isn't suitable.
You don't have to use the widget at all. Simply create an order on your backend (as described in the use cases above), then send the user a link to the payment gateway.
Payment link format:
https://pay.cryptumpay.com/m/${order.id}Features:
- No widget integration needed - Just create an order and send the link
- Works everywhere - Email, SMS, messengers, QR codes
- Lower conversion - User leaves your site (full-page redirect)
Next Steps
Now that you understand different use cases, learn how to implement them:
- Button Initialization - Different ways to create buttons
- Backend Integration - Create orders from your server