Skip to content

Express Docs v0.1.0


Express Docs / ApplePayOptions

Interface: ApplePayOptions

Defined in: src/types.ts:920

SDK-level options for Apple Pay providers using the W3C Payment Request API.

Remarks

Used by providers like Computop:ApplePay that implement the Apple Pay flow via the browser's native PaymentRequest API rather than the Apple Pay JS SDK.

Example

ts
const computopApplePay: ProviderButtonConfig<'Computop:ApplePay'> = {
  providerProtocolType: 'Computop',
  paymentMethodType: 'ApplePay',
  container: '#applepay-container',
  style: { buttonstyle: 'black', type: 'buy' },
  options: {
    totalAmount: 19300,
    currencyCode: 'USD',
    countryCode: 'US',
    merchantIdentifier: 'merchant.com.example',
    merchantDisplayName: 'Example Shop',
  },
};

Extends

  • CheckoutFlowFlags

Properties

countryCode

countryCode: string

Defined in: src/types.ts:932

ISO 3166-1 alpha-2 country code for the merchant (e.g. 'US', 'DE').


currencyCode

currencyCode: string

Defined in: src/types.ts:930

ISO 4217 currency code (e.g. 'USD', 'EUR').


isBillingCustomerDataRequired?

optional isBillingCustomerDataRequired?: boolean

Defined in: src/types.ts:954

When true, the integrator's backend already supplies the customer's billing address and Apple Pay should not request it from the payer. When false or unset (default), Apple Pay collects the billing address.

Maps (inverted) to the W3C Payment Request requestBillingAddress option: requestBillingAddress = !isBillingCustomerDataRequired.

Default Value

false — Apple Pay collects billing address

Overrides

CheckoutFlowFlags.isBillingCustomerDataRequired


isShippingCustomerDataRequired?

optional isShippingCustomerDataRequired?: boolean

Defined in: src/types.ts:968

When true, the integrator's backend already supplies the customer's shipping address and Apple Pay should not request it from the payer. When false or unset (default), Apple Pay collects the shipping address and payer contact (name, email, phone).

Maps (inverted) to the W3C Payment Request requestShipping option: requestShipping = !isShippingCustomerDataRequired. Payer contact fields (name, email, phone) are collected automatically when either address is collected by Apple Pay.

Default Value

false — Apple Pay collects shipping address and payer contact

Overrides

CheckoutFlowFlags.isShippingCustomerDataRequired


merchantDisplayName

merchantDisplayName: string

Defined in: src/types.ts:941

Merchant name shown as the payment line item label in the Apple Pay sheet.


merchantIdentifier

merchantIdentifier: string

Defined in: src/types.ts:939

The merchant identifier registered with Apple Pay.

Remarks

Must match the identifier configured in your Apple Developer account.


nativeOnly?

optional nativeOnly?: boolean

Defined in: src/types.ts:991

If true, the Apple Pay button is only rendered when the browser supports Apple Pay natively (i.e. Safari on macOS/iOS). In non-native browsers the provider's render promise rejects with an APPLE_PAY_UNAVAILABLE error which is routed to the integrator's global onError handler.

Disables the cross-device "Scan with iPhone" QR handoff that the Apple Pay JS polyfill enables on Chrome/Edge/Firefox.

Default Value

false


pspAutoCaptureEnabled

pspAutoCaptureEnabled: boolean

Defined in: src/types.ts:262

When true (default), the payment is captured immediately after authorization. When false, the payment is authorized only and must be captured separately.

Remarks

This flag is mapped to the provider-native concept:

  • PayPal / Braintree / Adyen PayPalintent: 'capture' (true) / 'authorize' (false)
  • StripecaptureMethod: 'automatic' (true) / 'manual' (false)

Inherited from

CheckoutFlowFlags.pspAutoCaptureEnabled


supportedNetworks?

optional supportedNetworks?: string[]

Defined in: src/types.ts:943

Card networks accepted by the merchant.

Default Value

['amex', 'discover', 'masterCard', 'visa']


supportedShippingCountries?

optional supportedShippingCountries?: string[]

Defined in: src/types.ts:978

List of ISO 3166-1 alpha-2 country codes to which the merchant ships. When set and non-empty, the Apple Pay sheet validates the selected shipping country against this list and displays an error if it is not included. When omitted or set to an empty array, all countries are accepted.

Example

ts
`['DE', 'AT', 'CH']` — restrict to DACH region

Default Value

undefined — all countries accepted


totalAmount

totalAmount: number

Defined in: src/types.ts:928

Transaction amount in minor units (e.g. 19300 = $193.00).

Remarks

Divided by 100 and formatted to two decimal places for the Payment Request total.amount.value field.

CollanaPay SDK Documentation