Back to Home

API Documentation

Integrate ArusPay into your applications with our REST API

Getting Started

Authentication
All API requests require authentication using your API key

Get your API keys from the Settings page after logging in. Use your Live API Key for production and Test API Key for development.

Include your API key in the header:

Authorization: Bearer YOUR_API_KEY

Base URL:

https://aruspay.my.id/api/v1

API Endpoints

GET/wallet/balance
Get wallet balance for authenticated user

cURL Example:

curl -X GET "https://aruspay.my.id/api/v1/wallet/balance" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json"

Response:

{
  "success": true,
  "data": {
    "balance": 1500.00,
    "currency": "MYR",
    "wallet_id": "wal_abc123"
  }
}
POST/wallet/topup
Top up wallet balance

Request Body:

{
  "amount": 100.00,
  "payment_method": "fpx",
  "bank_code": "MAYBANK"
}

cURL Example:

curl -X POST "https://aruspay.my.id/api/v1/wallet/topup" \
  -H "Authorization: Bearer YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "amount": 100.00,
    "payment_method": "fpx",
    "bank_code": "MAYBANK"
  }'

Response:

{
  "success": true,
  "data": {
    "transaction_id": "txn_xyz789",
    "redirect_url": "https://aruspay.my.id/checkout/txn_xyz789",
    "status": "pending"
  }
}

Error Codes

CodeStatusDescription
400Bad RequestInvalid request parameters
401UnauthorizedInvalid or missing API key
403ForbiddenInsufficient permissions
404Not FoundResource not found
422UnprocessableValidation error (e.g., insufficient balance)
429Rate LimitedToo many requests (limit: 100/min)
500Server ErrorInternal server error

Webhooks

Event Notifications
Receive real-time notifications when events occur in your account

Configure your webhook URL in the Settings page. We'll send POST requests to your endpoint when events occur.

Available Events:

transaction.completed - When a transaction is completed

transaction.failed - When a transaction fails

transfer.received - When you receive a transfer

withdrawal.approved - When withdrawal is approved

withdrawal.rejected - When withdrawal is rejected

Webhook Payload Example:

{
  "event": "transaction.completed",
  "timestamp": "2024-01-15T10:30:00Z",
  "data": {
    "transaction_id": "txn_abc123",
    "type": "top_up",
    "amount": 100.00,
    "status": "completed"
  }
}

SDKs & Libraries

JavaScript / Node.js
npm install @aruspay/sdk
Coming Soon
Python
pip install aruspay
Coming Soon
PHP
composer require aruspay/sdk
Coming Soon

Ready to Integrate?

Create an account to get your API keys and start building