SMEPay Logo
Developer Documentation

SMEPay V2 API Integration

Flow: Authenticate → Create Order → Initiate Payment → Poll Status (optional webhook)

1. Environments

Your client_id is bound to Test or Live mode. Requests must target the correct host; authentication will reject mismatched mode.

EnvironmentBase URL
Testhttps://staging.smepay.in
Livehttps://extranet.smepay.in

2. Integration Options

Option 1: Wizard

SMEPay Checkout Widget

Best for: Websites, web apps, quick integration

  • Pre-built payment UI
  • Automatic QR generation
  • Real-time status updates
  • Mobile-responsive

Option 2: Inline DQR

Direct API

Best for: Custom UI, mobile apps, server-to-server

  • Full control over UI/UX
  • Direct API integration
  • Custom payment flow
  • Generate your own QR

3. Getting Started Steps

Step 1: Get Credentials

  1. Login to SMEPay Dashboard
  2. Go to Integrations → View API docs
  3. Download your client_id and client_secret

Step 2: Test Payment

  1. Create test order
  2. Generate payment link
  3. Test with UPI app
  4. Verify webhook callback

4. Authentication

Access Token: Expires in 10 minutes (600 seconds)

Use in subsequent requests:
Authorization: Bearer <YOUR_ACCESS_TOKEN>
Content-Type: application/json

Access Constraints:

  • Business verification/tier
  • IP whitelist & geo-restrictions
  • Per-business rate limits
  • Minimum wallet balance for external operations

5. Webhooks & Status Flow

When payment status changes, we POST to your callback_url:

SUCCESS - Payment completed
FAILED - Payment failed

Security: Always validate using /order/validate endpoint before fulfilling order.

Payment Status Flow

CREATED → INITIATED → PENDING → SUCCESS/FAILED
                              ↓
                           EXPIRED

Want to explore integration details in Postman?