forked from thijooree/android
2.4 KiB
2.4 KiB
Bill Pay (Quick Pay, paid by BML card)
Pay an Ooredoo postpaid bill through the ooredoo.mv Quick Pay bill-pay page. It is the same
single order call as Raastas with a different transType / serviceType, and
no GST. From the order on, it's the BML card-only merchant flow and the same return to Ooredoo.
Reconstructed from docs/ooredooapi/tmp/ooredoo_billpay_bml_card.har (a Firefox HAR).
Flow overview
GET /bill-pay
GET /ooredoo-prod/QuickPayPackage/v1/numberTypeValidation?… → custType POST (Number Validation)
POST /ooredoo-prod/PaymentGateway/bml → orderID, bmlUrl
── BML card-only merchant flow ── → TRANSACTION_CONFIRMED
GET transaction.merchants…/<id>?wait=1 → 302 my.ooredoo.mv/bml/response_new.php?…state=CONFIRMED
(200, auto-submits, transtype=1) → POST www.ooredoo.mv/ooredoo-prod/PaymentGateway/redirect/bml
→ /payment-status?statusDesc=sucess&status=1&order_id=<orderID>
The page doesn't look up the outstanding bill: the amount is whatever is typed.
Order
POST https://www.ooredoo.mv/ooredoo-prod/PaymentGateway/bml, headers as in
Raastas → Order.
{"msisdn":"9609XXXXXX","purchaseAmount":"10.01","amountWithoutGst":"10.01",
"receiverMsisdn":"9609XXXXXX","transType":"billpay","serviceType":"Mobile",
"serviceTypeDisplayName":"Mobile"}
{"status":"OK","msg":"Successfully generated order id","code":"2000",
"data":{"orderID":"36447962","purchaseAmount":"1001","shortUrl":"https://pay.bml.com.mv/…",
"bmlUrl":"https://transaction.merchants.bankofmaldives.com.mv/6ac011e099f9d890856e2d33", …}}
| Raastas | Bill Pay | |
|---|---|---|
transType |
recharge |
billpay |
serviceType |
prepaid |
Mobile |
amountWithoutGst |
amount credited | = purchaseAmount |
| GST | 8% added on top | none |
Return form transtype |
2 |
1 |
Limits
Minimum MVR 10, decimals allowed (up to 2 places). The maximum isn't known.
Related: Number Validation · Raastas · BML Merchant Card Payment · App side: Transfer Flows