Integrations
Connect LeaseLlama to Stripe for payment processing — API keys, webhooks, and testing.
Overview
The Integrations page connects LeaseLlama with third-party services. Currently, the primary integration is Stripe for payment processing.
To get here: Go to Administration → Integrations.
Connecting Stripe
Stripe lets you accept credit and debit card payments, process automatic charges, and handle refunds.
What you’ll need
Get your API keys from the Stripe Dashboard:
- Log into dashboard.stripe.com
- Click Developers (top right)
- Select API keys
- Copy your Publishable key and Secret key
Entering your credentials
| Field | Starts with | Required |
|---|---|---|
| Publishable Key | pk_live_ or pk_test_ | Yes |
| Secret Key | sk_live_ or sk_test_ | Yes |
| Account ID | acct_ (for Stripe Connect) | No |
| Webhook Secret | whsec_ | Yes |
Your secret key and webhook secret are stored encrypted. Once saved, they display as dots for security.
Steps
- Enter your Publishable Key and Secret Key
- Optionally enter your Account ID (Stripe Connect only)
- Click Save Credentials
- LeaseLlama verifies your credentials
- A green “Connected” badge confirms the connection
- Continue to set up the webhook (below)
Setting up the Stripe webhook
Webhooks let Stripe notify LeaseLlama when payments succeed, fail, or get refunded. Without a webhook, payments will show as “Pending” even after successful charges.
Step 1: Create the endpoint in Stripe
- In Stripe Dashboard → Developers → Webhooks
- Click Add destination
- Enter the endpoint URL:
https://leasellama.app/api/stripe/webhook - Click Select events and add the following:
| Event | Purpose |
|---|---|
charge.refunded | Confirms a charge was refunded |
charge.refund.updated | Tracks refund status changes |
invoice.payment_succeeded | Confirms an invoice was paid |
invoice.payment_failed | Alerts when an invoice payment fails |
payment_intent.succeeded | Confirms a payment intent completed |
payment_intent.payment_failed | Alerts when a payment intent fails |
payment_intent.requires_action | Handles 3D Secure or other card authentication |
refund.created | Tracks new refund creation |
refund.updated | Tracks refund status updates |
setup_intent.succeeded | Confirms a saved payment method was set up |
- Click Add destination
Important: All 10 events are required. Missing events can cause payment statuses to get stuck or refunds to not update correctly.
Step 2: Copy the signing secret
- Click on the new endpoint in the webhooks list
- Click Reveal on the Signing secret
- Copy the secret (starts with
whsec_)
Step 3: Enter in LeaseLlama
- Paste the webhook secret in the Webhook Secret field
- Click Save Credentials
Verify it’s working
Process a test payment — the invoice status should update to “Paid” automatically. If it stays “Pending,” check the webhook URL, secret, and selected events.
Test mode vs. live mode
| Mode | Key prefix | Use for |
|---|---|---|
| Test | pk_test_, sk_test_ | Testing without real charges |
| Live | pk_live_, sk_live_ | Accepting real payments |
Recommended: Connect with test keys first. Verify the full payment flow works. Then switch to live keys.
Managing the connection
- Test Connection — verify credentials without making changes
- Disconnect — removes the Stripe connection (stops all card payment processing)
Troubleshooting
| Problem | Solution |
|---|---|
| ”Unable to verify credentials” | Check you copied the full key; ensure both keys are test or both are live |
| Payments stuck in “Pending” | Webhook isn’t set up, or the secret doesn’t match |
| ”Connection test failed” | Check your internet; verify your Stripe account is active |
What to read next
| I want to… | Read this |
|---|---|
| Configure billing rules and taxes | System Settings |
| Set up the rental agreement | Contracts |
| Start billing renters | Checking Out a Space |