Appearance
Express Docs / PayPalOptions
Interface: PayPalOptions
Defined in: src/types.ts:378
SDK-level options for the native PayPal provider (PayPal:PayPalExpress).
Remarks
These values are forwarded to the PayPal JS SDK query parameters when the script is loaded. See PayPal SDK docs.
Example
ts
const paypalButton: ProviderButtonConfig<'PayPal:PayPalExpress'> = {
providerProtocolType: 'PayPal',
paymentMethodType: 'PayPalExpress',
container: '#paypal-container',
style: { color: 'gold', shape: 'rect' },
options: {
merchantId: 'MERCHANT_PAYPAL_ACCOUNT_ID',
currencyCode: 'EUR',
},
};Extends
CheckoutFlowFlags
Properties
clientId?
optionalclientId?:string
Defined in: src/types.ts:396
Your own PayPal client ID for direct authentication.
Remarks
Set this when you authenticate directly with your own PayPal developer app. When omitted the SDK falls back to partner mode: the SDK operator's partner credentials are used and only merchantId needs to be supplied.
Example
ts
// Direct mode — use your own PayPal app credentials
options: { clientId: 'YOUR_PAYPAL_CLIENT_ID' }
// Partner mode — SDK-managed credentials, identify the merchant
options: { merchantId: 'MERCHANT_PAYPAL_ACCOUNT_ID' }currencyCode
currencyCode:
string
Defined in: src/types.ts:407
ISO 4217 currency code (e.g. 'USD', 'EUR').
isBillingCustomerDataRequired?
optionalisBillingCustomerDataRequired?:boolean
Defined in: src/types.ts:252
When true, billing address data is required from the customer.
Inherited from
CheckoutFlowFlags.isBillingCustomerDataRequired
isShippingCustomerDataRequired?
optionalisShippingCustomerDataRequired?:boolean
Defined in: src/types.ts:250
When true, shipping address data is required from the customer.
Inherited from
CheckoutFlowFlags.isShippingCustomerDataRequired
merchantId?
optionalmerchantId?:string
Defined in: src/types.ts:405
PayPal merchant account ID.
Remarks
Required in partner mode (when clientId is omitted) to identify which merchant account processes the payment. In direct mode this field is ignored.
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
