Payment Providers
Location: MediaBlaster → Subscriptions → Payment Providers tab
Connect billing providers to sell subscriptions. Stripe Web Checkout (Phase 2A) is fully supported. PayPal, Apple, Google, and Amazon sections are scaffolding for future phases.
Stripe (recommended)
| Setting | Description |
|---|---|
| Enable Stripe | Master toggle for checkout buttons, webhooks, and billing portal. |
| Mode | Test or Live — controls which API keys and tier Price IDs are used. |
| Publishable key | pk_test_... or pk_live_... from Stripe Dashboard. |
| Secret key | sk_test_... or sk_live_... — masked after save; leave blank to keep existing value. |
| Webhook signing secret | From Stripe Dashboard webhook endpoint — masked after save. |
| Checkout success URL | Redirect after payment; may include {CHECKOUT_SESSION_ID}. |
| Checkout cancel URL | Redirect when user abandons checkout. |
| Customer portal return URL | Return URL after Manage Billing in Stripe Portal. |
| Default currency | e.g. USD — used when tier currency is empty. |
| Debug logging | Redacted Stripe logs to PHP error log. |
The admin page displays your webhook endpoint URL:
https://YOUR-SITE/wp-json/mediablaster/v3/payments/stripe/webhook
Copy this into Stripe Dashboard → Developers → Webhooks for the matching test or live mode.
Legacy tier → Price ID mapping
A repeatable mapping group exists for older configurations. Prefer setting Stripe Price IDs directly on each tier under Tiers.
Other providers
PayPal, Apple In-App Purchase, Google Play, and Amazon IAP sections allow enabling flags and placeholder credential fields. Checkout flows for these providers are not yet implemented — use Stripe for web subscriptions today.
Full Stripe setup
See the dedicated Stripe Checkout Setup guide for Dashboard steps, webhook events, test cards, and troubleshooting.
Security
Secret keys and webhook secrets never appear in full in admin HTML after saving. They are not exposed via public REST routes. Only administrators can change payment settings.