# Customer Payment Methods

How to save, list, and manage customer payment methods so cards can be reused for one-click checkout and recurring billing. Organised across four tabs: Overview, Saving cards, Managing methods, and API reference.

## What this page covers
- Supported payment methods (filterable by country and category), refunds, and which can be saved for reuse
- The payment method lifecycle: save during checkout, manage, then reuse
- When to save cards (subscriptions, one-click checkout, marketplaces, free trials)
- Saving cards during a payment with `setup_future_usage`
- Listing, deleting, and setting a default payment method
- Charging a saved method with `recurring_details`
- A full API endpoint reference

## Supported payment methods

Orchestration supports cards, wallets, and numerous other payment methods. Methods appear at checkout when enabled on your business profile. The catalogue table includes refund support for each method. Saved cards can be reused for one-click checkout and recurring billing. Method-specific setup notes and limits are in expandable details linked from the table (for example PayShap bank limits, Apple Pay merchant ID and certificates, Scan to Pay debit refund rules).

For how to actually process a refund - via the Dashboard or the API - and how long refunds take to complete per payment method, see [Manage transactions](/docs/manage-transactions.md).

### Card
- Card (PAN) - Visa, Mastercard, Amex (ZA, KE, MU); Diners (ZA, MU)
- Kenya and Mauritius: Visa/Mastercard (and Amex/Diners in MU) may also support EUR and USD depending on the acquirer. Amex in Kenya is Equity Bank only and KES only.
- Refunds: ✅ Yes, full or partial

### Bank transfer
- PayShap (✅ Yes, full or partial, one refund only), Peach EFT (❌ No), Capitec Pay (❌ No) - ZA
- Peach EFT can include Capitec Pay and Absa Pay in the Pay by Bank user interface. Absa Pay has its own detail expander (risk rules / Absa app requirement) even though it is not a separate catalogue row.

### Pay later
- Payflex, Float, Happy Pay, Mobicred, RCS (✅ Yes, full or partial); PayJustNow (⚠️ Full or partial (POS only - eCommerce refunds not yet supported)); ZeroPay (❌ No) - ZA

### Wallet
- Apple Pay (ZA / ZAR; MU / MUR, USD), Google Pay (ZA), Samsung Pay (ZA) - ✅ Yes, full or partial
- Scan to Pay (ZA; ✅ Yes, full only) - debit cards cannot be refunded; debit reversals must complete within six hours
- MauCAS (MU; ❌ No), blink by Emtel (MU), MCB Juice (MU), M-PESA (KE) - ❌ No

### Voucher
- 1Voucher (ZA) - ✅ Yes, full or partial

### Crypto
- MoneyBadger (ZA) - ✅ Yes, full or partial

## Key concepts
- `payment_method_id` — unique identifier for a saved card (`pm_xxx`)
- `customer_id` — links payment methods to a customer (`cus_xxx`)
- `setup_future_usage` — tells Orchestration to save the card; values `on_session` (customer present, for one-click checkout) or `off_session` (merchant-initiated, for subscriptions and delayed charges)
- `recurring_details` — used to charge a saved method, for example `{ "type": "payment_method_id", "data": "pm_xxx" }`

## API endpoints
- `GET /customers/{customer_id}/payment_methods` — list all saved payment methods for a customer
- `POST /payment_methods` — create a payment method directly in the Vault
- `GET /payment_methods/{method_id}` — retrieve a specific payment method
- `DELETE /payment_methods/{method_id}` — delete a saved payment method (permanent)
- `POST /{customer_id}/payment_methods/{method_id}/default` — set a payment method as the customer's default

## Related
- [Manage transactions](/docs/manage-transactions.md): refund a payment, or capture or void a preauthorisation, via the Dashboard or the API
- [Save card (new user)](/flows/save-card-new-user.md): save a card during the first purchase
- [Save card (returning)](/flows/save-card-on-session.md): save for a returning customer
- [Recurring via PM ID](/flows/recurring-pm.md): charge a saved payment method
- [Zero authorisation](/flows/zero-auth.md): validate and save a card without charging
- [API Playground](/playground.md): test these endpoints with your own credentials

---

Interactive version: https://playground.peachpayments.com/operate/customers
