- Get Started
- Guides
- Integrations
- References
- API Reference
- Basic Payment
- Forex
- Authentication
- Card Account
- Apple Pay
- Virtual Account
- Bank Account
- Token Account
- Customer
- Billing Address
- Merchant Billing Address
- Shipping Address
- Merchant Shipping Address
- Corporate
- Sender
- Recipient
- Merchant
- Marketplace & Cart
- Airline
- Lodging
- Passenger
- Tokenization
- Recurring Migration
- 3D Secure
- Custom Parameters
- Async Payments
- Job
- Risk
- Response Parameters
- Card On File
- Chargeback
- Result Codes
- Payment Methods
- Transaction Flows
- Regression Testing
- Data Retention Policy
- API Reference
- Support
Non-Payment Authentication (NPA)
Non-Payment Authentication (NPA in short) offers the option to authenticate the shopper even when there is no payment transaction happening and in cases when the transaction amount is not known. For example the cardholder wants to store their card for future payments but doesn't want to buy anything, or the merchant might want to perform a (zero-amount) card verification transaction. NPA offers an easy way for merchants to make sure that the cardholder is authenticated in these scenarios.
Authentication during registration
To perform a 3D Secure authentication before a card is tokenized, the feature should be enabled on the back-end. Please ask your technical support team to enable this functionality
Once it is activated, when the cardholder registers their card details, it will trigger a 3D Secure authentication before the card registration.
Please note: if the transaction is an authorization (PA) where registration is enabled (by sending createRegistration=true), the 3D Secure authentication will be triggered for the payment transaction and not for the registration.
For further information on how to use our tokenization service, please refer to the tokenization guide.
NPA for a payment transaction
It is possible to perform a NPA for a payment transaction. For example for an account verification transaction (zero-amount authorization). In this case there are no additional settings or parameters are required. Just make sure that 3D Secure is enabled and NPA will be triggered automatically for zero amount PA payment types.
Additionally, NPA can be forced via an additional parameter. Even if the amount is not zero, if the parameter threeDSecure.npa=true is sent, it will trigger a NPA instead of a regular 3D Secure payment authentication with the payment amount. Please be aware that the authenticated amount should always be the same, or higher than the payment amount.
Note: if the amount=0.00 is sent, but threeDSecure.amount is greater than zero, then the 3D Secure authentication will use the amount from the threeDSecure.amount field.