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

# Embedded Account Capture

> PCI-compliant drop-in iFrame SDK for recipient account tokenization. Zero card data on your servers — Ingo returns a customer_account_token for use in any IngoPay process call.

<div
  style={{
background: "#000000",
borderLeft: "4px solid #23ad4b",
borderRadius: "8px",
padding: "28px 32px",
marginBottom: "24px",
position: "relative"
}}
>
  <div
    style={{
fontSize: "11px",
fontWeight: "700",
color: "#23ad4b",
textTransform: "uppercase",
letterSpacing: "0.12em",
marginBottom: "8px"
}}
  >
    Ingo Payments · Embedded Account Capture
  </div>

  <div
    style={{
fontSize: "24px",
fontWeight: "700",
color: "#ffffff",
lineHeight: "1.2",
marginBottom: "8px"
}}
  >
    Capture accounts. <span style={{ color: "#23ad4b" }}>Zero PCI scope.</span>
  </div>

  <div
    style={{
fontSize: "13px",
fontWeight: "300",
color: "#b1b4b6",
lineHeight: "1.6",
marginBottom: "20px",
maxWidth: "560px"
}}
  >
    Drop-in iFrame SDK. Card data never touches your servers. Ingo returns a reusable token.
  </div>

  <div style={{ display: "flex", gap: "12px" }}>
    <a href="/docs/iframe/quick-start" style={{
          background: "#23ad4b",
          color: "#ffffff",
          fontWeight: "700",
          fontSize: "13px",
          padding: "8px 20px",
          borderRadius: "4px",
          textDecoration: "none"
        }}>Quick Start →</a>
    <a href="/docs/hub/authentication" style={{
          background: "transparent",
          color: "#b1b4b6",
          fontWeight: "400",
          fontSize: "13px",
          padding: "8px 20px",
          borderRadius: "4px",
          border: "1px solid rgba(255,255,255,0.2)",
          textDecoration: "none"
        }}>Authentication</a>
  </div>
</div>

Embedded Account Capture is a PCI-compliant drop-in iFrame SDK that handles recipient account tokenization inside a secure hosted session. Your server makes one API call to create a session and receives an `authorized_url`. Your client application mounts the iFrame SDK using that URL, and the recipient enters their account details directly into Ingo's hosted environment — card data, bank account numbers, and payment credentials never pass through your servers. When the recipient completes the flow, Ingo fires a `TOKEN_SUCCESS` event containing a `customer_account_token`. That token is then used with any IngoPay verify or process call to initiate a disbursement or debit.

***

## How It Works

<CardGroup cols={2}>
  <Card title="Session Create" icon="key">
    Your server calls the Session Management API with the recipient's information.
    Ingo establishes a secure, point-in-time session and returns an
    <code>authorized\_url</code> valid for 30 seconds. This server-side call is the
    only step that requires HMAC-SHA512 authentication.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/iframe/session/create" className="spec-btn">Create Session</a>
    </div>
  </Card>

  <Card title="SDK Initialization" icon="code">
    Include the Ingo SDK script in your page, call <code>IngoInstantPayments.create()</code>
    to attach it to a DOM element, then call <code>mount(authorizedUrl, fundingDestination)</code>
    to launch the iFrame. The SDK handles the full recipient-facing UI — account entry,
    verification, and confirmation — inside the hosted session.
  </Card>

  <Card title="Account Tokenization" icon="shield-check">
    The recipient enters their account details inside Ingo's hosted iFrame. Ingo runs
    your configured identity and account verification checks, and on success fires a
    <code>TOKEN\_SUCCESS</code> event containing the <code>customer\_account\_token</code>.
    No payment credentials are exposed to your application at any point.
  </Card>

  <Card title="Use the Token with IngoPay" icon="bolt">
    The <code>customer\_account\_token</code> returned by the SDK passes directly into
    any IngoPay process or debit call — no additional verify step required. The token
    never expires and can be reused for future transactions without re-running the
    iFrame flow. If your product mix includes the Banking Platform, include the ledger
    routing object in the IngoPay call to direct the transaction to the correct entity's
    ledger; otherwise no additional fields are needed beyond the token.
  </Card>
</CardGroup>

***

## Using Your Token with IngoPay

The `customer_account_token` from Embedded Account Capture is interchangeable with any token produced by the IngoPay verify endpoint. Use it directly in IngoPay process calls to push funds, or in IngoPay debit calls to pull funds — across every payment type the iFrame supports.

**Supported payment types:**

| Payment Type       | Push                                                                                                                                                     | Pull |
| ------------------ | -------------------------------------------------------------------------------------------------------------------------------------------------------- | ---- |
| Debit Card         | ✓                                                                                                                                                        | ✓    |
| Credit Card        | ✓                                                                                                                                                        | —    |
| Bank Account (ACH) | ✓                                                                                                                                                        | ✓    |
| BillPay            | ✓                                                                                                                                                        | —    |
| PayPal             | ✓                                                                                                                                                        | —    |
| Venmo              | <span style={{ fontSize: "10px", fontWeight: "700", background: "#f59e0b", color: "#000", padding: "2px 8px", borderRadius: "10px" }}>Coming Soon</span> | —    |

<CardGroup cols={2}>
  <Card title="Push Funds to an Account" icon="arrow-right" href="/docs/ingopay/overview#push-funds-to-an-account">
    Use your token to disburse to card, ACH, PayPal, BillPay, and more via the
    IngoPay process endpoint.
  </Card>

  <Card title="Pull Funds from an Account" icon="arrow-left" href="/docs/ingopay/overview#pull-funds-from-an-account">
    Use your token to debit a card or bank account via the IngoPay debit
    process endpoint.
  </Card>
</CardGroup>
