Skip to main content

max / makenotwork

5.6 KB · 128 lines History Blame Raw
1 {% extends "base.html" %}
2
3 {% block title %}Connect with Stripe - Makenotwork{% endblock %}
4 {% block body_attrs %} class="stripe-disclaimer-page"{% endblock %}
5
6 {% block content %}
7 <div class="container">
8 <h1 class="stripe-disclaimer-title">Makenot<span class="dot">.</span>work</h1>
9 <p class="tagline">Fair distribution for creatives of all kinds<span class="dot">.</span></p>
10
11 <div class="disclaimer-box">
12 <h2 class="section-header">Before You Connect with Stripe</h2>
13 <p class="stripe-disclaimer-lead">
14 Please review the following information about payment processing and your responsibilities as a creator.
15 </p>
16
17 <div class="section">
18 <h3>What Stripe Handles</h3>
19 <ul>
20 <li>Payment processing and security (PCI compliance)</li>
21 <li>Direct deposits to your bank account</li>
22 <li>1099-K tax forms (if you meet IRS thresholds)</li>
23 <li>Fraud detection and prevention</li>
24 </ul>
25 </div>
26
27 <div class="section">
28 <h3>Your Responsibilities</h3>
29 <ul>
30 <li><strong>Taxes:</strong> You are responsible for reporting and paying income taxes on your earnings. Makenotwork does not withhold taxes.</li>
31 <li><strong>Chargebacks:</strong> You are liable for payment disputes. If a customer disputes a charge, Stripe may debit your account for the disputed amount plus a fee (typically $15).</li>
32 <li><strong>Refunds:</strong> You handle refund requests directly. Note that Stripe processing fees are typically not refunded when you issue a refund.</li>
33 <li><strong>Account Accuracy:</strong> You must keep your Stripe account information accurate and up to date.</li>
34 </ul>
35 </div>
36
37 <div class="section">
38 <h3>Fee Transparency</h3>
39 <p class="stripe-disclaimer-fee-lead">Here's exactly what happens when someone buys from you:</p>
40 <div class="fee-example">
41 <div class="fee-row">
42 <span>Example sale price</span>
43 <span>$10.00</span>
44 </div>
45 <div class="fee-row">
46 <span>Stripe processing (2.9% + 30c)</span>
47 <span>-$0.59</span>
48 </div>
49 <div class="fee-row">
50 <span>Makenotwork platform fee</span>
51 <span class="zero">$0.00</span>
52 </div>
53 <div class="fee-row highlight">
54 <span>You receive</span>
55 <span>$9.41</span>
56 </div>
57 </div>
58 <p class="stripe-disclaimer-note">
59 We charge zero platform fees. The only deduction is Stripe's standard payment processing fee.
60 </p>
61 </div>
62
63 <div class="section">
64 <h3>Payout Schedule</h3>
65 <p>
66 Stripe pays out on a rolling 2-7 business day schedule (varies by country and account history). You can adjust your payout schedule in your Stripe Dashboard after connecting.
67 </p>
68 </div>
69
70 <div class="section">
71 <h3>Already Have a Stripe Account?</h3>
72 <p>
73 You can connect your existing Stripe account - no need to create a new one. This means you keep your negotiated rates, existing payment history, and can manage all your sales from one dashboard.
74 </p>
75 </div>
76
77 <div class="acceptance">
78 <div class="checkbox-group">
79 <input type="checkbox" id="accept-terms" />
80 <label for="accept-terms">
81 I understand my responsibilities as outlined above, including tax obligations, chargeback liability, and refund handling. I'm ready to connect my Stripe account.
82 </label>
83 </div>
84 </div>
85
86 <div class="button-row">
87 <button type="button" class="btn-secondary" onclick="window.location.href='/dashboard?tab=details'">Cancel</button>
88 <button type="button" class="btn-primary" id="continue-btn" disabled onclick="proceedToStripe()">Continue to Stripe</button>
89 </div>
90
91 <p class="note">
92 You will be redirected to Stripe to create or connect your account.
93 </p>
94 </div>
95 </div>
96 {% endblock %}
97
98 {% block scripts %}
99 <script>
100 var checkbox = document.getElementById('accept-terms');
101 var button = document.getElementById('continue-btn');
102
103 checkbox.addEventListener('change', function() {
104 button.disabled = !this.checked;
105 });
106
107 function proceedToStripe() {
108 button.disabled = true;
109 button.textContent = 'Connecting...';
110 fetch('/stripe/connect/proceed', {
111 method: 'POST',
112 headers: {
113 'X-CSRF-Token': document.querySelector('meta[name="csrf-token"]').content
114 }
115 }).then(function(res) {
116 if (!res.ok) throw new Error('Failed to connect');
117 return res.json();
118 }).then(function(data) {
119 window.location.href = data.url;
120 }).catch(function() {
121 button.disabled = false;
122 button.textContent = 'Continue to Stripe';
123 showToast('Something went wrong. Please try again.');
124 });
125 }
126 </script>
127 {% endblock %}
128