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: PKMerchantCapability
Objective 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
класс выводит на экран этот элемент по-другому, чем остальная часть сводных элементов. В результате существуют дополнительные требования, наложенные и на его сумму и на его метку.Установите итоговую сумму в сумму всех других элементов в массиве. Эта сумма должна быть больше, чем нуль.
Установите итоговую метку в имя Вашей компании. Эта метка используется для представления лица или оплаченной компании.
Ваша компания обслуживания платежей могла бы иметь дополнительные требования, такие как минимальная или максимальная сумма платежа.
// 12.75 subtotal
NSDecimalNumber *subtotalAmount = [NSDecimalNumber decimalNumberWithMantissa:1275
exponent:-2 isNegative:NO];
self.subtotal = [PKPaymentSummaryItem summaryItemWithLabel:@"Subtotal" amount:subtotalAmount];
// 2.00 discount
NSDecimalNumber *discountAmount = [NSDecimalNumber decimalNumberWithMantissa:200 exponent:-2 isNegative:YES];
self.discount = [PKPaymentSummaryItem summaryItemWithLabel:@"Discount" amount:discountAmount];
// 12.75 - 2.00 = 10.75 grand total
NSDecimalNumber *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: PKAddressField
Objective C
@property(nonatomic, assign) PKAddressField requiredBillingAddressFields
Обсуждение
Значение по умолчанию
PKAddressFieldNone
. Для возможных значений посмотритеPKAddressField
.Оператор импорта
Objective C
@import PassKit;
Swift
import PassKit
Доступность
Доступный в iOS 8.0 и позже.
-
requiredShippingAddressFields
СвойствоНемного поля полей адреса поставки, в которых Вы нуждаетесь для обработки транзакции.
Объявление
Swift
var requiredShippingAddressFields: PKAddressField
Objective 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 для примера.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: PKShippingType
Objective 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;
Константы
-
Capability3DS
PKMerchantCapability3DS
3-D Защищенный протокол.
Доступный в iOS 8.0 и позже.
-
CapabilityEMV
PKMerchantCapabilityEMV
Протокол 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;
Константы
-
None
PKAddressFieldNone
Никакие поля.
Доступный в iOS 8.0 и позже.
-
PostalAddress
PKAddressFieldPostalAddress
Полный адрес расположения покупателя, включая имя, улицу, город, состояние или область, почтовый индекс и страну.
Доступный в iOS 8.0 и позже.
-
Phone
PKAddressFieldPhone
Телефонный номер покупателя.
Доступный в iOS 8.0 и позже.
-
Email
PKAddressFieldEmail
Адрес электронной почты покупателя.
Доступный в iOS 8.0 и позже.
-
Name
PKAddressFieldName
Имя и фамилия покупателя.
Эта константа позволяет Вам запросить имя, используемое на поставку или тарификацию. Имя также включено как часть поля почтового адреса. Когда почтовый адрес не требуют, система только обрабатывает имя как отдельное поле.
Доступный в iOS 8.3 и позже.
-
All
PKAddressFieldAll
Все поля.
Доступный в 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;
Константы
-
Shipping
PKShippingTypeShipping
Поставка закупки к предоставленному адресу с помощью сторонней судоходной компании. Это - тип поставки значения по умолчанию.
Доступный в iOS 8.3 и позже.
-
Delivery
PKShippingTypeDelivery
Поставляя закупку продавцом (например, пицца, цветок или поставка мебели).
Доступный в iOS 8.3 и позже.
-
StorePickup
PKShippingTypeStorePickup
Погрузка хранилища закупки от хранилища продавца.
Доступный в iOS 8.3 и позже.
-
ServicePickup
PKShippingTypeServicePickup
Поднимая элемент с предоставленного адреса службой (например, транспортировка или служба перевозок, обеспечивающая домашнюю погрузку).
Доступный в iOS 8.3 и позже.
Оператор импорта
Objective C
@import PassKit;
Swift
import PassKit
Доступность
Доступный в iOS 8.3 и позже.
-