Non-Payment Authentication {#pa2-check-enroll-use-npa-intro}
============================================================

Non-Payment Authentication (NPA) requests enable a merchant to authenticate a customer without a transaction. A non-payment use case can be used for such tasks as adding a card to a merchant website, updating cardholder information on file, or to verify a cardholder's identity when creating a token for future use. The same authentication used during the checking enrollment process is used for NPA. Non-payment use cases are enabled using a combination of the payerAuthEnrollService_messageCategory and payerAuthEnrollService_authenticationIndicator values. For example to add a card to a loyalty program, set the Message Category value to `02` and the Authentication Indicator value to `04`. For other possible NPA use cases, refer to the other possible values for payerAuthEnrollService_messageCategory. The payerAuthEnrollService_messageCategory value must be set to `02` (non-payment authentication) to specify that the authentication is not for a transaction.

Card-Specific Requirements {#pa2-check-enroll-use-npa-intro_section_g2_xbc}
---------------------------------------------------------------------------

Some payment cards require information to be collected during a transaction.

[card_cardType](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/card-card-type.md "")
:
This field is required when the card type is JCB, Cartes Bancaires, China UnionPay, or Meeza.

[payerAuthEnrollService_defaultCard](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/payer-auth-enroll-service-default-card.md "")
:
This field is recommended for Discover ProtectBuy.

[payerAuthEnrollService_MCC](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/payer-auth-enroll-service-mcc.md "")
:
This field is required when the card type is Cartes Bancaires.

[payerAuthEnrollService_merchantName](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/payer-auth-enroll-service-merchant-name.md "")
:
This field is required for Visa Secure travel.

[payerAuthEnrollService_productCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/payer-auth-enroll-service-product-code.md "")
:
This field is required for American Express SafeKey (U.S.) when the product code is `AIR` for an airline purchase.

[shipTo_city](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-county.md "")
:
This field is required only for American Express SafeKey (US).

[shipTo_country](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-country.md "")
:
This field is required only for American Express SafeKey (US).

[shipTo_postalCode\&gt;](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-postal-code.md "")
:
This field is required for American Express SafeKey (US).

[shipTo_street1](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-street1.md "")
:
This field is required only for American Express SafeKey (US).
{#pa2-check-enroll-use-npa-intro_dl_drz_rxb}

[shipTo_street2](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-street2.md "")
:
This field is required only for American Express SafeKey (US.)
{#pa2-check-enroll-use-npa-intro_dl_j2p_r31_xbc}

Country-Specific Requirements
-----------------------------

These fields are required for transactions in specific countries.

[payerAuthEnrollService_merchantScore](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/payer-auth-enroll-service-merchant-score.md "")
:
This field is required for transactions processed in France.

[payerAuthEnrollService_ merchantCountrycode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/payer-auth-enroll-service-merchant-country-code.md "")
:
For Meeza transactions, this value must be set to `EG` when Egypt is not set as the country in the merchant configuration during merchant boarding.

[invoiceHeader_ merchantDescriptorCountry](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/bill-to-state.md "")
:
For Meeza transactions, this value must be set to `EG` when Egypt is not set as the country in the merchant configuration during merchant boarding.

[billTo_state](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/bill-to-state.md "")
:
This field is required for transactions in the US and Canada.

[billTo_city](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/bill-to-city.md "")
:
This field is required for transactions in the US and Canada.

[billTo_postalCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/bill-to-postal-code.md "")
:
This field is required when the billTo_country field value is `US` or `CA`.
{#pa2-check-enroll-use-npa-intro_dl_gpf_5rz_rxb}

[shipTo_county](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-county.md "")
:
This field is required when the shipTo_country field value is `CA`, `US`, or `China`.

[shipTo_postalCode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/ship-to-postal-code.md "")
:
This field is required when the shipTo_country field value is `US` or `CA`.

Processor-Specific Requirements {#pa2-check-enroll-use-npa-intro_section_kl3_tbh_xwb}
-------------------------------------------------------------------------------------

These fields are required by specific processors for transactions.

[transactionMode](https://developer.cybersource.com/docs/cybs/en-us/api-fields/reference/all/so/api-fields/transaction-mode.md "")
:
This field is required only for merchants in Saudi Arabia.

Endpoint
--------

Set the `ccAuthService_run` field to `true`.  
Send the request to:  
**Production:** `https://ics2ws.ic3.com/commerce/1.x/transactionProcessor`  
**Test:** `https://ics2wstest.ic3.com/commerce/1.x/transactionProcessor`
