Protocols
The following protocols are available globally.
-
Objects conforming to STPAPIResponseDecodable can be automatically converted from a JSON dictionary that was returned from the Stripe API.
See moreDeclaration
Objective-C
@protocol STPAPIResponseDecodable <NSObject>
Swift
protocol STPAPIResponseDecodable : NSObjectProtocol
-
STPAUBECSDebitFormViewDelegate provides methods for STPAUBECSDebitFormView to inform its delegate of when the form has been completed.
See moreDeclaration
Objective-C
@protocol STPAUBECSDebitFormViewDelegate <NSObject>
Swift
protocol STPAUBECSDebitFormViewDelegate : NSObjectProtocol
-
An
See moreSTPAddCardViewControllerDelegate
is notified when anSTPAddCardViewController
successfully creates a card token or is cancelled. It has internal error-handling logic, so there’s no error case to deal with.Declaration
Objective-C
@protocol STPAddCardViewControllerDelegate <NSObject>
Swift
protocol STPAddCardViewControllerDelegate : NSObjectProtocol
-
Implement the required methods of this delegate to supply a PaymentIntent to STPApplePayContext and be notified of the completion of the Apple Pay payment.
You may also implement the optional delegate methods to handle shipping methods and shipping address changes e.g. to verify you can ship to the address, or update the payment amount.
See moreDeclaration
Objective-C
@protocol STPApplePayContextDelegate <NSObject>
Swift
protocol STPApplePayContextDelegate : NSObjectProtocol
-
See moreSTPAuthenticationContext
provides information required to present authentication challenges to a user.Declaration
Objective-C
@protocol STPAuthenticationContext <NSObject>
Swift
protocol STPAuthenticationContext : NSObjectProtocol
-
A “bridge” from our pre-built UI (
STPPaymentContext
,STPPaymentOptionsViewController
) to your backend to fetch Customer-related information needed to power those views.Typically, you will not need to implement this protocol yourself. You should instead use
STPCustomerContext
, which implementsand manages retrieving and updating a Stripe customer for you. See
STPCustomerContext.hIf you would prefer retrieving and updating your Stripe customer object via your own backend instead of using
See moreSTPCustomerContext
, you should make your application’s API client conform to this interface.Declaration
Objective-C
@protocol STPBackendAPIAdapter <NSObject>
Swift
protocol STPBackendAPIAdapter : NSObjectProtocol
-
An
See moreSTPBankSelectionViewControllerDelegate
is notified when a user selects a bank.Declaration
Objective-C
@protocol STPBankSelectionViewControllerDelegate <NSObject>
Swift
protocol STPBankSelectionViewControllerDelegate : NSObjectProtocol
-
You should make your application’s API client conform to this interface. It provides a way for Stripe utility classes to request a new ephemeral key from your backend, which it will use to retrieve and update Stripe API objects.
See moreDeclaration
Objective-C
@protocol STPCustomerEphemeralKeyProvider <NSObject>
Swift
protocol STPCustomerEphemeralKeyProvider : NSObjectProtocol
-
You should make your application’s API client conform to this interface. It provides a way for Stripe utility classes to request a new ephemeral key from your backend, which it will use to retrieve and update Stripe API objects.
See moreDeclaration
Objective-C
@protocol STPIssuingCardEphemeralKeyProvider <NSObject>
Swift
protocol STPIssuingCardEphemeralKeyProvider : NSObjectProtocol
-
Deprecated
STPEphemeralKeyProvider has been renamed to STPCustomerEphemeralKeyProvider
You should make your application’s API client conform to this interface. It provides a way for Stripe utility classes to request a new ephemeral key from your backend, which it will use to retrieve and update Stripe API objects. @deprecated use
STPCustomerEphemeralKeyProvider
orSTPIssuingCardEphemeralKeyProvider
depending on the type of key that will be fetched.Declaration
Objective-C
@protocol STPEphemeralKeyProvider <STPCustomerEphemeralKeyProvider>
Swift
protocol STPEphemeralKeyProvider : STPCustomerEphemeralKeyProvider
-
Objects conforming to STPFormEncodable can be automatically converted to a form-encoded string, which can then be used when making requests to the Stripe API.
See moreDeclaration
Objective-C
@protocol STPFormEncodable <NSObject>
Swift
protocol STPFormEncodable : NSObjectProtocol
-
STPFormTextFieldContainer is a protocol that views can conform to to provide customization properties for the field form views that they contain.
See moreDeclaration
Objective-C
@protocol STPFormTextFieldContainer <NSObject>
Swift
protocol STPFormTextFieldContainer : NSObjectProtocol
-
STPMultiFormFieldDelegate provides methods for a delegate to respond to editing and text changes.
See moreDeclaration
Objective-C
@protocol STPMultiFormFieldDelegate <NSObject>
Swift
protocol STPMultiFormFieldDelegate : NSObjectProtocol
-
This protocol allows a delegate to be notified when a payment text field’s contents change, which can in turn be used to take further actions depending on the validity of its contents.
See moreDeclaration
Objective-C
@protocol STPPaymentCardTextFieldDelegate <NSObject>
Swift
protocol STPPaymentCardTextFieldDelegate : NSObjectProtocol
-
Implement
See moreSTPPaymentContextDelegate
to get notified when a payment context changes, finishes, encounters errors, etc. In practice, if your app has a “checkout screen view controller”, that is a good candidate to implement this protocol.Declaration
Objective-C
@protocol STPPaymentContextDelegate <NSObject>
Swift
protocol STPPaymentContextDelegate : NSObjectProtocol
-
This protocol represents a payment method that a user can select and use to pay.
The classes that conform to it and are supported by the UI:
STPApplePay
, which represents that the user wants to pay with Apple PaySTPPaymentMethod
. OnlySTPPaymentMethod.type == STPPaymentMethodTypeCard
andSTPPaymentMethod.type == STPPaymentMethodTypeFPX
are supported bySTPPaymentContext
andSTPPaymentOptionsViewController
STPPaymentMethodParams
. This should be used with non-reusable payment method, such as FPX and iDEAL. Instead of reaching out to Stripe to create a PaymentMethod, you can pass an STPPaymentMethodParams directly to Stripe when confirming a PaymentIntent.
Note
card-based Sources, Cards, and FPX support this protocol for use in a custom integration.
Declaration
Objective-C
@protocol STPPaymentOption <NSObject>
Swift
protocol STPPaymentOption : NSObjectProtocol
-
An
See moreSTPPaymentOptionsViewControllerDelegate
responds when a user selects a payment option from (or cancels) anSTPPaymentOptionsViewController
. In both of these instances, you should dismiss the view controller (either by popping it off the navigation stack, or dismissing it).Declaration
Objective-C
@protocol STPPaymentOptionsViewControllerDelegate <NSObject>
Swift
protocol STPPaymentOptionsViewControllerDelegate : NSObjectProtocol
-
An
See moreSTPShippingAddressViewControllerDelegate
is notified when anSTPShippingAddressViewController
receives an address, completes with an address, or is cancelled.Declaration
Objective-C
@protocol STPShippingAddressViewControllerDelegate <NSObject>
Swift
protocol STPShippingAddressViewControllerDelegate : NSObjectProtocol
-
Objects conforming to this protocol can be attached to a Stripe Customer object as a payment source.
See moreDeclaration
Objective-C
@protocol STPSourceProtocol <NSObject>
Swift
protocol STPSourceProtocol : NSObjectProtocol