Skip to main content

Use Case: Khalti (Nepal)

Collect a payment via Khalti using the unified Initiate and Inquire APIs.

SettingValue
RegionNP
Operator100025
CurrencyNPR

Initiate

curl --location 'https://sandbox.simpaisa.com/payins/payments/initiate' \
--header 'api-token: YOUR_API_TOKEN' \
--header 'Content-Type: application/json' \
--header 'mode: payin' \
--header 'region: NP' \
--header 'operatorId: 100025' \
--header 'version: 3.0' \
--data '{
"merchantId": "2000150",
"operatorId": "100025",
"msisdn": "9865806257",
"amount": "10",
"userKey": "sample-order-001",
"successUrl": "https://merchant.example/success",
"failureUrl": "https://merchant.example/failure",
"productReference": "test1",
"currencyCode": "NPR",
"transactionType": "0",
"platform": "0"
}'
info

Nepal uses operatorId in the request and response (not operator). operator is Bangladesh-only. Keep header and body values aligned.

Redirect the customer to payment_url, then call Inquire.


Sample Postback

{
"status": "0000",
"message": "Success",
"transactionId": "1423487",
"merchantId": "5000001",
"amount": "365.0",
"msisdn": "1632332883",
"userKey": "BDTb95a870f04403992d5034a2d201d2",
"operatorId": "100025",
"transactionType": "0",
"createdTimestamp": "2025-09-19 16:15:53.0",
"updatedTimestamp": "2025-09-19 16:17:07.187",
"currencyCode": "NPR"
}