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

# Save and Charge Customer's Card

> Learn how to charge customer's card for recurring payments.

## Overview

Novac allows you to securely save a customer’s card for future transactions, enabling a smooth and reliable experience for recurring or repeat payments.

This feature is especially useful for businesses offering subscriptions, memberships, or installment-based billing, as it eliminates the need for customers to re-enter their card details each time.

When a customer first completes a payment, Novac returns a **tokenized card reference** representing the saved card.

You can then use this token to initiate future charges automatically without requiring additional card input from the customer.

<Warning>
  Ensure that the actual card details are never stored on your servers, only secure, tokenized references.
</Warning>

***

## How Customer Card Tokenization Works

When you [verify a transaction](/api-reference/checkout/verify-transaction) using its reference, Novac returns a transaction details that includes the customer’s card information.

Within this customer’s card object, you’ll find a `token` field. This token serves as a secure representation of the customer’s card, allowing you to charge the card for future payments.

```json title="Sample Transaction Response" theme={null}
{
    "status": true,
    "message": "Transaction details retrieved successfully",
    "data": {
        // transaction information
        "card": {
            "first6Digits": "",
            "last4Digits": "",
            "issuer": "",
            "country": "",
            "type": "",
            "token": ""
        },
        "customer": {
            // customer information
        },
        "transferDetail": {
            // transfer information if payment is transfer
        }
    }
}
```

In the example above, the `token` field represents the customer’s securely stored card reference.
This token is what you’ll use to charge the customer again in the future without requesting their card details.

***

## Charge a Customer's Saved Card

To charge a customer’s saved card, make a [POST request](api-reference/collections/tokenized-card-charge) to the `/api/v1/tokenized-card-charge endpoint`.
This request uses the previously returned token to process the payment securely.

<Note>
  Ensure that the email value in the request object matches the one used when the checkout payment was created.
</Note>

```bash Request  theme={null}
curl --request POST \
    --url https://api.novacpayment.com/api/v1/tokenized-card-charge \
    --header 'Authorization: <api-key>' \
    --header 'Content-Type: application/json' \
    --data '{
        "token": "<string>",
        "currency": "<string>",
        "amount": "123",
        "email": "<string>",
        "firstName": "<string>",
        "lastName": "<string>",
        "reference": "<string>"
    }'
```

## What’s Next?

* **Using Webhooks:** Automatically receive payment status updates from Novac when a transaction is completed.\
  [Learn how to verify a transaction via webhooks](/docs/api-basics/webhooks)

* **Using the Callback URL:** Manually verify the payment using the `reference` parameter sent to your callback URL.\
  [Learn how to verify a transaction using a callback reference](/docs/accept-payment/manage-payment/verify-transaction)

* **Request Refund:** Initiate a [full or partial](/docs/accept-payment/manage-payment/refund-transaction) refund.
