Inside Soap
The map of a payment
You tap Deposit. Dozens of systems wake up. This is what that looks like: 50 components on 7 layers, and 14 flows you can play step by step. It is a simplified, public version of the map the Soap team uses every day, shown in Inside Soap, Episode 01.
Pick a flow to watch a payment move through Soap, or click any block in the map. Every block is also listed under All components.
Pay-ins
Payouts and refunds
Risk and disputes
Merchants
All components
People
Surfaces
Edge
One backend
Compliance
One ledger
Partners
Drag to rotate · scroll to zoom · click a block
The layers
People
Merchants, their customers, and the Soap team.
- Customer
- The person paying a merchant, or being paid out by one, in Soap's checkout.
- Merchant
- A business that takes payments and sends payouts through Soap.
- Developer
- The merchant's engineer who connects their product to Soap's API.
- Soap team
- Operations, support, underwriting and engineering, working alongside AI agents.
Surfaces
What people actually touch: checkout, onboarding, the merchant dashboard and the API.
- Hosted checkout
- The payment page customers see. Cards, digital wallets, bank payments and payouts in one flow.
- Merchant dashboard
- Where a merchant sees payments, customers, disputes and reviews, and manages API keys.
- Onboarding
- Where a new merchant applies, uploads documents and verifies who they are.
- Merchant API
- The API a merchant's server calls to create customers and checkouts.
- SDK
- A typed client for the Soap API.
- Docs
- Guides and the API reference for developers.
Edge
Where every request enters the system.
- Edge network
- Receives every request, close to the person making it.
- Load balancer
- Spreads requests across the backend so no single server carries the load.
- App hosting
- Serves the checkout, the dashboard and the onboarding app.
One backend
Runs every provider, every webhook and every background job.
- Backend
- One service behind every surface. It runs each checkout step by step and talks to every provider.
- Routing
- Moves a payment to the next processor when one says no.
- Webhook intake
- Receives updates from partners, checks they are genuine and applies each one once.
- Background jobs
- Work that runs after the request: retries, notifications and scheduled checks.
- Merchant events
- Signed webhooks that tell the merchant's server what happened to each payment.
Compliance
Checks that run before a single dollar moves.
- Identity verification
- Confirms a customer is who they say they are before money moves.
- Business verification
- Checks a merchant's business, documents and signer during onboarding.
- Location check
- Confirms the customer is somewhere the merchant is allowed to serve.
- Device check
- Recognizes the device behind a payment.
- Multi-account detection
- Spots one person operating several accounts.
- 3D Secure
- Has the cardholder's bank authenticate a card payment before it is charged.
- Name matching
- Checks the name on the payment method against the verified customer, with AI to recover honest mismatches.
- Payment reviews
- Holds a flagged payment or payout until a person approves it.
- Restrictions
- Stops a risky customer from depositing or withdrawing until the issue is resolved.
- Transaction monitoring
- Watches activity over time for patterns a single check would miss.
One ledger
Records every charge, dispute and payout.
- Ledger
- One record of every charge, refund, dispute and payout, and every change to them.
- Job queue
- Holds background work until a worker picks it up.
- Document storage
- Keeps onboarding documents and dispute evidence.
- Onboarding records
- Merchant applications and where each one is in review.
Partners
The processors, banks and specialist providers around the core.
- Card processors
- Authorize and settle card payments. Soap works with several behind one integration.
- Card vault
- Stores card details so they never touch the merchant's or Soap's servers.
- 3D Secure provider
- Runs the authentication with the cardholder's bank.
- Digital wallets
- Apple Pay and Google Pay.
- Pay-by-bank network
- Moves money straight from a customer's US bank account.
- Bank linking
- Lets a customer connect their bank account securely.
- Payout provider
- Sends payouts to bank accounts and cards.
- Lightning provider
- Creates and settles Lightning invoices.
- Payment apps
- Apps a customer can pay from, such as Cash App.
- Stablecoin rails
- Stablecoin payouts and settlement.
- Identity providers
- Check documents and biometrics for identity verification.
- Device intelligence
- Identifies devices and scores risky connections.
- Geolocation
- Turns a position into a place, for the location check.
- Sign-in
- Authenticates merchants in the dashboard and the onboarding app.
- Email delivery
- Sends verification codes and notifications.
- E-signature
- Collects signatures on merchant agreements.
- AI models
- Language models behind document review, name matching and dispute evidence.
- Monitoring
- Errors, metrics and alerts, so problems are seen before customers report them.
The flows
Card deposit
A customer pays a merchant by card in the hosted checkout. The card goes to a vault, the payment goes to a processor, and the result lands on the ledger.
- The customer opens the merchant's checkout link.
- They type their card into fields hosted by the card vault, which returns a token.
- The checkout submits the payment.
- The request reaches the backend.
- Compliance checks run before any money moves.
- Routing picks a processor for this payment.
- The sale goes to the processor through the vault, so the card number stays out of Soap.
- The answer is recorded on the ledger.
- The merchant's server gets a signed webhook with the result.
- The customer sees the payment succeed.
Card deposit with 3D Secure
Before a typed card is charged, the cardholder's bank authenticates the payment. A successful check travels with the sale.
- The customer submits a card payment.
- The backend decides this payment needs 3D Secure.
- A 3D Secure session opens with the provider. The card number stays in the vault.
- The customer's bank checks the payment, and asks for a challenge only when it needs one.
- The result of the check is stored.
- The sale goes to the processor carrying proof of the authentication.
Apple Pay deposit
A customer pays with Apple Pay. The wallet's encrypted payment is opened inside the vault and charged without the card ever being typed.
- The customer taps the Apple Pay button.
- The checkout asks the backend to start a wallet session.
- The wallet confirms the merchant is who it claims to be.
- The customer approves with Face ID or Touch ID.
- The vault opens the encrypted payment and keeps the card details.
- The processor charges the wallet payment.
- The charge is recorded, and the merchant is notified.
Google Pay deposit
A customer pays with Google Pay. The encrypted payment is opened inside the vault and sent to the processor.
- The customer picks a card in the Google Pay sheet.
- The wallet hands the checkout an encrypted payment.
- The checkout passes it to the backend.
- The vault opens it and keeps the card details.
- The processor charges the payment.
- The charge is recorded, and the merchant is notified.
Pay by bank
A customer links a US bank account and pays straight from it. There is no card chargeback process, but a bank payment can still be returned.
- The customer chooses to pay by bank.
- They sign in to their bank to link the account.
- The checkout submits the payment with the linked bank.
- The backend asks the network to debit the account.
- The accepted payment is recorded.
- The merchant is notified.
- If the bank later returns the payment, the network tells Soap.
- The payment is marked returned, and the merchant is notified again.
Cash App deposit over Lightning
A customer pays from Cash App by paying a Lightning invoice that Soap creates for the exact amount.
- The customer picks Cash App and taps Pay.
- The backend creates a Lightning invoice for the amount.
- The checkout opens Cash App with the invoice.
- The customer confirms the payment in Cash App.
- The payment arrives over Lightning in seconds.
- The provider tells Soap the invoice was paid.
- The backend confirms it and completes the checkout.
- The merchant is notified.
Card deposit confirmed later
Some card payments do not get a final answer straight away. Soap shows the payment as pending and finishes it when the processor confirms.
- The customer submits a card payment.
- The processor accepts the payment but has no final answer yet.
- The customer sees that the payment is processing.
- The processor sends the final result.
- The payment moves from pending to succeeded or failed.
- The merchant is notified of the final result.
Payout to a customer
A merchant pays a customer out. The customer picks where the money goes, checks run, and a flagged payout waits for a person.
- The merchant's server opens a withdrawal for the customer.
- The customer chooses an amount and where to receive it.
- A one-time code confirms the payout method is theirs.
- Identity, device and multi-account checks run.
- If the merchant reviews payouts, this one waits for approval.
- The merchant approves it in the dashboard.
- The payout is sent, in real time where the receiving bank supports it.
- The provider confirms the money has landed.
- The merchant is notified.
Refund
A merchant refunds a card payment from the dashboard or through the API.
- The merchant clicks Refund on a payment.
- The backend checks the payment can still be refunded.
- The refund goes to the processor that took the payment.
- The payment is marked refunded.
- The merchant's server is notified.
Risk screening before money moves
Every check is a step in the checkout, switched on per merchant. A failed check stops the payment before a processor ever sees it.
- The checkout reports the device and, where needed, its location.
- The location is compared with where the merchant may operate.
- The customer verifies their identity, once.
- The device is recognized.
- The device and payment method are compared with other accounts.
- The name on the payment method is matched to the verified customer.
- A failed check restricts the customer, with a reason.
- The merchant reviews matches and restrictions in the dashboard.
Dispute evidence
When a customer disputes a card payment, Soap records it, restricts the account and helps the merchant build the evidence.
- The processor reports a new dispute.
- The dispute is recorded against the payment.
- The customer is restricted while the dispute is open.
- The merchant's team is emailed.
- The merchant opens the dispute and adds what only they hold.
- Their documents are stored with the dispute.
- AI drafts the evidence report from the payment record and the documents.
- The merchant reads the report and submits it.
Support: from failed payment to resolution
Every failed step is already on record, so a merchant can see why a payment failed and fix it without opening a ticket.
- A customer's payment fails or is restricted.
- The backend has recorded each step and why it stopped.
- The merchant sees the issue in their support queue.
- They ask why it failed.
- AI writes a short explanation from the record.
- The merchant lifts the restriction or resolves the issue.
Merchant onboarding
A new merchant applies once. AI checks the application as it is filled in, people handle what needs judgment, and the merchant ends up with a live account.
- The merchant fills in a short intake form.
- Soap matches the business with processors that fit it.
- The merchant completes the application and uploads documents.
- AI checks each answer and document as it is submitted.
- The person signing verifies their identity.
- The merchant signs the agreement.
- An underwriter reviews the application, with an AI assistant.
- The approved merchant gets a dashboard account.
Merchant API integration
A developer connects a product to Soap with an API key, two calls and one webhook.
- The developer copies an API key and sets a webhook address.
- The merchant's server creates a customer.
- It creates a checkout and gets back a link.
- The customer opens the link and pays.
- Every change to the payment is recorded.
- Each change queues an event.
- The merchant's server receives a signed webhook, retried if it does not answer.
- The customer is sent back to the merchant's product.
Want to see how your payments would flow through Soap? Book a call.