Contents

paymentAuthorizationViewController(_:didSelect:completion:)

Tells the delegate that the user selected a shipping method, and asks for an updated payment request.

Declaration

optional func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didSelect shippingMethod: PKShippingMethod, completion: @escaping  @Sendable (PKPaymentAuthorizationStatus, [PKPaymentSummaryItem]) -> Void)
optional func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didSelect shippingMethod: PKShippingMethod) async -> (PKPaymentAuthorizationStatus, [PKPaymentSummaryItem])

Parameters

  • controller:

    The payment authorization view controller.

  • shippingMethod:

    The selected shipping method. This parameter contains one of the shipping methods included in the payment request.

  • completion:

    The completion block to call with the updated payment summary items.

    This block takes the following parameters:

    status

    The authorization status for the payment. For values, see Pkpaymentauthorizationstatus.

    summaryItems

    An array of Pkpaymentsummaryitem objects that replaces the summary items for the current payment request.

Discussion

Use this method to update shipping costs based on the shipping address selected by the user, as previously passed to the delegate in the PKPaymentAuthorizationViewControllerDelegate method. If no address has been selected, use the prepopulated address on the payment request.

When this method is called, you create a new array of PKPaymentSummaryItem objects that represent the updated cost including shipping. For more information on creating summary items, see the PKPaymentRequest class’s paymentSummaryItems property.

See Also

Handling shipping information