---
title: "Saved customer payment methods"
description: "Add a customer card and select a saved method for a sale using public API examples."
company: "RevCent"
canonical: "https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/SavedPaymentMethods.md"
---

# Saved customer payment methods

A saved customer payment method lets a business select an existing customer card without resubmitting its full number on every purchase. It is separate from a payment type, a gateway, and an individual payment attempt. Adding a card does not create a sale or charge it.

## Add a card to a customer

`POST /v2/customers/CCCCCCCCCCCCCCCCCCCC/payment_methods` — [AddCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/AddCustomerPaymentMethod.json)

```json
{
  "payment_method": {
    "method": "card",
    "card": {
      "card_number": "4111111111111111",
      "exp_month": 12,
      "exp_year": 2030,
      "card_code": "123"
    }
  },
  "set_as_default": true
}
```

This operation currently adds cards. It is not a wallet enrollment operation. Saved wallet setup follows the [wallet payment workflow](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/wallet/Overview.md).

The customer ID belongs in the URL. bill_to is optional; when omitted, existing customer information is used. Card inputs use exp_month and exp_year, which are distinct from the display-field names returned by retrieval operations. set_as_default chooses whether the added card should become the default; the customer's first card becomes the default.

## Find and choose an existing method

Use `GET /v2/customers/CCCCCCCCCCCCCCCCCCCC/payment_methods` with [GetCustomerPaymentMethods API schema](https://revcent.com/documentation/files/api/operation/GetCustomerPaymentMethods.json) and its documented query options. Select the returned method's id for the intended customer and payment category. Retrieval provides display details, not complete card credentials.

Root payment_method_id is optional. Supply it only to select a specific method instead of the eligible existing/default selection. The selection must belong to the customer and account and match Live/Test mode. Invalid explicit selections fail without substituting another method.

## Create a sale with the selected card

`POST /v2/sales` — [CreateSale API schema](https://revcent.com/documentation/files/api/operation/CreateSale.json)

```json
{
  "campaign": "AAAAAAAAAAAAAAAAAAAA",
  "product": [
    {
      "id": "PPPPPPPPPPPPPPPPPPPP",
      "quantity": 1
    }
  ],
  "customer_id": "CCCCCCCCCCCCCCCCCCCC",
  "iso_currency": "USD",
  "ip_address": "192.0.2.10",
  "payment_type": "credit_card",
  "payment_profile": "RRRRRRRRRRRRRRRRRRRR",
  "payment_method_id": "MMMMMMMMMMMMMMMMMMMM"
}
```

CreateSale requires customer_id when payment_method_id is supplied. Omit credit_card. The selector does not replace the card payment_profile or gateway_id routing choice.

For ProcessPendingSale, the sale identifies the customer; do not add customer_id to that operation's body. Use root payment_method_id and the intended or retained card routing. To send a fresh CVV, use full card input instead of the selector, as described in [the card guide](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/Overview.md).

Examples are public HTTP JSON bodies. Replace illustrative IDs, product selections, IP addresses, and payment values with the values for your account and request. Card and token examples are synthetic. Additional address, shipping, tax, or product requirements depend on the purchase.

## Manage availability

Enable, disable, set-default, and delete operations manage the selected customer's method. Setting a method as default does not enable a disabled method. Disabling a method does not select another default. Deletion preserves historical payments. Review the action schemas for accepted identifiers and acknowledgments.

- [GetCustomerPaymentMethods API schema](https://revcent.com/documentation/files/api/operation/GetCustomerPaymentMethods.json)
- [GetCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/GetCustomerPaymentMethod.json)
- [AddCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/AddCustomerPaymentMethod.json)
- [EnableCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/EnableCustomerPaymentMethod.json)
- [DisableCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/DisableCustomerPaymentMethod.json)
- [SetDefaultCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/SetDefaultCustomerPaymentMethod.json)
- [DeleteCustomerPaymentMethod API schema](https://revcent.com/documentation/files/api/operation/DeleteCustomerPaymentMethod.json)
- [CreateSale API schema](https://revcent.com/documentation/files/api/operation/CreateSale.json)
- [ProcessPendingSale API schema](https://revcent.com/documentation/files/api/operation/ProcessPendingSale.json)

- [Credit-card payments](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/Overview.md)
- [All payment types](https://revcent.com/documentation/markdown/ecosystem/payments/Overview.md)


---
Document Parent Directory
* [Credit Cards](https://revcent.com/documentation/markdown/ecosystem/payments/credit-card/index.md) - Credit-card payment documentation, including saved customer payment methods and wallet payments.