# Tagságok és fizetések exportálása

> CSV-exportálás a Tools oldalról, szűrők, köteg szerinti exportálás és egyéni oszlopok.

Az exportáló a **Restrict → Tools → Export** oldalon van. Két fül választ típust: **Memberships** és **Payments**.

## Tagságok exportálása

![A tagságok exportálási űrlapja](./kepek/jelentesek-import-export-1-export.webp)

*A tagságok exportálási űrlapja* (https://minta-bolt.hu/wp-admin/admin.php?page=rcp-tools&tab=export)

Az űrlap három szűrője a kiexportálandó tagságokat szűkíti.

| Beállítás | Mit csinál |
|---|---|
| **Memberships** | Alapértéke **All Levels**. Egy szintet választva csak annak tagságai kerülnek a fájlba. |
| **Membership Status** | Alapértéke **All**. Egy állapotot választva csak az ilyen állapotú tagságok kerülnek a fájlba. |
| **Maximum Number** | A kiexportált tagságok legnagyobb száma. Üresen hagyva mindet exportálja. |

A **Process Export** gomb elkészíti és letölti a CSV-fájlt. A fájl oszlopai: felhasználóazonosító, felhasználónév, e-mail-cím, keresztnév, vezetéknév, előfizetés (tagsági szint) azonosítója, előfizetési kulcs, lejárati dátum, tagsági állapot (active, pending, expired, canceled, free), felhasznált kedvezménykód, fizetési profil azonosítója és az ismétlődés jelzője (1 ismétlődőnél, üres, ha nem ismétlődő).

Sok tag esetén kötegekben is exportálhatsz a maximális szám és a kihagyandó darabszám megadásával. Például az első exportban legyen a maximum 100 és a kihagyás 0, a másodikban 100 és 100: a második fájl az első 100 tag után folytatódik.

## Fizetések exportálása

![A fizetések exportálási űrlapja](./kepek/jelentesek-import-export-1-fizetes-export.webp)

*A fizetések exportálási űrlapja* (https://minta-bolt.hu/wp-admin/admin.php?page=rcp-tools&tab=export&rcp-csv-exporter=payments)

A **Payment Dates** két legördülő listája (év és hónap) az exportot egy adott évre vagy hónapra szűkíti. A fájl oszlopai: fizetés azonosítója, tagsági szint neve, összeg, a fizető felhasználó azonosítója, felhasználóneve, a fizetés típusának neve, előfizetési kulcs és a fizetés dátuma.

## Egyéni oszlopok az exportban

Saját oszlopot két lépésben vehetsz fel: a fejlécet és az egyes sorok értékét külön adod meg. Ez egyéni kód, a gyermektémád `functions.php` fájljába vagy egy saját bővítménybe tedd.

**1. Az oszlop fejléce.** Az `rcp_export_csv_cols_{$export_type}` szűrő felel érte, ahol az exporttípus `members` (tagságok) vagy `payments` (fizetések). Például egy „Referrer” oszlop a tagságok exportjába:

```php
function pelda_rcp_export_referrer_fejlec( $columns ) {
	$columns['referrer'] = __( 'Referrer' );
	return $columns;
}
add_filter( 'rcp_export_csv_cols_members', 'pelda_rcp_export_referrer_fejlec' );
```

**2. Az érték soronként.**

- Tagságoknál az `rcp_export_memberships_get_data_row` szűrő kapja a `$row` tömböt (az aktuális tagság kulcs-érték párjai) és a `$membership` objektumot (`RCP_Membership`).
- Fizetéseknél az `rcp_export_payments_get_data_row` szűrő kapja a `$row` tömböt és a `$payment` adatbázis-objektumot, amelynek azonosítója a `$payment->id`.

```php
function pelda_rcp_export_referrer_ertek( $row, $membership ) {
	$row['referrer'] = rcp_get_membership_meta( $membership->get_id(), 'referrer', true );
	// Felhasználói metaadat is használható:
	// $row['my_field'] = get_user_meta( $membership->get_customer()->get_user_id(), 'my_custom_field', true );
	return $row;
}
add_filter( 'rcp_export_memberships_get_data_row', 'pelda_rcp_export_referrer_ertek', 10, 2 );
```

Fizetésnél ugyanígy, például a tranzakcióazonosítóval (ehhez is kell fejléc a `payments` típusú szűrővel):

```php
function pelda_rcp_export_tranzakcio_ertek( $row, $payment ) {
	$row['transaction_id'] = $payment->transaction_id;
	return $row;
}
add_filter( 'rcp_export_payments_get_data_row', 'pelda_rcp_export_tranzakcio_ertek', 10, 2 );
```
