> ## Documentation Index
> Fetch the complete documentation index at: https://developer.nomba.com/llms.txt
> Use this file to discover all available pages before exploring further.

# Confirm the charge

> Check a charge's final status before you give the customer value.

export const base_0 = "/docs/products/accept-payment/recurring-payments/api"

<CardGroup cols={2}>
  <Card title="Fetch a single transaction" icon="link-simple" href="/nomba-api-reference/requery/fetch-a-single-transaction-on-the-parent-account" />
</CardGroup>

**Step 7 of 7.** Always confirm a charge before you give the customer value, such as extending their subscription or crediting their wallet. Use both the webhook and the API.

## Listen for the webhook

When a charge succeeds, Nomba sends a `payment_success` webhook to your webhook URL, with the same structure as the <a href={`${base_0}/store-the-card-token`}>first payment</a>. When a charge fails, Nomba sends `payment_failed`. Match the webhook to the charge by `data.order.orderReference`.

`data.order.isTokenizedCardPayment` is `"true"` (a string) for a charge on a saved card, and `"false"` for the first, card-saving payment. Use it to tell renewals apart from first payments in your webhook handler.

Nomba retries a webhook if your server doesn't respond with a `2xx` status, so the same event can arrive more than once. Give value only once for each `orderReference`.

# `GET /v1/transactions/accounts/single`

Look up the charge by your `orderReference`. For other ways to look up a transaction, see [Verify transactions](/docs/products/accept-payment/verify-transactions).

#### Headers

<ParamField header="Authorization" type="string" required>
  `Bearer <access_token>`
</ParamField>

<ParamField header="accountId" type="string" required>
  Your account ID
</ParamField>

#### Query parameters

<ParamField query="orderReference" type="string" required>
  The `orderReference` you sent with the charge
</ParamField>

#### Response body

<ResponseField name="data.status" type="string" required>
  `"SUCCESS"` when the charge succeeded
</ResponseField>

<ResponseField name="data.amount" type="string" required>
  The transaction amount
</ResponseField>

<ResponseField name="data.onlineCheckoutOrderReference" type="string" required>
  Your `orderReference`
</ResponseField>

The charge succeeded only if **all** of these are true:

* `data.status` is `"SUCCESS"`.
* `data.onlineCheckoutOrderReference` matches the `orderReference` you charged.
* The amount matches the amount you charged.

If the status is anything else, don't give value yet. Check again later, or wait for the webhook.

<RequestExample>
  ```bash Request theme={null}
  curl --request GET \
    --url 'https://api.nomba.com/v1/transactions/accounts/single?orderReference=sub-2026-11-0001' \
    --header 'Authorization: Bearer <access_token>' \
    --header 'accountId: <accountId>'
  ```
</RequestExample>

<ResponseExample>
  ```json Success response (200) theme={null}
  {
    "code": "00",
    "description": "SUCCESS",
    "data": {
      "id": "WEB-ONLINE_C-613BB-783e42db-1bac-438a-b671-62614e721aea",
      "status": "SUCCESS",
      "amount": "5000.00",
      "source": "web",
      "type": "online_checkout",
      "gatewayMessage": "PAYMENT SUCCESSFUL",
      "onlineCheckoutOrderId": "ae550652-a61a-4309-ae8d-1a38f330b9f8",
      "onlineCheckoutOrderReference": "sub-2026-11-0001",
      "onlineCheckoutCurrency": "NGN",
      "onlineCheckoutCustomerEmail": "ada@example.com",
      "onlineCheckoutAmount": "5000.00",
      "onlineCheckoutPaymentMethod": "card_payment",
      "currency": "NGN",
      "entryType": "CREDIT"
    }
  }
  ```

  ```json Not found theme={null}
  {
    "code": "01",
    "description": "Transaction not found",
    "data": null
  }
  ```
</ResponseExample>

<Card title="Manage saved cards" icon="credit-card" href="/docs/products/accept-payment/recurring-payments/api/list-saved-cards">
  List a customer's saved cards, change the email linked to a card, or delete a card.
</Card>


This documentation is built and hosted on [Mintlify](https://mintlify.com), a developer documentation platform.