Appearance
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?
optionalisBillingCustomerDataRequired?: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?
optionalisShippingCustomerDataRequired?: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?
optionalnativeOnly?: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 PayPal →
intent: 'capture'(true) /'authorize'(false) - Stripe →
captureMethod: 'automatic'(true) /'manual'(false)
Inherited from
CheckoutFlowFlags.pspAutoCaptureEnabled
supportedNetworks?
optionalsupportedNetworks?:string[]
Defined in: src/types.ts:943
Card networks accepted by the merchant.
Default Value
['amex', 'discover', 'masterCard', 'visa']
supportedShippingCountries?
optionalsupportedShippingCountries?: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 regionDefault 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.
