Skip to main content

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.
Ensure that the actual card details are never stored on your servers — only secure, tokenized references.

How customer card tokenization works

When you verify a 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.
"Sample
{
    "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 to the /api/v1/tokenized-card-charge endpoint. This request uses the previously returned token to process the payment securely.
Request
    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>"
       }'