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

# Transactions succeeded

> Successful transaction operations processed during the period.

One row per successful transaction. Failed and declined attempts do not
appear.

```
report_transactions_succeeded-{merchant_name}-{period_start}_to_{period_end}.csv
```

Bounded on `event_processed_at`.

## Columns

| Column                      | Type      | Description                                                                                 |
| --------------------------- | --------- | ------------------------------------------------------------------------------------------- |
| `event_id`                  | string    | Unique identifier for this transaction event. Joins to the settlement report.               |
| `event_processed_at`        | timestamp | When the capture or refund completed. UTC.                                                  |
| `event_type`                | enum      | `AUTH`, `CAPTURE`, `SALE`, `REFUND` or `VOID`.                                              |
| `payment_id`                | string    | The payment this transaction belongs to. Matches `event_id` in the payments created report. |
| `merchant_name`             | string    | Your merchant identifier.                                                                   |
| `store_id`                  | string    | Store the payment belongs to, or `NA` where not configured.                                 |
| `merchant_reference`        | string    | Your own reference from the payment request.                                                |
| `authorization_code`        | string    | Authorization code returned by the issuer. Empty if not available.                          |
| `acquirer_reference_number` | string    | ARN assigned by the acquirer. Empty if not available.                                       |
| `event_amount`              | decimal   | Amount in major units, always positive. See the sign note below.                            |
| `currency`                  | string    | ISO 4217 currency.                                                                          |
| `descriptor`                | string    | Billing descriptor presented to the consumer.                                               |
| `consumer_first_name`       | string    | Consumer given name.                                                                        |
| `consumer_last_name`        | string    | Consumer family name.                                                                       |
| `consumer_email`            | string    | Consumer email address.                                                                     |
| `card_brand`                | enum      | `VISA`, `MASTERCARD`, `AMEX`, `DISCOVER`.                                                   |
| `card_bin`                  | string    | First 6-8 digits of the card number.                                                        |
| `card_last_4_digits`        | string    | Last four digits of the card number.                                                        |

<Note>
  `event_amount` is unsigned in this report — a refund of 97.00 appears as
  `97.00`, not `-97.00`. Use `event_type` to determine direction. The settlement
  report signs the same amount negative, because there the column feeds an
  arithmetic total.
</Note>

## Refunds

Refunds need care, because two different identifiers are in play.

* `payment_id` is the **original payment** being refunded, prefixed `PAYM_`. It
  is the same value that appears on the corresponding `SALE` or `CAPTURE` row.
* `event_id` identifies the **refund itself**, prefixed `REFN_`.

<Warning>
  Do not join refunds to sales on `payment_id` alone and assume a one-to-one
  result. A single payment can be refunded more than once, and both refund rows
  will carry the same `payment_id`. Always carry `event_id` through as the row
  identity.
</Warning>

The prefix tells you what a row is without reading `event_type`, but it is not a
substitute for it — match on `event_type` in your logic and treat the identifier
itself as opaque.

## Example

```csv report_transactions_succeeded-my_merchant-20260801_to_20260831.csv theme={null}
event_id,event_processed_at,event_type,payment_id,merchant_name,store_id,merchant_reference,authorization_code,acquirer_reference_number,event_amount,currency,descriptor,consumer_first_name,consumer_last_name,consumer_email,card_brand,card_bin,card_last_4_digits
AUTH_Qw7fRb2Nx4,2026-08-01 09:15:44 UTC,AUTH,PAYM_7bQ2xKmR4v,my_merchant,store_abc,ORD-88213,4419CD,74921500219000012345678,49.00,USD,8005550111acmewell,Priya,Raman,priya.raman@example.com,VISA,411111,4242
SALE_Kv8dRn2Yx9,2026-08-01 11:49:03 UTC,SALE,PAYM_Nc9wTdLs3E,my_merchant,store_123,ORD-88214,90210B,74921500219000012345679,129.50,USD,8005550111acmewell,Tomas,Lindqvist,t.lindqvist@example.com,MASTERCARD,555555,8081
CAPT_Hm3yTv8Ld6,2026-08-04 14:22:10 UTC,CAPTURE,PAYM_7bQ2xKmR4v,my_merchant,store_abc,ORD-88213,4419CD,,49.00,USD,8005550111acmewell,Priya,Raman,priya.raman@example.com,VISA,411111,4242
REFN_b7Kq2mXpLd,2026-08-09 07:05:51.114302 UTC,REFUND,PAYM_Ry6kBnXu2W,my_merchant,store_456,ORD-88219,55120E,,24.95,USD,8005550111acmewell,Hannah,Byrne,hbyrne@example.com,AMEX,371449,6003
```
