On this page, you can find additional configuration for adding Apple Pay to your Components integration.
If you are selling digital goods in your native iOS app, use Apple's in-app purchase instead of Apple Pay.
Before you begin
This page assumes you have already built a Components integration.
Set up Apple Pay
- Set up your server for secure communication with Apple Pay.
- Enable Apple Pay using your own Apple Developer account and certificate.
API reference
You don't need to send additional fields for Apple Pay. To see optional fields that you can send for all payment methods, choose the endpoint you integrated:
- /sessions: This is the default with Components v5.0.0 or later.
- /payments: If you implemented an additional use case.
If you run into an error, refer to Handle Apple Pay errors.
Component configuration
If your integration uses iOS Components v5.0.0 or later, configure and create an instance of the Apple Pay Component. Include the following when you configure the Component:
Parameter name | Description |
---|---|
merchantIdentifier |
Your Apple Pay merchant identifier. |
requiredBillingContactFields |
The fields required for the billing contact. |
requiredShippingContactFields |
The fields required for the shipping contact. |
//Create a payment method object for Apple Pay.
let paymentMethod = paymentMethods.paymentMethod(ofType: ApplePayComponentPaymentMethod.self)
//Create a configuration object for the Apple Pay Component.
var ApplePayComponentConfiguration = ApplePayComponent.Configuration()
//Set additional parameters on the configuration object.
ApplePayComponentConfiguration.localizationParameters = //Optional custom localization parameters.
//Set required Apple Pay configuration parameters.
ApplePayComponentConfiguration.merchantIdentifier = YOUR_MERCHANT_IDENTIFIER
ApplePayComponentConfiguration.requiredBillingContactFields = //Your required billing contact fields.
ApplePayComponentConfiguration.requiredShippingContactFields = //Your required shipping contact fields.
Optional configuration
If your integration uses iOS Components v5.0.0 or later, you can optionally include the following when you configure the Component:
Parameter name | Description |
---|---|
billingContact |
A prefilled billing address. |
shippingContact |
A prefilled shipping address. |
allowOnboarding |
Set to true to let the shopper add cards to their Apple Pay wallet if they haven't already done so. Otherwise, the shopper can't use Apple Pay. Default: false. |
shippingType |
The type of shipping displayed, for example Pick Up, Ship To, or Deliver To. This is localized. Default: PKShippingTypeShipping = .shipping. |
allowShippingContact |
Set to false to prevent the shopper from changing the shipping contact field before showing the payment form. Default: true. |
shippingMethods |
An array of supported shipping methods. |
applicationData |
Additional information that you provide about the payment request. For example, an order number or cart identifier. This is signed and included in the resulting PKPaymentToken . |
supportedCountries |
Only allow payments from cards issued in specific countries. This is a list of ISO 3166 country codes. |
supportsCouponCode |
Set to true to let the shopper enter a coupon code which gets validated. Default: false. |
couponCode |
A coupon code that has already been applied to the payment request. |
Recurring payments
To make recurring Apple Pay payments, you first need to create a shopper token and then make subsequent recurring transactions with the token. You also must include recurringPaymentRequest
when configuring Apple Pay.
Test and go live
Use Apple's test card numbers to test your integration.
For a full list of test cards and instructions how to add these to your test device, see Sandbox testing on Apple's Developer website.
Check the status of an Apple Pay test payment in your Customer Area > Transactions > Payments.
Going live
To process live Apple Pay payments, your API credential needs to have the API Clientside Encryption Payments role. You can check this in your live Customer Area or ask your Admin user to verify.
Make sure you follow Apple's guidelines on:
- Enable Apple Pay on your Apple Pay Developer account for your live merchant identifier.
- Set up your server for secure communication with Apple Pay.