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

# Connect

> Bring payments to the businesses that already use your software.

Your software already runs the businesses you serve. Connect lets it run their
payments too. Onboard merchants, take payments online and at the counter,
and manage refunds with one set of platform keys. Each merchant owns its
payments, customers, and saved cards.

Use Connect when another business receives the payment. For your own business,
start with [Payments](/payments/overview).

## Start here

Ionic must enable Connect for your platform. Then start in test mode by
connecting a merchant:

<CardGroup cols={2}>
  <Card title="Connect a new merchant" icon="user-plus" href="/guides/hosted-account-links">
    Send the business to Ionic to sign up and connect, then return it to your app.
  </Card>

  <Card title="Connect an existing merchant" icon="handshake" href="/guides/connect-a-merchant">
    Ask a business that already uses Ionic to approve your platform's access.
  </Card>
</CardGroup>

One Account Link can serve both with a **New or existing** configuration.
Read [How Connect works](/guides/connect-overview) for roles, platform keys,
merchant selection, and permissions. Or [try the Playground](/playground) to
explore the payment experience and its API calls.

## How it works

1. Save the merchant ID when the business connects to your platform.
2. Select that merchant when creating its payment, customer, or saved card.
3. Handle [platform webhook events](/guides/connect-webhooks), which identify
   the merchant that owns the resource.

Each operation needs the appropriate permission on your platform key, the
merchant's connection, and your Platform Program.

## Take payments for your merchants

| Your customer experience | Guide |
| - | - |
| A ready-made hosted payment page | [Hosted checkout](/guides/connect-checkout) |
| A card form on your platform's website | [Payment Block with Connect](/guides/connect-blocks) |
| Apple Pay or Google Pay alongside your card form, once enabled | [Wallet Block](/guides/wallet-block) |
| A card presented at a merchant's counter | [In-person payments](/guides/connect-in-person-payments) |
| A saved card for the customer's next purchase | [Save cards](/guides/connect-save-cards) |

## After the payment

Manage [refunds and captures](/guides/connect-refunds-captures) and each
[merchant's customers](/guides/connect-customers) from your platform.

Bill a merchant's customers with [subscriptions and invoices](/guides/connect-billing):
your platform creates the plan's product and price, subscribes the customer,
invoices one-off charges, and credits paid invoices. It reads payment links,
which the merchant creates and changes with its own keys or in the Dashboard.

## Set up and launch

* Register your [platform payment websites](/guides/platform-payment-domains)
  once per mode.
* Complete [wallet setup](/guides/platform-wallets) for supported domains and
  merchants before offering wallet payments.
* Receive eligible merchant events through [Connect webhooks](/guides/connect-webhooks).
* Follow the [platform launch guide](/guides/connect-go-live) for live
  configuration, merchant onboarding, and verification.

## Availability

* Ionic enables Connect for your platform. Test mode is available as soon as it
  is enabled. Live onboarding uses a live configuration with
  **Connect + live application** and a pricing plan.
* A Connect request needs its permission on the platform key, on the
  merchant's connection, and within your Platform Program's permission ceiling.
* Embedded checkout renders only on websites in the connected account's own
  **Web domains** list. On your platform's website, take payments with
  [Ionic Blocks](/guides/connect-blocks) or
  [hosted checkout](/guides/connect-checkout).
* [Tokenization-only card fields](/guides/payment-fields-advanced) take the
  merchant's own secret key. Platforms collect new cards with the Payment Block.
* Your platform creates and changes a merchant's products, prices,
  subscriptions, invoices, and credit notes. It reads the merchant's payment
  links; the merchant creates and changes those with its own keys or in the
  Dashboard.
* The server SDK's `account` option covers checkout sessions, payment intents,
  refunds, customers, payment methods, setup intents, test clocks, products,
  prices, subscriptions, invoices, invoice items, and credit notes. Products,
  prices, subscriptions, invoices, invoice items, and credit notes need
  `@ionicfi/sdk` 0.4.4 or later. Terminal requests send the `Ionic-Account`
  header.
* The Wallet Block supports one-time payments once Ionic enables it for your
  environment. Hosted Connect lifecycle events (`account.*`, `connection.*`, and
  `account_link.*`) require the Connect lifecycle release in your environment
  and Connect webhooks on your Platform Program. See
  [Hosted Connect lifecycle](/webhooks/events#hosted-connect-lifecycle).

## API reference

Platform endpoints use your platform key without `Ionic-Account`:

| Resource | Endpoints |
| - | - |
| Account links | [Create a hosted onboarding link](/api-reference/account-links/create-a-hosted-onboarding-link), [retrieve onboarding progress](/api-reference/account-links/retrieve-hosted-onboarding-progress) |
| Account authorizations | [Start an authorization](/api-reference/account-authorizations/start-existing-account-authorization), [exchange the approved code](/api-reference/account-authorizations/exchange-an-account-approved-code) |
| Connected accounts | [List](/api-reference/connected-accounts/list-connected-accounts), [retrieve](/api-reference/connected-accounts/retrieve-a-connected-account) |
| Payment domains | [Add](/api-reference/web-domains/add-a-web-domain), [list](/api-reference/web-domains/list-web-domains), [delete](/api-reference/web-domains/delete-a-web-domain), [delete by origin](/api-reference/web-domains/delete-a-web-domain-by-origin) |
| Webhook endpoints | [Create](/api-reference/webhook-endpoints/create-a-webhook-endpoint), [list](/api-reference/webhook-endpoints/list-webhook-endpoints), [update](/api-reference/webhook-endpoints/update-a-webhook-endpoint), [rotate the signing secret](/api-reference/webhook-endpoints/rotate-a-webhook-endpoints-signing-secret) |

[Manage wallet setup for a payment domain through the API](/guides/platform-wallets#manage-setup-through-the-api).

These endpoints act for one connected account with `Ionic-Account`:

| Resource | What your platform can do |
| - | - |
| [Payment intents](/api-reference/payment-intents), [charges](/api-reference/charges/list-charges), and [refunds](/api-reference/refunds) | Create, confirm, capture, cancel, refund, and read |
| [Checkout sessions](/api-reference/checkout-sessions) | Create, confirm, update line items, and read |
| [Setup intents](/api-reference/setup-intents/create-a-setup-intent) and [payment methods](/api-reference/payment-methods/list-payment-methods) | Create, confirm, cancel, attach, revoke, and read |
| [Customers](/api-reference/customers) | Create, update, delete, restore, and read |
| [Terminal payments](/api-reference/terminal-payments/process-a-paymentintent-on-a-terminal), [terminals](/api-reference/terminals/list-terminals), [locations](/api-reference/terminal-locations/list-terminal-locations), [provisioning](/api-reference/terminal-provisioning/request-physical-terminal-hardware), and [batches](/api-reference/terminal-batches/list-terminal-batches) | Run payments, manage locations and hardware requests, and read batches |
| [Test clocks](/api-reference/test-clocks/create-a-test-clock) | Create, retrieve, and advance in test mode, and arm a subscription's next collection outcome |
| [Subscriptions](/api-reference/subscriptions/list-subscriptions), [invoices](/api-reference/invoices/list-invoices), and [credit notes](/api-reference/credit-notes/list-credit-notes) | Read, and check subscription entitlement |
| [Payment links](/api-reference/payment-links) and [products and prices](/api-reference/catalog) | Read |


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.