Jun 28 - Implement payment functions (Stripe)

This commit is contained in:
2026-06-28 12:01:25 -04:00
parent 61ede27093
commit f292c8fb7b
21 changed files with 1112 additions and 18 deletions
+32
View File
@@ -44,10 +44,42 @@
</tbody>
</table>
<div class="mt-3">
{% if billing_enabled %}
{# MT-8: live subscription status badge #}
{% if subscription_status == 'trial' %}
<span class="badge bg-info text-dark mb-2 d-block" style="font-size:.8rem;">
<i class="bi bi-hourglass-split me-1"></i>
Free trial{% if trial_ends_at %} — expires {{ trial_ends_at.strftime('%b %d, %Y') }}{% endif %}
</span>
{% elif subscription_status == 'active' %}
<span class="badge bg-success mb-2 d-block" style="font-size:.8rem;">
<i class="bi bi-check-circle me-1"></i> Active subscription
</span>
{% elif subscription_status == 'past_due' %}
<span class="badge bg-warning text-dark mb-2 d-block" style="font-size:.8rem;">
<i class="bi bi-exclamation-triangle me-1"></i> Payment past due
</span>
{% elif subscription_status == 'cancelled' %}
<span class="badge bg-danger mb-2 d-block" style="font-size:.8rem;">
<i class="bi bi-x-circle me-1"></i> Subscription cancelled
</span>
{% endif %}
{# Action button #}
{% if subscription_status in ('active', 'past_due') or has_stripe_customer %}
<a href="{{ url_for('billing.portal') }}" class="btn btn-sm btn-outline-primary">
<i class="bi bi-credit-card me-1"></i> Manage Billing
</a>
{% else %}
<a href="{{ url_for('billing.subscribe') }}" class="btn btn-sm btn-primary">
<i class="bi bi-lightning-charge me-1"></i> Subscribe Now
</a>
{% endif %}
{% else %}
<a href="mailto:support@jqc.app?subject=Plan upgrade request"
class="btn btn-sm btn-outline-primary">
<i class="bi bi-arrow-up-circle me-1"></i> Request Plan Upgrade
</a>
{% endif %}
</div>
</div>
</div>