# Soap - [Introduction](https://docs.paywithsoap.com/get_started/introduction.md): AI-native payments infrastructure for complex, compliance-heavy payment flows. - [Quickstart](https://docs.paywithsoap.com/get_started/quickstart.md): Learn how to make your first API call with Soap - [Embedded Checkout](https://docs.paywithsoap.com/get_started/embedded-checkout.md): Render the Soap checkout inside your own page with an iframe, instead of redirecting away - [API Introduction](https://docs.paywithsoap.com/api-reference/introduction.md): Reference for Soap payments, compliance, and fraud APIs - [Checkouts, Charges and Reviews](https://docs.paywithsoap.com/api-reference/lifecycles.md): How the checkout, charge and review entities relate, the charge status lifecycle, which webhook each transition emits, and why one checkout can have several charges. - [Soap Docs MCP Server](https://docs.paywithsoap.com/api-reference/soap-mcp-server.md): Give your AI coding assistant searchable, read-only access to the Soap documentation. This MCP server cannot move money, create checkouts, or call the Soap API. - [Create Customer](https://docs.paywithsoap.com/api-reference/api-v1/customers/create.md): Creates a new customer in the Soap system - [Update Customer](https://docs.paywithsoap.com/api-reference/api-v1/customers/update.md): Update the details of an existing customer - [Search Customers](https://docs.paywithsoap.com/api-reference/api-v1/customers/search.md): Look up an existing customer by email, phone number or internal_id - [Create Checkout](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/create.md): Create a checkout session with POST /api/v1/checkouts. The type is either deposit or withdrawal; purchases and subscriptions are deposits carrying line_items. Returns the checkout url the customer completes payment at. - [DraftKings Style Deposit](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/draftkings-deposit.md): Standard sports-book style deposit where the customer enters a custom amount - [Preset Amount Deposit](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/preset-deposit.md): Deposit a fixed, predetermined amount into a customer's balance - [Subscription Checkout](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/subscription-checkout.md): Create a recurring deposit checkout with subscription billing metadata - [Digital Goods Purchase](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/sweeps-purchase.md): Purchase virtual currency, in-game tokens, and other digital goods using line items - [Ecomm Purchase](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/ecomm-purchase.md): Purchase physical goods such as nutraceuticals, peptides, supplements, and more - [Balance Withdrawal](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/balance-withdrawal.md): Customer withdraws a custom amount up to their available balance - [Preset Amount Withdrawal](https://docs.paywithsoap.com/api-reference/api-v1/checkouts/preset-withdrawal.md): Withdraw a fixed, predetermined amount from the customer's balance - [Retrieve a Charge](https://docs.paywithsoap.com/api-reference/api-v1/charges/show.md): Fetch a single charge by ID, including the customer and payment method used - [Refund a Charge](https://docs.paywithsoap.com/api-reference/api-v1/charges/refund.md): Refund a succeeded card deposit in full (NMI and Rapyd) - [Upsert KYC](https://docs.paywithsoap.com/api-reference/api-v1/kyc/upsert.md): Submits a KYC identity record for a customer - [Create Device Ping](https://docs.paywithsoap.com/api-reference/api-v1/device_pings/create.md): POST /api/v1/device_pings runs the geolocation/IP compliance check. Called from the customer device and authenticates with the client secret, not the API key. - [Get Latest Geo Check](https://docs.paywithsoap.com/api-reference/api-v1/device_pings/latest_geo_check.md): GET /api/v1/device_pings/latest_geo_check retrieves the most recent geolocation check result for a customer. Server-side call authenticated with the API key. - [Webhooks Overview](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/webhooks.md): How Soap sends webhook events, the envelope format, event catalog, and signature verification. - [Receiving Webhooks](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/setup.md): Configure your webhook URL, enable off-by-default events, and build an endpoint that verifies signatures and responds correctly. - [checkout.succeeded](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-succeeded.md): Event triggered when a deposit or withdrawal succeeded. - [checkout.hold](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-hold.md): Webhook event triggered when a withdrawal occurs to prevent double spending. - [checkout.release_hold](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-release-hold.md): Webhook event triggered when a held withdrawal fails. - [checkout.returned](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-returned.md): Event triggered when a deposit or withdrawal bounces (returned). - [checkout.failed](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-failed.md): Event triggered when a deposit or withdrawal failed. - [checkout.pending](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-pending.md): Event triggered when a deposit or withdrawal enters a pending state. - [checkout.terminally_failed](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-terminally-failed.md): Webhook event triggered when a checkout session fails due to kyc, geo or fraud. - [checkout.expired](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-expired.md): Webhook event triggered when a checkout session expires before completion. - [checkout.voided](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-voided.md): Event triggered when a charge is voided. Only happens after a previous transaction has succeeded. - [checkout.refunded](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-refunded.md): Event triggered when a succeeded charge is refunded. Off by default — enable it in Dashboard → Developers. - [checkout.cancelled](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-cancelled.md): Event triggered when an accepted transfer is cancelled by the payment rail. Opt-in and processor-specific. - [checkout.review.created](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-review-created.md): Event triggered when a payment is flagged for review. - [checkout.review.approved](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-review-approved.md): Event triggered when a customer support agent approves a review. - [checkout.review.declined](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/checkout-review-declined.md): Event triggered when a customer support agent declines a review. - [customer.kyc.created](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/customer-kyc-created.md): Event triggered when Soap creates a KYC identity record for a customer. - [customer.restricted](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/customer-restricted.md): Event triggered when a customer is restricted from depositing or withdrawing. - [customer.unrestricted](https://docs.paywithsoap.com/api-reference/api-v1/webhooks/customer-unrestricted.md): Event triggered when a customer restriction is lifted. - [Sandbox Test Data](https://docs.paywithsoap.com/api-reference/api-v1/testing.md) - [Changelog](https://docs.paywithsoap.com/changelog.md): Additive changes to the Soap API. Existing integrations keep working; new fields are optional. ## OpenAPI Specs - [openapi](/api-reference/openapi.json) - [package-lock](/package-lock.json) - [package](/package.json) This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.