Skip to main content
The requestor flow is used when you want to receive a payment — as a merchant accepting a purchase or a person requesting money from a friend.

Overview

  1. Create a Payment Intent with your wallet as the requestor
  2. Share the intent with the fulfiller via SonicPay audio, deep link, or QR code
  3. The fulfiller reviews, signs, and submits the transaction
  4. You receive a webhook or SSE event when the payment is confirmed

Step 1: Create the intent

Create a Payment Intent server-side or client-side via the SDK:

Step 2: Share with the fulfiller

There are three ways to share the intent:

SonicPay audio broadcast

The SDK broadcasts the intent via near-ultrasonic audio. Any fulfiller within ~1–5m can decode it:
The broadcast loops automatically until the fulfiller acknowledges receipt or the intent’s TTL expires. Generate a deep link for sharing via messaging, email, or other channels:

QR code

Generate a QR code payload for display on screen or print:

Step 3: Watch for fulfillment

Track the payment status using the onStatusChange callback:
Or listen via webhooks for server-side handling.