Spec-Zone .ru
спецификации, руководства, описания, API

Библиотека Разработчика iOS

Разработчик

Ссылка платформы PassKit ссылка на протокол PKPaymentAuthorizationViewControllerDelegate

Опции
Развертывание Target:

На этой странице
Язык:

PKPaymentAuthorizationViewControllerDelegate

Наследование


Не применимый

Соответствует


Оператор импорта


Swift

import PassKit

Objective C

@import PassKit;

Доступность


Доступный в iOS 8.0 и позже.

PKPaymentAuthorizationViewControllerDelegate протокол реализован представлением авторизации платежа делегат контроллера. Вы реализуете этот протокол для ответа на взаимодействие с пользователем с тем контроллером представления.

Контроллер представления авторизации платежа автоматически ожидает его делегата, чтобы закончить отвечать на один метод, прежде чем это вызовет другие методы делегата. Вы указываете, что делегат закончен с существующим методом путем вызова что блок завершения метода. Это действие говорит контроллеру представления авторизации оплаты продолжаться со следующим шагом в процессе авторизации.

Существует одно исключение к этой поэтапной процедуре: контроллер представления авторизации оплаты вызывает paymentAuthorizationViewControllerDidFinish метод, как только пользователь отменяет платеж без авторизации. В любое время контроллер может вызвать этот метод.

  • Говорит делегату, что пользователь авторизовывает платежное требование.

    Объявление

    Swift

    optional func paymentAuthorizationViewControllerWillAuthorizePayment(_ controller: PKPaymentAuthorizationViewController!)

    Objective C

    - (void)paymentAuthorizationViewControllerWillAuthorizePayment:(PKPaymentAuthorizationViewController *)controller

    Параметры

    controller

    Контроллер представления авторизации платежа.

    Обсуждение

    Этот метод вызывают, прежде чем платежное требование авторизовывается, но после того, как пользователь аутентифицировал или при помощи кода доступа или при помощи Касания ID.

    Оператор импорта

    Objective C

    @import PassKit;

    Swift

    import PassKit

    Доступность

    Доступный в iOS 8.3 и позже.

  • Говорит делегату, что пользователь авторизовал платежное требование. (требуемый)

    Объявление

    Swift

    func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController!, didAuthorizePayment payment: PKPayment!, completion completion: ((PKPaymentAuthorizationStatus) -> Void)!)

    Objective C

    - (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didAuthorizePayment:(PKPayment *)payment completion:(void (^)(PKPaymentAuthorizationStatus status))completion

    Параметры

    controller

    Контроллер представления авторизации платежа.

    payment

    Разрешенная оплата. Этот объект содержит маркер платежа, который необходимо представить компании обслуживания платежей, а также тарификации и информации о поставке, требуемой платежным требованием.

    completion

    Блок завершения, который вызовут после приложения, разрешает оплату.

    Этот блок берет следующие параметры:

    status

    Состояние авторизации для платежа. Для значений посмотрите PKPaymentAuthorizationStatus.

    Обсуждение

    Этот метод вызывают после того, как платежное требование авторизовывается. Вы представляете информацию платежа к своей компании обслуживания платежей, чтобы авторизовать транзакцию, и затем вызвать блок завершения.

    Оператор импорта

    Objective C

    @import PassKit;

    Swift

    import PassKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что завершилась авторизация платежа. (требуемый)

    Объявление

    Swift

    func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController!)

    Objective C

    - (void)paymentAuthorizationViewControllerDidFinish:(PKPaymentAuthorizationViewController *)controller

    Параметры

    controller

    Контроллер представления авторизации платежа.

    Обсуждение

    Используйте этот метод, чтобы отклонить контроллер представления авторизации платежа и обновить любое другое состояние приложения.

    Когда пользователь авторизовывает платежное требование, этот метод вызывают после состояния от paymentAuthorizationViewController:didAuthorizePayment:completion: блок завершения метода был показан пользователю. Когда пользователь отменяет, не авторизовывая платежное требование, только paymentAuthorizationViewControllerDidFinish: вызывается.

    Оператор импорта

    Objective C

    @import PassKit;

    Swift

    import PassKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что пользователь выбрал способ доставки.

    Объявление

    Swift

    optional func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController!, didSelectShippingMethod shippingMethod: PKShippingMethod!, completion completion: ((PKPaymentAuthorizationStatus, [AnyObject]!) -> Void)!)

    Objective C

    - (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didSelectShippingMethod:(PKShippingMethod *)shippingMethod completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray *summaryItems))completion

    Параметры

    controller

    Контроллер представления авторизации платежа.

    shippingMethod

    Выбранный способ доставки. Этот параметр содержит один из способов доставки, включенных в платежное требование.

    completion

    Блок завершения, который вызовут с обновленной информацией о поставке.

    Этот блок берет следующие параметры:

    status

    Состояние авторизации для платежа. Для значений посмотрите PKPaymentAuthorizationStatus.

    summaryItems

    Массив PKPaymentSummaryItem объекты, который заменяет сводные элементы для текущего платежного требования.

    Обсуждение

    Используйте этот метод для обновления затрат на доставку на основе адреса поставки, выбранного пользователем, как ранее передано делегату в paymentAuthorizationViewController:didSelectShippingAddress:completion: метод. Если никакой адрес не был выбран, используйте предзаполненный адрес на платежном требовании.

    Когда этот метод вызывают, Вы создаете новый массив PKPaymentSummaryItemобъект, которые представляют обновленную стоимость, включающую доставку. Для получения дополнительной информации о создании сводных элементов посмотрите PKPaymentRequest класс paymentSummaryItems свойство.

    Оператор импорта

    Objective C

    @import PassKit;

    Swift

    import PassKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Говорит делегату, что пользователь выбрал адрес поставки.

    Объявление

    Swift

    optional func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController!, didSelectShippingAddress address: ABRecord!, completion completion: ((PKPaymentAuthorizationStatus, [AnyObject]!, [AnyObject]!) -> Void)!)

    Objective C

    - (void)paymentAuthorizationViewController:(PKPaymentAuthorizationViewController *)controller didSelectShippingAddress:(ABRecordRef)address completion:(void (^)(PKPaymentAuthorizationStatus status, NSArray *shippingMethods, NSArray *summaryItems))completion

    Параметры

    controller

    Контроллер представления авторизации платежа.

    address

    Запись адресной книги представление выбранного способа доставки.

    completion

    Блок завершения, который вызовут с обновленной информацией о поставке.

    Этот блок берет следующие параметры:

    status

    Состояние авторизации для платежа. Для значений посмотрите PKPaymentAuthorizationStatus.

    shippingMethods

    Массив PKShippingMethod объекты, который заменяет способы доставки для текущего платежного требования.

    summaryItems

    Массив PKPaymentSummaryItem объекты, который заменяет сводные элементы для текущего платежного требования.

    Обсуждение

    Используйте этот метод для обновления доступных способов доставки и, если способ доставки был выбран, текущая стоимость доставки.

    Когда этот метод вызывают, Вы создаете новый массив допустимых PKShippingMethod объекты для указанного адреса. Вы также создаете массив PKPaymentSummaryItem объекты, представляющие обновленную стоимость. Если допустимый способ доставки был выбран, сводные элементы должны включать стоимость доставки. Для получения дополнительной информации об обновлении этих значений посмотрите PKPaymentRequest класс shippingMethods и paymentSummaryItems свойства.

    Оператор импорта

    Objective C

    @import PassKit;

    Swift

    import PassKit

    Доступность

    Доступный в iOS 8.0 и позже.

  • Общее состояние успеха и провала, а также коды сгенерировано определенными отказами.

    Объявление

    Swift

    enum PKPaymentAuthorizationStatus : Int { case Success case Failure case InvalidBillingPostalAddress case InvalidShippingPostalAddress case InvalidShippingContact }

    Objective C

    typedef enum : NSInteger { PKPaymentAuthorizationStatusSuccess, PKPaymentAuthorizationStatusFailure, PKPaymentAuthorizationStatusInvalidBillingPostalAddress, PKPaymentAuthorizationStatusInvalidShippingPostalAddress, PKPaymentAuthorizationStatusInvalidShippingContact, } PKPaymentAuthorizationStatus;

    Константы

    • Success

      PKPaymentAuthorizationStatusSuccess

      Успешная авторизация платежа или транзакция, как ожидают, успешно выполнится.

      Доступный в iOS 8.0 и позже.

    • Failure

      PKPaymentAuthorizationStatusFailure

      Неработающая авторизация платежа.

      Используйте это значение для отказов, не имеющих более определенного состояния постоянным, такого как недопустимый адрес или контакт.

      Доступный в iOS 8.0 и позже.

    • InvalidBillingPostalAddress

      PKPaymentAuthorizationStatusInvalidBillingPostalAddress

      Недопустимый или неприменимый расчетный адрес.

      Доступный в iOS 8.0 и позже.

    • InvalidShippingPostalAddress

      PKPaymentAuthorizationStatusInvalidShippingPostalAddress

      Недопустимый или неприменимый адрес поставки.

      Доступный в iOS 8.0 и позже.

    • InvalidShippingContact

      PKPaymentAuthorizationStatusInvalidShippingContact

      Недопустимый или неполный контакт поставки.

      Доступный в iOS 8.0 и позже.

    Оператор импорта

    Objective C

    @import PassKit;

    Swift

    import PassKit

    Доступность

    Доступный в iOS 8.0 и позже.