> ## 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.

# IngoPay API

> Single-endpoint verify and process APIs for push and pull payments across card, bank accounts, check, PayPal, Venmo, and BillPay.

<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 · IngoPay API
  </div>

  <div
    style={{
fontSize: "24px",
fontWeight: "700",
color: "#ffffff",
lineHeight: "1.2",
marginBottom: "8px"
}}
  >
    Verify once. Disburse <span style={{ color: "#23ad4b" }}>anywhere, anytime.</span>
  </div>

  <div
    style={{
fontSize: "13px",
fontWeight: "300",
color: "#b1b4b6",
lineHeight: "1.6",
marginBottom: "20px",
maxWidth: "560px"
}}
  >
    Two endpoints. Every payment type. Full risk intelligence built in.
  </div>

  <div style={{ display: "flex", gap: "12px" }}>
    <a href="/docs/ingopay/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>

The IngoPay API is built on a deliberately simple two-step model. A single **verify** call tokenizes any recipient account type — card, ACH, check, PayPal, Venmo, or BillPay — while simultaneously executing every downstream identity and account verification check your risk profile requires. There is no cascade of individual verification calls to manage; Ingo orchestrates your configured risk mitigation controls in a single round trip and returns a reusable `customer_account_token`. That token represents both the customer and their account, never expires, and can be reused for any number of future transactions. A single **process** call then moves funds using that token — regardless of payment type, always through the same endpoint. The acceptance of each transaction attempt for most payment types is determined in real time against the current standing of the account at the financial institution, keeping your risk posture current without adding integration complexity.

***

## Push Funds to an Account

Send disbursements to any supported payment method. The same verify → process flow applies across all types — your integration scope stays constant regardless of how many payment methods you enable.

<CardGroup cols={2}>
  <Card title="Debit & Prepaid Card" icon="credit-card">
    Push funds instantly to any elegible debit or prepaid card. A single
    verify call validates the card and executes your configured identity and account
    checks, returning a reusable token. Use that token to push funds on demand —
    no re-verification required.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/card" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/process/card" className="spec-btn">Disburse</a>
    </div>
  </Card>

  <Card title="Bank Account" icon="building-columns">
    Transfer funds directly into a bank account via standard or same-day ACH or through
    the Real-Time Payments (RTP) network. Verify once to tokenize the account
    and run your configured identity and account checks — then process disbursements
    whenever needed using the same persistent token.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/ach" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/process/ach" className="spec-btn">Disburse</a>
    </div>
  </Card>

  <Card title="PayPal & Venmo" icon="wallet">
    Disburse funds directly to a recipient's PayPal or Venmo digital wallet. A single
    verify call confirms the wallet account and runs your configured checks, returning
    a token that can be reused for any future disbursements to that wallet.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/paypal-venmo" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/process/paypal-venmo" className="spec-btn">Disburse</a>
    </div>
  </Card>

  <Card title="Check by Mail" icon="envelope">
    Issue a physical check disbursement to any mailing address. Verify returns a token — process
    then queues the check for printing and delivery with no additional workflow required
    on your end.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/check" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/process/check" className="spec-btn">Disburse</a>
    </div>
  </Card>

  <Card title="BillPay" icon="receipt">
    Enable recipients to direct disbursements toward bill payments across utilities,
    loans, healthcare, and more. Search the biller network, tokenize the recipient's
    biller account, and process payments directly to the biller on their behalf.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/ancillary/biller-search" className="spec-btn">Biller Search</a>
      <a href="/docs/ingopay/verify/billpay" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/process/billpay" className="spec-btn">Pay Bill</a>
    </div>
  </Card>

  <Card title="Credit Card" icon="credit-card">
    Enable recipients to direct a disbursement toward their credit card balance,
    reducing the amount they owe. The card account is tokenized and the disbursement
    is routed to the card issuer — the same verify → process flow as every other
    IngoPay payment type.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/card" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/process/card" className="spec-btn">Disburse</a>
    </div>
  </Card>
</CardGroup>

***

## Pull Funds from an Account

Debit a recipient account and pull funds into your program. Each payment type follows the same verify → debit process flow — a single verify call tokenizes the account and runs your configured checks, and a single debit process call initiates the pull.

<CardGroup cols={3}>
  <Card title="Debit Card" icon="credit-card">
    Pull funds from a debit card account. Verify tokenizes the card and runs your
    configured identity and account checks — debit process initiates the pull against
    that token on demand.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/card" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/debit/process-card" className="spec-btn">Collect</a>
    </div>
  </Card>

  <Card title="ACH" icon="building-columns">
    Pull funds from a bank account via standard or same-day ACH. One verify call
    tokenizes the account and runs your checks — reuse that token to initiate ACH
    debits at any point going forward.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/ach" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/debit/process-ach" className="spec-btn">Collect</a>
    </div>
  </Card>

  <Card title="Wire Transfer" icon="network-wired">
    Pull funds via domestic wire transfer. Verify tokenizes the wire account and
    executes your configured checks — debit process initiates the wire when you're
    ready to move funds.

    <div style={{ display: "flex", gap: "8px", marginTop: "16px", flexWrap: "wrap" }}>
      <a href="/docs/ingopay/verify/wire" className="spec-btn">Tokenize</a>
      <a href="/docs/ingopay/debit/process-wire" className="spec-btn">Collect</a>
    </div>
  </Card>
</CardGroup>
