# Payments (/en/features/transactions/payments)

Find any payment, read its full lifecycle, refund it, and trace the funds to your payout.

A payment is a single attempt to charge a customer for a defined amount, surfaced in your dashboard as one row in the **Payments** tab and one detail page. Behind the scenes, it's a <ApiLink href="/api-reference/objects/payment-intent">Payment Intent</ApiLink> with one or more <ApiLink href="/api-reference/objects/charge">Charge</ApiLink> attempts, but in the dashboard you just see the payment.

This page covers how to find a payment, what every section of the detail page tells you, and how the dashboard surfaces refund state, processor failures, and the connection from a payment to the payout that disbursed the funds.

## What you can do [#what-you-can-do]

<Cards>
  <Card icon="<ListFilter />" title="Find any payment fast">
    Search by ID, customer email, phone, or name. Filter by status, amount range, date, country,
    device, or payment method type.
  </Card>

  <Card icon="<Receipt />" title="Read the full lifecycle">
    A timeline shows every step from start to authorization, 3-D Secure, the customer's action on a
    redirect or voucher, refunds, and the eventual payout.
  </Card>

  <Card icon="<RefreshCcw />" title="Refund inline">
    Issue a full or partial refund from the detail page. Refund state shows up on the same payment
    row, no separate refunds list.
  </Card>

  <Card icon="<Wallet />" title="Trace funds to payout">
    Every successful payment carries a **Connected Payout** link that takes you to the payout batch
    where the money landed.
  </Card>
</Cards>

## Find a payment [#find-a-payment]

Click **Transactions** in the dashboard sidebar. The page opens on the **Payments** tab.

### KPI cards [#kpi-cards]

Three totals sit above the table, scoped to the filters you have applied:

| Card             | What it shows                                                                              |
| ---------------- | ------------------------------------------------------------------------------------------ |
| **Gross Volume** | Total revenue from the visible payments, including refunds and XPay fees, in your balance. |
| **Net Volume**   | What the visible payments contributed to your XPay balance, after XPay fees and refunds.   |
| **Refunds**      | Total refunds processed against the visible payments.                                      |

### Search and filters [#search-and-filters]

The search box matches against payment ID, customer ID, customer email, name, and phone. The filter bar above the table holds:

| Filter             | What it does                                                                                |
| ------------------ | ------------------------------------------------------------------------------------------- |
| **Status**         | Multi-select: **Successful**, **Failed**, **Refunded**, **Partially Refunded**, and others. |
| **Amount**         | Range or comparison (e.g. greater than, between two values). In your settlement currency.   |
| **Date**           | Range or relative window. Uses your browser timezone.                                       |
| **Country**        | Filter by the customer's IP country at payment time.                                        |
| **City**           | Filter by IP-derived city.                                                                  |
| **Device**         | Mobile, tablet, desktop.                                                                    |
| **Platform**       | iOS, Android, Windows, macOS, and others.                                                   |
| **Browser**        | Chrome, Safari, Firefox, and others.                                                        |
| **Payment method** | Card, Valu, Fawry, mobile wallet.                                                           |

### Columns [#columns]

| Column             | What it shows                                                                                                                                           |
| ------------------ | ------------------------------------------------------------------------------------------------------------------------------------------------------- |
| **Amount**         | The amount in the customer's currency. A small **VAT** or **Fee** badge appears when those configs are on; hover the amount to see a payment breakdown. |
| **Status**         | A color-coded badge. Hover for a one-line tooltip; on **Failed**, the tooltip carries the decline reason and a link to the matching error page.         |
| **Customer**       | Email and phone of the paying customer, with a click-through to their profile.                                                                          |
| **Payment Method** | Card brand and last 4, Valu, Fawry, or wallet identifier.                                                                                               |
| **Date**           | When the payment was created.                                                                                                                           |
| **Description**    | Free-form text on the payment, when set.                                                                                                                |
| **Refunded Date**  | When the most recent refund was issued, when applicable.                                                                                                |
| **Failure Reason** | A short, plain-language reason on **Failed** rows. Hover for the full decline code, network code, and a link to the right error page.                   |

Click any row to open the payment.

## Read a payment [#read-a-payment]

The detail page is organized as a vertical narrative: who paid, what happened, where the money sits now. Sections appear in this order, with sections hiding when they don't apply.

<Steps>
  <Step>
    ### Header [#header]

    The amount and currency are at the top, with the status badge next to them. A **Held** badge appears when the funds are temporarily frozen for a risk review (see below). When the payment is refundable, a **Refund** button sits to the right.
  </Step>

  <Step>
    ### XPay Intelligence [#xpay-intelligence]

    A panel of signals XPay derives from this single payment, like a repeat purchase, a cross-border charge, or a payment retry. See [Transaction signals](/features/transactions/transaction-signals) for the full list and how to act on them.
  </Step>

  <Step>
    ### Timeline [#timeline]

    A reverse-chronological log of every step in the payment's life. Common entries:

    * **Payment started.** When the Checkout Session began.
    * **3-D Secure** (succeeded, attempted, failed, abandoned). Card-only.
    * **Customer action** (succeeded or abandoned). For BNPL redirects, kiosk vouchers, OTP, mobile wallet redirects, and bank transfers.
    * **Authorized** or &#x2A;*Failed.** The processor's verdict on the charge attempt. Failed entries on the latest attempt carry the decline code, the network decline code, and a link to the matching page in [Decline codes](/integrate/errors/decline-codes).
    * **Refund** (succeeded, pending, failed). One entry per refund.
    * **Payout** (scheduled, in transit, paid, failed, canceled). Tracks the payout batch the funds were assigned to.
    * **Canceled.** When the payment was canceled.

    Multiple charge attempts on the same payment (a customer retrying with a different card) all show up here. The latest attempt's decline info is the one expanded by default.
  </Step>

  <Step>
    ### Checkout Summary [#checkout-summary]

    The line items the customer paid for, drawn from the Checkout Session that created the payment. Useful when a customer asks "what did I buy?".
  </Step>

  <Step>
    ### Transaction Details [#transaction-details]

    A right-column block (stacks below on mobile) listing the metadata fields:

    | Field              | What it shows                                             |
    | ------------------ | --------------------------------------------------------- |
    | **Customer**       | Name, email, phone with a click-through to their profile. |
    | **Payment ID**     | The `pi_*` ID, with one-click copy.                       |
    | **Payment Method** | The card or wallet used.                                  |
    | **Description**    | Whatever your integration set on the payment.             |
    | **Dates**          | When the payment was created and last updated.            |
  </Step>

  <Step>
    ### Payment Breakdown [#payment-breakdown]

    The math behind the amount. Lines appear conditionally based on configuration:

    | Line                                                          | When it shows                                                                 |
    | ------------------------------------------------------------- | ----------------------------------------------------------------------------- |
    | **Customer paid** + **Exchange rate** + **Settlement amount** | When the customer paid in a different currency than your settlement currency. |
    | **Payment amount**                                            | Always. The base amount before VAT and fees.                                  |
    | **VAT (X%)**                                                  | When VAT collection is on for this payment.                                   |
    | **XPay processing fees** (paid by customer)                   | When fee pass-through is on. Adds to the customer's total.                    |
    | **Total charged to customer**                                 | When VAT or fee pass-through is on.                                           |
    | **XPay processing fees** (deducted)                           | When fee pass-through is on. The amount XPay deducts.                         |
    | **Processing fees**                                           | When fee pass-through is off. The flat XPay fee taken from your settlement.   |
    | **Refunded amount**                                           | When any refund has been issued.                                              |
    | **Net amount**                                                | Always. What the payment ultimately contributed to your balance.              |
  </Step>

  <Step>
    ### Connected Payout [#connected-payout]

    Once the payment is settled and assigned to a payout batch, this section shows the payout ID (clickable through to its detail), amount, status, and arrival date. See [Payouts and settlement](/features/account-and-operations/payouts-and-settlement) for the full payout view.
  </Step>

  <Step>
    ### Payment Method Details [#payment-method-details]

    For card payments: brand, masked number, fingerprint, expiry, issuing country, funding type (credit, debit, prepaid), and the **3D Secure** result. For Valu, Fawry, and wallets: the relevant identifiers (loan number, voucher reference, wallet ID).
  </Step>

  <Step>
    ### Client and device info [#client-and-device-info]

    Geolocation, IP, browser, OS, and device type at payment time. Useful when correlating with **Card-Country Mismatch** or **Multi-Device** signals on the customer's profile.
  </Step>

  <Step>
    ### Related transactions [#related-transactions]

    Other payments by the same customer, with status and amount. Click any to drill across.
  </Step>
</Steps>

## Statuses [#statuses]

Every payment carries a status. The ones you'll meet most often:

| Status                 | What it means                                                                                                   |
| ---------------------- | --------------------------------------------------------------------------------------------------------------- |
| **Successful**         | Payment authorized and captured. Funds are queued for payout.                                                   |
| **Partially Refunded** | At least one refund has been issued, but the full amount is not refunded.                                       |
| **Refunded**           | The full captured amount has been refunded.                                                                     |
| **Failed**             | The processor declined the charge. Hover the badge in the list, or open the payment, to see the decline reason. |
| **Pending**            | The payment is in flight. Common for kiosk vouchers, BNPL redirects, and bank transfers awaiting confirmation.  |
| **Requires Action**    | The customer needs to complete a step, like a 3-D Secure challenge or a voucher payment.                        |
| **Canceled**           | The payment was canceled before completion.                                                                     |
| **Voided**             | An authorized payment was released without capture.                                                             |
| **Expired**            | The payment timed out without the customer completing it.                                                       |

A handful of additional statuses (like **Requires Confirmation** and **Requires Payment Method**) only appear on a payment that's mid-creation. The list view collapses these into the closest user-meaningful state.

## Refund a payment [#refund-a-payment]

Open the payment, click **Refund** in the top right, and a sheet opens. Choose a full refund or enter a partial amount, optionally pick a reason (Requested by customer, Duplicate, Fraudulent), and submit. The refund appears in the timeline immediately and the payment's status flips to **Partially Refunded** or **Refunded**.

The button is hidden when the payment isn't refundable: not yet captured, already fully refunded, on a payment method that doesn't support refunds, or under a risk hold.

See [Refunds](/features/transactions/refunds) for the full flow, partial refund rules, and what shows up where.

## The Held badge [#the-held-badge]

Sometimes a payment carries a **Held** badge in the header. This is a temporary risk review by XPay: the captured funds are frozen, and the **Refund** button is hidden until the review is resolved. Holds are placed and released by the XPay risk team. Contact support if you need clarification on a specific hold.

## Where to next [#where-to-next]

<Cards>
  <Card icon="<RefreshCcw />" title="Refunds" href="/features/transactions/refunds">
    Issue a refund, partial vs full, and how refund state surfaces across the dashboard.
  </Card>

  <Card icon="<Sparkles />" title="Transaction signals" href="/features/transactions/transaction-signals">
    The signals XPay surfaces on each individual payment.
  </Card>

  <Card icon="<ArrowLeftRight />" title="Balance and activity" href="/features/transactions/balance-and-activity">
    Where every captured charge, refund, fee, and adjustment shows up as a balance entry.
  </Card>

  <Card icon="<Banknote />" title="Payouts and settlement" href="/features/account-and-operations/payouts-and-settlement">
    The payout batches that disburse settled funds to your bank.
  </Card>
</Cards>