Skip to main content

Developer documentation

Peer Pay

Get paid through the apps your customers already use.

Customers can pay with Venmo, Cash App, Zelle, PayPal, Revolut, Wise, and other supported payment apps. Checkout can also offer crypto and Apple Pay. Fiat payments use the verification path shown for their quote; crypto and Apple Pay have separate confirmation flows. The default payout is USDC on Base, with other supported destinations configured by the merchant. Fiat buyers do not need a crypto wallet.

Configure your merchant workspace, payout settings, and plan before accepting live orders. Payment settlement and any subsequent destination delivery or automatic sweep are separate states; reconcile them using the API and webhooks.

How it works​

Every order runs the same way, whichever integration created it.

  1. You create an order. Your backend calls createCheckout with the amount and the destination wallet, and gets back a hosted checkout URL. A Telegram payment link, the WooCommerce plugin, or Scan to Pay creates the same order without code.
  2. Your customer opens the checkout and picks a platform. The order's enabled methods, amount, currency, destination, and current availability determine what appears.
  3. They follow the selected method's instructions. A fiat transfer, crypto deposit, or Apple Pay handoff each has its own flow.
  4. Peer verifies the payment. The order is marked paid only after the payment is confirmed against the payment record itself. Support never needs the customer's password or login codes. See two verification flows.
  5. Funds settle to the configured destination. PAYMENT_SETTLED confirms an individual payment and can leave the order partially paid. Fulfill the merchant order after ORDER_FULFILLED; track bridge delivery separately when applicable. Checkout then offers the customer a Return to merchant link built from your successUrl; it is not an automatic redirect, so never fulfill on it.

Two verification flows​

Fiat verification runs one of these two ways. Crypto and Apple Pay use their own confirmation flows.

FlowYour customerPlatforms
Buyer verified (default)Confirms their own payment in the Peer app or the PeerAuth extension. They log in to their provider directly, and Peer never sees those credentials.Supported fiat platforms; Zelle and N26 require desktop verification
Seller Automated ReleaseInstalls nothing. Checkout tries automatic matching where supported, then can request a transaction ID or screenshot. PayPal can ask for the sender's own account name instead.Venmo, Cash App, Wise, PayPal

Seller Automated Release means fewer steps and fewer abandoned checkouts, and it is what lets Scan to Pay settle at the counter. It comes with the Pro plan. Base runs buyer verified.

Ways to integrate​

SurfaceBest forStart here
CLILocal API and webhook testing; merchant setup from the terminal.Peer Pay CLI
Hosted checkout (SDK)Custom carts and apps. Redirect, open in a new tab, or embed.Quickstart, Integration options
WooCommerce pluginWordPress stores.WooCommerce
Payment linksInvoices, DMs, Telegram. Type /request in the Telegram bot.Merchant guide
Scan to PayIn-person sales. Customers scan a QR and pay in their app.Advanced merchant guide
Coding agentHand an AI agent a generated prompt and let it wire the SDK and webhooks into your codebase.Let a coding agent integrate

Before you go live​

  • Create a merchant account at merchant.pay.peer.xyz and turn on your payment platforms under Settings, Payments. Only enabled platforms appear at checkout.
  • Every account starts on its live workspace with no plan selected, so live orders are rejected until you pick one. Sandbox Mode is a free paired workspace you switch on from the workspace menu at the top of the sidebar; it is created the first time you enable it, and automatically during onboarding for the code integration paths (Custom / API, WooCommerce, Telegram) and in-person. Run test orders end to end there and confirm they land under Orders.
  • Generate an API key for the SDK. Live orders need a plan, selected under Settings, Billing. Base, Pro, and Concierge prices, monthly caps, and what each includes are in plans and support.
  • Customers have a one hour window to complete a fiat payment. Crypto deposit deadlines and backend status windows depend on the provider; follow the checkout countdown. An attempt can expire or fail; the order never does, and late deposits can still settle. See payment windows.

Supported payment platforms​

Venmo, Cash App, Zelle, PayPal, Revolut, Wise, Monzo, N26, and more, with quotes in multiple fiat currencies. The Payment Platforms reference lists the rail identifiers the SDK accepts and how currency selection affects availability.

Next steps​

  • Quickstart: create a checkout and handle the webhook.
  • Peer Pay CLI: test locally and set up your merchant from the terminal.
  • SDK reference: configuration, sessions, dynamic orders, quote availability.
  • API reference: authentication, response envelope, and the order and payment read endpoints.
  • Webhooks: setup, events and payloads, signature verification, and a handler checklist.
  • Reference: types, order statuses, and payment platforms.

Need help?​