Skip to main content
Card payments may require more than one API call before Payfonte can confirm the final outcome. The first card request returns an action that tells your backend what to collect or do next.

Endpoints

Testing

Sandbox card test data is available in Testing.

Integration Steps

1

Submit card details

Call /payments/v1/cards/process with provider, amount, and card. You can also pass root-level reference, redirectURL, and webhook values for transaction tracking, customer return, and webhook override behavior. Send your client identifier in the client-id header.
2

Read the action

Use data.action to decide whether to collect PIN, collect OTP, redirect for 3DS, or verify the payment.
3

Continue the required step

Submit PIN or OTP when requested, or redirect the customer to data.data.redirectURL for 3DS authentication.
4

Confirm final status

When the action is verification, call GET /payments/v1/payments/verify/{reference} from your backend before fulfilling the order.

Submit Card Details

Request Fields

Submit PIN

Use this endpoint when the previous response returns data.action as pin.

Submit OTP

Use this endpoint when the previous response returns data.action as otp.

Response Actions

pin

Collect the customer’s card PIN and call POST /payments/v1/cards/pin with the returned reference.
Collect the OTP sent to the customer and call POST /payments/v1/cards/otp with the returned reference.
Redirect the customer to data.data.redirectURL to complete 3DS authentication. After the redirect flow, verify the payment server-side.
Call GET /payments/v1/payments/verify/{reference} with the returned reference to confirm the final transaction status.

Flow Decision Summary

Important Rules

Amount values must be integers in minor units. Decimals are not supported.
See Amount Specification.
Collect and submit card data only from secure, PCI-compliant environments. Do not log PAN, CVV, PIN, or OTP values.

API Reference

View card payment endpoint definitions and request schemas.

Webhooks

Confirm final transaction outcomes asynchronously.

Testing

Use sandbox card data for PIN, OTP, 3DS, success, failed, and pending scenarios.