Stripe Cancellation Reasons Report
import logging
import os
from flask import render_template, send_file, jsonify, request
import stripe
import csv
from io import StringIO, BytesIO
from app_init import app
# Setup logging
logging.basicConfig(level=logging.INFO)
logger = logging.getLogger(__name__)
# Stripe configuration
stripe.api_key = os.environ.get('STRIPE_SECRET_KEY')
@app.route('/')
def index():
return render_template('home.html')
from datetime import datetime, timedelta
@app.route('/download_csv')
def download_csv():
try:
Created: | Last Updated:
Introduction to the Template
The Stripe Cancellation Reasons Report template provides a web interface that allows users to authenticate with their Stripe account and download cancellation survey reasons into a CSV file. This template is perfect for businesses that want to analyze why customers are canceling their subscriptions.
Clicking Start with this Template
To get started with the template, click Start with this Template in the Lazy Builder interface.
Test
Press the Test button to begin the deployment of the app. The Lazy CLI will appear, and you will be prompted for any required user input.
Entering Input
After pressing the Test button, you will need to provide the following user input through the Lazy CLI:
- Start Date: The start date for the date range of canceled subscriptions.
- End Date: The end date for the date range of canceled subscriptions.
Ensure you have these dates ready when prompted.
Using the App
Once the app is deployed, follow these steps to use the interface:
- Access the App: Open the provided link to the app's interface.
- Select Date Range: Use the date pickers to select the start and end dates for the subscriptions you want to analyze.
- Download CSV: Click the Download to CSV button to generate and download the report.
The app will display a loading animation with fun messages and GIFs while it processes your request. Once the CSV is ready, it will automatically download to your device.
Integrating the App
To integrate the app with your Stripe account, follow these steps:
- Stripe API Key: Ensure your Stripe API key is set as an environment secret in the Lazy Builder. This key is required for the app to fetch subscription data from Stripe.
- Fetch Cancellation Reasons: The app will use the Stripe API to fetch cancellation reasons for the specified date range.
Sample Request and Response
Here is a sample request and response for fetching cancellation reasons:
Request:
GET /download_csv?start_date=2023-01-01&end_date=2023-01-31
Response:
json
{
"status": "success",
"data": "customer,email,reason,feedback,comment,canceled_at,cancel_at,ended_at,status\ncus_1234,john.doe@example.com,Not specified,Not provided,No comment,2023-01-15 10:00:00,2023-01-20 10:00:00,2023-01-25 10:00:00,canceled\n..."
}
Conclusion
By following these steps, you can easily set up and use the Stripe Cancellation Reasons Report template to gain insights into why your customers are canceling their subscriptions. This information can help you improve your services and reduce churn.