Get Started
MagikPay for Developers
A brief overview of MagikPay's services, API stack, and tools for developers.
To use this API, you need an API key. Please contact us at business@magikpay.io to get your own API key.
End Points Balance Check
| Environment | Base URL |
|---|---|
| Production | https://service.magikpay.io/transaction/balance_fetch_api |
Last Updated: 19th August, 2025
End Points Callback Check
| Environment | Base URL |
|---|---|
| Production | https://service.magikpay.io/transaction/payout-callback |
Request Payload
{
"apiKey":"70aa5c4543a4c0a09a95672315996e6ca9320618420c"
"refid": "PPM1022141QU030952",
"payId": "MPG0866745217782",
"utr": "524510329243",
"amount": "1500.00",
"beneAccNum": "123456789012",
"client_referenceId": "CLIENTREF123",
"extraField": "TestPayload"
}
Success Response
{
"status": 200,
"message": "Callback processed successfully",
"data": {
"refid": "PPM1022141QU030952",
"payId": "MPG0866745217782",
"utr": "524510329243",
"amount": "1500.00",
"status": "Success",
"beneAccNum": "123456789012",
"client_referenceId": "CLIENTREF123",
"extraField": "TestPayload"
}
}
Error Response
{
"message": "NO TRANSACTION FOUND",
"status": 400
}
Last Updated: 19th August, 2025
Wallet Balance Check
POST https://service.magikpay.io/transaction/balance_fetch_api
The balance API allows you to see the current balance of funds in your wallet.
Example URL with POST: /balance_fetch_api
form-data PARAMS
Your API key
{
apiKey: 0dce43a44a6eaeq55e4e9b905864f5c99b,
}
{
"result": 1,
"message": "success",
"data":
[
{
"api_user_code": "TSP123456",
"company_name": "DEMO",
"email": "123@gmail.com",
"mobile": "1234567890",
"settlement_balance": "740.20"
}
]
}
{
"result": 0,
"message": "Invalid access token"
}
{
"result": 0,
"message": "117.194.224.18 is IP Not Whitelisted"
}
{
"result": 0,
"message": "SORRY YOUR LIVE CREDENTIALS IS NOT ACTIVE"
}
{
"result": 0,
"message": "SORRY QR CODE SERVICE IS DISABLED"
}
Last Updated: 19th August, 2025
Bank Transfer
POST https://service.magikpay.io/transaction/payout
Use this API to initiate amount transfers directly to the beneficiary account via a bank IMPS, NEFT, or RTGS. You can add the beneficiary details in the same API request.
Form-Data Parameters
Your API key
Beneficiary bank account number (Required for IMPS, NEFT, RTGS)
Account IFSC (11 chars, format: first 4 = bank, 5th = 0)
Amount to be transferred. Testing: 100 = Success, 50 = Pending, Any other = Failure
Beneficiary name (alphabets & spaces only)
Mode of transfer → Allowed: IMPS, RTGS, NEFT
A unique ID to identify this transfer (alphanumeric)
{
"apiKey": "2117e1c9eb78ad3bc96ea7796d1c",
"beneAccNum": "32546548478654",
"beneIfscCode": "SBIN0005478",
"beneName": "MagikPay",
"txnPaymode": "IMPS",
"txnAmount": "100",
"orderid": "1234567890"
}
{
"result": 1,
"message": "Bank Transfer has Successful",
"data": [...]
}
{
"result": 2,
"message": "Bank Transfer Transaction has Pending",
"data": [...]
}
{
"result": 0,
"message": "Bank Transfer has failed",
"data": [...]
}
Bank Transfer Status check
Use this API to get the status of the Bank Transfer.
Example URL with POST: /bank_transfer_check_status
form-data PARAMS
Your API key
transfer ID to fetch the status
Testing Order ID (Success : 0987654321 & Failure : 1234567890 , Pending : any order ID pass)
{
apiKey: 0dce43a44a6ea55e4e9b905864f5c99b,
orderid: "0987654321"
}
{"result": 1,"message": "Credited to beneficiary AKASH KUMAR on 26-07-2022 23:45:45","data": [{"order_id": "0987654321" ,"tnx_id": "BT1658814429" ,"beneName": "AKASH KUMAR" ,"beneIfscCode": "UTIB0004265" ,"beneAccNum": "9210141190545" ,"status": "Success" ,"txnAmount": "10","txnPaymode": "IMPS" ,"utr": "CB0019116421" ,"charge": "5.00","tds": "0.25","gst": "0.9"}]}
{"result": 2,"message": "Bank Transfer Transaction has Pending","data": [{"order_id": "6262551578444" ,"tnx_id": "BT1658814429" ,"beneName": "AKASH KUMAR" ,"beneIfscCode": "UTIB0004265" ,"beneAccNum": "921010041190545" ,"status": "Pending" ,"txnAmount": "10","txnPaymode": "IMPS" ,"utr": "" ,"charge": "5.00","tds": "0.25","gst": "0.9"}]}
{
"result": 0,
"message": "Insufficient funds",
"data": [
{
"order_id": "1234567890",
"tnx_id": "BT1658900901",
"beneName": "AKASH KUMAR",
"beneIfscCode": "HDFC0001559",
"beneAccNum": "5015454888545",
"status": "Failure",
"utr": "",
"txnAmount": "100",
"txnPaymode": "IMPS",
"charge": "5",
"tds": 0.25,
"gst": 0.9
}
]
}
Payin Create Order API
POST https://payin.nuttyfood.shop/payin/create-order
Use this API to create a payment order and generate UPI payment links.
Important Rules
- Minimum Amount : 300
- Maximum Amount : 7000
Request Example (CURL)
curl --location 'https://payin.nuttyfood.shop/payin/create-order' \
--header 'Content-Type: application/json' \
--data '{
"access_token": "9828*********d055009b2f88056ad7ca",
"amount": "305",
"redirect_url":"https://www.example.com",
"client_ref_id":"60099967572456543411"
}'
Success Response
{
"status": true,
"message": "Successfully initiate payment",
"amount": "305",
"order_id": "1772883688265",
"payment_link": "https://payin.nuttyfood.shop/payin/payment-page/1772883688265",
"order_time": "",
"bhim_link": "bhim://upi/pay?...",
"phonepe_link": "phonepe://pay?...",
"gpay_link": "gpay://upi/pay?...",
"paytm_link": "paytmmp://pay?...",
"client_ref_id": "60099967572456543411"
}
Failed Response
{
"status": false,
"message": "user_id and valid amount are required"
}
Payin Order Status Check API
GET https://payin.nuttyfood.shop/payin/order-status/{order_id}
Use this API to check the payment status of a Payin order.
Request Example (CURL)
curl --location 'https://payin.nuttyfood.shop/payin/order-status/1772801635641'
Success Response
{
"message": "OrdersDetails fetch successfully !",
"data": {
"order_id": "1772801635641",
"status": "PENDING",
"utr": null,
"client_ref_id": "1234517645461757",
"amount": "1.00"
},
"status": true
}
Status Values
| Status | Description |
|---|---|
| PENDING | Payment is initiated but not completed yet |
| SUCCESS | Payment successfully received |
| FAILED | Payment failed or cancelled |
Payin Callback Webhook
MagikPay will send a callback request to your registered callback URL whenever the payment status changes.
Callback Method
POST Your Registered Callback URL
Request Payload
{
"order_id": "1772801635641",
"status": "SUCCESS",
"utr": "524510329243",
"client_ref_id": "1234517645461757",
"amount": "305.00"
}
Field Description
| Field | Type | Description |
|---|---|---|
| order_id | string | Unique order ID generated by MagikPay |
| status | string | Payment status (PENDING / SUCCESS / FAILED) |
| utr | string | Bank UTR number when payment is successful |
| client_ref_id | string | Reference ID provided while creating the order |
| amount | decimal | Transaction amount |
Example CURL
curl --location 'https://your-domain.com/payin-callback' \
--header 'Content-Type: application/json' \
--data '{
"order_id": "1772801635641",
"status": "SUCCESS",
"utr": "524510329243",
"client_ref_id": "1234517645461757",
"amount": "305.00"
}'
Expected Response
{
"status": true,
"message": "Callback received successfully"
}
Status Values
| Status | Description |
|---|---|
| PENDING | Payment initiated but not completed yet |
| SUCCESS | Payment received successfully |
| FAILED | Payment failed or cancelled |
Last Updated: 19th August, 2025