Payment
Verify Payment
Look up a payment by its pp_id and check its status before you deliver the order.
{base_url}/api/verify-paymentReturns a payment's details and current status. Call it with the pp_id from Create Payment when the customer comes back to your return_url, or when your webhook receives an update.
Before you deliver the order, check the status, and that amount and currency match what you charged. Amounts are decimal strings: compare them as decimals, not as text.
Authentication
Send your API key in the MHS-PIPRAPAY-API-KEY header: MHS-PIPRAPAY-API-KEY: YOUR_API_KEY. Create keys in System Settings → API Settings.
The key needs the payment:verify ability, otherwise the request fails with INSUFFICIENT_ABILITY.
Body parameters
pp_idstringrequiredThe
pp_idreturned by Create Payment.
Response fields
pp_idstringThe payment's ID.
full_namestringCustomer's full name.
email_addressstringCustomer's email address.
mobile_numberstringCustomer's mobile number.
gatewaystringName of the payment method the customer used, e.g.
Bkash Personal.amountstringAmount charged, as a decimal string with 8 decimal places.
feestringFee added to the payment, as a decimal string.
discount_amountstringDiscount applied, as a decimal string.
net_totalnumberTotal after fee and discount, as a number.
currencystringCurrency code, upper case, e.g.
BDT.metadataobjectThe
metadatayou sent with Create Payment, returned unchanged.senderstringThe account the customer paid from, e.g. their wallet number.
transaction_idstringThe payment method's transaction ID.
statusstringPayment status, e.g.
refunded.datestringWhen the payment was made, e.g.
Sep 7, 2026 08:28 PM.
Responses
SuccessPayment found.PAYMENT_NOT_FOUNDNo payment has thispp_id.INVALID_API_KEYThe API key is missing, wrong or revoked.INSUFFICIENT_ABILITYThe API key exists but doesn't have thepayment:verifyability.