Usage Guide¶
This section covers common usage patterns and advanced features.
Working with Customers¶
Create a customer:
customer = await subscriptionkore.create_customer(
email="user@example.com",
name="John Doe",
metadata={"source": "website"}
)
Retrieve a customer:
customer = await subscriptionkore.get_customer(customer_id)
Update a customer:
updated_customer = await subscriptionkore.update_customer(
customer_id,
name="Jane Doe"
)
Working with Subscriptions¶
Create a subscription:
subscription = await subscriptionkore.create_subscription(
customer_id=customer.id,
price_id="price_123",
provider="stripe"
)
Retrieve a subscription:
subscription = await subscriptionkore.get_subscription(subscription_id)
Cancel a subscription:
await subscriptionkore.cancel_subscription(subscription_id)
Working with Products and Prices¶
List products:
products = await subscriptionkore.list_products()
Create a product:
product = await subscriptionkore.create_product(
name="Premium Plan",
description="Premium subscription plan"
)
Event Handling¶
Subscribe to events:
@subscriptionkore.on_event(SubscriptionActivated)
async def handle_activation(event):
print(f"Subscription {event.subscription_id} activated")
@subscriptionkore.on_event(CustomerCreated)
async def handle_customer_created(event):
await send_welcome_email(event.customer_id)
Multiple Providers¶
Work with different providers:
# Create customer on Stripe
stripe_customer = await subscriptionkore.create_customer(
email="user@example.com",
provider="stripe"
)
# Create subscription on Paddle
paddle_subscription = await subscriptionkore.create_subscription(
customer_id=stripe_customer.id,
price_id="paddle_price_123",
provider="paddle"
)