Skip to main content
POST
/
Gateway
/
v
{version}
/
Payment
/
deposit
curl --request POST \
  --url https://waypay-merchant-api.icydesert-41d42f7e.uaenorth.azurecontainerapps.io/Gateway/v1/Payment/deposit \
  --header 'SWICH-API-Key: pk_test_xxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "mobileNumber": "03123456789",
    "amount": 1500,
    "walletProvider": 1,
    "last6CNICDigits": "345678",
    "currency": "PKR",
    "description": "Product Purchase",
    "intentType": "deposit",
    "customerRef": {
      "name": "Ali Ahmed",
      "email": "ali@example.com",
      "cnic": "3520108345678",
      "phone": "03123456789"
    },
    "orderRef": {
      "orderRef": "ORD123456"
    }
  }'
{
  "paymentIntentId": "770e8400-e29b-41d4-a716-446655440000",
  "amount": 1500,
  "currency": "PKR",
  "merchantReference": "ORD123456",
  "walletChargeInfo": {
    "provider": "JazzCash",
    "status": "Pending",
    "transactionReference": "JC20251213123456",
    "message": "OTP sent to customer",
    "isSuccess": true,
    "errorDetails": null
  }
}

Overview

This endpoint creates a deposit order that initiates a mobile wallet charge from your customer. Use this for collecting payments directly from mobile wallets like JazzCash, Easypaisa.

Path Parameters

version
string
required
API version (e.g., “1”)

Request Body

mobileNumber
string
required
Customer’s mobile wallet number
amount
number
required
Deposit amount (must be greater than 0.01)
walletProvider
integer
Mobile wallet provider code:
  • 1: JazzCash
  • 2: Easypaisa
billReference
string
Optional bill or invoice reference
last6CNICDigits
string
required
Last 6 digits of customer’s CNIC (exactly 6 numeric digits)
currency
string
Payment currency (e.g., “PKR”)
description
string
required
Payment description (1-200 alphanumeric characters and spaces only)
successUrl
string
URL to redirect after successful payment
cancelUrl
string
URL to redirect after cancelled payment
intentType
string
Payment intent type (e.g., “deposit”)
customerRef
object
Customer information
orderRef
object
Order information

Response

paymentIntentId
uuid
Unique identifier for the payment intent
amount
number
Deposit amount
currency
string
Payment currency
merchantReference
string
Your merchant reference for this transaction
walletChargeInfo
object
Information about the wallet charge attempt
curl --request POST \
  --url https://waypay-merchant-api.icydesert-41d42f7e.uaenorth.azurecontainerapps.io/Gateway/v1/Payment/deposit \
  --header 'SWICH-API-Key: pk_test_xxxxxxxx' \
  --header 'Content-Type: application/json' \
  --data '{
    "mobileNumber": "03123456789",
    "amount": 1500,
    "walletProvider": 1,
    "last6CNICDigits": "345678",
    "currency": "PKR",
    "description": "Product Purchase",
    "intentType": "deposit",
    "customerRef": {
      "name": "Ali Ahmed",
      "email": "ali@example.com",
      "cnic": "3520108345678",
      "phone": "03123456789"
    },
    "orderRef": {
      "orderRef": "ORD123456"
    }
  }'
{
  "paymentIntentId": "770e8400-e29b-41d4-a716-446655440000",
  "amount": 1500,
  "currency": "PKR",
  "merchantReference": "ORD123456",
  "walletChargeInfo": {
    "provider": "JazzCash",
    "status": "Pending",
    "transactionReference": "JC20251213123456",
    "message": "OTP sent to customer",
    "isSuccess": true,
    "errorDetails": null
  }
}

Wallet Provider Codes

ProviderCodeDescription
JazzCash1Pakistan’s leading mobile wallet
Easypaisa2Popular mobile wallet service

Best Practices

  • Always validate the mobile number format before making the request
  • Ensure the last 6 CNIC digits match the wallet account holder
  • Handle OTP verification flow for successful wallet charges
  • Monitor the walletChargeInfo.status for updates on the charge status