PhonePe Payment Demo

Test one-time payments and autopay subscriptions Β· Mode: loading… Β· πŸ“– API Docs (Swagger)

One-Time Payment
Autopay / Subscription
History & Logs
Platform
My Account
Failures
Minimum Rs 1 (100 paisa)

Create Autopay Subscription

Charged each cycle
End-customer's phone β€” collected from your checkout UI
End-customer's UPI ID. If provided β†’ UPI_COLLECT (push to user's app, iOS+Android). If empty β†’ UPI_INTENT (Android deep-link only).
Receiver Account (Marketplace) β–Ύ
Store the receiver who should get paid for this mandate. Returned in webhooks for your settlement logic.

Manage Subscription

From the create response above

πŸ§ͺ Sandbox: Activate mandate with PhonePe Test App

  1. Install PhonePe Test App on Android: Download APK (package: com.phonepe.simulator)
  2. App β†’ Test Case Templates β†’ enter your Merchant ID: loading...
  3. Select flow Subscription V2 β†’ template Setup success via UPI Intent
  4. Create a subscription above β€” the Intent URL below will appear
  5. Scan the QR code with the Android device running the test app, or share the URL to that device
  6. Poll Check Status until state = ACTIVE

Inspect a Subscription

Multi-merchant mode. Every request can include an X-Api-Key header to scope to a specific merchant. If omitted, the default seeded merchant is used (backward-compat with the existing flows above). Paste a key below β€” it is auto-attached to all Platform requests on this page.

1. Merchant registration

Onboard a new merchant. The raw API key is returned exactly once β€” copy it immediately.

2. Terms & Conditions

Fetch the current version, then record acceptance against a subscription before first debit.

3. Subscription lifecycle

Pause, resume, or schedule a cancel to fire N days before the next charge (default 3).

4. Customer payment history

Look up a customer by phone number or UPI VPA. Returns all their subscriptions, charges and one-time orders.

5. Bank statement upload

Upload a reconciliation file (CSV / XLSX / PDF, ≀ 10 MB). Stored per-merchant for audit.

End-user (JWT) view. Paste an access token issued by be-auth-gateway (POST http://localhost:5246/api/auth/login). All requests here are auto-scoped to your UserId; you cannot see other users' data.
Canonical failure log. One row per failed order / autopay redemption / refund, classified into a deterministic category. Merchant-scoped via X-Api-Key (top-of-page key is reused here).