Концепции, ценность и типичные сценарии клонирования — меньше кода.
Концепции, ценность и типичные сценарии клонирования — меньше кода.
Preparing Ring content
Preparing Ring content
Preparing Ring content
Ring проводит card- и credit-потоки через PaymentConductor — один ledger (payment_transactions), один webhook-диспетчер, процессоры из конфига. Операторы настраивают env и кабинеты PSP; разработчики читают PaymentConductor architecture. Card chip-in DAO jar используют purpose public_pool_contribution (Public Pools) — не hosted «donation»-продукты WayForPay/Stripe/PayPal.
Используйте вкладки Founder / Developer в боковом меню документации, чтобы фильтровать эту страницу.
Purposes, rails, обзор env
Desk-oracle card jar, комиссии, escrow gate
Handlers, ledger, idempotency, API-маршруты
Env SSOT, HMAC, пароль regularApi
| Purpose | Typical use | Handler |
|---|---|---|
store_order | Checkout multi-vendor store | conductor/handlers/store-order.ts |
membership_upgrade | SUBSCRIBER → MEMBER | conductor/handlers/membership-upgrade.ts |
news_promotion | Платная промоция News Kingdom | conductor/handlers/news-promotion.ts |
wallet_topup | Пополнение wallet credit (card) | conductor/handlers/wallet-topup.ts |
public_pool_contribution | Public pool / DAO jar card или PayPal | conductor/handlers/public-pool-contribution.ts |
Processors: WayForPay (default), Stripe, internal credit, native token, PayPal (Orders для store/wallet/jars; Subscriptions v1 для recurring membership — см. SubscriptionConductor).
Rails: merchant_redirect · credit_balance (PAYMENT_STORE_ALLOW_CREDIT) · native_token (PAYMENT_STORE_ALLOW_TOKEN).
Примените data/migrations/004_payment_transactions.sql до production-платежей.
Нет WAYFORPAY_MERCHANT_ID. Используйте WAYFORPAY_MERCHANT_ACCOUNT. Задайте WAYFORPAY_DOMAIN на одобренный домен вашего клона (для этого продукта: ring-platform.org). WAYFORPAY_MERCHANT_PASSWORD обязателен для recurring / regularApi.
Замените host на домен вашего клона:
| Provider | Service URL |
|---|---|
| WayForPay | https://ring-platform.org/api/payments/wayforpay/webhook |
| Stripe | https://ring-platform.org/api/payments/stripe/webhook |
Нужен публичный HTTPS. WayForPay / Stripe не могут POST на localhost. Локальные card-тесты откроют страницу PSP, но credit не settle'ится, пока serviceUrl недоступен (tunnel или staging). Ring эмитит returnUrl на каждый запрос — не нужна статическая thank-you страница в кабинете WayForPay. См. WayForPay.
Устаревшие пути /api/payments/wayforpay/callback, , — .
Ring проводит card- и credit-потоки через PaymentConductor — один ledger (payment_transactions), один webhook-диспетчер, процессоры из конфига. Операторы настраивают env и кабинеты PSP; разработчики читают PaymentConductor architecture. Card chip-in DAO jar используют purpose public_pool_contribution (Public Pools) — не hosted «donation»-продукты WayForPay/Stripe/PayPal.
Используйте вкладки Founder / Developer в боковом меню документации, чтобы фильтровать эту страницу.
Purposes, rails, обзор env
Desk-oracle card jar, комиссии, escrow gate
Handlers, ledger, idempotency, API-маршруты
Env SSOT, HMAC, пароль regularApi
| Purpose | Typical use | Handler |
|---|---|---|
store_order | Checkout multi-vendor store | conductor/handlers/store-order.ts |
membership_upgrade | SUBSCRIBER → MEMBER | conductor/handlers/membership-upgrade.ts |
news_promotion | Платная промоция News Kingdom | conductor/handlers/news-promotion.ts |
wallet_topup | Пополнение wallet credit (card) | conductor/handlers/wallet-topup.ts |
public_pool_contribution | Public pool / DAO jar card или PayPal | conductor/handlers/public-pool-contribution.ts |
Processors: WayForPay (default), Stripe, internal credit, native token, PayPal (Orders для store/wallet/jars; Subscriptions v1 для recurring membership — см. SubscriptionConductor).
Rails: merchant_redirect · credit_balance (PAYMENT_STORE_ALLOW_CREDIT) · native_token (PAYMENT_STORE_ALLOW_TOKEN).
Примените data/migrations/004_payment_transactions.sql до production-платежей.
Нет WAYFORPAY_MERCHANT_ID. Используйте WAYFORPAY_MERCHANT_ACCOUNT. Задайте WAYFORPAY_DOMAIN на одобренный домен вашего клона (для этого продукта: ring-platform.org). WAYFORPAY_MERCHANT_PASSWORD обязателен для recurring / regularApi.
Замените host на домен вашего клона:
| Provider | Service URL |
|---|---|
| WayForPay | https://ring-platform.org/api/payments/wayforpay/webhook |
| Stripe | https://ring-platform.org/api/payments/stripe/webhook |
Нужен публичный HTTPS. WayForPay / Stripe не могут POST на localhost. Локальные card-тесты откроют страницу PSP, но credit не settle'ится, пока serviceUrl недоступен (tunnel или staging). Ring эмитит returnUrl на каждый запрос — не нужна статическая thank-you страница в кабинете WayForPay. См. WayForPay.
Устаревшие пути /api/payments/wayforpay/callback, , — .
Ring проводит card- и credit-потоки через PaymentConductor — один ledger (payment_transactions), один webhook-диспетчер, процессоры из конфига. Операторы настраивают env и кабинеты PSP; разработчики читают PaymentConductor architecture. Card chip-in DAO jar используют purpose public_pool_contribution (Public Pools) — не hosted «donation»-продукты WayForPay/Stripe/PayPal.
Используйте вкладки Founder / Developer в боковом меню документации, чтобы фильтровать эту страницу.
Purposes, rails, обзор env
Desk-oracle card jar, комиссии, escrow gate
Handlers, ledger, idempotency, API-маршруты
Env SSOT, HMAC, пароль regularApi
| Purpose | Typical use | Handler |
|---|---|---|
store_order | Checkout multi-vendor store | conductor/handlers/store-order.ts |
membership_upgrade | SUBSCRIBER → MEMBER | conductor/handlers/membership-upgrade.ts |
news_promotion | Платная промоция News Kingdom | conductor/handlers/news-promotion.ts |
wallet_topup | Пополнение wallet credit (card) | conductor/handlers/wallet-topup.ts |
public_pool_contribution | Public pool / DAO jar card или PayPal | conductor/handlers/public-pool-contribution.ts |
Processors: WayForPay (default), Stripe, internal credit, native token, PayPal (Orders для store/wallet/jars; Subscriptions v1 для recurring membership — см. SubscriptionConductor).
Rails: merchant_redirect · credit_balance (PAYMENT_STORE_ALLOW_CREDIT) · native_token (PAYMENT_STORE_ALLOW_TOKEN).
Примените data/migrations/004_payment_transactions.sql до production-платежей.
Нет WAYFORPAY_MERCHANT_ID. Используйте WAYFORPAY_MERCHANT_ACCOUNT. Задайте WAYFORPAY_DOMAIN на одобренный домен вашего клона (для этого продукта: ring-platform.org). WAYFORPAY_MERCHANT_PASSWORD обязателен для recurring / regularApi.
Замените host на домен вашего клона:
| Provider | Service URL |
|---|---|
| WayForPay | https://ring-platform.org/api/payments/wayforpay/webhook |
| Stripe | https://ring-platform.org/api/payments/stripe/webhook |
Нужен публичный HTTPS. WayForPay / Stripe не могут POST на localhost. Локальные card-тесты откроют страницу PSP, но credit не settle'ится, пока serviceUrl недоступен (tunnel или staging). Ring эмитит returnUrl на каждый запрос — не нужна статическая thank-you страница в кабинете WayForPay. См. WayForPay.
Устаревшие пути /api/payments/wayforpay/callback, , — .
/success/failureУстаревшие aliases (ещё работают — мигрируйте, когда удобно):
/api/store/payments/wayforpay/webhook/api/news/promotion/wayforpay-webhookМиграция 004_payment_transactions.sql применена на production Postgres.
PAYMENT_* и учётные данные WayForPay / Stripe в secrets manager (никогда не коммитьте .env.local).
Зарегистрированы канонические webhook URL; WAYFORPAY_DOMAIN совпадает с одобренным merchant domain.
Staging smoke: store checkout, card upgrade membership, news promotion (если используется), wallet credit top-up.
После go-live: мониторьте payment_transactions на зависшие строки pending / redirected; история membership / wallet top-up — Admin → user → вкладка Payments.
app/api/admin/users/[id]/payments/route.ts| GET |
Вкладка Admin Payments (listByUserId) |
WayForPay маршрутизирует по префиксу orderReference (store_, membership_, news-promo-…, wallettopup_) — см. lib/payments/conductor/webhook-dispatcher.ts и lib/payments/order-reference.ts.
Создайте merchant-аккаунт на wayforpay.com — KYC, зафиксируйте merchant account, secret key, merchant password, одобренный domain.
Задайте env Ring из env.local.template (также зеркалится в docker.env.template / docker-compose.template.yml).
Cabinet service URL: https://<your-domain>/api/payments/wayforpay/webhook.
Staging: миграция 004 → тест checkout / membership / wallet top-up → подтвердите payment_transactions + fulfillment.
Создайте аккаунт на stripe.com; получите test или live API keys.
Dashboard → Webhooks → endpoint https://<your-domain>/api/payments/stripe/webhook. Подпишитесь на checkout.session.completed (и события, которые обрабатывает ваш processor).
/success/failureУстаревшие aliases (ещё работают — мигрируйте, когда удобно):
/api/store/payments/wayforpay/webhook/api/news/promotion/wayforpay-webhookМиграция 004_payment_transactions.sql применена на production Postgres.
PAYMENT_* и учётные данные WayForPay / Stripe в secrets manager (никогда не коммитьте .env.local).
Зарегистрированы канонические webhook URL; WAYFORPAY_DOMAIN совпадает с одобренным merchant domain.
Staging smoke: store checkout, card upgrade membership, news promotion (если используется), wallet credit top-up.
После go-live: мониторьте payment_transactions на зависшие строки pending / redirected; история membership / wallet top-up — Admin → user → вкладка Payments.
app/api/admin/users/[id]/payments/route.ts| GET |
Вкладка Admin Payments (listByUserId) |
WayForPay маршрутизирует по префиксу orderReference (store_, membership_, news-promo-…, wallettopup_) — см. lib/payments/conductor/webhook-dispatcher.ts и lib/payments/order-reference.ts.
Создайте merchant-аккаунт на wayforpay.com — KYC, зафиксируйте merchant account, secret key, merchant password, одобренный domain.
Задайте env Ring из env.local.template (также зеркалится в docker.env.template / docker-compose.template.yml).
Cabinet service URL: https://<your-domain>/api/payments/wayforpay/webhook.
Staging: миграция 004 → тест checkout / membership / wallet top-up → подтвердите payment_transactions + fulfillment.
Создайте аккаунт на stripe.com; получите test или live API keys.
Dashboard → Webhooks → endpoint https://<your-domain>/api/payments/stripe/webhook. Подпишитесь на checkout.session.completed (и события, которые обрабатывает ваш processor).
/success/failureУстаревшие aliases (ещё работают — мигрируйте, когда удобно):
/api/store/payments/wayforpay/webhook/api/news/promotion/wayforpay-webhookМиграция 004_payment_transactions.sql применена на production Postgres.
PAYMENT_* и учётные данные WayForPay / Stripe в secrets manager (никогда не коммитьте .env.local).
Зарегистрированы канонические webhook URL; WAYFORPAY_DOMAIN совпадает с одобренным merchant domain.
Staging smoke: store checkout, card upgrade membership, news promotion (если используется), wallet credit top-up.
После go-live: мониторьте payment_transactions на зависшие строки pending / redirected; история membership / wallet top-up — Admin → user → вкладка Payments.
app/api/admin/users/[id]/payments/route.ts| GET |
Вкладка Admin Payments (listByUserId) |
WayForPay маршрутизирует по префиксу orderReference (store_, membership_, news-promo-…, wallettopup_) — см. lib/payments/conductor/webhook-dispatcher.ts и lib/payments/order-reference.ts.
Создайте merchant-аккаунт на wayforpay.com — KYC, зафиксируйте merchant account, secret key, merchant password, одобренный domain.
Задайте env Ring из env.local.template (также зеркалится в docker.env.template / docker-compose.template.yml).
Cabinet service URL: https://<your-domain>/api/payments/wayforpay/webhook.
Staging: миграция 004 → тест checkout / membership / wallet top-up → подтвердите payment_transactions + fulfillment.
Создайте аккаунт на stripe.com; получите test или live API keys.
Dashboard → Webhooks → endpoint https://<your-domain>/api/payments/stripe/webhook. Подпишитесь на checkout.session.completed (и события, которые обрабатывает ваш processor).