Lotuspay Merchant Integration Documentation
Guest Developer

1. Payment order placement

Submission Method: POST
Submission URL: http://150.5.128.21/apid/newbankPay/crtOrder.do
Request Parameters:
Parameter nameTypeRequiredIllustrate / Description
appIdstringYesMerchant Account ID viewable in platform backend dashboard.
appOrderNostringYesMerchant own unique system transaction tracking number.
orderCountystringYesOrder amount (accurate to two decimal places, e.g., 100.00).
payIdstringYesPayment channel code (101 = bKash, 102 = Nagad, 103 = Rocket).
payNamestringNoPayer identification name data variable.
notifyURLstringYesAsynchronous server HTTP callback notification address string.
jumpURLstringNoRedirect address after client successfully completes payment.
signstringYesLexicographically sorted uppercase MD5 authentication signature token.
Request Example JSON:
{
  "appId": "7881744704",
  "appOrderNo": "PAY202607191001",
  "orderCounty": "500.00",
  "payId": "101",
  "notifyURL": "http://yourdomain.com/callback.php",
  "sign": "E9785F22B0F5BC26461E235F22F0041B"
}
Response Parameters:
Parameter nameTypeIllustrate / Description
codeintStatus code. 200 indicates operation execution success.
msgstringDescription message returned by API engine node.
data.orderNostringPlatform dynamic serial transaction unique tracking ID.
data.appOrderNostringMerchant custom tracking identification number.
data.payUrlstringDynamic target cashier destination payment interface URL.
Success Response JSON:
{
  "code": 200,
  "msg": "success",
  "data": {
    "orderNo": "PAY20260719225501",
    "appOrderNo": "PAY202607191001",
    "orderCounty": "500.00",
    "payUrl": "http://150.5.128.21/pay/index.php?trade_no=PAY20260719225501&payId=101"
  }
}

2. Payment callback interface

Submission Method: POST
Callback Data Parameters:
Parameter nameTypeParticipate in signIllustrate / Description
appOrderNostringYesMerchant unique tracking reference number.
orderNostringYesPlatform unified serial transaction node identification.
appIdstringYesMerchant account identification index token.
orderCountystringYesGross transaction order asset volume value submitted.
payAmtstringYesActual net asset balance added after handling fee cuts.
orderFeestringNoPlatform system transaction processing charge deducted.
orderStatusstringYes00 = Payment Successful, 01 = Processing, 99 = Failed.
signstringNoMD5 validation signature value computed by target server.
Callback Payload Example JSON:
{
  "appOrderNo": "PAY202607191001",
  "orderNo": "PAY20260719225501",
  "appId": "7881744704",
  "orderCounty": "1000.00",
  "payAmt": "980.00",
  "orderFee": "20.00",
  "orderStatus": "00",
  "sign": "F82C27D37AD96E5681D960EA16882394"
}
Notice: The notification service will hit your server. If successful, you must return a fixed uppercase "SUCCESS" string.

3. Payment order query

Submission Method: GET / POST
Submission URL: http://150.5.128.21/apid/newbankPay/selOrder.do
Request Parameters:
Parameter nameTypeRequiredIllustrate / Description
appIdstringYesMerchant identifier number.
appOrderNostringYesMerchant tracking transaction reference ID.
signstringYes32-bit uppercase MD5 signature validation token.
Response Parameters:
Parameter nameTypeIllustrate / Description
codeint200 indicates operational execution success.
msgstringDescription state response information label.
data.orderNostringPlatform internal tracking transaction number string.
data.appOrderNostringMerchant reference custom transaction string index.
data.orderStatusstring00 = Success Paid, 01 = Pending, 99 = Failed.
data.orderCountystringGross original transaction asset amount value.
data.payAmtstringNet asset values post-processing configuration logic.
Success Response JSON:
{
  "code": 200,
  "msg": "success",
  "data": {
    "orderNo": "PAY20260719225501",
    "appOrderNo": "PAY202607191001",
    "orderStatus": "00",
    "orderCounty": "1000.00",
    "payAmt": "980.00"
  }
}

4. Pay and place order

Submission Method: POST
Submission URL: http://150.5.128.21/apid/newbankPay/crtAgencyOrder.do
Request Parameters:
Parameter nameTypeRequiredIllustrate / Description
appIdstringYesMerchant ID account token key credential.
appOrderNostringYesMerchant custom payout withdrawal reference ID.
orderCountystringYesAmount to transfer / withdraw to target endpoint receiver.
payIdstringYesPayout route identification variable code (401 = Payout Node).
accNostringYesReceiver bKash/Nagad system mobile phone wallet node account number.
accNamestringYesReceiver verification name identity record matching parameter.
bankCodestringNoBank routing system identifier variable if applicable.
bankNamestringNoOperator destination string config parameter reference (e.g. bKash).
notifyURLstringYesAsynchronous server callback communication URL target location.
extParamsstringNoExtended metadata custom parameters object map.
signstringYes32-bit uppercase generated signature hash value validation string.
Request Example JSON:
{
  "appId": "7881744704",
  "appOrderNo": "WIT202607190099",
  "orderCounty": "1500.00",
  "payId": "401",
  "accNo": "01712345678",
  "accName": "Zhang San",
  "bankName": "Industrial and Commercial Bank of China",
  "notifyURL": "http://yourdomain.com/payout_notify.php",
  "sign": "5185FA0394B040BFCE43D56ACA61ABE7"
}
Response Parameters:
Parameter nameTypeIllustrate / Description
codeintStatus confirmation indicator variable logic.
msgstringOperational error or successful description feedback parameter string.
data.orderNostringUnified platform generated processing unique trade serial code.
data.appOrderNostringMerchant reference verification index parameter tracker.
data.statusstring01 = Processing, 00 = Settled, 99 = Rejected.
Success Response JSON:
{
  "code": 200,
  "msg": "success",
  "data": {
    "orderNo": "AGENCY202607199988",
    "appOrderNo": "WIT202607190099",
    "status": "01"
  }
}

5. Payout order inquiry

Submission Method: GET / POST
Submission URL: http://150.5.128.21/apid/newbankPay/selAgencyOrder.do
Request Parameters:
Parameter nameTypeRequiredIllustrate / Description
appIdstringYesMerchant account identification number tracker parameter index.
appOrderNostringYesPayout transaction identification tracker custom tracking ID.
signstringYes32 uppercase MD5 generated checking hash encryption token key string.
Success Response JSON:
{
  "code": 200,
  "msg": "success",
  "data": {
    "orderNo": "AGENCY202607199988",
    "appOrderNo": "WIT202607190099",
    "orderStatus": "00",
    "orderCounty": "1500.00",
    "orderFee": "30.00",
    "payAnt": "1530.00"
  }
}

6. Check merchant balance

Submission Method: GET
Submission URL: http://150.5.128.21/apid/newbankPay/selUser.do
Request Parameters:
Parameter nameTypeRequiredIllustrate / Description
appIdstringYesMerchant database identifier tracking index credential token string.
signstringYesLexicographically assembled 32-digit uppercase verification code string hash.
Success Response JSON:
{
  "code": 200,
  "msg": "success",
  "data": {
    "appId": "7881744704",
    "balance": "54200.50",
    "freeze": "0.00",
    "currency": "BDT"
  }
}

7. MD5 Signature Rules

MD5 Hashing Step Engine:
1. Arrange all request parameter parameter keys in alphabetical dictionary order (A to Z).
2. Remove empty string parameter variables and the sign parameter key itself.
3. Form a combined query string line like: appId=xxx&appOrderNo=xxx&orderCounty=xxx.
4. Append the active secret integration key string at the tail end position: ...&key=YOUR_SECRET_KEY.
5. Enclose the string inside an MD5 hash calculation tool and transform the final payload value output directly into Uppercase letters.
String Generation String Example:
appId=7881744704&appOrderNo=PAY202607191001&orderCounty=500.00&payId=101&key=093e59809ecb45c3a01b4513606c9165