objc2_pass_kit/generated/
PKPaymentRequest.rs

1//! This file has been automatically generated by `objc2`'s `header-translator`.
2//! DO NOT EDIT
3use core::ffi::*;
4use core::ptr::NonNull;
5use objc2::__framework_prelude::*;
6use objc2_foundation::*;
7
8use crate::*;
9
10/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkmerchantcapability?language=objc)
11// NS_OPTIONS
12#[repr(transparent)]
13#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
14pub struct PKMerchantCapability(pub NSUInteger);
15bitflags::bitflags! {
16    impl PKMerchantCapability: NSUInteger {
17        #[doc(alias = "PKMerchantCapability3DS")]
18        const Capability3DS = 1<<0;
19        #[doc(alias = "PKMerchantCapabilityEMV")]
20        const CapabilityEMV = 1<<1;
21        #[doc(alias = "PKMerchantCapabilityCredit")]
22        const CapabilityCredit = 1<<2;
23        #[doc(alias = "PKMerchantCapabilityDebit")]
24        const CapabilityDebit = 1<<3;
25        #[doc(alias = "PKMerchantCapabilityInstantFundsOut")]
26        const CapabilityInstantFundsOut = 1<<7;
27    }
28}
29
30unsafe impl Encode for PKMerchantCapability {
31    const ENCODING: Encoding = NSUInteger::ENCODING;
32}
33
34unsafe impl RefEncode for PKMerchantCapability {
35    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
36}
37
38/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkmerchantcategorycode?language=objc)
39// NS_TYPED_EXTENSIBLE_ENUM
40pub type PKMerchantCategoryCode = i16;
41
42extern "C" {
43    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkmerchantcategorycodenone?language=objc)
44    pub static PKMerchantCategoryCodeNone: PKMerchantCategoryCode;
45}
46
47/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkaddressfield?language=objc)
48// NS_OPTIONS
49#[deprecated = "Use PKContactField and -requiredShippingContactFields / -requiredBillingContactFields"]
50#[repr(transparent)]
51#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
52pub struct PKAddressField(pub NSUInteger);
53bitflags::bitflags! {
54    impl PKAddressField: NSUInteger {
55        #[doc(alias = "PKAddressFieldNone")]
56#[deprecated = "Use PKContactField and -requiredShippingContactFields / -requiredBillingContactFields"]
57        const None = 0;
58        #[doc(alias = "PKAddressFieldPostalAddress")]
59#[deprecated = "Use PKContactField and -requiredShippingContactFields / -requiredBillingContactFields"]
60        const PostalAddress = 1<<0;
61        #[doc(alias = "PKAddressFieldPhone")]
62#[deprecated = "Use PKContactField and -requiredShippingContactFields / -requiredBillingContactFields"]
63        const Phone = 1<<1;
64        #[doc(alias = "PKAddressFieldEmail")]
65#[deprecated = "Use PKContactField and -requiredShippingContactFields / -requiredBillingContactFields"]
66        const Email = 1<<2;
67        #[doc(alias = "PKAddressFieldName")]
68        const Name = 1<<3;
69        #[doc(alias = "PKAddressFieldAll")]
70#[deprecated = "Use PKContactField and -requiredShippingContactFields / -requiredBillingContactFields"]
71        const All = PKAddressField::PostalAddress.0|PKAddressField::Phone.0|PKAddressField::Email.0|PKAddressField::Name.0;
72    }
73}
74
75unsafe impl Encode for PKAddressField {
76    const ENCODING: Encoding = NSUInteger::ENCODING;
77}
78
79unsafe impl RefEncode for PKAddressField {
80    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
81}
82
83/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkshippingtype?language=objc)
84// NS_ENUM
85#[repr(transparent)]
86#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
87pub struct PKShippingType(pub NSUInteger);
88impl PKShippingType {
89    #[doc(alias = "PKShippingTypeShipping")]
90    pub const Shipping: Self = Self(0);
91    #[doc(alias = "PKShippingTypeDelivery")]
92    pub const Delivery: Self = Self(1);
93    #[doc(alias = "PKShippingTypeStorePickup")]
94    pub const StorePickup: Self = Self(2);
95    #[doc(alias = "PKShippingTypeServicePickup")]
96    pub const ServicePickup: Self = Self(3);
97}
98
99unsafe impl Encode for PKShippingType {
100    const ENCODING: Encoding = NSUInteger::ENCODING;
101}
102
103unsafe impl RefEncode for PKShippingType {
104    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
105}
106
107/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkshippingcontacteditingmode?language=objc)
108// NS_ENUM
109#[repr(transparent)]
110#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
111pub struct PKShippingContactEditingMode(pub NSUInteger);
112impl PKShippingContactEditingMode {
113    #[doc(alias = "PKShippingContactEditingModeAvailable")]
114    pub const Available: Self = Self(1);
115    #[doc(alias = "PKShippingContactEditingModeStorePickup")]
116    pub const StorePickup: Self = Self(2);
117    #[doc(alias = "PKShippingContactEditingModeEnabled")]
118    #[deprecated]
119    pub const Enabled: Self = Self(PKShippingContactEditingMode::Available.0);
120}
121
122unsafe impl Encode for PKShippingContactEditingMode {
123    const ENCODING: Encoding = NSUInteger::ENCODING;
124}
125
126unsafe impl RefEncode for PKShippingContactEditingMode {
127    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
128}
129
130/// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkapplepaylateravailability?language=objc)
131// NS_ENUM
132#[repr(transparent)]
133#[derive(Clone, Copy, Debug, PartialEq, Eq, Hash, PartialOrd, Ord)]
134pub struct PKApplePayLaterAvailability(pub NSInteger);
135impl PKApplePayLaterAvailability {
136    #[doc(alias = "PKApplePayLaterAvailable")]
137    pub const Available: Self = Self(0);
138    /// Default state where Apple Pay Later is available
139    #[doc(alias = "PKApplePayLaterUnavailableItemIneligible")]
140    pub const UnavailableItemIneligible: Self = Self(1);
141    /// One or more ineligible items are in the basket, such as items with long fulfillment or prohibited MCCs
142    #[doc(alias = "PKApplePayLaterUnavailableRecurringTransaction")]
143    pub const UnavailableRecurringTransaction: Self = Self(2);
144}
145
146unsafe impl Encode for PKApplePayLaterAvailability {
147    const ENCODING: Encoding = NSInteger::ENCODING;
148}
149
150unsafe impl RefEncode for PKApplePayLaterAvailability {
151    const ENCODING_REF: Encoding = Encoding::Pointer(&Self::ENCODING);
152}
153
154extern_class!(
155    /// [Apple's documentation](https://developer.apple.com/documentation/passkit/pkpaymentrequest?language=objc)
156    #[unsafe(super(NSObject))]
157    #[derive(Debug, PartialEq, Eq, Hash)]
158    pub struct PKPaymentRequest;
159);
160
161extern_conformance!(
162    unsafe impl NSObjectProtocol for PKPaymentRequest {}
163);
164
165impl PKPaymentRequest {
166    extern_methods!(
167        #[cfg(feature = "PKConstants")]
168        #[unsafe(method(availableNetworks))]
169        #[unsafe(method_family = none)]
170        pub unsafe fn availableNetworks() -> Retained<NSArray<PKPaymentNetwork>>;
171
172        #[cfg(feature = "PKConstants")]
173        #[unsafe(method(paymentContactInvalidErrorWithContactField:localizedDescription:))]
174        #[unsafe(method_family = none)]
175        pub unsafe fn paymentContactInvalidErrorWithContactField_localizedDescription(
176            field: &PKContactField,
177            localized_description: Option<&NSString>,
178        ) -> Retained<NSError>;
179
180        #[unsafe(method(paymentShippingAddressInvalidErrorWithKey:localizedDescription:))]
181        #[unsafe(method_family = none)]
182        pub unsafe fn paymentShippingAddressInvalidErrorWithKey_localizedDescription(
183            postal_address_key: &NSString,
184            localized_description: Option<&NSString>,
185        ) -> Retained<NSError>;
186
187        #[unsafe(method(paymentBillingAddressInvalidErrorWithKey:localizedDescription:))]
188        #[unsafe(method_family = none)]
189        pub unsafe fn paymentBillingAddressInvalidErrorWithKey_localizedDescription(
190            postal_address_key: &NSString,
191            localized_description: Option<&NSString>,
192        ) -> Retained<NSError>;
193
194        #[unsafe(method(paymentShippingAddressUnserviceableErrorWithLocalizedDescription:))]
195        #[unsafe(method_family = none)]
196        pub unsafe fn paymentShippingAddressUnserviceableErrorWithLocalizedDescription(
197            localized_description: Option<&NSString>,
198        ) -> Retained<NSError>;
199
200        #[unsafe(method(paymentCouponCodeInvalidErrorWithLocalizedDescription:))]
201        #[unsafe(method_family = none)]
202        pub unsafe fn paymentCouponCodeInvalidErrorWithLocalizedDescription(
203            localized_description: Option<&NSString>,
204        ) -> Retained<NSError>;
205
206        #[unsafe(method(paymentCouponCodeExpiredErrorWithLocalizedDescription:))]
207        #[unsafe(method_family = none)]
208        pub unsafe fn paymentCouponCodeExpiredErrorWithLocalizedDescription(
209            localized_description: Option<&NSString>,
210        ) -> Retained<NSError>;
211
212        #[unsafe(method(merchantIdentifier))]
213        #[unsafe(method_family = none)]
214        pub unsafe fn merchantIdentifier(&self) -> Retained<NSString>;
215
216        /// Setter for [`merchantIdentifier`][Self::merchantIdentifier].
217        ///
218        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
219        #[unsafe(method(setMerchantIdentifier:))]
220        #[unsafe(method_family = none)]
221        pub unsafe fn setMerchantIdentifier(&self, merchant_identifier: &NSString);
222
223        #[unsafe(method(attributionIdentifier))]
224        #[unsafe(method_family = none)]
225        pub unsafe fn attributionIdentifier(&self) -> Option<Retained<NSString>>;
226
227        /// Setter for [`attributionIdentifier`][Self::attributionIdentifier].
228        ///
229        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
230        #[unsafe(method(setAttributionIdentifier:))]
231        #[unsafe(method_family = none)]
232        pub unsafe fn setAttributionIdentifier(&self, attribution_identifier: Option<&NSString>);
233
234        #[unsafe(method(countryCode))]
235        #[unsafe(method_family = none)]
236        pub unsafe fn countryCode(&self) -> Retained<NSString>;
237
238        /// Setter for [`countryCode`][Self::countryCode].
239        ///
240        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
241        #[unsafe(method(setCountryCode:))]
242        #[unsafe(method_family = none)]
243        pub unsafe fn setCountryCode(&self, country_code: &NSString);
244
245        #[cfg(feature = "PKConstants")]
246        #[unsafe(method(supportedNetworks))]
247        #[unsafe(method_family = none)]
248        pub unsafe fn supportedNetworks(&self) -> Retained<NSArray<PKPaymentNetwork>>;
249
250        #[cfg(feature = "PKConstants")]
251        /// Setter for [`supportedNetworks`][Self::supportedNetworks].
252        ///
253        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
254        #[unsafe(method(setSupportedNetworks:))]
255        #[unsafe(method_family = none)]
256        pub unsafe fn setSupportedNetworks(&self, supported_networks: &NSArray<PKPaymentNetwork>);
257
258        #[unsafe(method(merchantCapabilities))]
259        #[unsafe(method_family = none)]
260        pub unsafe fn merchantCapabilities(&self) -> PKMerchantCapability;
261
262        /// Setter for [`merchantCapabilities`][Self::merchantCapabilities].
263        #[unsafe(method(setMerchantCapabilities:))]
264        #[unsafe(method_family = none)]
265        pub unsafe fn setMerchantCapabilities(&self, merchant_capabilities: PKMerchantCapability);
266
267        #[unsafe(method(supportsCouponCode))]
268        #[unsafe(method_family = none)]
269        pub unsafe fn supportsCouponCode(&self) -> bool;
270
271        /// Setter for [`supportsCouponCode`][Self::supportsCouponCode].
272        #[unsafe(method(setSupportsCouponCode:))]
273        #[unsafe(method_family = none)]
274        pub unsafe fn setSupportsCouponCode(&self, supports_coupon_code: bool);
275
276        #[unsafe(method(couponCode))]
277        #[unsafe(method_family = none)]
278        pub unsafe fn couponCode(&self) -> Option<Retained<NSString>>;
279
280        /// Setter for [`couponCode`][Self::couponCode].
281        ///
282        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
283        #[unsafe(method(setCouponCode:))]
284        #[unsafe(method_family = none)]
285        pub unsafe fn setCouponCode(&self, coupon_code: Option<&NSString>);
286
287        #[unsafe(method(merchantCategoryCode))]
288        #[unsafe(method_family = none)]
289        pub unsafe fn merchantCategoryCode(&self) -> PKMerchantCategoryCode;
290
291        /// Setter for [`merchantCategoryCode`][Self::merchantCategoryCode].
292        #[unsafe(method(setMerchantCategoryCode:))]
293        #[unsafe(method_family = none)]
294        pub unsafe fn setMerchantCategoryCode(
295            &self,
296            merchant_category_code: PKMerchantCategoryCode,
297        );
298
299        #[cfg(feature = "PKPaymentSummaryItem")]
300        #[unsafe(method(paymentSummaryItems))]
301        #[unsafe(method_family = none)]
302        pub unsafe fn paymentSummaryItems(&self) -> Retained<NSArray<PKPaymentSummaryItem>>;
303
304        #[cfg(feature = "PKPaymentSummaryItem")]
305        /// Setter for [`paymentSummaryItems`][Self::paymentSummaryItems].
306        ///
307        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
308        #[unsafe(method(setPaymentSummaryItems:))]
309        #[unsafe(method_family = none)]
310        pub unsafe fn setPaymentSummaryItems(
311            &self,
312            payment_summary_items: &NSArray<PKPaymentSummaryItem>,
313        );
314
315        #[unsafe(method(currencyCode))]
316        #[unsafe(method_family = none)]
317        pub unsafe fn currencyCode(&self) -> Retained<NSString>;
318
319        /// Setter for [`currencyCode`][Self::currencyCode].
320        ///
321        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
322        #[unsafe(method(setCurrencyCode:))]
323        #[unsafe(method_family = none)]
324        pub unsafe fn setCurrencyCode(&self, currency_code: &NSString);
325
326        #[cfg(feature = "PKConstants")]
327        #[unsafe(method(requiredBillingContactFields))]
328        #[unsafe(method_family = none)]
329        pub unsafe fn requiredBillingContactFields(&self) -> Retained<NSSet<PKContactField>>;
330
331        #[cfg(feature = "PKConstants")]
332        /// Setter for [`requiredBillingContactFields`][Self::requiredBillingContactFields].
333        #[unsafe(method(setRequiredBillingContactFields:))]
334        #[unsafe(method_family = none)]
335        pub unsafe fn setRequiredBillingContactFields(
336            &self,
337            required_billing_contact_fields: &NSSet<PKContactField>,
338        );
339
340        #[deprecated]
341        #[unsafe(method(requiredBillingAddressFields))]
342        #[unsafe(method_family = none)]
343        pub unsafe fn requiredBillingAddressFields(&self) -> PKAddressField;
344
345        /// Setter for [`requiredBillingAddressFields`][Self::requiredBillingAddressFields].
346        #[deprecated]
347        #[unsafe(method(setRequiredBillingAddressFields:))]
348        #[unsafe(method_family = none)]
349        pub unsafe fn setRequiredBillingAddressFields(
350            &self,
351            required_billing_address_fields: PKAddressField,
352        );
353
354        #[cfg(feature = "PKContact")]
355        #[unsafe(method(billingContact))]
356        #[unsafe(method_family = none)]
357        pub unsafe fn billingContact(&self) -> Option<Retained<PKContact>>;
358
359        #[cfg(feature = "PKContact")]
360        /// Setter for [`billingContact`][Self::billingContact].
361        #[unsafe(method(setBillingContact:))]
362        #[unsafe(method_family = none)]
363        pub unsafe fn setBillingContact(&self, billing_contact: Option<&PKContact>);
364
365        #[cfg(feature = "PKConstants")]
366        #[unsafe(method(requiredShippingContactFields))]
367        #[unsafe(method_family = none)]
368        pub unsafe fn requiredShippingContactFields(&self) -> Retained<NSSet<PKContactField>>;
369
370        #[cfg(feature = "PKConstants")]
371        /// Setter for [`requiredShippingContactFields`][Self::requiredShippingContactFields].
372        #[unsafe(method(setRequiredShippingContactFields:))]
373        #[unsafe(method_family = none)]
374        pub unsafe fn setRequiredShippingContactFields(
375            &self,
376            required_shipping_contact_fields: &NSSet<PKContactField>,
377        );
378
379        #[deprecated]
380        #[unsafe(method(requiredShippingAddressFields))]
381        #[unsafe(method_family = none)]
382        pub unsafe fn requiredShippingAddressFields(&self) -> PKAddressField;
383
384        /// Setter for [`requiredShippingAddressFields`][Self::requiredShippingAddressFields].
385        #[deprecated]
386        #[unsafe(method(setRequiredShippingAddressFields:))]
387        #[unsafe(method_family = none)]
388        pub unsafe fn setRequiredShippingAddressFields(
389            &self,
390            required_shipping_address_fields: PKAddressField,
391        );
392
393        #[cfg(feature = "PKContact")]
394        #[unsafe(method(shippingContact))]
395        #[unsafe(method_family = none)]
396        pub unsafe fn shippingContact(&self) -> Option<Retained<PKContact>>;
397
398        #[cfg(feature = "PKContact")]
399        /// Setter for [`shippingContact`][Self::shippingContact].
400        #[unsafe(method(setShippingContact:))]
401        #[unsafe(method_family = none)]
402        pub unsafe fn setShippingContact(&self, shipping_contact: Option<&PKContact>);
403
404        #[cfg(all(feature = "PKPaymentSummaryItem", feature = "PKShippingMethod"))]
405        #[unsafe(method(shippingMethods))]
406        #[unsafe(method_family = none)]
407        pub unsafe fn shippingMethods(&self) -> Option<Retained<NSArray<PKShippingMethod>>>;
408
409        #[cfg(all(feature = "PKPaymentSummaryItem", feature = "PKShippingMethod"))]
410        /// Setter for [`shippingMethods`][Self::shippingMethods].
411        ///
412        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
413        #[unsafe(method(setShippingMethods:))]
414        #[unsafe(method_family = none)]
415        pub unsafe fn setShippingMethods(
416            &self,
417            shipping_methods: Option<&NSArray<PKShippingMethod>>,
418        );
419
420        #[unsafe(method(shippingType))]
421        #[unsafe(method_family = none)]
422        pub unsafe fn shippingType(&self) -> PKShippingType;
423
424        /// Setter for [`shippingType`][Self::shippingType].
425        #[unsafe(method(setShippingType:))]
426        #[unsafe(method_family = none)]
427        pub unsafe fn setShippingType(&self, shipping_type: PKShippingType);
428
429        #[unsafe(method(shippingContactEditingMode))]
430        #[unsafe(method_family = none)]
431        pub unsafe fn shippingContactEditingMode(&self) -> PKShippingContactEditingMode;
432
433        /// Setter for [`shippingContactEditingMode`][Self::shippingContactEditingMode].
434        #[unsafe(method(setShippingContactEditingMode:))]
435        #[unsafe(method_family = none)]
436        pub unsafe fn setShippingContactEditingMode(
437            &self,
438            shipping_contact_editing_mode: PKShippingContactEditingMode,
439        );
440
441        #[unsafe(method(applicationData))]
442        #[unsafe(method_family = none)]
443        pub unsafe fn applicationData(&self) -> Option<Retained<NSData>>;
444
445        /// Setter for [`applicationData`][Self::applicationData].
446        ///
447        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
448        #[unsafe(method(setApplicationData:))]
449        #[unsafe(method_family = none)]
450        pub unsafe fn setApplicationData(&self, application_data: Option<&NSData>);
451
452        #[unsafe(method(supportedCountries))]
453        #[unsafe(method_family = none)]
454        pub unsafe fn supportedCountries(&self) -> Option<Retained<NSSet<NSString>>>;
455
456        /// Setter for [`supportedCountries`][Self::supportedCountries].
457        ///
458        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
459        #[unsafe(method(setSupportedCountries:))]
460        #[unsafe(method_family = none)]
461        pub unsafe fn setSupportedCountries(&self, supported_countries: Option<&NSSet<NSString>>);
462
463        #[cfg(feature = "PKPaymentTokenContext")]
464        #[unsafe(method(multiTokenContexts))]
465        #[unsafe(method_family = none)]
466        pub unsafe fn multiTokenContexts(&self) -> Retained<NSArray<PKPaymentTokenContext>>;
467
468        #[cfg(feature = "PKPaymentTokenContext")]
469        /// Setter for [`multiTokenContexts`][Self::multiTokenContexts].
470        ///
471        /// This is [copied][objc2_foundation::NSCopying::copy] when set.
472        #[unsafe(method(setMultiTokenContexts:))]
473        #[unsafe(method_family = none)]
474        pub unsafe fn setMultiTokenContexts(
475            &self,
476            multi_token_contexts: &NSArray<PKPaymentTokenContext>,
477        );
478
479        #[cfg(feature = "PKRecurringPaymentRequest")]
480        #[unsafe(method(recurringPaymentRequest))]
481        #[unsafe(method_family = none)]
482        pub unsafe fn recurringPaymentRequest(&self)
483            -> Option<Retained<PKRecurringPaymentRequest>>;
484
485        #[cfg(feature = "PKRecurringPaymentRequest")]
486        /// Setter for [`recurringPaymentRequest`][Self::recurringPaymentRequest].
487        #[unsafe(method(setRecurringPaymentRequest:))]
488        #[unsafe(method_family = none)]
489        pub unsafe fn setRecurringPaymentRequest(
490            &self,
491            recurring_payment_request: Option<&PKRecurringPaymentRequest>,
492        );
493
494        #[cfg(feature = "PKAutomaticReloadPaymentRequest")]
495        #[unsafe(method(automaticReloadPaymentRequest))]
496        #[unsafe(method_family = none)]
497        pub unsafe fn automaticReloadPaymentRequest(
498            &self,
499        ) -> Option<Retained<PKAutomaticReloadPaymentRequest>>;
500
501        #[cfg(feature = "PKAutomaticReloadPaymentRequest")]
502        /// Setter for [`automaticReloadPaymentRequest`][Self::automaticReloadPaymentRequest].
503        #[unsafe(method(setAutomaticReloadPaymentRequest:))]
504        #[unsafe(method_family = none)]
505        pub unsafe fn setAutomaticReloadPaymentRequest(
506            &self,
507            automatic_reload_payment_request: Option<&PKAutomaticReloadPaymentRequest>,
508        );
509
510        #[cfg(feature = "PKDeferredPaymentRequest")]
511        #[unsafe(method(deferredPaymentRequest))]
512        #[unsafe(method_family = none)]
513        pub unsafe fn deferredPaymentRequest(&self) -> Option<Retained<PKDeferredPaymentRequest>>;
514
515        #[cfg(feature = "PKDeferredPaymentRequest")]
516        /// Setter for [`deferredPaymentRequest`][Self::deferredPaymentRequest].
517        #[unsafe(method(setDeferredPaymentRequest:))]
518        #[unsafe(method_family = none)]
519        pub unsafe fn setDeferredPaymentRequest(
520            &self,
521            deferred_payment_request: Option<&PKDeferredPaymentRequest>,
522        );
523
524        #[unsafe(method(applePayLaterAvailability))]
525        #[unsafe(method_family = none)]
526        pub unsafe fn applePayLaterAvailability(&self) -> PKApplePayLaterAvailability;
527
528        /// Setter for [`applePayLaterAvailability`][Self::applePayLaterAvailability].
529        #[unsafe(method(setApplePayLaterAvailability:))]
530        #[unsafe(method_family = none)]
531        pub unsafe fn setApplePayLaterAvailability(
532            &self,
533            apple_pay_later_availability: PKApplePayLaterAvailability,
534        );
535    );
536}
537
538/// Methods declared on superclass `NSObject`.
539impl PKPaymentRequest {
540    extern_methods!(
541        #[unsafe(method(init))]
542        #[unsafe(method_family = init)]
543        pub unsafe fn init(this: Allocated<Self>) -> Retained<Self>;
544
545        #[unsafe(method(new))]
546        #[unsafe(method_family = new)]
547        pub unsafe fn new() -> Retained<Self>;
548    );
549}