Encapsulates a request for payment, including information about payment processing capabilities, the payment amount, and shipping information.


Setting Payment Information

class func availableNetworks()

Returns the list of supported payment processing networks.

var countryCode: String

The two-letter ISO 3166 country code.

var currencyCode: String

The three-letter ISO 4217 currency code.

var merchantCapabilities: PKMerchantCapability

A bit field of the payment processing protocols you support.

var merchantIdentifier: String

Your merchant identifier.

var paymentSummaryItems: [PKPaymentSummaryItem]

An array of PKPaymentSummaryItem objects that summarize the amount of the payment.

var supportedNetworks: [PKPaymentNetwork]

The payment networks that you support.

Requesting Billing and Shipping Addresses

var billingAddress: ABRecord?

A prepopulated billing address.

var billingContact: PKContact?

A prepopulated billing address.

var requiredBillingAddressFields: PKAddressField

A bit field of billing address fields that you need in order to process the transaction.

var requiredShippingAddressFields: PKAddressField

A bit field of shipping address fields that you need in order to process the transaction.

var shippingAddress: ABRecord?

A prepopulated shipping address.

var shippingContact: PKContact?

A prepopulated shipping address.

var shippingMethods: [PKShippingMethod]?

An array of PKShippingMethod objects that describe the supported shipping methods.

var shippingType: PKShippingType

The type of shipping used by this request.

Adding Application Data

var applicationData: Data?

Application-specific data or state.


Payment Networks

Payment processing networks.


Capabilities for processing payment.


Billing or shipping address fields.


Delivery methods.


Constants that describe the type of the payment summary item, such as final or pending.


Inherits From

Conforms To