Skip to content

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:

html
<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:

html
<div id="payment-button"></div>
javascript
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:

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:

html
<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:

Released under the MIT License.