POST https://mybundlepay.com/ng/api/v2/dynamic/verify

Description

Verify the payment status of a previously generated Dynamic Virtual Account using the transaction reference (tx_ref) returned during account creation.

HEADERS

Authorization * String

Pass your Secret Key as a Bearer Token.

Content-Type application/json

All requests must be sent as JSON.

BODY PARAMETERS

The unique transaction reference generated during Dynamic Virtual Account creation.

Response Fields

Field Description
reference Your transaction reference.
amount Amount paid.
charges Transaction processing fee.
accountNumber Virtual account number used for payment.
accountName Virtual account name.
bank Bank assigned to the virtual account.
status Payment status (PAID, PENDING, EXPIRED).
paymentReference Provider payment reference.
sessionId NIBSS Session ID.
contractReference Provider contract reference.
originatorAccountNumber Sender account number.
originatorName Name of the payer.
service Payment channel/service.
narration Payment narration.
created_at Transaction creation time.
updated_at Last transaction update.

<?php

$curl = curl_init();

curl_setopt_array($curl, array(
  CURLOPT_URL => "https://mybundlepay.com/ng/api/v2/dynamic/verify",
  CURLOPT_RETURNTRANSFER => true,
  CURLOPT_ENCODING => "",
  CURLOPT_MAXREDIRS => 10,
  CURLOPT_TIMEOUT => 0,
  CURLOPT_FOLLOWLOCATION => true,
  CURLOPT_HTTP_VERSION => CURL_HTTP_VERSION_1_1,
  CURLOPT_CUSTOMREQUEST => "POST",
  CURLOPT_POSTFIELDS => json_encode([
      "tx_ref" => "MBP-0012-001"
  ]),
  CURLOPT_HTTPHEADER => array(
      "Content-Type: application/json",
      "Authorization: Bearer {secret_key}"
  ),
));

$response = curl_exec($curl);

curl_close($curl);

echo $response;

?>

const axios = require('axios');

axios.post(
    'https://mybundlepay.com/ng/api/v2/dynamic/verify',
    {
        tx_ref: 'MBP-0012-001'
    },
    {
        headers: {
            'Content-Type': 'application/json',
            'Authorization': 'Bearer {secret_key}'
        }
    }
)
.then(response => {
    console.log(response.data);
})
.catch(error => {
    console.log(error.response.data);
});

Sample Response


{
    "status": "success",
    "message": "Transaction verified successfully.",
    "data": {
        "reference": "MBP-0012-001",
        "amount": "100.00",
        "charges": "10.00",
        "accountNumber": "8880002192",
        "accountName": "MYBUNDLEPAY CHECKOUT",
        "bank": "Rubies Bank",
        "status": "PAID",
        "paymentReference": "4Y5TWIAB16WMVQRICYQ4ZO35XX5M24",
        "sessionId": "4Y5TWIAB16WMVQRICYQ4ZO35XX5M24",
        "contractReference": "20260706FT00000000000000012602",
        "originatorAccountNumber": "1000001421",
        "originatorName": "MYBUNDLEPAY LTD",
        "service": "INTERNAL",
        "narration": "test",
        "created_at": "2026-07-06 14:24:12",
        "updated_at": "2026-07-06 14:25:46"
    }
}