EverSafePay API
Secure gateway to accept payments (Payin), send payouts, check status & real-time webhooks.
https://eversafepay.com/v1
🔐 Authentication
Every request requires:
| Parameter | Required | Description |
|---|---|---|
client_id | ✅ Yes | Provided by EverSafePay |
secret_key | ✅ Yes | API Secret Key (keep secure) |
1. Create Payment (Payin) — Webpage
Generates a hosted payment page URL for customers.
📋 Request Parameters
| Parameter | Description |
|---|---|
| client_id | Merchant Client ID |
| secret_key | Merchant Secret Key |
| amount | Transaction Amount |
| company | Merchant Name |
| description | Order Description |
| first_name | Customer First Name |
| last_name | Customer Last Name |
| Customer Email | |
| phone | Customer Phone |
✅ Success Response (Webpage)
{
"isError": false,
"message": "Order created successfully",
"data": {
"order_id": "ORDdbb1f1e33caf",
"payment_url": "https://codevasolutions.in/ohxgxuuiynnbmlkl/?token=..."
}
}
UPI Intent Mode (create_upi)
Returns QR code (Base64) and deep-link UPI intent URL for instant app redirection.
📥 Same parameters as /create_order
📤 Success Sample
{
"isError": false,
"message": "Order created successfully",
"data": {
"order_id": "ORDc1d9a8a6ac5c",
"amount": 100,
"created_at": "2026-04-10 11:46:12",
"qr_code": "data:image/png;base64,iVBORw0KGgo...",
"payment_url": "upi://pay?mode=04&cu=INR&pa=codevasol@suryoday&pn=Codeva..."
}
}
{"isError": true, "message": "Error details"}Payment Status API (Payin)
Check order status using order_id.
| Param | Required |
|---|---|
| client_id | ✅ |
| secret_key | ✅ |
| order_id | ✅ |
{
"isError": false,
"message": "Order Status Fetched Successfully",
"utr": "123466",
"status": "SUCCESS",
"created_at": "2026-04-10 11:46:12",
"updated_at": "2026-04-10 11:50:30"
}
⚠️ Failed: {"isError": true, "message": "Order Status Fetched Failed"}
Dynamic statuses: ATTEMPT, CREATED, SUCCESS, PENDING, FAILED.
Payout Request API
Initiate bank transfer to beneficiary.
| Parameter | Required | Type | Description |
|---|---|---|---|
| client_id | ✅ | string | Client ID |
| secret_key | ✅ | string | API Secret |
| amount | ✅ | number | Payout amount |
| name | ✅ | string | Beneficiary name |
| mobile | ✅ | string | Mobile number |
| accountNumber | ✅ | string | Bank account number |
| ifscCode | ✅ | string | IFSC code |
| bankName | ✅ | string | Bank name |
📦 Payout Success Response
{
"status": true,
"message": "Payout request accepted",
"data": {
"order_id": "ORD1769172441",
"amount": 1000,
"status": "PENDING",
"createdAt": "2026-01-23T12:47:22.161Z",
"utr": "PO1769172442161RSR8MO",
"beneficiary": {
"name": "Test User",
"accountNumber": "123456789012",
"bankName": "HDFC Bank",
"ifscCode": "HDFC0001234"
}
}
}
Payout Order Status API
Retrieve payout status using order_id.
| Parameter | Required |
|---|---|
| client_id | ✅ |
| secret_key | ✅ |
| order_id | ✅ |
{
"success": true,
"message": "Fetch success",
"data": {
"order_id": "ORD123",
"amount": 1000,
"status": "SUCCESS",
"utr": "1234567890"
}
}
status and utr when completed.Webhook / Callback (Real-time updates)
EverSafePay sends POST form-data (or JSON equivalent) to your configured callback URL for both Payin & Payout events.
📦 Callback Parameters (Payin & Payout common fields)
| Field | Type | Example | Description |
|---|---|---|---|
| order_id | string | ORD123456 | Unique order ID |
| amount | number | 100 | Transaction amount |
| status | string | SUCCESS/PENDING/FAILED | Current status |
| code | number | 200 | HTTP/Status code |
| message | string | Payment was SUCCESS | Status message |
| utr | string | 139708079707 | UTR / transaction reference |
// Example form-urlencoded format
order_id=ORD123456&amount=100&status=SUCCESS&code=200&message=Payment+was+SUCCESS&utr=139708079707
Payout webhook example (callback response similar structure):
{
"success": true,
"message": "Fetch success",
"data": {
"order_id": "ORD123",
"amount": 1000,
"status": "SUCCESS",
"utr": "1234567890"
}
}
📊 Transaction Status Reference
Common status values across Payin & Payout:
| Status | Meaning | Description |
|---|---|---|
| PENDING | Processing | Payment/Payout is in progress |
| SUCCESS | Completed | Transaction successful |
| FAILED | Failed | Transaction failed |
| REJECT | Rejected | Request rejected by system/bank |
| REVERSAL | Refunded | Amount reversed/refunded after success |
| ATTEMPT | Attempted | Customer initiated but not confirmed |
| CREATED | Created | Order generated |
Important: PENDING may later transition to SUCCESS or FAILED. Always handle asynchronous updates via webhook.