Check Payment Status

Check Payment Status: Returns the current status of an API payment (fiat or crypto) recorded in UMVA, identified by your identifier or the internal trx. This endpoint does not call the payment gateway again; it simply returns what UMVA has stored after IPNs/webhooks.

Endpoint: POST /check-payment-status

Parameters (JSON body):

  • public_key (required, string): Merchant Public API Key.
  • identifier (optional, string): Your order reference used when calling /initiate-fiat or /initiate-crypto.
  • trx (optional, string): UMVA internal transaction reference returned in the data.trx field.

At least one of identifier or trx must be provided. If both are present, identifier is used.

Example Request:

curl -X POST "https://umva.net/api/server-api-payment/check-payment-status" \
  -H "Content-Type: application/json" \
  -H "Accept: application/json" \
  -d "{
    \"public_key\": \"PUB-LIVE-XXX\",
    \"identifier\": \"ORD-12345\"
  }"

Success Response Example (HTTP 200):

{
  "status": "success",
  "data": {
    "identifier": "ORD-12345",
    "trx": "UMV-TRX-A8F903B",
    "amount": 5000,
    "currency": "RWF",
    "payment_status": "pending",
    "ipn_url": "https://yoursite.com/ipn",
    "success_url": "https://yoursite.com/success",
    "cancel_url": "https://yoursite.com/cancel",
    "gateway_charge_id": "ch_XXXXXXXX",
    "created_at": "2024-10-12T10:10:00.000000Z",
    "updated_at": "2024-10-12T10:10:05.000000Z"
  }
}

Usage: Use this endpoint from your backend or dashboard to poll the latest status of a charge if you missed the IPN or want to verify that your system has processed it.