Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)

    Documentation

    Concepts, value, and typical clone scenarios — less code.

    Welcome to Ring
    Quick Reference
    Getting Started
    Prerequisites
    Installation
    First Success Validation
    Next Steps
    Features
    Multi-Vendor Store
    Inventory & Stock
    Vendor Management
    Commissions & Settlements
    SubscriptionConductor
    PaymentConductor
    Payments Overview
    Public Pools & DAO Jars
    WayForPay Payment Integration
    Wallet & Credit System
    WalletConductor
    Affiliate & Referral Enablement
    Referral Codes (Refcodes)
    NFT Exhibition Marketplace
    Solana NFT Gates
    Token Staking System
    Owner Project Lab
    Entities
    Opportunities
    Real-Time Messaging
    Ring Tasks
    WebRTC Calls & STUNner TURN
    Peer Games
    News Module
    Member Blogs
    Public Profile Pages
    Ring File Cabinet
    Username Reservation System
    Scientific Editor
    Notifications
    Push Notifications with FCM (Ring-Powered)
    Email AI-CRM
    Ring Mailer & RingdomX Mail
    Tunnel Protocol
    VideoConductor
    MediaConductor
    Generative Gallery
    Authentication
    Security & Compliance
    Admin console
    Admin Wiki
    Manage via Telegram
    Locale System
    Mobile Experience
    Performance Optimization Patterns
    Examples
    Quick Start
    Basic Setup
    White Label
    Custom Branding
    Web3 Integration
    Real World
    Advanced Features
    Customization
    Quick Start — Your First Ring Clone
    Customization Guide
    Branding
    Themes
    Features
    Localization
    Token Economics Setup
    Payment Gateway Integration
    Reference Ring deployments
    Web3
    Token launch jurisdictions
    Wallet
    Wallet Security Tips
    Integrations
    Ethereum wallets (Wagmi v3)
    RingFileBase (object storage API)
    Ring CDN (RingFileBase edge)
    Deployment
    Self-hosted deployment
    Vercel
    Docker
    Environment Configuration
    Monitoring & Analytics
    Performance Optimization
    Backup & Recovery
    Architecture
    Data Model
    Security
    Real Time
    Discovery Mutation Sync
    PaymentConductor architecture
    WalletConductor architecture
    Development
    Ring MCP Server

    Quick entry (CTOs · auditors · agents)

    Welcome — mission & audiences
    Quick Reference
    Getting started
    Architecture & Auth.js
    Backend modes & databases (DB_BACKEND_MODE)
    Self-hosted
    Ring MCP Tools
    Ring MCP Server
    Token economics
    Token launch jurisdictions
    Deploy (Docker · k8s)
    Security & compliance reads
    ringdom.org — LegioX homebase
    Source — MIT license (GitHub)
    1. Docs
    2. /Features
    3. /Payments Overview

    Updated Jul 22, 20263 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Docs
    2. /Features
    3. /Payments Overview

    Updated Jul 22, 20263 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    1. Docs
    2. /Features
    3. /Payments Overview

    Updated Jul 22, 20263 min listen

    Ring Platform Logo

    Завантаження документації...

    Підготовка контенту платформи Ring

    Payments Overview

    Ring Platform routes card, credit, token, and PayPal flows through PaymentConductor (lib/payments/conductor/). WayForPay is the primary PSP for Ukraine; Stripe and PayPal cover international rails. Wallet credit top-up is a live wallet_topup purpose. Public pool / DAO jar card and PayPal chip-ins use purpose public_pool_contribution (desk-oracle FX — not 1:1 fiat↔native). Membership recurring PayPal uses SubscriptionConductor (Subscriptions v1).

    Browser handoff is Conductor CheckoutRedirect — architecture · WayForPay HPP.

    Deep dive: PaymentConductor feature · Architecture · Public Pools & DAO Jars · WayForPay · SubscriptionConductor

    Use Founder / Developer tabs in the docs sidebar to filter this page.

    What PaymentConductor covers

    PurposeDescriptionPSP / rail
    store_orderCart → checkoutWayForPay / Stripe / credit / token / PayPal
    membership_upgradeRole upgrade (e.g. SUBSCRIBER → MEMBER)WayForPay / Stripe / native token / PayPal
    news_promotionNews Kingdom sponsored articlesWayForPay / Stripe
    wallet_topupFiat credit top-up (Card / PayPal tabs)WayForPay or Stripe (PAYMENT_WALLET_TOPUP_PROCESSOR); PayPal when processor=paypal
    public_pool_contributionDAO jar / public-pool card or PayPal chip-inWayForPay / Stripe / PayPal → desk oracle → pledged_native_token
    Internal creditSpend existing credit balanceInternal
    RING tokenOn-chain native-token paymentsRING
    Not PSP donation products

    WayForPay hosted Донати, Stripe submit_type=donate, and PayPal Donate SDK are not Ring jar SSOT. See Public Pools.

    What founders get

    • One ledger — payment_transactions for store, membership, news, wallet top-up, and public-pool card chip-ins.
    • Config-driven gateways — PAYMENT_DEFAULT_PROCESSOR plus per-purpose overrides (including optional PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSOR).
    • Admin visibility — Payments tab on the user detail sheet lists membership and wallet top-up rows.
    • Membership UI — PaymentModal: native-token, card, and PayPal (when NEXT_PUBLIC_PAYMENT_STORE_ALLOW_PAYPAL=true). Manage cancel/history at /membership/manage.
    • Store PayPal — optional checkout rail with the same public flag + PAYPAL_* credentials.
    • DAO jars — dual-currency chip-in on /dao and docs FutureFeature widgets; builder payout when the jar fills (Public Pools).

    ring-config.json payment section

    Jar fee map (separate key): publicPools.platformFeePercentByRole — see Public Pools.

    Architecture

    Key modules

    ModulePathRole
    Conductorlib/payments/conductor/payment-conductor.tsRoutes by purpose + processor
    Configlib/payments/payment.config.tsConfig + env overrides
    WayForPaylib/payments/processors/wayforpay.processor.tsHMAC, form/redirect, Conductor purposes including public pools
    Stripelib/payments/processors/stripe.processor.tsCheckout + webhook verify
    Internal creditlib/payments/processors/internal-credit.processor.tsCredit deduction

    Related

    Related documentation

    PaymentConductor

    Deep-dive: purposes, rails, and module paths including public_pool_contribution.

    Public Pools & DAO Jars

    Same-workflow: DAO jar card chip-ins, desk FX, and builder payout.

    WayForPay Payment Integration

    Depends-on: WayForPay HPP env SSOT and HMAC for card jars.

    Wallet & Credit System

    See-also: wallet_topup fiat ledger vs desk oracle for jars.

    Payments Overview

    Ring Platform routes card, credit, token, and PayPal flows through PaymentConductor (lib/payments/conductor/). WayForPay is the primary PSP for Ukraine; Stripe and PayPal cover international rails. Wallet credit top-up is a live wallet_topup purpose. Public pool / DAO jar card and PayPal chip-ins use purpose public_pool_contribution (desk-oracle FX — not 1:1 fiat↔native). Membership recurring PayPal uses SubscriptionConductor (Subscriptions v1).

    Browser handoff is Conductor CheckoutRedirect — architecture · WayForPay HPP.

    Deep dive: PaymentConductor feature · Architecture · Public Pools & DAO Jars · WayForPay · SubscriptionConductor

    Use Founder / Developer tabs in the docs sidebar to filter this page.

    What PaymentConductor covers

    PurposeDescriptionPSP / rail
    store_orderCart → checkoutWayForPay / Stripe / credit / token / PayPal
    membership_upgradeRole upgrade (e.g. SUBSCRIBER → MEMBER)WayForPay / Stripe / native token / PayPal
    news_promotionNews Kingdom sponsored articlesWayForPay / Stripe
    wallet_topupFiat credit top-up (Card / PayPal tabs)WayForPay or Stripe (PAYMENT_WALLET_TOPUP_PROCESSOR); PayPal when processor=paypal
    public_pool_contributionDAO jar / public-pool card or PayPal chip-inWayForPay / Stripe / PayPal → desk oracle → pledged_native_token
    Internal creditSpend existing credit balanceInternal
    RING tokenOn-chain native-token paymentsRING
    Not PSP donation products

    WayForPay hosted Донати, Stripe submit_type=donate, and PayPal Donate SDK are not Ring jar SSOT. See Public Pools.

    What founders get

    • One ledger — payment_transactions for store, membership, news, wallet top-up, and public-pool card chip-ins.
    • Config-driven gateways — PAYMENT_DEFAULT_PROCESSOR plus per-purpose overrides (including optional PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSOR).
    • Admin visibility — Payments tab on the user detail sheet lists membership and wallet top-up rows.
    • Membership UI — PaymentModal: native-token, card, and PayPal (when NEXT_PUBLIC_PAYMENT_STORE_ALLOW_PAYPAL=true). Manage cancel/history at /membership/manage.
    • Store PayPal — optional checkout rail with the same public flag + PAYPAL_* credentials.
    • DAO jars — dual-currency chip-in on /dao and docs FutureFeature widgets; builder payout when the jar fills (Public Pools).

    ring-config.json payment section

    Jar fee map (separate key): publicPools.platformFeePercentByRole — see Public Pools.

    Architecture

    Key modules

    ModulePathRole
    Conductorlib/payments/conductor/payment-conductor.tsRoutes by purpose + processor
    Configlib/payments/payment.config.tsConfig + env overrides
    WayForPaylib/payments/processors/wayforpay.processor.tsHMAC, form/redirect, Conductor purposes including public pools
    Stripelib/payments/processors/stripe.processor.tsCheckout + webhook verify
    Internal creditlib/payments/processors/internal-credit.processor.tsCredit deduction

    Related

    Related documentation

    PaymentConductor

    Deep-dive: purposes, rails, and module paths including public_pool_contribution.

    Public Pools & DAO Jars

    Same-workflow: DAO jar card chip-ins, desk FX, and builder payout.

    WayForPay Payment Integration

    Depends-on: WayForPay HPP env SSOT and HMAC for card jars.

    Wallet & Credit System

    See-also: wallet_topup fiat ledger vs desk oracle for jars.

    Payments Overview

    Ring Platform routes card, credit, token, and PayPal flows through PaymentConductor (lib/payments/conductor/). WayForPay is the primary PSP for Ukraine; Stripe and PayPal cover international rails. Wallet credit top-up is a live wallet_topup purpose. Public pool / DAO jar card and PayPal chip-ins use purpose public_pool_contribution (desk-oracle FX — not 1:1 fiat↔native). Membership recurring PayPal uses SubscriptionConductor (Subscriptions v1).

    Browser handoff is Conductor CheckoutRedirect — architecture · WayForPay HPP.

    Deep dive: PaymentConductor feature · Architecture · Public Pools & DAO Jars · WayForPay · SubscriptionConductor

    Use Founder / Developer tabs in the docs sidebar to filter this page.

    What PaymentConductor covers

    PurposeDescriptionPSP / rail
    store_orderCart → checkoutWayForPay / Stripe / credit / token / PayPal
    membership_upgradeRole upgrade (e.g. SUBSCRIBER → MEMBER)WayForPay / Stripe / native token / PayPal
    news_promotionNews Kingdom sponsored articlesWayForPay / Stripe
    wallet_topupFiat credit top-up (Card / PayPal tabs)WayForPay or Stripe (PAYMENT_WALLET_TOPUP_PROCESSOR); PayPal when processor=paypal
    public_pool_contributionDAO jar / public-pool card or PayPal chip-inWayForPay / Stripe / PayPal → desk oracle → pledged_native_token
    Internal creditSpend existing credit balanceInternal
    RING tokenOn-chain native-token paymentsRING
    Not PSP donation products

    WayForPay hosted Донати, Stripe submit_type=donate, and PayPal Donate SDK are not Ring jar SSOT. See Public Pools.

    What founders get

    • One ledger — payment_transactions for store, membership, news, wallet top-up, and public-pool card chip-ins.
    • Config-driven gateways — PAYMENT_DEFAULT_PROCESSOR plus per-purpose overrides (including optional PAYMENT_PUBLIC_POOL_CONTRIBUTION_PROCESSOR).
    • Admin visibility — Payments tab on the user detail sheet lists membership and wallet top-up rows.
    • Membership UI — PaymentModal: native-token, card, and PayPal (when NEXT_PUBLIC_PAYMENT_STORE_ALLOW_PAYPAL=true). Manage cancel/history at /membership/manage.
    • Store PayPal — optional checkout rail with the same public flag + PAYPAL_* credentials.
    • DAO jars — dual-currency chip-in on /dao and docs FutureFeature widgets; builder payout when the jar fills (Public Pools).

    ring-config.json payment section

    Jar fee map (separate key): publicPools.platformFeePercentByRole — see Public Pools.

    Architecture

    Key modules

    ModulePathRole
    Conductorlib/payments/conductor/payment-conductor.tsRoutes by purpose + processor
    Configlib/payments/payment.config.tsConfig + env overrides
    WayForPaylib/payments/processors/wayforpay.processor.tsHMAC, form/redirect, Conductor purposes including public pools
    Stripelib/payments/processors/stripe.processor.tsCheckout + webhook verify
    Internal creditlib/payments/processors/internal-credit.processor.tsCredit deduction

    Related

    Related documentation

    PaymentConductor

    Deep-dive: purposes, rails, and module paths including public_pool_contribution.

    Public Pools & DAO Jars

    Same-workflow: DAO jar card chip-ins, desk FX, and builder payout.

    WayForPay Payment Integration

    Depends-on: WayForPay HPP env SSOT and HMAC for card jars.

    Wallet & Credit System

    See-also: wallet_topup fiat ledger vs desk oracle for jars.

    PayPal
    lib/payments/processors/paypal.processor.ts
    Orders v2 + webhook verify
    Dispatcherlib/payments/conductor/webhook-dispatcher.tsPurpose routing + Subscriptions events
    Webhooksapp/api/payments/{wayforpay,stripe,paypal}/webhookCanonical PSP callbacks

    Environment variables

    No WAYFORPAY_MERCHANT_ID. Templates: env.local.template, docker.env.template, docker-compose.template.yml.

    Database

    Apply data/migrations/004_payment_transactions.sql before enabling the conductor in production.

    SubscriptionConductor

    See-also: membership PayPal Subscriptions v1.

    Payment Gateway Integration

    Next-step: operator PSP setup checklist.

    json
    
    {
      "payment": {
        "cardPaymentProcessor": "wayforpay",
        "supportedMethods": ["wayforpay", "credit_balance", "native_token"],
        "futureMethods": ["stripe", "paypal", "nft_gate"],
        "gateways": {
          "wayforpay": { "enabled": true, "feePercent": 2.5, "currency": "UAH" },
          "stripe": { "enabled": false, "feePercent": 2.9, "feeFixedCents": 30, "currency": "USD" },
          "credit_balance": { "enabled": true, "feePercent": 0, "currency": "USD" },
          "native_token": { "enabled": true, "feePercent": 0, "currency": "RING", "label": "Tokens" }
        }
      }
    }
    text
    
    Checkout / upgrade / promotion / wallet top-up
            ↓
    lib/payments/conductor/payment-conductor.ts
            ↓
    Processors: wayforpay.processor | stripe.processor | internal-credit.processor | native-token.processor | paypal.processor
            ↓
    payment_transactions (PostgreSQL, migration 004)
            ↓
    lib/payments/conductor/webhook-dispatcher.ts → handlers/* (+ PayPal Subscriptions lifecycle)
    PayPal
    lib/payments/processors/paypal.processor.ts
    Orders v2 + webhook verify
    Dispatcherlib/payments/conductor/webhook-dispatcher.tsPurpose routing + Subscriptions events
    Webhooksapp/api/payments/{wayforpay,stripe,paypal}/webhookCanonical PSP callbacks

    Environment variables

    No WAYFORPAY_MERCHANT_ID. Templates: env.local.template, docker.env.template, docker-compose.template.yml.

    Database

    Apply data/migrations/004_payment_transactions.sql before enabling the conductor in production.

    SubscriptionConductor

    See-also: membership PayPal Subscriptions v1.

    Payment Gateway Integration

    Next-step: operator PSP setup checklist.

    json
    
    {
      "payment": {
        "cardPaymentProcessor": "wayforpay",
        "supportedMethods": ["wayforpay", "credit_balance", "native_token"],
        "futureMethods": ["stripe", "paypal", "nft_gate"],
        "gateways": {
          "wayforpay": { "enabled": true, "feePercent": 2.5, "currency": "UAH" },
          "stripe": { "enabled": false, "feePercent": 2.9, "feeFixedCents": 30, "currency": "USD" },
          "credit_balance": { "enabled": true, "feePercent": 0, "currency": "USD" },
          "native_token": { "enabled": true, "feePercent": 0, "currency": "RING", "label": "Tokens" }
        }
      }
    }
    text
    
    Checkout / upgrade / promotion / wallet top-up
            ↓
    lib/payments/conductor/payment-conductor.ts
            ↓
    Processors: wayforpay.processor | stripe.processor | internal-credit.processor | native-token.processor | paypal.processor
            ↓
    payment_transactions (PostgreSQL, migration 004)
            ↓
    lib/payments/conductor/webhook-dispatcher.ts → handlers/* (+ PayPal Subscriptions lifecycle)
    PayPal
    lib/payments/processors/paypal.processor.ts
    Orders v2 + webhook verify
    Dispatcherlib/payments/conductor/webhook-dispatcher.tsPurpose routing + Subscriptions events
    Webhooksapp/api/payments/{wayforpay,stripe,paypal}/webhookCanonical PSP callbacks

    Environment variables

    No WAYFORPAY_MERCHANT_ID. Templates: env.local.template, docker.env.template, docker-compose.template.yml.

    Database

    Apply data/migrations/004_payment_transactions.sql before enabling the conductor in production.

    SubscriptionConductor

    See-also: membership PayPal Subscriptions v1.

    Payment Gateway Integration

    Next-step: operator PSP setup checklist.

    json
    
    {
      "payment": {
        "cardPaymentProcessor": "wayforpay",
        "supportedMethods": ["wayforpay", "credit_balance", "native_token"],
        "futureMethods": ["stripe", "paypal", "nft_gate"],
        "gateways": {
          "wayforpay": { "enabled": true, "feePercent": 2.5, "currency": "UAH" },
          "stripe": { "enabled": false, "feePercent": 2.9, "feeFixedCents": 30, "currency": "USD" },
          "credit_balance": { "enabled": true, "feePercent": 0, "currency": "USD" },
          "native_token": { "enabled": true, "feePercent": 0, "currency": "RING", "label": "Tokens" }
        }
      }
    }
    text
    
    Checkout / upgrade / promotion / wallet top-up
            ↓
    lib/payments/conductor/payment-conductor.ts
            ↓
    Processors: wayforpay.processor | stripe.processor | internal-credit.processor | native-token.processor | paypal.processor
            ↓
    payment_transactions (PostgreSQL, migration 004)
            ↓
    lib/payments/conductor/webhook-dispatcher.ts → handlers/* (+ PayPal Subscriptions lifecycle)