PKPaymentRequest
Оператор импорта
Swift
import PassKit
Objective C
@import PassKit;
Доступность
Доступный в iOS 8.0 и позже.
PKPaymentRequest класс инкапсулирует требование платежа, включая информацию о возможностях обработки платежей, сумме платежа и информации о поставке.
-
countryCodeСвойствоКод страны ISO 3166 с двумя буквами.
Объявление
Swift
var countryCode: String!Objective C
@property(nonatomic, copy) NSString *countryCodeОбсуждение
Установите это свойство в два алфавитных кода для страны, где будет обработан платеж. Эта информация передается Безопасному Элементу, как. Для получения дополнительной информации о Безопасном Элементе посмотрите, что Маркер Платежа Создается, Когда Оплата Разрешена в Руководстве по программированию Оплаты Apple.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
currencyCodeСвойствоКод валюты ISO 4217 с тремя буквами.
Объявление
Swift
var currencyCode: String!Objective C
@property(nonatomic, copy) NSString *currencyCodeОбсуждение
Установите это свойство в три алфавитных кода для валюты, используемой этим платежным требованием. Оплата Apple интерпретирует суммы, предоставленные сводными элементами, присоединенными к этому запросу как суммы в этой валюте.
Платформа переводит код валюты от алфавитного кода до соответствующего числового кода. Числовой код передается Безопасному Элементу и появляется в зашифрованных данных платежа. Для получения дополнительной информации о Безопасном Элементе посмотрите, что Маркер Платежа Создается, Когда Оплата Разрешена в Руководстве по программированию Оплаты Apple.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
merchantCapabilitiesСвойствоНемного поля протоколов обработки платежей Вы поддерживаете.
Объявление
Swift
var merchantCapabilities: PKMerchantCapabilityObjective C
@property(nonatomic, assign) PKMerchantCapability merchantCapabilitiesОбсуждение
Необходимо поддерживать 3-D Защищенный протокол; поддержка протокола EMV является дополнительной.
Для возможных значений посмотрите
PKMerchantCapability.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
merchantIdentifierСвойствоВаш торговый идентификатор.
Объявление
Swift
var merchantIdentifier: String!Objective C
@property(nonatomic, copy) NSString *merchantIdentifierОбсуждение
Это значение должно соответствовать один из идентификаторов, указанных
com.apple.developer.in-app-paymentsвведите права приложения. Для получения дополнительной информации о добавлении торговых идентификаторов посмотрите Конфигурирование Оплата Apple (Только iOS) в Руководстве по Распределению приложений.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
paymentSummaryItemsСвойствоМассив
PKPaymentSummaryItemобъекты, суммирующие сумму платежа.Объявление
Swift
var paymentSummaryItems: [AnyObject]!Objective C
@property(nonatomic, copy) NSArray *paymentSummaryItemsОбсуждение
Типичная транзакция включает отдельные сводные элементы для общего количества порядка, стоимости доставки, налога и общего итога. См. Перечисление 1 для примера.
Оплата Apple использует последний элемент в
paymentSummaryItemsвыстройте как общий итог для этой закупки.PKPaymentAuthorizationViewControllerкласс выводит на экран этот элемент по-другому, чем остальная часть сводных элементов. В результате существуют дополнительные требования, наложенные и на его сумму и на его метку.Установите итоговую сумму в сумму всех других элементов в массиве. Эта сумма должна быть больше, чем нуль.
Установите итоговую метку в имя Вашей компании. Эта метка используется для представления лица или оплаченной компании.
Ваша компания обслуживания платежей могла бы иметь дополнительные требования, такие как минимальная или максимальная сумма платежа.
Перечисление 1Setting сводные элементы платежа // 12.75 subtotalNSDecimalNumber *subtotalAmount = [NSDecimalNumber decimalNumberWithMantissa:1275exponent:-2 isNegative:NO];self.subtotal = [PKPaymentSummaryItem summaryItemWithLabel:@"Subtotal" amount:subtotalAmount];// 2.00 discountNSDecimalNumber *discountAmount = [NSDecimalNumber decimalNumberWithMantissa:200 exponent:-2 isNegative:YES];self.discount = [PKPaymentSummaryItem summaryItemWithLabel:@"Discount" amount:discountAmount];// 12.75 - 2.00 = 10.75 grand totalNSDecimalNumber *totalAmount = [NSDecimalNumber zero];totalAmount = [totalAmount decimalNumberByAdding:subtotalAmount];totalAmount = [totalAmount decimalNumberByAdding:discountAmount];self.total = [PKPaymentSummaryItem summaryItemWithLabel:@"My Company Name" amount:totalAmount];self.summaryItems = @[self.subtotal, self.discount, self.total];request.paymentSummaryItems = self.summaryItems;
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
См. также
-
supportedNetworksСвойствоПлатежные системы, которые Вы поддерживаете.
Объявление
Swift
var supportedNetworks: [AnyObject]!Objective C
@property(nonatomic, copy) NSArray *supportedNetworksОбсуждение
Это свойство ограничивает платежные карты, которые пользователь может выбрать для финансирования платежа.
Для возможных значений посмотрите Платежные системы.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
billingAddressСвойствоПредзаполненный расчетный адрес.
Объявление
Swift
unowned(unsafe) var billingAddress: ABRecord!Objective C
@property(nonatomic, assign) ABRecordRef billingAddressОбсуждение
Если Вы уже имеете расчетный адрес на файле, устанавливаете его здесь. Пользователь может или использовать адрес, Вы указываете или выбираете различный адрес.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
requiredBillingAddressFieldsСвойствоНемного поля полей расчетного адреса, в которых Вы нуждаетесь для обработки транзакции.
Объявление
Swift
var requiredBillingAddressFields: PKAddressFieldObjective C
@property(nonatomic, assign) PKAddressField requiredBillingAddressFieldsОбсуждение
Значение по умолчанию
PKAddressFieldNone. Для возможных значений посмотритеPKAddressField.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
requiredShippingAddressFieldsСвойствоНемного поля полей адреса поставки, в которых Вы нуждаетесь для обработки транзакции.
Объявление
Swift
var requiredShippingAddressFields: PKAddressFieldObjective C
@property(nonatomic, assign) PKAddressField requiredShippingAddressFieldsОбсуждение
Значение по умолчанию
PKAddressFieldNone. Для возможных значений посмотритеPKAddressField.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
shippingAddressСвойствоПредзаполненный адрес поставки.
Объявление
Swift
unowned(unsafe) var shippingAddress: ABRecord!Objective C
@property(nonatomic, assign) ABRecordRef shippingAddressОбсуждение
Если Вы уже имеете адрес поставки на файле, устанавливаете это свойство в тот адрес. Когда
PKPaymentAuthorizationViewControllerкласс представлен, пользователь может или сохранить адрес, который Вы указали, или введите различный адрес.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
shippingMethodsСвойствоМассив
PKShippingMethodобъекты, описывающие поддерживаемые способы доставки.Объявление
Swift
var shippingMethods: [AnyObject]!Objective C
@property(nonatomic, copy) NSArray *shippingMethodsОбсуждение
Значение по умолчанию
nil. См. Перечисление 2 для примера.Перечисление 2Setting способы доставки NSDecimalNumber *freeAmount = [NSDecimalNumber decimalNumberWithString:@"0.00"];PKShippingMethod *freeShipping = [PKShippingMethod summaryItemWithLabel:@"Free Shipping" amount:freeAmount];freeShipping.detail = @"Arrives by July 2";freeShipping.identifier = @"free";NSDecimalNumber *standardAmount = [NSDecimalNumber decimalNumberWithString:@"3.21"];PKShippingMethod *standardShipping = [PKShippingMethod summaryItemWithLabel:@"Standard Shipping" amount:standardAmount];standardShipping.detail = @"Arrives by June 29";standardShipping.identifier = @"standard";NSDecimalNumber *expressAmount = [NSDecimalNumber decimalNumberWithString:@"24.63"];PKShippingMethod *expressShipping = [PKShippingMethod summaryItemWithLabel:@"Express Shipping" amount:expressAmount];expressShipping.detail = @"Ships within 24 hours";expressShipping.identifier = @"express";paymentRequest.shippingMethods = @[freeShipping, standardShipping, expressShipping];
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
shippingTypeСвойствоТип поставки используемого этим запросом.
Объявление
Swift
var shippingType: PKShippingTypeObjective C
@property(nonatomic, assign) PKShippingType shippingTypeОбсуждение
Это наборы свойств метки для получения информации о поставке, выведенной на экран
PKPaymentAuthorizationViewControllerкласс. Значение по умолчаниюPKShippingTypeShipping. Для полного списка допустимых типов поставки посмотритеPKShippingType.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.3 и позже.
-
applicationDataСвойствоСпециализированные данные или состояние.
Объявление
Swift
@NSCopying var applicationData: NSData!Objective C
@property(nonatomic, copy) NSData *applicationDataОбсуждение
Используйте это свойство для дополнительных данных как подходящее для Вашего приложения — например, идентификатор покупательской корзины или номер заказа.
Хеш этих данных включен в зашифрованные данные платежа (
paymentDataсвойствоPKPaymentToken). Вы ответственны за отправку полных данных приложения к Вашему серверу в случае необходимости.Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
Возможности обработки платежа.
Объявление
Swift
struct PKMerchantCapability : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var Capability3DS: PKMerchantCapability { get } static var CapabilityEMV: PKMerchantCapability { get } }Objective C
typedef enum : NSUInteger { PKMerchantCapability3DS = 1UL << 0, PKMerchantCapabilityEMV = 1UL << 1 } PKMerchantCapability;Константы
-
Capability3DSPKMerchantCapability3DS3-D Защищенный протокол.
Доступный в iOS 8.0 и позже.
-
CapabilityEMVPKMerchantCapabilityEMVПротокол EMV.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
-
Расчетный адрес или поля адреса поставки.
Объявление
Swift
struct PKAddressField : RawOptionSetType { init(_rawValue: UInt) init(rawValuerawValue: UInt) static var None: PKAddressField { get } static var PostalAddress: PKAddressField { get } static var Phone: PKAddressField { get } static var Email: PKAddressField { get } static var Name: PKAddressField { get } static var All: PKAddressField { get } }Objective C
typedef enum : NSUInteger { PKAddressFieldNone = 0UL, PKAddressFieldPostalAddress = 1UL << 0 PKAddressFieldPhone = 1UL << 1, PKAddressFieldEmail = 1UL << 2, PKAddressFieldName = 1UL << 3, PKAddressFieldAll = (PKAddressFieldPostalAddress |PKAddressFieldPhone |PKAddressFieldEmail |PKAddressFieldName ) } PKAddressField;Константы
-
NonePKAddressFieldNoneНикакие поля.
Доступный в iOS 8.0 и позже.
-
PostalAddressPKAddressFieldPostalAddressПолный адрес расположения покупателя, включая имя, улицу, город, состояние или область, почтовый индекс и страну.
Доступный в iOS 8.0 и позже.
-
PhonePKAddressFieldPhoneТелефонный номер покупателя.
Доступный в iOS 8.0 и позже.
-
EmailPKAddressFieldEmailАдрес электронной почты покупателя.
Доступный в iOS 8.0 и позже.
-
NamePKAddressFieldNameИмя и фамилия покупателя.
Эта константа позволяет Вам запросить имя, используемое на поставку или тарификацию. Имя также включено как часть поля почтового адреса. Когда почтовый адрес не требуют, система только обрабатывает имя как отдельное поле.
Доступный в iOS 8.3 и позже.
-
AllPKAddressFieldAllВсе поля.
Доступный в iOS 8.0 и позже.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.0 и позже.
-
-
Способ доставки.
Объявление
Swift
enum PKShippingType : UInt { case Shipping case Delivery case StorePickup case ServicePickup }Objective C
typedef enum : NSUInteger { PKShippingTypeShipping, PKShippingTypeDelivery, PKShippingTypeStorePickup, PKShippingTypeServicePickup } PKShippingType;Константы
-
ShippingPKShippingTypeShippingПоставка закупки к предоставленному адресу с помощью сторонней судоходной компании. Это - тип поставки значения по умолчанию.
Доступный в iOS 8.3 и позже.
-
DeliveryPKShippingTypeDeliveryПоставляя закупку продавцом (например, пицца, цветок или поставка мебели).
Доступный в iOS 8.3 и позже.
-
StorePickupPKShippingTypeStorePickupПогрузка хранилища закупки от хранилища продавца.
Доступный в iOS 8.3 и позже.
-
ServicePickupPKShippingTypeServicePickupПоднимая элемент с предоставленного адреса службой (например, транспортировка или служба перевозок, обеспечивающая домашнюю погрузку).
Доступный в iOS 8.3 и позже.
Оператор импорта
Objective C
@import PassKit;Swift
import PassKitДоступность
Доступный в iOS 8.3 и позже.
-
