The app confirms a StoreKit signed transaction or Play purchase token. The backend checks it with Apple or Google before writing the ledger, and the RevenueCat webhook no longer grants access.
56 lines
1.2 KiB
Python
56 lines
1.2 KiB
Python
from django.urls import path
|
|
|
|
from monetization.views import (
|
|
ConfirmStorePurchaseView,
|
|
CreateBillingPortalSessionView,
|
|
CreateCheckoutSessionView,
|
|
InvoiceListView,
|
|
PaymentListView,
|
|
PlanListView,
|
|
StripeWebhookView,
|
|
SubscriptionMeView,
|
|
)
|
|
|
|
urlpatterns = [
|
|
path(
|
|
"checkout/",
|
|
CreateCheckoutSessionView.as_view(),
|
|
name="finance_checkout",
|
|
),
|
|
path(
|
|
"portal/",
|
|
CreateBillingPortalSessionView.as_view(),
|
|
name="finance_portal",
|
|
),
|
|
path(
|
|
"invoices/",
|
|
InvoiceListView.as_view(),
|
|
name="finance_invoices",
|
|
),
|
|
path(
|
|
"payments/",
|
|
PaymentListView.as_view(),
|
|
name="finance_payments",
|
|
),
|
|
path(
|
|
"plans/",
|
|
PlanListView.as_view(),
|
|
name="finance_plans",
|
|
),
|
|
path(
|
|
"subscription/",
|
|
SubscriptionMeView.as_view(),
|
|
name="finance_subscription_me",
|
|
),
|
|
path(
|
|
"store/confirm/",
|
|
ConfirmStorePurchaseView.as_view(),
|
|
name="finance_store_confirm",
|
|
),
|
|
path(
|
|
"webhooks/stripe/",
|
|
StripeWebhookView.as_view(),
|
|
name="finance_stripe_webhook",
|
|
),
|
|
]
|