---
title: Card
description: Card payment for ZevPay Checkout is coming soon. This is a preview of how the integration will work so you can plan ahead, including the flow, minimum amount, and endpoints.
---

# Card

::: info Coming soon
Card payment is not live yet. We have it disabled at the platform level while we finish rolling it out. This page is a preview so you can plan your integration ahead of time. Please do not rely on card in production until we announce it here.
:::

Card lets a customer pay with a debit or credit card, with OTP and 3D Secure where the bank requires it. Identifier: `card`.

## Availability

- Card is not in the default method set. It has to be requested explicitly through `payment_methods` on the session, or configured on your key.
- While card is disabled at the platform level, requests to the card endpoints return `503`, and the method does not appear in the checkout UI.
- The minimum amount for card is ₦1,000 (100000 kobo), higher than the ₦1 session minimum. Below ₦1,000 the card option is hidden even where other methods are shown.

## Planned flow

1. The customer selects Card and enters their card number, expiry, CVV, and PIN.
2. Your integration calls the card initiate endpoint.
3. If the bank requires it, the customer completes an OTP step, a 3D Secure redirect, or both.
4. The integration polls the card status endpoint until the result is final.
5. On success, the session moves to completed and your webhook fires.

## Planned endpoints

These endpoints exist and will become usable once card is enabled. They mirror the session and hosted-page structure of the other methods.

| Purpose | Method | Path |
|---------|--------|------|
| Initiate a card payment | `POST` | `/v1/checkout/session/{sessionId}/card/initiate` |
| Validate an OTP | `POST` | `/v1/checkout/session/{sessionId}/card/validate-otp` |
| Poll card status | `GET` | `/v1/checkout/session/{sessionId}/card/status/{reference}` |

The hosted checkout page uses the same paths under `/v1/checkout/page/{sessionId}/card/...`.

Card details submitted to initiate are the card number, expiry (MMYY or MM/YY), CVV, and PIN. Raw card data is never stored, logged, or returned in any response.

## What to do now

If you plan to accept cards later, build against bank transfer and ZevPay ID today. Once we turn card on, adding it is a matter of enabling it on the session and handling the OTP and status steps above. We will announce the go-live date here, so check back or reach out to us if you want to prepare early.

## Related

- [Bank Transfer](/payment-methods/bank-transfer)
- [ZevPay ID](/payment-methods/zevpay-id)
- [Payment Methods overview](/payment-methods/overview)
