Integrations

Stripe

Payment processing, subscriptions, and refunds

The Stripe connector provides 64 actions for managing payments, subscriptions, customers, and invoices.

Setup

Requirements

  • Stripe account
  • API key (restricted or secret key)

Connect

  1. Go to Settings → Integrations → Stripe
  2. Click Connect
  3. Enter your Stripe API key
  4. Configure permissions

API Key Setup

For production:

  1. In Stripe Dashboard, go to Developers → API keys
  2. Create a restricted key with required permissions
  3. Copy and paste in Keva

Use restricted keys in production. Only grant permissions Keva needs.

Required Permissions

For a restricted key:

Charges: Read, Write
Customers: Read, Write
Subscriptions: Read, Write
Invoices: Read
Refunds: Write
Payment Methods: Read

Available Actions (64)

Payments

ActionDescription
Get chargeRetrieve payment details
List chargesGet payments with filters
Refund chargeProcess full/partial refund
Get payment intentCheck payment status
Cancel paymentCancel pending payment

Customers

ActionDescription
Get customerRetrieve customer by ID/email
Search customersFind customers
Update customerModify customer info
List payment methodsGet saved cards
Get customer balanceCheck account balance

Subscriptions

ActionDescription
Get subscriptionRetrieve subscription details
List subscriptionsGet customer's subscriptions
Update subscriptionModify plan/billing
Cancel subscriptionEnd subscription
Pause subscriptionTemporarily pause
Resume subscriptionResume paused subscription
Preview prorationShow upgrade/downgrade cost

Invoices

ActionDescription
Get invoiceRetrieve invoice
List invoicesGet invoice history
Send invoiceEmail invoice to customer
Void invoiceCancel unpaid invoice
Get upcoming invoicePreview next bill

Products & Prices

ActionDescription
Get productRetrieve product info
List productsBrowse products
Get priceGet pricing details
List pricesAvailable pricing options

Use Cases

Refund Request

Customer: "I was charged twice for my order"

AI:
1. Calls search_customers(email)
2. Calls list_charges(customer_id)
3. Identifies duplicate charge
4. Calls refund_charge(duplicate_id)

Response: "You're right, I can see a duplicate charge of $99.00. I've processed a refund - it should appear on your card within 5-7 business days."

Subscription Cancellation

Customer: "I want to cancel my subscription"

AI:
1. Calls get_customer(email)
2. Calls list_subscriptions(customer_id)
3. Confirms with customer
4. Calls cancel_subscription(sub_id)

Response: "Your Pro subscription has been canceled. You'll continue to have access until April 15 (end of your billing period). Would you like me to help with anything else?"

Billing Inquiry

Customer: "Why was I charged $49 yesterday?"

AI:
1. Calls search_customers(email)
2. Calls list_charges(customer_id, created: yesterday)
3. Matches to subscription or invoice

Response: "The $49 charge was your monthly subscription renewal for the Growth plan. Your next billing date is April 25."

Configuration

Refund Settings

SettingOptions
Maximum refundAmount limit
Refund reason requiredYes/No
Auto-refund thresholdRefund automatically below this

Subscription Settings

SettingOptions
Can cancelYes/No
Can pauseYes/No
Can change planYes/No
Proration behaviorCreate prorations / None

Customer Settings

SettingOptions
Can update emailYes/No
Can update payment methodYes/No
Can view invoicesYes/No

Security Best Practices

  1. Use restricted keys - Only grant required permissions
  2. Enable webhook signing - Verify webhook authenticity
  3. Rotate keys regularly - Update keys periodically
  4. Monitor for anomalies - Review high refund volumes
  5. Set spend limits - Configure maximum daily refunds