> ## Documentation Index
> Fetch the complete documentation index at: https://docs.trymaven.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Introduction

> Collect credit card payments securely — over voice or inside your chatbot — with Maven

Maven is payment infrastructure for AI applications. Collect credit card payments securely over voice calls **or** inside a chatbot, using any major payment gateway.

<CardGroup cols={3}>
  <Card title="Voice Payments" icon="phone">
    Collect card details via natural speech over phone calls.
  </Card>

  <Card title="Chat Payments" icon="message-square">
    Embed a secure card form inside your chatbot or web app.
  </Card>

  <Card title="Any Gateway" icon="credit-card">
    Stripe, Authorize.net, Braintree, Shift4, or Fiserv — same API.
  </Card>
</CardGroup>

## Two ways to collect

<Tabs>
  <Tab title="Voice">
    <Steps>
      <Step title="Create a session">
        Your server calls the Maven API with the customer's phone number, amount, and payment mode.
      </Step>

      <Step title="Transfer the caller">
        Your voice AI agent transfers the caller to Maven's secure payment line.
      </Step>

      <Step title="Card details collected">
        Maven's voice agent guides the caller through reading their card number, expiry, and CVV.
      </Step>

      <Step title="Payment processed">
        Card details are tokenized through VGS and the payment is processed through your gateway.
      </Step>

      <Step title="Get the result">
        Receive a webhook with the payment status and gateway details.
      </Step>
    </Steps>
  </Tab>

  <Tab title="Chat / Web">
    <Steps>
      <Step title="Create a session">
        Your server calls `POST /v1/widget-sessions` with the amount and gateway.
      </Step>

      <Step title="Mount the widget">
        `Maven.createPayment({ sessionId }).mount("#slot")` — the card form appears inline.
      </Step>

      <Step title="Customer pays">
        Card data goes browser → Maven iframe → VGS → gateway. Your page never touches it.
      </Step>

      <Step title="Callbacks fire">
        `onSuccess({ transaction_id, card_brand, card_last4 })` on your page, plus a webhook to your server.
      </Step>
    </Steps>
  </Tab>
</Tabs>

## Supported Gateways

| Gateway           | Charge | Tokenize | Voice | Chat |
| ----------------- | ------ | -------- | ----- | ---- |
| **Stripe**        | ✓      | ✓        | ✓     | ✓    |
| **Authorize.net** | ✓      | ✓        | ✓     | ✓    |
| **Braintree**     | ✓      | ✓        | ✓     | ✓    |
| **Shift4**        | ✓      | ✓        | ✓     | ✓    |
| **Fiserv**        | ✓      | ✓        | ✓     | ✓    |

## Security

Your server never touches card data in either flow — Maven handles tokenization and the gateway call. See [Chat Widget Overview](/widget/overview) or [Voice Overview](/quickstart) for the full data-flow diagram.

## Next Steps

<CardGroup cols={2}>
  <Card title="Voice Quickstart" icon="phone" href="/quickstart">
    Collect your first voice payment.
  </Card>

  <Card title="Chat Widget Quickstart" icon="message-square" href="/widget/quickstart">
    Embed the widget in your chatbot.
  </Card>

  <Card title="API Reference" icon="code" href="/api-reference/overview">
    Full endpoint docs with an interactive playground.
  </Card>

  <Card title="Webhooks" icon="bell" href="/integrations/webhooks">
    Server-side payment notifications.
  </Card>
</CardGroup>
