Stripe Payments
Collect payments with Stripe inside WPsigner. The same Stripe configuration powers:
- Payment fields on the document signing page (signers pay before completing)
- Payment fields in Smart Signing Forms (addon)
Prerequisites
Section titled “Prerequisites”- WPsigner v3.0.0 or later (Stripe integration v3.21+)
- A Stripe account
- HTTPS on your WordPress site (required for live payments and webhooks)
- For Smart Forms payments: Smart Signing Forms installed and activated
Enable Stripe
Section titled “Enable Stripe”- Go to WPsigner → Integrations
- Find the Stripe card
- Toggle the integration On
- Click Configure to open Stripe settings
Environment Mode
Section titled “Environment Mode”WPsigner stores separate keys for test and live mode.
| Mode | Use when |
|---|---|
| Test Mode | Setting up, testing cards, staging sites |
| Live Mode | Real customer payments on production |
Switch mode with the Test Mode / Live Mode toggle at the top of the Stripe settings page. Only the keys for the active mode are used for payments and webhooks.
API Keys
Section titled “API Keys”Get keys from the Stripe Dashboard (use the test dashboard when in Test Mode).
| Field | Description |
|---|---|
| Publishable Key | Starts with pk_test_ or pk_live_. Safe to use in the browser. |
| Restricted Key | Starts with rk_test_ or rk_live_. Recommended — limit permissions to what WPsigner needs. |
| Secret Key | Starts with sk_test_ or sk_live_. Supported for compatibility; prefer restricted keys when possible. |
Keys are stored encrypted on your server when OpenSSL is available.
Default Currency
Section titled “Default Currency”Choose the default currency for payment fields:
USD, EUR, GBP, CAD, AUD, MXN, BRL, COP
Individual Smart Form payment fields can override the currency per form.
Webhook Configuration
Section titled “Webhook Configuration”Webhooks let WPsigner receive payment status updates from Stripe (succeeded, failed, disputes, refunds).
Webhook URL
Section titled “Webhook URL”Copy the URL shown on the Stripe settings page:
https://your-site.com/wp-json/insigner/v1/stripe-webhookReplace your-site.com with your WordPress site URL.
Required Events
Section titled “Required Events”Enable these events in Stripe (or use Create Webhook Automatically in WPsigner):
| Event | Purpose |
|---|---|
payment_intent.succeeded | Mark payment as completed |
payment_intent.payment_failed | Handle failed attempts |
payment_intent.canceled | Handle canceled intents |
charge.dispute.created | Dispute notifications |
charge.refunded | Refund tracking |
Setup Options
Section titled “Setup Options”Option A — Automatic (recommended)
- Save your API keys first
- Click Create Webhook Automatically
- WPsigner registers the endpoint in Stripe and stores the signing secret
Option B — Manual
- In Stripe Webhooks, add the endpoint URL above
- Select the events listed above
- Copy the Signing secret (
whsec_...) - Paste it into WPsigner and save
Test Connection
Section titled “Test Connection”After saving keys:
- Click Test Connection
- WPsigner verifies the secret/restricted key against the Stripe API
- Fix any errors before switching to Live Mode
Payment on Document Signing
Section titled “Payment on Document Signing”When a document includes a Payment field:
- The signer completes payment in the signing UI (Stripe Payment Element)
- WPsigner verifies the PaymentIntent on the server before the signature is accepted
- Webhooks keep payment status in sync
Configure payment fields when creating or editing a document in the field editor.
Payment in Smart Signing Forms
Section titled “Payment in Smart Signing Forms”Smart Signing Forms uses the same Stripe settings as the core plugin.
- Complete this Stripe setup first
- In the Smart Forms builder, add a Payment field (one per form)
- Set amount (minimum 0.50, maximum 10,000 in the configured currency)
- Signers enter a valid email, pay with Pay now, then sign and submit
See the full guide: Smart Signing Forms — Payment field
Troubleshooting
Section titled “Troubleshooting”| Issue | Solution |
|---|---|
| Not Connected status | Enter both publishable and secret/restricted keys for the active mode |
| Test Connection fails | Verify key prefix matches mode (pk_test_ + rk_test_ in Test Mode) |
| Payments work but status not updating | Check webhook URL, signing secret, and required events |
| Smart Form shows “Stripe not configured” | Enable Stripe module and save valid keys |
| ”Complete payment before submitting” | Signer must click Pay now and wait for success before Submit & Sign |
| Test badge still visible in production | Switch to Live Mode and use live keys |
Debug Logging
Section titled “Debug Logging”Enable WordPress debug logging to inspect Stripe-related errors:
define('WP_DEBUG', true);define('WP_DEBUG_LOG', true);Check wp-content/debug.log for entries related to Stripe or Smart Forms payments.
Next Steps
Section titled “Next Steps”- Smart Signing Forms — Build forms with inline signature and payment
- Form Fields — Payment fields on PDF documents
- Account Portal — Download plugins and addons with your license