PaymentConductor (v1, 2026-05-22) is Ring Platform's config-driven payment layer. One ledger (payment_transactions) and one webhook dispatcher serve store checkout, membership upgrades, and news promotion.
Checkout / upgrade / promotion
↓
lib/payments/conductor/payment-conductor.ts
↓
Processors: wayforpay | stripe | internal_credit
↓
payment_transactions (PostgreSQL)
Implementation: lib/payments/conductor/, lib/payments/processors/, lib/payments/payment.config.ts.
| Purpose | Handler | Typical processor |
|---|---|---|
store_order | handlers/store-order.ts | WayForPay or Stripe |
membership_upgrade | handlers/membership-upgrade.ts | WayForPay or Stripe |
news_promotion | handlers/news-promotion.ts | WayForPay or Stripe |
Per-purpose override via env: PAYMENT_STORE_PROCESSOR, PAYMENT_MEMBERSHIP_PROCESSOR, PAYMENT_NEWS_PROCESSOR. Default: PAYMENT_DEFAULT_PROCESSOR (wayforpay or stripe).
PAYMENT_STORE_ALLOW_CREDIT)PAYMENT_STORE_ALLOW_TOKEN)PAYMENT_DEFAULT_PROCESSOR=wayforpay
WAYFORPAY_MERCHANT_ACCOUNT=your_merchant
WAYFORPAY_SECRET_KEY=your_secret
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
PAYMENT_FIAT_CURRENCY=UAH
Webhooks: /api/payments/wayforpay/webhook, /api/payments/stripe/webhook — dispatched by webhook-dispatcher.ts.
Apply migration data/migrations/004_payment_transactions.sql before enabling PaymentConductor in production.
PaymentConductor (v1, 2026-05-22) is Ring Platform's config-driven payment layer. One ledger (payment_transactions) and one webhook dispatcher serve store checkout, membership upgrades, and news promotion.
Checkout / upgrade / promotion
↓
lib/payments/conductor/payment-conductor.ts
↓
Processors: wayforpay | stripe | internal_credit
↓
payment_transactions (PostgreSQL)
Implementation: lib/payments/conductor/, lib/payments/processors/, lib/payments/payment.config.ts.
| Purpose | Handler | Typical processor |
|---|---|---|
store_order | handlers/store-order.ts | WayForPay or Stripe |
membership_upgrade | handlers/membership-upgrade.ts | WayForPay or Stripe |
news_promotion | handlers/news-promotion.ts | WayForPay or Stripe |
Per-purpose override via env: PAYMENT_STORE_PROCESSOR, PAYMENT_MEMBERSHIP_PROCESSOR, PAYMENT_NEWS_PROCESSOR. Default: PAYMENT_DEFAULT_PROCESSOR (wayforpay or stripe).
PAYMENT_STORE_ALLOW_CREDIT)PAYMENT_STORE_ALLOW_TOKEN)PAYMENT_DEFAULT_PROCESSOR=wayforpay
WAYFORPAY_MERCHANT_ACCOUNT=your_merchant
WAYFORPAY_SECRET_KEY=your_secret
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
PAYMENT_FIAT_CURRENCY=UAH
Webhooks: /api/payments/wayforpay/webhook, /api/payments/stripe/webhook — dispatched by webhook-dispatcher.ts.
Apply migration data/migrations/004_payment_transactions.sql before enabling PaymentConductor in production.
PaymentConductor (v1, 2026-05-22) is Ring Platform's config-driven payment layer. One ledger (payment_transactions) and one webhook dispatcher serve store checkout, membership upgrades, and news promotion.
Checkout / upgrade / promotion
↓
lib/payments/conductor/payment-conductor.ts
↓
Processors: wayforpay | stripe | internal_credit
↓
payment_transactions (PostgreSQL)
Implementation: lib/payments/conductor/, lib/payments/processors/, lib/payments/payment.config.ts.
| Purpose | Handler | Typical processor |
|---|---|---|
store_order | handlers/store-order.ts | WayForPay or Stripe |
membership_upgrade | handlers/membership-upgrade.ts | WayForPay or Stripe |
news_promotion | handlers/news-promotion.ts | WayForPay or Stripe |
Per-purpose override via env: PAYMENT_STORE_PROCESSOR, PAYMENT_MEMBERSHIP_PROCESSOR, PAYMENT_NEWS_PROCESSOR. Default: PAYMENT_DEFAULT_PROCESSOR (wayforpay or stripe).
PAYMENT_STORE_ALLOW_CREDIT)PAYMENT_STORE_ALLOW_TOKEN)PAYMENT_DEFAULT_PROCESSOR=wayforpay
WAYFORPAY_MERCHANT_ACCOUNT=your_merchant
WAYFORPAY_SECRET_KEY=your_secret
STRIPE_SECRET_KEY=sk_live_...
STRIPE_WEBHOOK_SECRET=whsec_...
PAYMENT_FIAT_CURRENCY=UAH
Webhooks: /api/payments/wayforpay/webhook, /api/payments/stripe/webhook — dispatched by webhook-dispatcher.ts.
Apply migration data/migrations/004_payment_transactions.sql before enabling PaymentConductor in production.