> ## 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 USD Cards

> Learn how to charge customer's USD 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.

<Note>
  Tokenization only works for dollar cards, use the recurring payment link methods for ngn card subscriptions.
</Note>

### 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.

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

***

### 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.
