Kazawallet API Documentation

This document provides comprehensive information about all Kazawallet API endpoints used in the Kascards application.

Table of Contents


Configuration

Base URL

The API base URL is configurable via environment variables:

Base URL: https://outdoor.kasroad.com/api

API Headers

  • x-api-key: Your API key,
  • x-api-secret: Your API Secret key,

Payment Methods

Development

  • USDT-TRC20: 15
  • USDT-BEP20: 13

Production

  • USDT-TRC20: 118
  • USDT-ERC20: 116
  • USDT-SOL: 117
  • USDT-BEP20: 115

Endpoints

1. Create Deposit

Endpoint: POST /custom/user/external/createDepositRequest

Description: Creates a deposit request for a user.

Headers:

apiHeaders

Request Payload:

{
  merchantEmail: "Merchant Email",
  email: "User Email",
  currency: "currency_code",
  amount: "amount",
  note: "Merchant Note",
  paymentMethod: payment method number,
  fields:{
        "custom-field1": "test-1"
        "custom-field2": "test-2"
  }
}

Response Success:

  {
    "success": true,
    "error": null,
    "createdPayment": {
        "status": "pending",
        "message": null,
        "transaction_id": "de-xxxxx",
        "note": null,
        "extraPaymentInfo": null 
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.post( 'https://outdoor.kasroad.com/api/custom/user/external/createDepositRequest',{

  "merchantEmail": "mhd1@user.com",
  "email": "mhd2@user.com",
  "currency": "SYP",
  "amount": "500000",
  "note": "note",
  "paymentMethod": 17,
  "fields": {
    "bemo-dp-f1": "test-1"
  }
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
  },

);

2. Issue Kazawallet Cards

Endpoint: POST /custom/user/external/wallet-cards/create

Description: Create cards request for a user.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Payload:

{
  currency: "currency_code"
}

Response Success:

{
    "created": true,
    "cardId": "kc-xxxxxxx",
    "createdTransfer": {
        "id": "kc-xxxxxxx",
        "amount": "creation fees"
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.post( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/create',{
  "currency": "currency_code"
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

3. Topup Card

Endpoint: PUT /custom/user/external/wallet-cards/topup

Description: Topup cards request for a user.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Payload:

{
  amount: "amount",
  currency: "currency_code",
  cardId: "kc-xxxxxxx"
}

Response Success:

{
    "topup": true,
    "topupTransfer": {
        "id": "kc-xxxxxxx",
        "amount": "amount"
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.post( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/topup',{
  "amount": "amount",
  "currency": "currency_code",
  "cardId": "kc-xxxxxxx"
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

4. Cancel Card

Endpoint: PUT /custom/user/external/wallet-cards/cancel

Description: Cancel cards request for a user.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Payload:

{
  currency: "currency_code",
  cardId: "kc-xxxxxxx"
}

Response Success:

{
    "Success": true,
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.post( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/cancel',{
  "currency": "currency_code",
  "cardId": "kc-xxxxxxx"
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

5. Lock Card

Endpoint: PUT /custom/user/external/wallet-cards/lock

Description: Lock cards request for a user.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Payload:

{
  cardId: "kc-xxxxxxx"
}

Response Success:

{
    "success": true,
    "message": "Card locked successfully",
    "details": {
        "success": true,
        "ts": xxxxxxxxx,
        "data": true,
        "code": 0,
        "msg": "Success"
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.put( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/lock',{
  "cardId": "kc-xxxxxxx"
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

6. Unlock Card

Endpoint: PUT /custom/user/external/wallet-cards/unlock

Description: Unock cards request for a user.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Payload:

{
  cardId: "kc-xxxxxxx"
}

Response Success:

{
    "success": true,
    "message": "Card unlocked successfully",
    "details": {
        "success": true,
        "ts": xxxxxxxx,
        "data": true,
        "code": 0,
        "msg": "Success"
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.put( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/unlock',{
  "cardId": "kc-xxxxxxx"
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

7. Get Card Details

Endpoint: GET /custom/user/external/wallet-cards/get-card-details

Description: Get card details.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Query:

{
  cardId="kc-xxxxxxx"
}

Response Success:

{
    "success": true,
    "message": "Card details retrieved successfully",
    "details": {
        "success": true,
        "ts": 1764680938,
        "data": {
            "cardCurrency": "USD",
            "cardName": "Platinum Virtual Card",
            "cardNumber": "4937280020063770",
            "cvv": "581",
            "expiryDate": "09/30"
        },
        "code": 0,
        "msg": "Success"
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.get( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/get-card-details?cardId=kc-xxxxxxxx',  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

8. Get Card Transactions

Endpoint: GET /custom/user/external/wallet-cards/get-transactions

Description: Get card transactions.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Query:

{
  cardId="kc-xxxxxxx"
}

Response Success:

{
  {
    "data": [
        {
            "amount": "amount",
            "businessOrderNo": "businessOrderNo",
            "cardNumber": "card number",
            "currency": "currency_code",
            "direction": number,
            "merchantName": null | "merchantName",
            "orderNo": "order",
            "originalAmount": null,
            "originalCurrency": null,
            "reason": null,
            "state": 4,
            "transactionAt": 1764488059337,
            "transactionId": "transaction id",
            "type": 1
        }
    ],
    "cardDetails": {
        "cardNumber": "**** **** **** ****",
        "availableBalance": "card balance",
        "status": 1,
        "type": 1
    },
    "meta": {
        "pagination": {
            "page": 1,
            "pageSize": 15,
            "pageCount": 3,
            "total": 36
        }
    }
}
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.get( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/get-transactions?cardId=kc-xxxxxxxx',  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);

9. Validate code

Endpoint: POST /custom/user/external/wallet-cards/validate-code

Description: Validate code.

Headers:

apiHeaders,
'merchant-email': 'merchant@example.com'

Request Payload:

{
  cardId:"kc-xxxxxxx"
  validateCode: "XXXXXXX"
}

Response Success:

{
    "success": true,
    "message": "Code validated successfully",
    "details": {
        "code": 0,
        "msg": "Success",
        "success": boolean,
        "ts": number,
        "data": boolean
    }
}

Response Error:

{
  success: false,
  error: "Error Msg",
}

Usage Example:

const result = await axios.post( 'https://outdoor.kasroad.com/api/custom/user/external/wallet-cards/validate-code',{
  'cardId': 'kc-xxxxxxx',
  'validateCode': 'XXXX'
},  { 
    'x-api-key': 'XXXXX', 
    'x-api-secret': 'XXXXX', 
    "merchant-email": 'merchant@example.com'
  },

);