The Hosted Payment Form supports configuration options that allow you to customize its appearance and behavior. Use the formConfig object in your API requests to control how the payment form collects billing information.

Billing Information Capture Levels

The billingInfoCaptureLevel property controls how much billing information is collected from the customer. There are two options:
  • Full (Default) - Collects complete billing address including street address, city, state, country, and ZIP/postal code. This is the default if no formConfig is specified.
  • Minimal - Collects only the ZIP/postal code, displayed inline with the card fields for a streamlined checkout experience.

Full Billing Mode (Default)

When billingInfoCaptureLevel is set to Full (or when no formConfig is provided), the form displays complete billing address fields:

Hosted Payment Form - Full Billing Full billing mode collects complete address information

Compact Form Mode (Minimal Billing)

When billingInfoCaptureLevel is set to Minimal, the form displays a compact layout with only the ZIP/postal code field shown inline with the card fields:

Hosted Payment Form - Compact/Minimal Billing Compact form mode with minimal billing (ZIP code only)

This compact form is ideal for scenarios where:

  • You want to minimize friction in the checkout process
  • Full address information is not required for your business needs
  • You're processing card-not-present transactions where basic AVS (ZIP code) verification is sufficient

Usage Example

Include the formConfig object in your request to customize the form:

```json { "amount": 1000, "paymentMethodId": "pmt_vrt_01JRZPTWS99Z7RB57Q1CVWSWDS", "invoiceNumber": "inv_12345", "formConfig": { "billingInfoCaptureLevel": "Minimal" } } ```

ACH Payment Method Restrictions

Important: ACH payment methods always require full billing information. The Minimal billing capture level is not supported for ACH transactions. If you attempt to use billingInfoCaptureLevel: Minimal with an ACH payment method, the request will be rejected with a validation error.

3D Secure Authentication

The enable3DSecure property opts the hosted payment form into 3D Secure (3DS2) cardholder authentication. When enabled, the issuer decides whether the transaction is authenticated frictionlessly or requires a cardholder challenge — challenges are rendered in Nuvei's own overlay and the form resumes automatically on completion.

  • Liability shift — Successfully authenticated card transactions (ECI 02/05) shift chargeback liability for fraud from the merchant to the issuer.
  • Default behavior — When omitted or false, 3DS is skipped and the merchant retains fraud liability.
  • Persisted artifacts — The resulting transaction exposes the 3DS authentication data under the threeDs property (CAVV, ECI, dsTransID) and, on declines, the issuer-provided reason code (threeDReasonId, threeDReason).
  • Declines fire webhooks — When a 3DS authentication fails, the API still creates a declined transaction and dispatches the configured sale.completed / auth.completed webhook so your backend observes the outcome through the same channel as any other decline.
```json { "amount": 1000, "paymentMethodId": "pmt_vrt_01JRZPTWS99Z7RB57Q1CVWSWDS", "invoiceNumber": "inv_12345", "formConfig": { "enable3DSecure": true } } ```
Card payment methods only: 3D Secure is a card-network authentication protocol (Visa, Mastercard, American Express, Discover). It is not supported for ACH or EFT payment methods. Setting enable3DSecure: true on a non-card payment method is rejected with a validation error.
Recommended: When 3D Secure is enabled, use billingInfoCaptureLevel: Full (the default). The 3DS2 risk engine uses the billing address, email, and phone to assess transaction risk — providing the full set of fields significantly increases the likelihood of a frictionless authentication (no cardholder challenge). Full billing is not required for 3DS to function: it is recommended to maximize conversion. See Nuvei's 3DS documentation for details.

Form Configuration Properties

Property Type Default Description
billingInfoCaptureLevel string Full Controls billing information collection. Values: Full, Minimal
enable3DSecure boolean false Opts into 3D Secure (3DS2) cardholder authentication. Shifts chargeback liability for successfully authenticated transactions to the issuer.