The Maven chat payment widget lets your chatbot or web app collect card payments without redirecting the customer, sending them to Stripe Checkout, or handling card data yourself. Drop in aDocumentation Index
Fetch the complete documentation index at: https://docs.trymaven.com/llms.txt
Use this file to discover all available pages before exploring further.
<script> tag and a Maven.createPayment() call, and the customer enters their card into a secure iframe we host.
Inline in chat
Renders as a message in your chatbot UI. No redirects.
Secure by default
Card data never touches your servers — we handle tokenization and charging.
Any gateway
Stripe, Authorize.net, Braintree, Shift4, or Fiserv — same code.
When to use the widget vs voice
| Widget | Voice | |
|---|---|---|
| Customer experience | Types card into a form | Reads card aloud on a phone call |
| Best for | Chatbots, in-app checkout, support flows | IVR, phone support, outbound calls |
| Round-trip time | 30-60s typical | 60-90s typical |
| Customer effort | Low | Medium |
How it works
Your server creates a session
One
POST /v1/widget-sessions call with your API key, the amount, and the gateway. You get back a session_id.Your frontend mounts the widget
Include
widget.js once, then Maven.createPayment({ sessionId }).mount("#slot") — the iframe appears inline in your chat UI.Customer enters card details
The iframe is served from Maven’s domain. Card data goes directly from browser to Maven to VGS to the gateway.
Your callbacks fire
onSuccess({ transaction_id, card_brand, card_last4, ... }) or onFailure({ error_code, error_message }).Architecture
Ready to integrate?
Quickstart
10-minute integration guide.
SDK Reference
Complete
Maven.createPayment() API.Customization
Theme, labels, fields, sizing.
Webhooks
Handle payment results server-side.
