From 48c2dc666acd24e30465ed475a4f66f21e7d058b Mon Sep 17 00:00:00 2001 From: Ben Guo Date: Fri, 5 May 2017 17:27:14 -0400 Subject: [PATCH] update docs --- docs/docs/Categories.html | 14 +- .../UINavigationBar(Stripe_Theme).html | 14 +- docs/docs/Classes.html | 89 ++- docs/docs/Classes/STPAPIClient.html | 219 +++++- .../Classes/STPAddCardViewController.html | 14 +- docs/docs/Classes/STPAddress.html | 14 +- docs/docs/Classes/STPBankAccount.html | 14 +- docs/docs/Classes/STPBankAccountParams.html | 14 +- docs/docs/Classes/STPCard.html | 14 +- docs/docs/Classes/STPCardParams.html | 14 +- docs/docs/Classes/STPCardValidator.html | 18 +- docs/docs/Classes/STPCoreViewController.html | 14 +- docs/docs/Classes/STPCustomer.html | 14 +- .../docs/Classes/STPCustomerDeserializer.html | 14 +- docs/docs/Classes/STPImageLibrary.html | 49 +- .../STPPaymentActivityIndicatorView.html | 14 +- .../docs/Classes/STPPaymentCardTextField.html | 105 ++- .../docs/Classes/STPPaymentConfiguration.html | 14 +- docs/docs/Classes/STPPaymentContext.html | 93 ++- .../STPPaymentMethodsViewController.html | 14 +- docs/docs/Classes/STPPaymentResult.html | 14 +- docs/docs/Classes/STPRedirectContext.html | 735 ++++++++++++++++++ .../STPShippingAddressViewController.html | 14 +- docs/docs/Classes/STPSource.html | 14 +- docs/docs/Classes/STPSourceCardDetails.html | 14 +- docs/docs/Classes/STPSourceOwner.html | 14 +- docs/docs/Classes/STPSourceParams.html | 100 ++- docs/docs/Classes/STPSourceReceiver.html | 14 +- docs/docs/Classes/STPSourceRedirect.html | 14 +- .../Classes/STPSourceSEPADebitDetails.html | 14 +- docs/docs/Classes/STPSourceVerification.html | 14 +- docs/docs/Classes/STPTheme.html | 14 +- docs/docs/Classes/STPToken.html | 14 +- docs/docs/Classes/STPUserInformation.html | 14 +- docs/docs/Classes/Stripe.html | 58 +- docs/docs/Constants.html | 14 +- docs/docs/Enums.html | 66 +- docs/docs/Enums/STPBillingAddressFields.html | 14 +- docs/docs/Enums/STPPaymentMethodType.html | 14 +- docs/docs/Enums/STPPaymentStatus.html | 20 +- docs/docs/Enums/STPShippingStatus.html | 18 +- docs/docs/Enums/STPShippingType.html | 18 +- docs/docs/Protocols.html | 18 +- .../STPAddCardViewControllerDelegate.html | 14 +- docs/docs/Protocols/STPBackendAPIAdapter.html | 14 +- docs/docs/Protocols/STPFormEncodable.html | 14 +- .../STPPaymentCardTextFieldDelegate.html | 14 +- .../Protocols/STPPaymentContextDelegate.html | 24 +- docs/docs/Protocols/STPPaymentMethod.html | 14 +- ...PPaymentMethodsViewControllerDelegate.html | 73 +- ...ShippingAddressViewControllerDelegate.html | 14 +- docs/docs/Protocols/STPSourceProtocol.html | 14 +- docs/docs/Type Definitions.html | 199 ++++- .../Resources/Documents/Categories.html | 14 +- .../UINavigationBar(Stripe_Theme).html | 14 +- .../Contents/Resources/Documents/Classes.html | 89 ++- .../Documents/Classes/STPAPIClient.html | 219 +++++- .../Classes/STPAddCardViewController.html | 14 +- .../Documents/Classes/STPAddress.html | 14 +- .../Documents/Classes/STPBankAccount.html | 14 +- .../Classes/STPBankAccountParams.html | 14 +- .../Resources/Documents/Classes/STPCard.html | 14 +- .../Documents/Classes/STPCardParams.html | 14 +- .../Documents/Classes/STPCardValidator.html | 18 +- .../Classes/STPCoreViewController.html | 14 +- .../Documents/Classes/STPCustomer.html | 14 +- .../Classes/STPCustomerDeserializer.html | 14 +- .../Documents/Classes/STPImageLibrary.html | 49 +- .../STPPaymentActivityIndicatorView.html | 14 +- .../Classes/STPPaymentCardTextField.html | 105 ++- .../Classes/STPPaymentConfiguration.html | 14 +- .../Documents/Classes/STPPaymentContext.html | 93 ++- .../STPPaymentMethodsViewController.html | 14 +- .../Documents/Classes/STPPaymentResult.html | 14 +- .../Documents/Classes/STPRedirectContext.html | 735 ++++++++++++++++++ .../STPShippingAddressViewController.html | 14 +- .../Documents/Classes/STPSource.html | 14 +- .../Classes/STPSourceCardDetails.html | 14 +- .../Documents/Classes/STPSourceOwner.html | 14 +- .../Documents/Classes/STPSourceParams.html | 100 ++- .../Documents/Classes/STPSourceReceiver.html | 14 +- .../Documents/Classes/STPSourceRedirect.html | 14 +- .../Classes/STPSourceSEPADebitDetails.html | 14 +- .../Classes/STPSourceVerification.html | 14 +- .../Resources/Documents/Classes/STPTheme.html | 14 +- .../Resources/Documents/Classes/STPToken.html | 14 +- .../Documents/Classes/STPUserInformation.html | 14 +- .../Resources/Documents/Classes/Stripe.html | 58 +- .../Resources/Documents/Constants.html | 14 +- .../Contents/Resources/Documents/Enums.html | 66 +- .../Enums/STPBillingAddressFields.html | 14 +- .../Documents/Enums/STPPaymentMethodType.html | 14 +- .../Documents/Enums/STPPaymentStatus.html | 20 +- .../Documents/Enums/STPShippingStatus.html | 18 +- .../Documents/Enums/STPShippingType.html | 18 +- .../Resources/Documents/Protocols.html | 18 +- .../STPAddCardViewControllerDelegate.html | 14 +- .../Protocols/STPBackendAPIAdapter.html | 14 +- .../Documents/Protocols/STPFormEncodable.html | 14 +- .../STPPaymentCardTextFieldDelegate.html | 14 +- .../Protocols/STPPaymentContextDelegate.html | 24 +- .../Documents/Protocols/STPPaymentMethod.html | 14 +- ...PPaymentMethodsViewControllerDelegate.html | 73 +- ...ShippingAddressViewControllerDelegate.html | 14 +- .../Protocols/STPSourceProtocol.html | 14 +- .../Resources/Documents/Type Definitions.html | 199 ++++- .../Contents/Resources/Documents/index.html | 14 +- .../Contents/Resources/Documents/search.json | 2 +- .../Resources/Documents/undocumented.json | 127 ++- .../Contents/Resources/docSet.dsidx | Bin 110592 -> 118784 bytes docs/docs/docsets/Stripe.tgz | Bin 219794 -> 234612 bytes docs/docs/index.html | 14 +- docs/docs/search.json | 2 +- docs/docs/undocumented.json | 127 ++- 114 files changed, 4682 insertions(+), 416 deletions(-) create mode 100644 docs/docs/Classes/STPRedirectContext.html create mode 100644 docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPRedirectContext.html diff --git a/docs/docs/Categories.html b/docs/docs/Categories.html index 94524843686..c4b1cf9a025 100644 --- a/docs/docs/Categories.html +++ b/docs/docs/Categories.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -329,7 +341,7 @@

Declaration

diff --git a/docs/docs/Categories/UINavigationBar(Stripe_Theme).html b/docs/docs/Categories/UINavigationBar(Stripe_Theme).html index 3026f0f023d..ec2c3af3728 100644 --- a/docs/docs/Categories/UINavigationBar(Stripe_Theme).html +++ b/docs/docs/Categories/UINavigationBar(Stripe_Theme).html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -392,7 +404,7 @@

Declaration

diff --git a/docs/docs/Classes.html b/docs/docs/Classes.html index 1c15f55840e..ffa717836b4 100644 --- a/docs/docs/Classes.html +++ b/docs/docs/Classes.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -321,7 +333,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -357,7 +369,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -437,7 +449,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -916,7 +928,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -996,7 +1008,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -1086,7 +1098,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -1173,6 +1185,67 @@

Declaration

+
+ +
- Show on GitHub + Show on GitHub
@@ -1662,7 +1735,7 @@

Declaration

diff --git a/docs/docs/Classes/STPAPIClient.html b/docs/docs/Classes/STPAPIClient.html index f053752ee0f..804aad20da2 100644 --- a/docs/docs/Classes/STPAPIClient.html +++ b/docs/docs/Classes/STPAPIClient.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -327,7 +339,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -366,7 +378,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -406,7 +418,7 @@

Declaration

- Show on GitHub + Show on GitHub
@@ -562,7 +574,194 @@

Parameters

- Show on GitHub + Show on GitHub +
+ + + + + +
+
+ + + +

PII

+
+
+ +
+
+
+ + + +

Upload

+
+
+
- Show on GitHub + Show on GitHub
@@ -722,7 +921,7 @@

Parameters

- Show on GitHub + Show on GitHub
@@ -805,7 +1004,7 @@

Parameters

- Show on GitHub + Show on GitHub
@@ -911,7 +1110,7 @@

Parameters

- Show on GitHub + Show on GitHub
@@ -967,7 +1166,7 @@

Parameters

- Show on GitHub + Show on GitHub
@@ -980,7 +1179,7 @@

Parameters

diff --git a/docs/docs/Classes/STPAddCardViewController.html b/docs/docs/Classes/STPAddCardViewController.html index 5072ae9e5ca..f5a7fba73fa 100644 --- a/docs/docs/Classes/STPAddCardViewController.html +++ b/docs/docs/Classes/STPAddCardViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -518,7 +530,7 @@

Declaration

diff --git a/docs/docs/Classes/STPAddress.html b/docs/docs/Classes/STPAddress.html index ffd1d58df64..989d5b6bdb7 100644 --- a/docs/docs/Classes/STPAddress.html +++ b/docs/docs/Classes/STPAddress.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -620,7 +632,7 @@

Declaration

diff --git a/docs/docs/Classes/STPBankAccount.html b/docs/docs/Classes/STPBankAccount.html index 018cc683fff..37c974be1e1 100644 --- a/docs/docs/Classes/STPBankAccount.html +++ b/docs/docs/Classes/STPBankAccount.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -651,7 +663,7 @@

Declaration

diff --git a/docs/docs/Classes/STPBankAccountParams.html b/docs/docs/Classes/STPBankAccountParams.html index 4c277f4d46f..b34151eaa7e 100644 --- a/docs/docs/Classes/STPBankAccountParams.html +++ b/docs/docs/Classes/STPBankAccountParams.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -552,7 +564,7 @@

Declaration

diff --git a/docs/docs/Classes/STPCard.html b/docs/docs/Classes/STPCard.html index e048ef2a24e..eb8b8f469fe 100644 --- a/docs/docs/Classes/STPCard.html +++ b/docs/docs/Classes/STPCard.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -1061,7 +1073,7 @@

Declaration

diff --git a/docs/docs/Classes/STPCardParams.html b/docs/docs/Classes/STPCardParams.html index f8870dd3641..456eb9184d4 100644 --- a/docs/docs/Classes/STPCardParams.html +++ b/docs/docs/Classes/STPCardParams.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -581,7 +593,7 @@

Declaration

diff --git a/docs/docs/Classes/STPCardValidator.html b/docs/docs/Classes/STPCardValidator.html index 3c1d96afe70..d90b644c0fd 100644 --- a/docs/docs/Classes/STPCardValidator.html +++ b/docs/docs/Classes/STPCardValidator.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -389,13 +401,13 @@

Declaration

Objective-C

+ (STPCardValidationState)validationStateForNumber:
-                              (nonnull NSString *)cardNumber
+                              (nullable NSString *)cardNumber
                                validatingCardBrand:(BOOL)validatingCardBrand;

Swift

-
class func validationState(forNumber cardNumber: String, validatingCardBrand: Bool) -> STPCardValidationState
+
class func validationState(forNumber cardNumber: String?, validatingCardBrand: Bool) -> STPCardValidationState
@@ -912,7 +924,7 @@

Return Value

diff --git a/docs/docs/Classes/STPCoreViewController.html b/docs/docs/Classes/STPCoreViewController.html index dc8d89cebe8..ca24217e36f 100644 --- a/docs/docs/Classes/STPCoreViewController.html +++ b/docs/docs/Classes/STPCoreViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -472,7 +484,7 @@

Declaration

diff --git a/docs/docs/Classes/STPCustomer.html b/docs/docs/Classes/STPCustomer.html index 4b9e98a3ec5..b080acbf2bb 100644 --- a/docs/docs/Classes/STPCustomer.html +++ b/docs/docs/Classes/STPCustomer.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -499,7 +511,7 @@

Declaration

diff --git a/docs/docs/Classes/STPCustomerDeserializer.html b/docs/docs/Classes/STPCustomerDeserializer.html index d93e2e6ab83..78e8c1a38ed 100644 --- a/docs/docs/Classes/STPCustomerDeserializer.html +++ b/docs/docs/Classes/STPCustomerDeserializer.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -513,7 +525,7 @@

Declaration

diff --git a/docs/docs/Classes/STPImageLibrary.html b/docs/docs/Classes/STPImageLibrary.html index c5244791cc2..628ae196462 100644 --- a/docs/docs/Classes/STPImageLibrary.html +++ b/docs/docs/Classes/STPImageLibrary.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -683,6 +695,41 @@

Declaration

+
  • +
    + + + + +errorImageForCardBrand: + +
    +
    +
    +
    +
    +
    +

    This returns a small icon indicating a card number error for the given card brand.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nonnull UIImage *)errorImageForCardBrand:(STPCardBrand)brand;
    + +
    +
    +

    Swift

    +
    class func errorImage(for brand: STPCardBrand) -> Any!
    + +
    +
    + +
    +
    +
  • @@ -691,7 +738,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPPaymentActivityIndicatorView.html b/docs/docs/Classes/STPPaymentActivityIndicatorView.html index 28d5f53c531..f28cede6d08 100644 --- a/docs/docs/Classes/STPPaymentActivityIndicatorView.html +++ b/docs/docs/Classes/STPPaymentActivityIndicatorView.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -410,7 +422,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPPaymentCardTextField.html b/docs/docs/Classes/STPPaymentCardTextField.html index 1ea702a1dec..11cf78a2736 100644 --- a/docs/docs/Classes/STPPaymentCardTextField.html +++ b/docs/docs/Classes/STPPaymentCardTextField.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -1046,6 +1058,69 @@

    Return Value

    +
  • +
    + + + + +errorImageForCardBrand: + +
    +
    +
    +
    +
    +
    +

    Returns the error image used for a card brand. +Override this method in a subclass if you would like to provide custom images. +- parameter: cardBrand The brand of card entered. +- returns: The error image used for a card brand.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nullable UIImage *)errorImageForCardBrand:(STPCardBrand)cardBrand;
    + +
    +
    +

    Swift

    +
    class func errorImage(for cardBrand: STPCardBrand) -> Any!
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cardBrand + + +
    +

    The brand of card entered.

    + +
    +
    +
    +
    +

    Return Value

    +

    The error image used for a card brand.

    + +
    + +
    +
    +
  • @@ -1103,7 +1178,7 @@

    Return Value

    @@ -1165,7 +1240,7 @@

    Return Value

    @@ -1227,7 +1302,7 @@

    Return Value

    @@ -1289,7 +1364,7 @@

    Return Value

    @@ -1351,7 +1426,7 @@

    Return Value

    @@ -1387,7 +1462,7 @@

    Declaration

    @@ -1422,7 +1497,7 @@

    Declaration

    @@ -1457,7 +1532,7 @@

    Declaration

    @@ -1492,7 +1567,7 @@

    Declaration

    @@ -1527,7 +1602,7 @@

    Declaration

    @@ -1562,7 +1637,7 @@

    Declaration

    @@ -1597,7 +1672,7 @@

    Declaration

    @@ -1632,7 +1707,7 @@

    Declaration

    @@ -1670,7 +1745,7 @@

    Declaration

    @@ -1683,7 +1758,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPPaymentConfiguration.html b/docs/docs/Classes/STPPaymentConfiguration.html index 0e141032ce1..5f12d981dd1 100644 --- a/docs/docs/Classes/STPPaymentConfiguration.html +++ b/docs/docs/Classes/STPPaymentConfiguration.html @@ -124,6 +124,9 @@
  • + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -631,7 +643,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPPaymentContext.html b/docs/docs/Classes/STPPaymentContext.html index 246632bc8de..c973c1737ce 100644 --- a/docs/docs/Classes/STPPaymentContext.html +++ b/docs/docs/Classes/STPPaymentContext.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -1026,7 +1038,10 @@

    Declaration

    -

    If paymentContext:didFailToLoadWithError: is called on your delegate, you can in turn call this method to try loading again (if that hasn’t been called, calling this will do nothing). If retrying in turn fails, paymentContext:didFailToLoadWithError: will be called again (and you can again call this to keep retrying, etc).

    +

    If paymentContext:didFailToLoadWithError: is called on your delegate, you +can in turn call this method to try loading again (if that hasn’t been called, +calling this will do nothing). If retrying in turn fails, paymentContext:didFailToLoadWithError: +will be called again (and you can again call this to keep retrying, etc).

    @@ -1043,7 +1058,7 @@

    Declaration

    @@ -1061,7 +1076,16 @@

    Declaration

    -

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done selecting their payment method.

    +

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController +on top of the payment context’s hostViewController. It’ll be dismissed automatically +when the user is done selecting their payment method.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller or in the middle of requesting a payment. + +
    @@ -1078,7 +1102,7 @@

    Declaration

    @@ -1096,7 +1120,16 @@

    Declaration

    -

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done selecting their payment method.

    +

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController + onto the navigation stack of the context’s hostViewController. It’ll be popped + automatically when the user is done selecting their payment method.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller or in the middle of requesting a payment. + +
    @@ -1113,7 +1146,7 @@

    Declaration

    @@ -1131,7 +1164,17 @@

    Declaration

    -

    This creates, configures, and appropriately presents a view controller for collecting shipping address and shipping method on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done entering their shipping info.

    +

    This creates, configures, and appropriately presents a view controller for + collecting shipping address and shipping method on top of the payment context’s + hostViewController. It’ll be dismissed automatically when the user is done + entering their shipping info.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller or in the middle of requesting a payment. + +
    @@ -1148,7 +1191,7 @@

    Declaration

    @@ -1166,7 +1209,17 @@

    Declaration

    -

    This creates, configures, and appropriately pushes a view controller for collecting shipping address and shipping method onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done entering their shipping info.

    +

    This creates, configures, and appropriately pushes a view controller for + collecting shipping address and shipping method onto the navigation stack of + the context’s hostViewController. It’ll be popped automatically when the + user is done entering their shipping info.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller, or in the middle of requesting a payment. + +
    @@ -1183,7 +1236,7 @@

    Declaration

    @@ -1201,7 +1254,21 @@

    Declaration

    -

    Requests payment from the user. This may need to present some supplemental UI to the user, in which case it will be presented on the payment context’s hostViewController. For instance, if they’ve selected Apple Pay as their payment method, calling this method will show the payment sheet. If the user has a card on file, this will use that without presenting any additional UI. After this is called, the paymentContext:didCreatePaymentResult:completion: and paymentContext:didFinishWithStatus:error: methods will be called on the context’s delegate.

    +

    Requests payment from the user. This may need to present some supplemental UI + to the user, in which case it will be presented on the payment context’s + hostViewController. For instance, if they’ve selected Apple Pay as their + payment method, calling this method will show the payment sheet. If the user + has a card on file, this will use that without presenting any additional UI. + After this is called, the paymentContext:didCreatePaymentResult:completion: + and paymentContext:didFinishWithStatus:error: methods will be called on the + context’s delegate.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller, or in the middle of requesting a payment. + +
    @@ -1218,7 +1285,7 @@

    Declaration

    @@ -1231,7 +1298,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPPaymentMethodsViewController.html b/docs/docs/Classes/STPPaymentMethodsViewController.html index eae687d431b..0fa51756281 100644 --- a/docs/docs/Classes/STPPaymentMethodsViewController.html +++ b/docs/docs/Classes/STPPaymentMethodsViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -556,7 +568,7 @@

    Parameters

    diff --git a/docs/docs/Classes/STPPaymentResult.html b/docs/docs/Classes/STPPaymentResult.html index 5207cb45aa5..be5ed5a7772 100644 --- a/docs/docs/Classes/STPPaymentResult.html +++ b/docs/docs/Classes/STPPaymentResult.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -375,7 +387,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPRedirectContext.html b/docs/docs/Classes/STPRedirectContext.html new file mode 100644 index 00000000000..bd5802206ca --- /dev/null +++ b/docs/docs/Classes/STPRedirectContext.html @@ -0,0 +1,735 @@ + + + + STPRedirectContext Class Reference + + + + + + + + + + + + + + + + +
    +

    + + Stripe Docs + + +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    STPRedirectContext

    +
    +
    +
    
    +@interface STPRedirectContext : NSObject
    + +
    +
    +

    This is a helper class for handling redirect sources.

    + +

    Init an instance with the redirect flow source you want to handle, + then choose a redirect method. The context will fire the completion handler + when the redirect completes.

    + +

    Due to the nature of iOS, very little concrete information can be gained + during this process, as all actions take place in either the Safari app + or the sandboxed SFSafariViewController class. The context attempts to + detect when the user has completed the necessary redirect action by listening + for both app foregrounds and url callbacks received in the app delegate. + However, it is possible the when the redirect is completed, the user may + have not actually completed the necessary actions to authorize the charge.

    + +

    You can use STPAPIClient to listen for state changes on the source + object as a way to identify whether the user action succeeded or not. + - see: [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

    + +

    You should not use either this class, nor STPAPIClient, as a way + to determine when you should charge the source. Use Stripe webhooks on your + backend server to listen for source state changes and to make the charge.

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + state + +
      +
      +
      +
      +
      +
      +

      The current state of the context.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      @property (readonly, nonatomic) STPRedirectContextState state;
      + +
      +
      +

      Swift

      +
      var state: STPRedirectContextState { get }
      + +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Initializer for context.

      + +
      +

      Note

      +

      You must ensure that the returnURL set up in the created source +correctly goes to your app so that users can be returned once +they complete the redirect in the web broswer.

      + +
      + +
      +

      Note

      +

      Firing of the completion block does not necessarily mean the user successfully +performed the redirect action. You can re-fetch the source object using +its id and clientSecret, and poll for status updates on it to determine if +the source was sucessfully made chargeable.

      + +
      + +
      +

      See

      +

      [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (nullable instancetype)
      +initWithSource:(nonnull STPSource *)source
      +    completion:(nonnull STPRedirectContextCompletionBlock)completion;
      + +
      +
      +

      Swift

      +
      init?(source: STPSource, completion: @escaping STPRedirectContextCompletionBlock)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + +
      + + source + + +
      +

      The source that needs user redirect action to be taken.

      + +
      +
      + + completion + + +
      +

      A block to fire when the action is believed to have been completed.

      + +
      +
      +
      +
      +

      Return Value

      +

      Nil if the specified source is not a redirect-flow source. Otherwise a new context object.

      + +
      + +
      +
      +
    • +
    • +
      + + + + -init + +
      +
      +
      +
      +
      +
      +

      Use initWithSource:completion:

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (nonnull instancetype)init;
      + +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Starts a redirect flow.

      + +

      You must ensure that your app delegate listens for the returnURL that you + set on your source object, and forwards it to the Stripe SDK so that the + context can be notified when the redirect is completed and dismiss the + view controller. See [Stripe handleStripeURLCallbackWithURL:]

      + +

      The context will listen for both received URLs and app open notifications + and fire its completion block when either the URL is received, or the next + time the app is foregrounded.

      + +

      If the app is running on iOS 9+ it will initiate the flow by presenting + a SFSafariViewController instance from the pass in view controller. + Otherwise, if the app is running on iOS 8 it will initiate the flow by + bouncing the user out to the Safari app. If you want more manual control + over the redirect method, you can use startSafariViewControllerRedirectFlowFromViewController + or startSafariAppRedirectFlow

      + +
      +

      Note

      +

      This method does nothing if the context is not in the STPRedirectContextStateNotStarted state.

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)startRedirectFlowFromViewController:
      +    (nonnull UIViewController *)presentingViewController;
      + +
      +
      +

      Swift

      +
      func startRedirectFlow(fromViewController presentingViewController: Any!)
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + presentingViewController + + +
      +

      The view controller to present the Safari view controller from.

      + +
      +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Starts a redirect flow by presenting an SFSafariViewController in your app + from the passed in view controller.

      + +

      You must ensure that your app delegate listens for the returnURL that you + set on your source object, and forwards it to the Stripe SDK so that the + context can be notified when the redirect is completed and dismiss the + view controller. See [Stripe handleStripeURLCallbackWithURL:]

      + +

      The context will listen for both received URLs and app open notifications + and fire its completion block when either the URL is received, or the next + time the app is foregrounded.

      + +
      +

      Note

      +

      This method does nothing if the context is not in the STPRedirectContextStateNotStarted state.

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)startSafariViewControllerRedirectFlowFromViewController:
      +    (nonnull UIViewController *)presentingViewController;
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + presentingViewController + + +
      +

      The view controller to present the Safari view controller from.

      + +
      +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Starts a redirect flow by calling openURL to bounce the user out to + the Safari app.

      + +

      The context will listen for app open notifications and fire its completion + block the next time the user re-opens the app (either manually or via url)

      + +
      +

      Note

      + This method does nothing if the context is not in the STPRedirectContextStateNotStarted state. + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)startSafariAppRedirectFlow;
      + +
      +
      +

      Swift

      +
      func startSafariAppRedirectFlow()
      + +
      +
      + +
      +
      +
    • +
    • +
      + + + + -cancel + +
      +
      +
      +
      +
      +
      +

      Dismisses any presented views and stops listening for any +app opens or callbacks. The completion block will not be fired.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)cancel;
      + +
      +
      +

      Swift

      +
      func cancel()
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/docs/Classes/STPShippingAddressViewController.html b/docs/docs/Classes/STPShippingAddressViewController.html index e31d5e24a9a..de938fbea78 100644 --- a/docs/docs/Classes/STPShippingAddressViewController.html +++ b/docs/docs/Classes/STPShippingAddressViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -613,7 +625,7 @@

    Parameters

    diff --git a/docs/docs/Classes/STPSource.html b/docs/docs/Classes/STPSource.html index 8f6e280cc17..701372163ac 100644 --- a/docs/docs/Classes/STPSource.html +++ b/docs/docs/Classes/STPSource.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -933,7 +945,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPSourceCardDetails.html b/docs/docs/Classes/STPSourceCardDetails.html index b8d277a4125..aabd792e21c 100644 --- a/docs/docs/Classes/STPSourceCardDetails.html +++ b/docs/docs/Classes/STPSourceCardDetails.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -582,7 +594,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPSourceOwner.html b/docs/docs/Classes/STPSourceOwner.html index 1d640b8b535..166d91810ed 100644 --- a/docs/docs/Classes/STPSourceOwner.html +++ b/docs/docs/Classes/STPSourceOwner.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -615,7 +627,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPSourceParams.html b/docs/docs/Classes/STPSourceParams.html index 5720df91893..b191081e6f4 100644 --- a/docs/docs/Classes/STPSourceParams.html +++ b/docs/docs/Classes/STPSourceParams.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -333,6 +345,48 @@

    Declaration

    +
  • +
    + + + + rawTypeString + +
    +
    +
    +
    +
    +
    +

    The raw underlying type string sent to the server.

    + +

    Generally you should use type instead unless you have a reason not to. + You can use this if you want to create a param of a type not yet supported + by the current version of the SDK’s STPSourceType enum.

    + +

    Setting this to a value not known by the SDK causes type to + return STPSourceTypeUnknown

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readwrite, copy, nonatomic) NSString *_Nonnull rawTypeString;
    + +
    +
    +

    Swift

    +
    var rawTypeString: String { get set }
    + +
    +
    + +
    +
    +
  • @@ -365,7 +419,7 @@

    Declaration

    @@ -401,7 +455,7 @@

    Declaration

    @@ -438,7 +492,7 @@

    Declaration

    @@ -473,7 +527,7 @@

    Declaration

    @@ -509,7 +563,7 @@

    Declaration

    @@ -545,7 +599,7 @@

    Declaration

    @@ -581,7 +635,7 @@

    Declaration

    @@ -618,7 +672,7 @@

    Declaration

    @@ -722,7 +776,7 @@

    Return Value

    @@ -812,7 +866,7 @@

    Return Value

    @@ -873,7 +927,7 @@

    Return Value

    @@ -977,7 +1031,7 @@

    Return Value

    @@ -1095,7 +1149,7 @@

    Return Value

    @@ -1124,15 +1178,15 @@

    Declaration

    + (nonnull STPSourceParams *)
     sepaDebitParamsWithName:(nonnull NSString *)name
                        iban:(nonnull NSString *)iban
    -           addressLine1:(nonnull NSString *)addressLine1
    -                   city:(nonnull NSString *)city
    -             postalCode:(nonnull NSString *)postalCode
    -                country:(nonnull NSString *)country;
    + addressLine1:(nullable NSString *)addressLine1 + city:(nullable NSString *)city + postalCode:(nullable NSString *)postalCode + country:(nullable NSString *)country;

    Swift

    -
    class func sepaDebitParams(withName name: String, iban: String, addressLine1: String, city: String, postalCode: String, country: String) -> STPSourceParams
    +
    class func sepaDebitParams(withName name: String, iban: String, addressLine1: String?, city: String?, postalCode: String?, country: String?) -> STPSourceParams
    @@ -1174,7 +1228,7 @@

    Parameters

    -

    The bank account holder’s first address line.

    +

    The bank account holder’s first address line (optional).

    @@ -1227,7 +1281,7 @@

    Return Value

    @@ -1331,7 +1385,7 @@

    Return Value

    @@ -1435,7 +1489,7 @@

    Return Value

    @@ -1448,7 +1502,7 @@

    Return Value

    diff --git a/docs/docs/Classes/STPSourceReceiver.html b/docs/docs/Classes/STPSourceReceiver.html index ed033676ddf..4462736e88b 100644 --- a/docs/docs/Classes/STPSourceReceiver.html +++ b/docs/docs/Classes/STPSourceReceiver.html @@ -124,6 +124,9 @@
  • + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -475,7 +487,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPSourceRedirect.html b/docs/docs/Classes/STPSourceRedirect.html index 51beccafa46..78808add505 100644 --- a/docs/docs/Classes/STPSourceRedirect.html +++ b/docs/docs/Classes/STPSourceRedirect.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -440,7 +452,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPSourceSEPADebitDetails.html b/docs/docs/Classes/STPSourceSEPADebitDetails.html index 5f291ec86c9..840cce78c07 100644 --- a/docs/docs/Classes/STPSourceSEPADebitDetails.html +++ b/docs/docs/Classes/STPSourceSEPADebitDetails.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -547,7 +559,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPSourceVerification.html b/docs/docs/Classes/STPSourceVerification.html index 2711d3d51b9..7da9b0f37f0 100644 --- a/docs/docs/Classes/STPSourceVerification.html +++ b/docs/docs/Classes/STPSourceVerification.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -405,7 +417,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPTheme.html b/docs/docs/Classes/STPTheme.html index e238bd73194..a2a02ee94d9 100644 --- a/docs/docs/Classes/STPTheme.html +++ b/docs/docs/Classes/STPTheme.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -832,7 +844,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPToken.html b/docs/docs/Classes/STPToken.html index 5d83fad0627..61cb1dc22d5 100644 --- a/docs/docs/Classes/STPToken.html +++ b/docs/docs/Classes/STPToken.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -512,7 +524,7 @@

    Declaration

    diff --git a/docs/docs/Classes/STPUserInformation.html b/docs/docs/Classes/STPUserInformation.html index d66ade8213d..6d459609916 100644 --- a/docs/docs/Classes/STPUserInformation.html +++ b/docs/docs/Classes/STPUserInformation.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -411,7 +423,7 @@

    Declaration

    diff --git a/docs/docs/Classes/Stripe.html b/docs/docs/Classes/Stripe.html index 950fac5fc79..4c31bb639a1 100644 --- a/docs/docs/Classes/Stripe.html +++ b/docs/docs/Classes/Stripe.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -354,7 +366,7 @@

    Parameters

    @@ -389,43 +401,7 @@

    Declaration

    - - - -
  • -
    - - - - +disableAnalytics - -
    -
    -
    -
    -
    -
    -

    By default, Stripe collects some basic information about SDK usage. -You can call this method to turn off analytics collection.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    + (void)disableAnalytics;
    - -
    -
    -

    Swift

    -
    class func disableAnalytics()
    - -
    -
    -
    @@ -495,7 +471,7 @@

    Return Value

    @@ -555,7 +531,7 @@

    Return Value

    @@ -568,7 +544,7 @@

    Return Value

    diff --git a/docs/docs/Constants.html b/docs/docs/Constants.html index e9c541aa5fd..2b7aa1cb6d1 100644 --- a/docs/docs/Constants.html +++ b/docs/docs/Constants.html @@ -123,6 +123,9 @@
  • + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -333,7 +345,7 @@

    Declaration

    diff --git a/docs/docs/Enums.html b/docs/docs/Enums.html index 1db1349c32c..b93095d9233 100644 --- a/docs/docs/Enums.html +++ b/docs/docs/Enums.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -368,7 +380,7 @@

    Declaration

    @@ -404,7 +416,7 @@

    Declaration

    @@ -440,7 +452,7 @@

    Declaration

    @@ -599,6 +611,52 @@

    Declaration

    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Possible states for the redirect context to be in

      + +
        +
      • STPRedirectContextStateNotStarted: Initialized, but redirect not started
      • +
      • STPRedirectContextStateInProgress: Redirect is in progress
      • +
      • STPRedirectContextStateCancelled: Redirect has been cancelled programmatically before completing
      • +
      • STPRedirectContextStateCompleted: Redirect has completed.
      • +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      enum STPRedirectContextState : NSUInteger {}
      + +
      +
      +

      Swift

      +
      enum STPRedirectContextState : UInt
      + +
      +
      + +
      +
      +
    • +
    +
    • @@ -827,7 +885,7 @@

      Declaration

    diff --git a/docs/docs/Enums/STPBillingAddressFields.html b/docs/docs/Enums/STPBillingAddressFields.html index 021ae00f769..18c285f7bca 100644 --- a/docs/docs/Enums/STPBillingAddressFields.html +++ b/docs/docs/Enums/STPBillingAddressFields.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -417,7 +429,7 @@

    Declaration

    diff --git a/docs/docs/Enums/STPPaymentMethodType.html b/docs/docs/Enums/STPPaymentMethodType.html index 71051e70395..df48b5d7f35 100644 --- a/docs/docs/Enums/STPPaymentMethodType.html +++ b/docs/docs/Enums/STPPaymentMethodType.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -395,7 +407,7 @@

    Declaration

    diff --git a/docs/docs/Enums/STPPaymentStatus.html b/docs/docs/Enums/STPPaymentStatus.html index 8f4c610d938..913d0629135 100644 --- a/docs/docs/Enums/STPPaymentStatus.html +++ b/docs/docs/Enums/STPPaymentStatus.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -327,7 +339,7 @@

    Declaration

    @@ -362,7 +374,7 @@

    Declaration

    @@ -397,7 +409,7 @@

    Declaration

    @@ -410,7 +422,7 @@

    Declaration

    diff --git a/docs/docs/Enums/STPShippingStatus.html b/docs/docs/Enums/STPShippingStatus.html index ffde68d72d3..06742fa4d95 100644 --- a/docs/docs/Enums/STPShippingStatus.html +++ b/docs/docs/Enums/STPShippingStatus.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -327,7 +339,7 @@

    Declaration

    @@ -362,7 +374,7 @@

    Declaration

    @@ -375,7 +387,7 @@

    Declaration

    diff --git a/docs/docs/Enums/STPShippingType.html b/docs/docs/Enums/STPShippingType.html index 31d3fb04da0..a8a9743e296 100644 --- a/docs/docs/Enums/STPShippingType.html +++ b/docs/docs/Enums/STPShippingType.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -328,7 +340,7 @@

    Declaration

    @@ -363,7 +375,7 @@

    Declaration

    @@ -376,7 +388,7 @@

    Declaration

    diff --git a/docs/docs/Protocols.html b/docs/docs/Protocols.html index d8d02b2f528..94fe718492e 100644 --- a/docs/docs/Protocols.html +++ b/docs/docs/Protocols.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -481,7 +493,7 @@

    Declaration

    @@ -561,7 +573,7 @@

    Declaration

    @@ -655,7 +667,7 @@

    Declaration

    diff --git a/docs/docs/Protocols/STPAddCardViewControllerDelegate.html b/docs/docs/Protocols/STPAddCardViewControllerDelegate.html index a45d31a0f22..7d0f9335a72 100644 --- a/docs/docs/Protocols/STPAddCardViewControllerDelegate.html +++ b/docs/docs/Protocols/STPAddCardViewControllerDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -445,7 +457,7 @@

    Parameters

    diff --git a/docs/docs/Protocols/STPBackendAPIAdapter.html b/docs/docs/Protocols/STPBackendAPIAdapter.html index 90fb192a543..c07043e7b9c 100644 --- a/docs/docs/Protocols/STPBackendAPIAdapter.html +++ b/docs/docs/Protocols/STPBackendAPIAdapter.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -504,7 +516,7 @@

    Parameters

    diff --git a/docs/docs/Protocols/STPFormEncodable.html b/docs/docs/Protocols/STPFormEncodable.html index 2fb70bfc18f..0521fd68f48 100644 --- a/docs/docs/Protocols/STPFormEncodable.html +++ b/docs/docs/Protocols/STPFormEncodable.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -415,7 +427,7 @@

    Declaration

    diff --git a/docs/docs/Protocols/STPPaymentCardTextFieldDelegate.html b/docs/docs/Protocols/STPPaymentCardTextFieldDelegate.html index 41fe745f891..db0d7a6ff09 100644 --- a/docs/docs/Protocols/STPPaymentCardTextFieldDelegate.html +++ b/docs/docs/Protocols/STPPaymentCardTextFieldDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -585,7 +597,7 @@

    Declaration

    diff --git a/docs/docs/Protocols/STPPaymentContextDelegate.html b/docs/docs/Protocols/STPPaymentContextDelegate.html index 8aaf8644f92..549431287d1 100644 --- a/docs/docs/Protocols/STPPaymentContextDelegate.html +++ b/docs/docs/Protocols/STPPaymentContextDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -370,7 +382,7 @@

    Parameters

    @@ -425,7 +437,7 @@

    Parameters

    @@ -508,7 +520,7 @@

    Parameters

    @@ -591,7 +603,7 @@

    Parameters

    @@ -689,7 +701,7 @@

    Parameters

    @@ -702,7 +714,7 @@

    Parameters

    diff --git a/docs/docs/Protocols/STPPaymentMethod.html b/docs/docs/Protocols/STPPaymentMethod.html index a51e0dc9cb7..fc7ab1f6294 100644 --- a/docs/docs/Protocols/STPPaymentMethod.html +++ b/docs/docs/Protocols/STPPaymentMethod.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -410,7 +422,7 @@

    Declaration

    diff --git a/docs/docs/Protocols/STPPaymentMethodsViewControllerDelegate.html b/docs/docs/Protocols/STPPaymentMethodsViewControllerDelegate.html index 5b7e7206f4d..8f2b57e1a8f 100644 --- a/docs/docs/Protocols/STPPaymentMethodsViewControllerDelegate.html +++ b/docs/docs/Protocols/STPPaymentMethodsViewControllerDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -451,7 +463,7 @@

    Parameters

    -

    This is called when the user taps cancel. It’s also called after the user directly selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    +

    This is called when the user selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    @@ -494,6 +506,63 @@

    Parameters

    +
  • +
    + + + + -paymentMethodsViewControllerDidCancel: + +
    +
    +
    +
    +
    +
    +

    This is called when the user taps cancel. + You should dismiss the view controller when this is called.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)paymentMethodsViewControllerDidCancel:
    +    (nonnull STPPaymentMethodsViewController *)paymentMethodsViewController;
    + +
    +
    +

    Swift

    +
    func paymentMethodsViewControllerDidCancel(_ paymentMethodsViewController: STPPaymentMethodsViewController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + paymentMethodsViewController + + +
    +

    the view controller that has finished

    + +
    +
    +
    + +
    +
    +
  • @@ -502,7 +571,7 @@

    Parameters

    diff --git a/docs/docs/Protocols/STPShippingAddressViewControllerDelegate.html b/docs/docs/Protocols/STPShippingAddressViewControllerDelegate.html index 2a6f9049924..5b5d1f16efc 100644 --- a/docs/docs/Protocols/STPShippingAddressViewControllerDelegate.html +++ b/docs/docs/Protocols/STPShippingAddressViewControllerDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -531,7 +543,7 @@

    Parameters

    diff --git a/docs/docs/Protocols/STPSourceProtocol.html b/docs/docs/Protocols/STPSourceProtocol.html index 94036c077bd..53623497398 100644 --- a/docs/docs/Protocols/STPSourceProtocol.html +++ b/docs/docs/Protocols/STPSourceProtocol.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -341,7 +353,7 @@

    Declaration

    diff --git a/docs/docs/Type Definitions.html b/docs/docs/Type Definitions.html index b439006b0f4..49f198ee281 100644 --- a/docs/docs/Type Definitions.html +++ b/docs/docs/Type Definitions.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -393,7 +405,7 @@

    Declaration

    @@ -448,7 +460,7 @@

    Parameters

    @@ -516,7 +528,7 @@

    Parameters

    @@ -585,7 +597,7 @@

    Parameters

    @@ -682,7 +694,182 @@

    Parameters

    + + + +
  • +
    + + + + STPFileCompletionBlock + +
    +
    +
    +
    +
    +
    +

    A callback to be run with a file response from the Stripe API.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    typedef void (^STPFileCompletionBlock)(STPFile *_Nullable, NSError *_Nullable)
    + +
    +
    +

    Swift

    +
    typealias STPFileCompletionBlock = (STPFile?, Error?) -> Void
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + file + + +
    +

    The Stripe file from the response. Will be nil if an error occurs.

    + +
    +
    + + error + + +
    +

    The error returned from the response, or nil in none occurs.

    + +
    +
    +
    + +
    +
    +
  • + + +
    +
      +
    • + +
      +
      +
      +
      +
      +

      A callback run when the context believes the redirect action has been completed.

      + +
      +

      Note

      +

      you can use the id and client secret to fetch the source from Stripe’s servers +and check its status.

      + +
      + +
      +

      See

      +

      [STPAPIClient retrieveSourceWithId:clientSecret:completion]

      + +
      + +
      +

      See

      +

      [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      typedef void (^STPRedirectContextCompletionBlock)(NSString *_Nonnull,
      +                                                  NSString *_Nonnull,
      +                                                  NSError *_Nonnull)
      + +
      +
      +

      Swift

      +
      typealias STPRedirectContextCompletionBlock = (String, String, Error) -> Void
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + sourceID + + +
      +

      The stripe id of the source.

      + +
      +
      + + clientSecret + + +
      +

      The client secret of the source.

      + +
      +
      + + error + + +
      +

      An error if one occured. Note that a lack of an error does not mean that the action was completed successfully, the presence of one confirms that it was not. +Currently the only possible error the context can know about is if SFSafariViewController fails its initial load (like the user has no internet connection, or servers are down).

      + +
      +
      +
      +
      @@ -695,7 +882,7 @@

      Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories.html index 94524843686..c4b1cf9a025 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -329,7 +341,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories/UINavigationBar(Stripe_Theme).html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories/UINavigationBar(Stripe_Theme).html index 3026f0f023d..ec2c3af3728 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories/UINavigationBar(Stripe_Theme).html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Categories/UINavigationBar(Stripe_Theme).html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -392,7 +404,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes.html index 1c15f55840e..ffa717836b4 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -321,7 +333,7 @@

    Declaration

    @@ -357,7 +369,7 @@

    Declaration

    @@ -437,7 +449,7 @@

    Declaration

    @@ -916,7 +928,7 @@

    Declaration

    @@ -996,7 +1008,7 @@

    Declaration

    @@ -1086,7 +1098,7 @@

    Declaration

    @@ -1173,6 +1185,67 @@

    Declaration

    +
    +
      +
    • +
      + + + + STPRedirectContext + +
      +
      +
      +
      +
      +
      +

      This is a helper class for handling redirect sources.

      + +

      Init an instance with the redirect flow source you want to handle, + then choose a redirect method. The context will fire the completion handler + when the redirect completes.

      + +

      Due to the nature of iOS, very little concrete information can be gained + during this process, as all actions take place in either the Safari app + or the sandboxed SFSafariViewController class. The context attempts to + detect when the user has completed the necessary redirect action by listening + for both app foregrounds and url callbacks received in the app delegate. + However, it is possible the when the redirect is completed, the user may + have not actually completed the necessary actions to authorize the charge.

      + +

      You can use STPAPIClient to listen for state changes on the source + object as a way to identify whether the user action succeeded or not. + - see: [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

      + +

      You should not use either this class, nor STPAPIClient, as a way + to determine when you should charge the source. Use Stripe webhooks on your + backend server to listen for source state changes and to make the charge.

      + + See more +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      
      +@interface STPRedirectContext : NSObject
      + +
      +
      +

      Swift

      +
      class STPRedirectContext : NSObject
      + +
      +
      + +
      +
      +
    • +
    +
    • @@ -1368,7 +1441,7 @@

      Declaration

    @@ -1662,7 +1735,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAPIClient.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAPIClient.html index f053752ee0f..804aad20da2 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAPIClient.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAPIClient.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -327,7 +339,7 @@

    Declaration

    @@ -366,7 +378,7 @@

    Declaration

    @@ -406,7 +418,7 @@

    Declaration

    @@ -562,7 +574,194 @@

    Parameters

    + + + + + +
    +
    + + + +

    PII

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Converts a personal identification number into a Stripe token using the Stripe API.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)createTokenWithPersonalIDNumber:(nonnull NSString *)pii
      +                             completion:
      +                                 (STPTokenCompletionBlock _Nullable)completion;
      + +
      +
      +

      Swift

      +
      func createToken(withPersonalIDNumber pii: String, completion: STPTokenCompletionBlock? = nil)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + +
      + + pii + + +
      +

      The user’s personal identification number. Cannot be nil.

      + +
      +
      + + completion + + +
      +

      The callback to run with the returned Stripe token (and any errors that may have occurred).

      + +
      +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + + + +

    Upload

    +
    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Uses the Stripe file upload API to upload an image. This can be used for + identity veritfication and evidence disputes.

      + + + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)uploadImage:(nonnull UIImage *)image
      +            purpose:(STPFilePurpose)purpose
      +         completion:(nullable STPFileCompletionBlock)completion;
      + +
      +
      +

      Swift

      +
      func uploadImage(_ image: Any!, purpose: STPFilePurpose, completion: STPFileCompletionBlock? = nil)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + image + + +
      +

      The image to be uploaded. The maximum allowed file size is 4MB + for identity documents and 8MB for evidence disputes. Cannot be nil. + Your image will be automatically resized down if you pass in one that + is too large

      + +
      +
      + + purpose + + +
      +

      The purpose of this file. This can be either an identifing + document or an evidence dispute.

      + +
      +
      + + completion + + +
      +

      The callback to run with the returned Stripe file + (and any errors that may have occurred).

      + +
      +
      +
      +
      @@ -642,7 +841,7 @@

      Parameters

    @@ -722,7 +921,7 @@

    Parameters

    @@ -805,7 +1004,7 @@

    Parameters

    @@ -911,7 +1110,7 @@

    Parameters

    @@ -967,7 +1166,7 @@

    Parameters

    @@ -980,7 +1179,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddCardViewController.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddCardViewController.html index 5072ae9e5ca..f5a7fba73fa 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddCardViewController.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddCardViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -518,7 +530,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddress.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddress.html index ffd1d58df64..989d5b6bdb7 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddress.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPAddress.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -620,7 +632,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccount.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccount.html index 018cc683fff..37c974be1e1 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccount.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccount.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -651,7 +663,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccountParams.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccountParams.html index 4c277f4d46f..b34151eaa7e 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccountParams.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPBankAccountParams.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -552,7 +564,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCard.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCard.html index e048ef2a24e..eb8b8f469fe 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCard.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCard.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -1061,7 +1073,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardParams.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardParams.html index f8870dd3641..456eb9184d4 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardParams.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardParams.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -581,7 +593,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardValidator.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardValidator.html index 3c1d96afe70..d90b644c0fd 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardValidator.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCardValidator.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -389,13 +401,13 @@

    Declaration

    Objective-C

    + (STPCardValidationState)validationStateForNumber:
    -                              (nonnull NSString *)cardNumber
    +                              (nullable NSString *)cardNumber
                                    validatingCardBrand:(BOOL)validatingCardBrand;

    Swift

    -
    class func validationState(forNumber cardNumber: String, validatingCardBrand: Bool) -> STPCardValidationState
    +
    class func validationState(forNumber cardNumber: String?, validatingCardBrand: Bool) -> STPCardValidationState
    @@ -912,7 +924,7 @@

    Return Value

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCoreViewController.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCoreViewController.html index dc8d89cebe8..ca24217e36f 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCoreViewController.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCoreViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -472,7 +484,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomer.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomer.html index 4b9e98a3ec5..b080acbf2bb 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomer.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomer.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -499,7 +511,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomerDeserializer.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomerDeserializer.html index d93e2e6ab83..78e8c1a38ed 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomerDeserializer.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPCustomerDeserializer.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -513,7 +525,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPImageLibrary.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPImageLibrary.html index c5244791cc2..628ae196462 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPImageLibrary.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPImageLibrary.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -683,6 +695,41 @@

    Declaration

    +
  • +
    + + + + +errorImageForCardBrand: + +
    +
    +
    +
    +
    +
    +

    This returns a small icon indicating a card number error for the given card brand.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nonnull UIImage *)errorImageForCardBrand:(STPCardBrand)brand;
    + +
    +
    +

    Swift

    +
    class func errorImage(for brand: STPCardBrand) -> Any!
    + +
    +
    + +
    +
    +
  • @@ -691,7 +738,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentActivityIndicatorView.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentActivityIndicatorView.html index 28d5f53c531..f28cede6d08 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentActivityIndicatorView.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentActivityIndicatorView.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -410,7 +422,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentCardTextField.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentCardTextField.html index 1ea702a1dec..11cf78a2736 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentCardTextField.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentCardTextField.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -1046,6 +1058,69 @@

    Return Value

    +
  • +
    + + + + +errorImageForCardBrand: + +
    +
    +
    +
    +
    +
    +

    Returns the error image used for a card brand. +Override this method in a subclass if you would like to provide custom images. +- parameter: cardBrand The brand of card entered. +- returns: The error image used for a card brand.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    + (nullable UIImage *)errorImageForCardBrand:(STPCardBrand)cardBrand;
    + +
    +
    +

    Swift

    +
    class func errorImage(for cardBrand: STPCardBrand) -> Any!
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + cardBrand + + +
    +

    The brand of card entered.

    + +
    +
    +
    +
    +

    Return Value

    +

    The error image used for a card brand.

    + +
    + +
    +
    +
  • @@ -1103,7 +1178,7 @@

    Return Value

    @@ -1165,7 +1240,7 @@

    Return Value

    @@ -1227,7 +1302,7 @@

    Return Value

    @@ -1289,7 +1364,7 @@

    Return Value

    @@ -1351,7 +1426,7 @@

    Return Value

    @@ -1387,7 +1462,7 @@

    Declaration

    @@ -1422,7 +1497,7 @@

    Declaration

    @@ -1457,7 +1532,7 @@

    Declaration

    @@ -1492,7 +1567,7 @@

    Declaration

    @@ -1527,7 +1602,7 @@

    Declaration

    @@ -1562,7 +1637,7 @@

    Declaration

    @@ -1597,7 +1672,7 @@

    Declaration

    @@ -1632,7 +1707,7 @@

    Declaration

    @@ -1670,7 +1745,7 @@

    Declaration

    @@ -1683,7 +1758,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentConfiguration.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentConfiguration.html index 0e141032ce1..5f12d981dd1 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentConfiguration.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentConfiguration.html @@ -124,6 +124,9 @@
  • + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -631,7 +643,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentContext.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentContext.html index 246632bc8de..c973c1737ce 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentContext.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentContext.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -1026,7 +1038,10 @@

    Declaration

    -

    If paymentContext:didFailToLoadWithError: is called on your delegate, you can in turn call this method to try loading again (if that hasn’t been called, calling this will do nothing). If retrying in turn fails, paymentContext:didFailToLoadWithError: will be called again (and you can again call this to keep retrying, etc).

    +

    If paymentContext:didFailToLoadWithError: is called on your delegate, you +can in turn call this method to try loading again (if that hasn’t been called, +calling this will do nothing). If retrying in turn fails, paymentContext:didFailToLoadWithError: +will be called again (and you can again call this to keep retrying, etc).

    @@ -1043,7 +1058,7 @@

    Declaration

    @@ -1061,7 +1076,16 @@

    Declaration

    -

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done selecting their payment method.

    +

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController +on top of the payment context’s hostViewController. It’ll be dismissed automatically +when the user is done selecting their payment method.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller or in the middle of requesting a payment. + +
    @@ -1078,7 +1102,7 @@

    Declaration

    @@ -1096,7 +1120,16 @@

    Declaration

    -

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done selecting their payment method.

    +

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController + onto the navigation stack of the context’s hostViewController. It’ll be popped + automatically when the user is done selecting their payment method.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller or in the middle of requesting a payment. + +
    @@ -1113,7 +1146,7 @@

    Declaration

    @@ -1131,7 +1164,17 @@

    Declaration

    -

    This creates, configures, and appropriately presents a view controller for collecting shipping address and shipping method on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done entering their shipping info.

    +

    This creates, configures, and appropriately presents a view controller for + collecting shipping address and shipping method on top of the payment context’s + hostViewController. It’ll be dismissed automatically when the user is done + entering their shipping info.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller or in the middle of requesting a payment. + +
    @@ -1148,7 +1191,7 @@

    Declaration

    @@ -1166,7 +1209,17 @@

    Declaration

    -

    This creates, configures, and appropriately pushes a view controller for collecting shipping address and shipping method onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done entering their shipping info.

    +

    This creates, configures, and appropriately pushes a view controller for + collecting shipping address and shipping method onto the navigation stack of + the context’s hostViewController. It’ll be popped automatically when the + user is done entering their shipping info.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller, or in the middle of requesting a payment. + +
    @@ -1183,7 +1236,7 @@

    Declaration

    @@ -1201,7 +1254,21 @@

    Declaration

    -

    Requests payment from the user. This may need to present some supplemental UI to the user, in which case it will be presented on the payment context’s hostViewController. For instance, if they’ve selected Apple Pay as their payment method, calling this method will show the payment sheet. If the user has a card on file, this will use that without presenting any additional UI. After this is called, the paymentContext:didCreatePaymentResult:completion: and paymentContext:didFinishWithStatus:error: methods will be called on the context’s delegate.

    +

    Requests payment from the user. This may need to present some supplemental UI + to the user, in which case it will be presented on the payment context’s + hostViewController. For instance, if they’ve selected Apple Pay as their + payment method, calling this method will show the payment sheet. If the user + has a card on file, this will use that without presenting any additional UI. + After this is called, the paymentContext:didCreatePaymentResult:completion: + and paymentContext:didFinishWithStatus:error: methods will be called on the + context’s delegate.

    + +
    +

    Note

    + This method will do nothing if it is called while STPPaymentContext is + already showing a view controller, or in the middle of requesting a payment. + +
    @@ -1218,7 +1285,7 @@

    Declaration

    @@ -1231,7 +1298,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentMethodsViewController.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentMethodsViewController.html index eae687d431b..0fa51756281 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentMethodsViewController.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentMethodsViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -556,7 +568,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentResult.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentResult.html index 5207cb45aa5..be5ed5a7772 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentResult.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPPaymentResult.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -375,7 +387,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPRedirectContext.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPRedirectContext.html new file mode 100644 index 00000000000..bd5802206ca --- /dev/null +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPRedirectContext.html @@ -0,0 +1,735 @@ + + + + STPRedirectContext Class Reference + + + + + + + + + + + + + + + + +
    +

    + + Stripe Docs + + +

    + +

    +

    + +
    +

    + +

    + + + View on GitHub + +

    + +
    + + + +
    + +
    + +
    +
    +

    STPRedirectContext

    +
    +
    +
    
    +@interface STPRedirectContext : NSObject
    + +
    +
    +

    This is a helper class for handling redirect sources.

    + +

    Init an instance with the redirect flow source you want to handle, + then choose a redirect method. The context will fire the completion handler + when the redirect completes.

    + +

    Due to the nature of iOS, very little concrete information can be gained + during this process, as all actions take place in either the Safari app + or the sandboxed SFSafariViewController class. The context attempts to + detect when the user has completed the necessary redirect action by listening + for both app foregrounds and url callbacks received in the app delegate. + However, it is possible the when the redirect is completed, the user may + have not actually completed the necessary actions to authorize the charge.

    + +

    You can use STPAPIClient to listen for state changes on the source + object as a way to identify whether the user action succeeded or not. + - see: [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

    + +

    You should not use either this class, nor STPAPIClient, as a way + to determine when you should charge the source. Use Stripe webhooks on your + backend server to listen for source state changes and to make the charge.

    + +
    +
    + +
    +
    +
    +
      +
    • +
      + + + + state + +
      +
      +
      +
      +
      +
      +

      The current state of the context.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      @property (readonly, nonatomic) STPRedirectContextState state;
      + +
      +
      +

      Swift

      +
      var state: STPRedirectContextState { get }
      + +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Initializer for context.

      + +
      +

      Note

      +

      You must ensure that the returnURL set up in the created source +correctly goes to your app so that users can be returned once +they complete the redirect in the web broswer.

      + +
      + +
      +

      Note

      +

      Firing of the completion block does not necessarily mean the user successfully +performed the redirect action. You can re-fetch the source object using +its id and clientSecret, and poll for status updates on it to determine if +the source was sucessfully made chargeable.

      + +
      + +
      +

      See

      +

      [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (nullable instancetype)
      +initWithSource:(nonnull STPSource *)source
      +    completion:(nonnull STPRedirectContextCompletionBlock)completion;
      + +
      +
      +

      Swift

      +
      init?(source: STPSource, completion: @escaping STPRedirectContextCompletionBlock)
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + +
      + + source + + +
      +

      The source that needs user redirect action to be taken.

      + +
      +
      + + completion + + +
      +

      A block to fire when the action is believed to have been completed.

      + +
      +
      +
      +
      +

      Return Value

      +

      Nil if the specified source is not a redirect-flow source. Otherwise a new context object.

      + +
      + +
      +
      +
    • +
    • +
      + + + + -init + +
      +
      +
      +
      +
      +
      +

      Use initWithSource:completion:

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (nonnull instancetype)init;
      + +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Starts a redirect flow.

      + +

      You must ensure that your app delegate listens for the returnURL that you + set on your source object, and forwards it to the Stripe SDK so that the + context can be notified when the redirect is completed and dismiss the + view controller. See [Stripe handleStripeURLCallbackWithURL:]

      + +

      The context will listen for both received URLs and app open notifications + and fire its completion block when either the URL is received, or the next + time the app is foregrounded.

      + +

      If the app is running on iOS 9+ it will initiate the flow by presenting + a SFSafariViewController instance from the pass in view controller. + Otherwise, if the app is running on iOS 8 it will initiate the flow by + bouncing the user out to the Safari app. If you want more manual control + over the redirect method, you can use startSafariViewControllerRedirectFlowFromViewController + or startSafariAppRedirectFlow

      + +
      +

      Note

      +

      This method does nothing if the context is not in the STPRedirectContextStateNotStarted state.

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)startRedirectFlowFromViewController:
      +    (nonnull UIViewController *)presentingViewController;
      + +
      +
      +

      Swift

      +
      func startRedirectFlow(fromViewController presentingViewController: Any!)
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + presentingViewController + + +
      +

      The view controller to present the Safari view controller from.

      + +
      +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Starts a redirect flow by presenting an SFSafariViewController in your app + from the passed in view controller.

      + +

      You must ensure that your app delegate listens for the returnURL that you + set on your source object, and forwards it to the Stripe SDK so that the + context can be notified when the redirect is completed and dismiss the + view controller. See [Stripe handleStripeURLCallbackWithURL:]

      + +

      The context will listen for both received URLs and app open notifications + and fire its completion block when either the URL is received, or the next + time the app is foregrounded.

      + +
      +

      Note

      +

      This method does nothing if the context is not in the STPRedirectContextStateNotStarted state.

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)startSafariViewControllerRedirectFlowFromViewController:
      +    (nonnull UIViewController *)presentingViewController;
      + +
      +
      +
      +

      Parameters

      + + + + + + + +
      + + presentingViewController + + +
      +

      The view controller to present the Safari view controller from.

      + +
      +
      +
      + +
      +
      +
    • +
    • + +
      +
      +
      +
      +
      +

      Starts a redirect flow by calling openURL to bounce the user out to + the Safari app.

      + +

      The context will listen for app open notifications and fire its completion + block the next time the user re-opens the app (either manually or via url)

      + +
      +

      Note

      + This method does nothing if the context is not in the STPRedirectContextStateNotStarted state. + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)startSafariAppRedirectFlow;
      + +
      +
      +

      Swift

      +
      func startSafariAppRedirectFlow()
      + +
      +
      + +
      +
      +
    • +
    • +
      + + + + -cancel + +
      +
      +
      +
      +
      +
      +

      Dismisses any presented views and stops listening for any +app opens or callbacks. The completion block will not be fired.

      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      - (void)cancel;
      + +
      +
      +

      Swift

      +
      func cancel()
      + +
      +
      + +
      +
      +
    • +
    +
    +
    +
    + +
    +
    + + + + diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPShippingAddressViewController.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPShippingAddressViewController.html index e31d5e24a9a..de938fbea78 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPShippingAddressViewController.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPShippingAddressViewController.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -613,7 +625,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSource.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSource.html index 8f6e280cc17..701372163ac 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSource.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSource.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -933,7 +945,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceCardDetails.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceCardDetails.html index b8d277a4125..aabd792e21c 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceCardDetails.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceCardDetails.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -582,7 +594,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceOwner.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceOwner.html index 1d640b8b535..166d91810ed 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceOwner.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceOwner.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -615,7 +627,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceParams.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceParams.html index 5720df91893..b191081e6f4 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceParams.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceParams.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -333,6 +345,48 @@

    Declaration

    +
  • +
    + + + + rawTypeString + +
    +
    +
    +
    +
    +
    +

    The raw underlying type string sent to the server.

    + +

    Generally you should use type instead unless you have a reason not to. + You can use this if you want to create a param of a type not yet supported + by the current version of the SDK’s STPSourceType enum.

    + +

    Setting this to a value not known by the SDK causes type to + return STPSourceTypeUnknown

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    @property (readwrite, copy, nonatomic) NSString *_Nonnull rawTypeString;
    + +
    +
    +

    Swift

    +
    var rawTypeString: String { get set }
    + +
    +
    + +
    +
    +
  • @@ -365,7 +419,7 @@

    Declaration

    @@ -401,7 +455,7 @@

    Declaration

    @@ -438,7 +492,7 @@

    Declaration

    @@ -473,7 +527,7 @@

    Declaration

    @@ -509,7 +563,7 @@

    Declaration

    @@ -545,7 +599,7 @@

    Declaration

    @@ -581,7 +635,7 @@

    Declaration

    @@ -618,7 +672,7 @@

    Declaration

    @@ -722,7 +776,7 @@

    Return Value

    @@ -812,7 +866,7 @@

    Return Value

    @@ -873,7 +927,7 @@

    Return Value

    @@ -977,7 +1031,7 @@

    Return Value

    @@ -1095,7 +1149,7 @@

    Return Value

    @@ -1124,15 +1178,15 @@

    Declaration

    + (nonnull STPSourceParams *)
     sepaDebitParamsWithName:(nonnull NSString *)name
                        iban:(nonnull NSString *)iban
    -           addressLine1:(nonnull NSString *)addressLine1
    -                   city:(nonnull NSString *)city
    -             postalCode:(nonnull NSString *)postalCode
    -                country:(nonnull NSString *)country;
    + addressLine1:(nullable NSString *)addressLine1 + city:(nullable NSString *)city + postalCode:(nullable NSString *)postalCode + country:(nullable NSString *)country;

    Swift

    -
    class func sepaDebitParams(withName name: String, iban: String, addressLine1: String, city: String, postalCode: String, country: String) -> STPSourceParams
    +
    class func sepaDebitParams(withName name: String, iban: String, addressLine1: String?, city: String?, postalCode: String?, country: String?) -> STPSourceParams
    @@ -1174,7 +1228,7 @@

    Parameters

    -

    The bank account holder’s first address line.

    +

    The bank account holder’s first address line (optional).

    @@ -1227,7 +1281,7 @@

    Return Value

    @@ -1331,7 +1385,7 @@

    Return Value

    @@ -1435,7 +1489,7 @@

    Return Value

    @@ -1448,7 +1502,7 @@

    Return Value

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceReceiver.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceReceiver.html index ed033676ddf..4462736e88b 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceReceiver.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceReceiver.html @@ -124,6 +124,9 @@
  • + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -475,7 +487,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceRedirect.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceRedirect.html index 51beccafa46..78808add505 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceRedirect.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceRedirect.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -440,7 +452,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceSEPADebitDetails.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceSEPADebitDetails.html index 5f291ec86c9..840cce78c07 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceSEPADebitDetails.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceSEPADebitDetails.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -547,7 +559,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceVerification.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceVerification.html index 2711d3d51b9..7da9b0f37f0 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceVerification.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPSourceVerification.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -405,7 +417,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPTheme.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPTheme.html index e238bd73194..a2a02ee94d9 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPTheme.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPTheme.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -832,7 +844,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPToken.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPToken.html index 5d83fad0627..61cb1dc22d5 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPToken.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPToken.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -512,7 +524,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPUserInformation.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPUserInformation.html index d66ade8213d..6d459609916 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPUserInformation.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/STPUserInformation.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -411,7 +423,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/Stripe.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/Stripe.html index 950fac5fc79..4c31bb639a1 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/Stripe.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Classes/Stripe.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -354,7 +366,7 @@

    Parameters

    @@ -389,43 +401,7 @@

    Declaration

    - - - -
  • -
    - - - - +disableAnalytics - -
    -
    -
    -
    -
    -
    -

    By default, Stripe collects some basic information about SDK usage. -You can call this method to turn off analytics collection.

    - -
    -
    -

    Declaration

    -
    -

    Objective-C

    -
    + (void)disableAnalytics;
    - -
    -
    -

    Swift

    -
    class func disableAnalytics()
    - -
    -
    -
    @@ -495,7 +471,7 @@

    Return Value

    @@ -555,7 +531,7 @@

    Return Value

    @@ -568,7 +544,7 @@

    Return Value

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Constants.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Constants.html index e9c541aa5fd..2b7aa1cb6d1 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Constants.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Constants.html @@ -123,6 +123,9 @@
  • + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -333,7 +345,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums.html index 1db1349c32c..b93095d9233 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -368,7 +380,7 @@

    Declaration

    @@ -404,7 +416,7 @@

    Declaration

    @@ -440,7 +452,7 @@

    Declaration

    @@ -599,6 +611,52 @@

    Declaration

    +
    +
      +
    • + +
      +
      +
      +
      +
      +

      Possible states for the redirect context to be in

      + +
        +
      • STPRedirectContextStateNotStarted: Initialized, but redirect not started
      • +
      • STPRedirectContextStateInProgress: Redirect is in progress
      • +
      • STPRedirectContextStateCancelled: Redirect has been cancelled programmatically before completing
      • +
      • STPRedirectContextStateCompleted: Redirect has completed.
      • +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      enum STPRedirectContextState : NSUInteger {}
      + +
      +
      +

      Swift

      +
      enum STPRedirectContextState : UInt
      + +
      +
      + +
      +
      +
    • +
    +
    • @@ -827,7 +885,7 @@

      Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPBillingAddressFields.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPBillingAddressFields.html index 021ae00f769..18c285f7bca 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPBillingAddressFields.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPBillingAddressFields.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -417,7 +429,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentMethodType.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentMethodType.html index 71051e70395..df48b5d7f35 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentMethodType.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentMethodType.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -395,7 +407,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentStatus.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentStatus.html index 8f4c610d938..913d0629135 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentStatus.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPPaymentStatus.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -327,7 +339,7 @@

    Declaration

    @@ -362,7 +374,7 @@

    Declaration

    @@ -397,7 +409,7 @@

    Declaration

    @@ -410,7 +422,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingStatus.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingStatus.html index ffde68d72d3..06742fa4d95 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingStatus.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingStatus.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -327,7 +339,7 @@

    Declaration

    @@ -362,7 +374,7 @@

    Declaration

    @@ -375,7 +387,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingType.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingType.html index 31d3fb04da0..a8a9743e296 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingType.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Enums/STPShippingType.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -328,7 +340,7 @@

    Declaration

    @@ -363,7 +375,7 @@

    Declaration

    @@ -376,7 +388,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols.html index d8d02b2f528..94fe718492e 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -481,7 +493,7 @@

    Declaration

    @@ -561,7 +573,7 @@

    Declaration

    @@ -655,7 +667,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPAddCardViewControllerDelegate.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPAddCardViewControllerDelegate.html index a45d31a0f22..7d0f9335a72 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPAddCardViewControllerDelegate.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPAddCardViewControllerDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -445,7 +457,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPBackendAPIAdapter.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPBackendAPIAdapter.html index 90fb192a543..c07043e7b9c 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPBackendAPIAdapter.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPBackendAPIAdapter.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -504,7 +516,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPFormEncodable.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPFormEncodable.html index 2fb70bfc18f..0521fd68f48 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPFormEncodable.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPFormEncodable.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -415,7 +427,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentCardTextFieldDelegate.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentCardTextFieldDelegate.html index 41fe745f891..db0d7a6ff09 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentCardTextFieldDelegate.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentCardTextFieldDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -585,7 +597,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentContextDelegate.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentContextDelegate.html index 8aaf8644f92..549431287d1 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentContextDelegate.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentContextDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -370,7 +382,7 @@

    Parameters

    @@ -425,7 +437,7 @@

    Parameters

    @@ -508,7 +520,7 @@

    Parameters

    @@ -591,7 +603,7 @@

    Parameters

    @@ -689,7 +701,7 @@

    Parameters

    @@ -702,7 +714,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethod.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethod.html index a51e0dc9cb7..fc7ab1f6294 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethod.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethod.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -410,7 +422,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethodsViewControllerDelegate.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethodsViewControllerDelegate.html index 5b7e7206f4d..8f2b57e1a8f 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethodsViewControllerDelegate.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPPaymentMethodsViewControllerDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -451,7 +463,7 @@

    Parameters

    -

    This is called when the user taps cancel. It’s also called after the user directly selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    +

    This is called when the user selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    @@ -494,6 +506,63 @@

    Parameters

    +
  • +
    + + + + -paymentMethodsViewControllerDidCancel: + +
    +
    +
    +
    +
    +
    +

    This is called when the user taps cancel. + You should dismiss the view controller when this is called.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    - (void)paymentMethodsViewControllerDidCancel:
    +    (nonnull STPPaymentMethodsViewController *)paymentMethodsViewController;
    + +
    +
    +

    Swift

    +
    func paymentMethodsViewControllerDidCancel(_ paymentMethodsViewController: STPPaymentMethodsViewController)
    + +
    +
    +
    +

    Parameters

    + + + + + + + +
    + + paymentMethodsViewController + + +
    +

    the view controller that has finished

    + +
    +
    +
    + +
    +
    +
  • @@ -502,7 +571,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPShippingAddressViewControllerDelegate.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPShippingAddressViewControllerDelegate.html index 2a6f9049924..5b5d1f16efc 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPShippingAddressViewControllerDelegate.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPShippingAddressViewControllerDelegate.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -531,7 +543,7 @@

    Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPSourceProtocol.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPSourceProtocol.html index 94036c077bd..53623497398 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPSourceProtocol.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Protocols/STPSourceProtocol.html @@ -124,6 +124,9 @@ + @@ -194,6 +197,9 @@ + @@ -261,6 +267,12 @@ + + @@ -341,7 +353,7 @@

    Declaration

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Type Definitions.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Type Definitions.html index b439006b0f4..49f198ee281 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Type Definitions.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/Type Definitions.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -393,7 +405,7 @@

    Declaration

    @@ -448,7 +460,7 @@

    Parameters

    @@ -516,7 +528,7 @@

    Parameters

    @@ -585,7 +597,7 @@

    Parameters

    @@ -682,7 +694,182 @@

    Parameters

    + + + +
  • +
    + + + + STPFileCompletionBlock + +
    +
    +
    +
    +
    +
    +

    A callback to be run with a file response from the Stripe API.

    + +
    +
    +

    Declaration

    +
    +

    Objective-C

    +
    typedef void (^STPFileCompletionBlock)(STPFile *_Nullable, NSError *_Nullable)
    + +
    +
    +

    Swift

    +
    typealias STPFileCompletionBlock = (STPFile?, Error?) -> Void
    + +
    +
    +
    +

    Parameters

    + + + + + + + + + + + +
    + + file + + +
    +

    The Stripe file from the response. Will be nil if an error occurs.

    + +
    +
    + + error + + +
    +

    The error returned from the response, or nil in none occurs.

    + +
    +
    +
    + +
    +
    +
  • + + +
    +
      +
    • + +
      +
      +
      +
      +
      +

      A callback run when the context believes the redirect action has been completed.

      + +
      +

      Note

      +

      you can use the id and client secret to fetch the source from Stripe’s servers +and check its status.

      + +
      + +
      +

      See

      +

      [STPAPIClient retrieveSourceWithId:clientSecret:completion]

      + +
      + +
      +

      See

      +

      [STPAPIClient startPollingSourceWithId:clientSecret:timeout:completion:]

      + +
      + +
      +
      +

      Declaration

      +
      +

      Objective-C

      +
      typedef void (^STPRedirectContextCompletionBlock)(NSString *_Nonnull,
      +                                                  NSString *_Nonnull,
      +                                                  NSError *_Nonnull)
      + +
      +
      +

      Swift

      +
      typealias STPRedirectContextCompletionBlock = (String, String, Error) -> Void
      + +
      +
      +
      +

      Parameters

      + + + + + + + + + + + + + + + +
      + + sourceID + + +
      +

      The stripe id of the source.

      + +
      +
      + + clientSecret + + +
      +

      The client secret of the source.

      + +
      +
      + + error + + +
      +

      An error if one occured. Note that a lack of an error does not mean that the action was completed successfully, the presence of one confirms that it was not. +Currently the only possible error the context can know about is if SFSafariViewController fails its initial load (like the user has no internet connection, or servers are down).

      + +
      +
      +
      +
      @@ -695,7 +882,7 @@

      Parameters

    diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/index.html b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/index.html index cc64fcdefa0..f62779d254a 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/index.html +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/index.html @@ -123,6 +123,9 @@ + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -343,7 +355,7 @@ diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/search.json b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/search.json index 4ca096e76b4..ca83fba7f29 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/search.json +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/search.json @@ -1 +1 @@ -{"Type Definitions.html#/c:STPBackendAPIAdapter.h@T@STPCustomerCompletionBlock":{"name":"STPCustomerCompletionBlock","abstract":"

    Call this block after you’re done fetching a customer on your server. You can use the STPCustomerDeserializer class to convert a JSON response into an STPCustomer object.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPVoidBlock":{"name":"STPVoidBlock","abstract":"

    An empty block, called with no arguments, returning nothing.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPErrorBlock":{"name":"STPErrorBlock","abstract":"

    A block that may optionally be called with an error.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPTokenCompletionBlock":{"name":"STPTokenCompletionBlock","abstract":"

    A callback to be run with a token response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPSourceCompletionBlock":{"name":"STPSourceCompletionBlock","abstract":"

    A callback to be run with a source response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPShippingMethodsCompletionBlock":{"name":"STPShippingMethodsCompletionBlock","abstract":"

    A callback to be run with a validation result and shipping methods for a"},"Protocols/STPSourceProtocol.html#/c:objc(pl)STPSourceProtocol(py)stripeID":{"name":"stripeID","abstract":"

    The stripe ID of the source.

    ","parent_name":"STPSourceProtocol"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewControllerDidCancel:":{"name":"-shippingAddressViewControllerDidCancel:","abstract":"

    Called when the user cancels entering a shipping address. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didEnterAddress:completion:":{"name":"-shippingAddressViewController:didEnterAddress:completion:","abstract":"

    This is called when the user enters a shipping address and taps next. You should validate the address and determine what shipping methods are available, and call the completion block when finished. If an error occurrs, call the completion block with the error. Otherwise, call the completion block with a nil error and an array of available shipping methods. If you don’t need to collect a shipping method, you may pass an empty array.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didFinishWithAddress:shippingMethod:":{"name":"-shippingAddressViewController:didFinishWithAddress:shippingMethod:","abstract":"

    This is called when the user selects a shipping method. If no shipping methods are given, or if the shipping type doesn’t require a shipping method, this will be called after the user has a shipping address and your validation has succeeded. After updating your app with the user’s shipping info, you should dismiss (or pop) the view controller. Note that if shippingMethod is non-nil, there will be an additional shipping methods view controller on the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didSelectPaymentMethod:":{"name":"-paymentMethodsViewController:didSelectPaymentMethod:","abstract":"

    This is called when the user either makes a selection, or adds a new card. This will be triggered after the view controller loads with the user’s current selection (if they have one) and then subsequently when they change their choice. You should use this callback to update any necessary UI in your app that displays the user’s currently selected payment method. You should not dismiss the view controller at this point, instead do this in paymentMethodsViewControllerDidFinish:. STPPaymentMethodsViewController will also call the necessary methods on your API adapter, so you don’t need to call them directly during this method.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didFailToLoadWithError:":{"name":"-paymentMethodsViewController:didFailToLoadWithError:","abstract":"

    This is called when the view controller encounters an error fetching the user’s payment methods from its API adapter. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewControllerDidFinish:":{"name":"-paymentMethodsViewControllerDidFinish:","abstract":"

    This is called when the user taps cancel. It’s also called after the user directly selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)image":{"name":"image","abstract":"

    A small (32 x 20 points) logo image representing the payment method. For example, the Visa logo for a Visa card, or the Apple Pay logo.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)templateImage":{"name":"templateImage","abstract":"

    A small (32 x 20 points) logo image representing the payment method that can be used as template for tinted icons.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)label":{"name":"label","abstract":"

    A string describing the payment method, such as Apple Pay or Visa 4242.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFailToLoadWithError:":{"name":"-paymentContext:didFailToLoadWithError:","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContextDidChange:":{"name":"-paymentContextDidChange:","abstract":"

    This is called every time the contents of the payment context change. When this is called, you should update your app’s UI to reflect the current state of the payment context. For example, if you have a checkout page with a selected payment method row, you should update its payment method with paymentContext.selectedPaymentMethod.label. If that checkout page has a buy button, you should enable/disable it depending on the result of [paymentContext isReadyForPayment].

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didCreatePaymentResult:completion:":{"name":"-paymentContext:didCreatePaymentResult:completion:","abstract":"

    Inside this method, you should make a call to your backend API to make a charge with that Customer + source, and invoke the completion block when that is done.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFinishWithStatus:error:":{"name":"-paymentContext:didFinishWithStatus:error:","abstract":"

    This is invoked by an STPPaymentContext when it is finished. This will be called after the payment is done and all necessary UI has been dismissed. You should inspect the returned status and behave appropriately. For example: if it’s STPPaymentStatusSuccess, show the user a receipt. If it’s STPPaymentStatusError, inform the user of the error. If it’s STPPaymentStatusUserCanceled, do nothing.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didUpdateShippingAddress:completion:":{"name":"-paymentContext:didUpdateShippingAddress:completion:","abstract":"

    Inside this method, you should verify that you can ship to the given address.","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidChange:":{"name":"-paymentCardTextFieldDidChange:","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingNumber:":{"name":"-paymentCardTextFieldDidBeginEditingNumber:","abstract":"

    Called when editing begins in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingNumber:":{"name":"-paymentCardTextFieldDidEndEditingNumber:","abstract":"

    Called when editing ends in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingCVC:":{"name":"-paymentCardTextFieldDidBeginEditingCVC:","abstract":"

    Called when editing begins in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingCVC:":{"name":"-paymentCardTextFieldDidEndEditingCVC:","abstract":"

    Called when editing ends in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingExpiration:":{"name":"-paymentCardTextFieldDidBeginEditingExpiration:","abstract":"

    Called when editing begins in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingExpiration:":{"name":"-paymentCardTextFieldDidEndEditingExpiration:","abstract":"

    Called when editing ends in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)rootObjectName":{"name":"+rootObjectName","abstract":"

    The root object name to be used when converting this object to a form-encoded string. For example, if this returns @card, then the form-encoded output will resemble @card[foo]=bar (where ‘foo’ and ‘bar’ are specified by propertyNamesToFormFieldNamesMapping below.

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)propertyNamesToFormFieldNamesMapping":{"name":"+propertyNamesToFormFieldNamesMapping","abstract":"

    This maps properties on an object that is being form-encoded into parameter names in the Stripe API. For example, STPCardParams has a field called expMonth, but the Stripe API expects a field called exp_month. This dictionary represents a mapping from the former to the latter (in other words, [STPCardParams propertyNamesToFormFieldNamesMapping][@expMonth] == @exp_month.)

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(py)additionalAPIParameters":{"name":"additionalAPIParameters","abstract":"

    You can use this property to add additional fields to an API request that are not explicitly defined by the object’s interface. This can be useful when using beta features that haven’t been added to the Stripe SDK yet. For example, if the /v1/tokens API began to accept a beta field called test_field, you might do the following:","parent_name":"STPFormEncodable"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)retrieveCustomer:":{"name":"-retrieveCustomer:","abstract":"

    Retrieve the cards to be displayed inside a payment context. On your backend, retrieve the Stripe customer associated with your currently logged-in user (see https://stripe.com/docs/api#retrieve_customer ), and return the raw JSON response from the Stripe API. (For an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L40 ). Back in your iOS app, after you’ve called this API, deserialize your API response into an STPCustomer object (you can use the STPCustomerDeserializer class to do this). See MyAPIClient.swift in our example project to see this in action.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)attachSourceToCustomer:completion:":{"name":"-attachSourceToCustomer:completion:","abstract":"

    Adds a payment source to a customer. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Update Customer method on that customer as described at https://stripe.com/docs/api#update_customer (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L60 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)selectDefaultCustomerSource:completion:":{"name":"-selectDefaultCustomerSource:completion:","abstract":"

    Change a customer’s default_source to be the provided card. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Customer Update method as described at https://stripe.com/docs/api#update_customer , specifying default_source to be the value of source.stripeID (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L82 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewControllerDidCancel:":{"name":"-addCardViewControllerDidCancel:","abstract":"

    Called when the user cancels adding a card. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewController:didCreateToken:completion:":{"name":"-addCardViewController:didCreateToken:completion:","abstract":"

    This is called when the user successfully adds a card and tokenizes it with Stripe. You should send the token to your backend to store it on a customer, and then call the provided completion block when that call is finished. If an error occurred while talking to your backend, call completion(error), otherwise, dismiss (or pop) the view controller.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html":{"name":"STPAddCardViewControllerDelegate","abstract":"

    An STPAddCardViewControllerDelegate is notified when an STPAddCardViewController successfully creates a card token or is cancelled. It has internal error-handling logic, so there’s no error case to deal with.

    "},"Protocols/STPBackendAPIAdapter.html":{"name":"STPBackendAPIAdapter","abstract":"

    You should make your application’s API client conform to this interface in order to use it with an STPPaymentContext. It provides a bridge from the prebuilt UI we expose (such as STPPaymentMethodsViewController) to your backend to fetch the information it needs to power those views. To read about how to implement this protocol, see https://stripe.com/docs/mobile/ios/standard#prepare-your-api . To see examples of implementing these APIs, see MyAPIClient.swift in our example project and https://github.com/stripe/example-ios-backend .

    "},"Protocols/STPFormEncodable.html":{"name":"STPFormEncodable","abstract":"

    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.

    "},"Protocols/STPPaymentCardTextFieldDelegate.html":{"name":"STPPaymentCardTextFieldDelegate","abstract":"

    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.

    "},"Protocols/STPPaymentContextDelegate.html":{"name":"STPPaymentContextDelegate","abstract":"

    Implement STPPaymentContextDelegate 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.

    "},"Protocols/STPPaymentMethod.html":{"name":"STPPaymentMethod","abstract":"

    This protocol represents a payment method that a user can select and use to pay. Currently the only classes that conform to it are STPCard (which represents that the user wants to pay with a specific card) and STPApplePayPaymentMethod (which represents that the user wants to pay with Apple Pay).

    "},"Protocols/STPPaymentMethodsViewControllerDelegate.html":{"name":"STPPaymentMethodsViewControllerDelegate","abstract":"

    An STPPaymentMethodsViewControllerDelegate responds when a user selects a payment method from (or cancels) an STPPaymentMethodsViewController. In both of these instances, you should dismiss the view controller (either by popping it off the navigation stack, or dismissing it).

    "},"Protocols/STPShippingAddressViewControllerDelegate.html":{"name":"STPShippingAddressViewControllerDelegate","abstract":"

    An STPShippingAddressViewControllerDelegate is notified when an STPShippingAddressViewController receives an address, completes with an address, or is cancelled.

    "},"Protocols/STPSourceProtocol.html":{"name":"STPSourceProtocol","abstract":"

    Objects conforming to this protocol can be attached to a Stripe Customer object as a payment source."},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeNone":{"name":"STPPaymentMethodTypeNone","abstract":"

    Don’t use any payment methods except for cards.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeApplePay":{"name":"STPPaymentMethodTypeApplePay","abstract":"

    The user is allowed to pay with Apple Pay (if it’s configured and available on their device).

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeAll":{"name":"STPPaymentMethodTypeAll","abstract":"

    The user can use any available payment method to pay.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusSuccess":{"name":"STPPaymentStatusSuccess","abstract":"

    The payment succeeded.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusError":{"name":"STPPaymentStatusError","abstract":"

    The payment failed due to an unforeseen error, such as the user’s Internet connection being offline.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusUserCancellation":{"name":"STPPaymentStatusUserCancellation","abstract":"

    The user cancelled the payment (for example, by hitting cancel in the Apple Pay dialog).

    ","parent_name":"STPPaymentStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusValid":{"name":"STPShippingStatusValid","abstract":"

    The shipping address is valid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusInvalid":{"name":"STPShippingStatusInvalid","abstract":"

    The shipping address is invalid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeShipping":{"name":"STPShippingTypeShipping","abstract":"

    Shipping the purchase to the provided address using a third-party","parent_name":"STPShippingType"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeDelivery":{"name":"STPShippingTypeDelivery","abstract":"

    Delivering the purchase by the seller.

    ","parent_name":"STPShippingType"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsNone":{"name":"STPBillingAddressFieldsNone","abstract":"

    No billing address information

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsZip":{"name":"STPBillingAddressFieldsZip","abstract":"

    Just request the user’s billing ZIP code

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsFull":{"name":"STPBillingAddressFieldsFull","abstract":"

    Request the user’s full billing address

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html":{"name":"STPBillingAddressFields","abstract":"

    What set of billing address information you need to collect from your user.

    "},"Enums/STPShippingType.html":{"name":"STPShippingType","abstract":"

    These values control the labels used in the shipping info collection form.

    "},"Enums/STPShippingStatus.html":{"name":"STPShippingStatus","abstract":"

    An enum representing the status of a shipping address validation.

    "},"Enums/STPPaymentStatus.html":{"name":"STPPaymentStatus","abstract":"

    An enum representing the status of a payment requested from the user.

    "},"Enums.html#/c:@E@STPCardFundingType":{"name":"STPCardFundingType","abstract":"

    The various funding sources for a payment card.

    "},"Enums.html#/c:@E@STPCardBrand":{"name":"STPCardBrand","abstract":"

    The various card brands to which a payment card can belong.

    "},"Enums.html#/c:@E@STPCardValidationState":{"name":"STPCardValidationState","abstract":"

    These fields indicate whether a card field represents a valid value, invalid value, or incomplete value.

    "},"Enums/STPPaymentMethodType.html":{"name":"STPPaymentMethodType","abstract":"

    This represents all of the payment methods available to your user (in addition to card payments, which are always enabled) when configuring an STPPaymentContext.

    "},"Enums.html#/c:@E@STPSourceFlow":{"name":"STPSourceFlow","abstract":"

    Authentication flows for a Source

    "},"Enums.html#/c:@E@STPSourceUsage":{"name":"STPSourceUsage","abstract":"

    Usage types for a Source

    "},"Enums.html#/c:@E@STPSourceStatus":{"name":"STPSourceStatus","abstract":"

    Status types for a Source

    "},"Enums.html#/c:@E@STPSourceType":{"name":"STPSourceType","abstract":"

    Types for a Source

    "},"Enums.html#/c:@E@STPSourceRedirectStatus":{"name":"STPSourceRedirectStatus","abstract":"

    Redirect status types for a Source

    "},"Enums.html#/c:@E@STPSourceVerificationStatus":{"name":"STPSourceVerificationStatus","abstract":"

    Verification status types for a Source

    "},"Constants.html#/c:@StripeDomain":{"name":"StripeDomain","abstract":"

    All Stripe iOS errors will be under this domain.

    "},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)email":{"name":"email","abstract":"

    The user’s email address.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)phone":{"name":"phone","abstract":"

    The user’s phone number. When set, this property will automatically strip out any non-numeric characters from the string you specify.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)billingAddress":{"name":"billingAddress","abstract":"

    The user’s billing address. When set, the add card form will be filled with this address.","parent_name":"STPUserInformation"},"Classes/STPToken.html#/c:objc(cs)STPToken(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPToken. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)tokenId":{"name":"tokenId","abstract":"

    The value of the token. You can store this value on your server and use it to make charges and customers.","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)livemode":{"name":"livemode","abstract":"

    Whether or not this token was created in livemode. Will be YES if you used your Live Publishable Key, and NO if you used your Test Publishable Key.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)card":{"name":"card","abstract":"

    The credit card details that were used to create the token. Will only be set if the token was created via a credit card or Apple Pay, otherwise it will be","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)bankAccount":{"name":"bankAccount","abstract":"

    The bank account details that were used to create the token. Will only be set if the token was created with a bank account, otherwise it will be nil.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)created":{"name":"created","abstract":"

    When the token was created.

    ","parent_name":"STPToken"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(cm)defaultTheme":{"name":"+defaultTheme","abstract":"

    The default theme used by all Stripe UI. All themable UI classes, such as STPAddCardViewController, have one initializer that takes a theme and one that does not. If you use the one that does not, the default theme will be used to customize that view controller’s appearance.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryBackgroundColor":{"name":"primaryBackgroundColor","abstract":"

    The primary background color of the theme. This will be used as the backgroundColor for any views with this theme.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryBackgroundColor":{"name":"secondaryBackgroundColor","abstract":"

    The secondary background color of this theme. This will be used as the backgroundColor for any supplemental views inside a view with this theme - for example, a UITableView will set it’s cells’ background color to this value.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryBackgroundColor":{"name":"tertiaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the alpha of the primaryBackgroundColor and is used as a section border color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)quaternaryBackgroundColor":{"name":"quaternaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the brightness of the primaryBackgroundColor and is used as a separator color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryForegroundColor":{"name":"primaryForegroundColor","abstract":"

    The primary foreground color of this theme. This will be used as the text color for any important labels in a view with this theme (such as the text color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryForegroundColor":{"name":"secondaryForegroundColor","abstract":"

    The secondary foreground color of this theme. This will be used as the text color for any supplementary labels in a view with this theme (such as the placeholder color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryForegroundColor":{"name":"tertiaryForegroundColor","abstract":"

    This color is automatically derived from the secondaryForegroundColor with a lower alpha component, used for disabled text.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)accentColor":{"name":"accentColor","abstract":"

    The accent color of this theme - it will be used for any buttons and other elements on a view that are important to highlight.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)errorColor":{"name":"errorColor","abstract":"

    The error color of this theme - it will be used for rendering any error messages or views.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)font":{"name":"font","abstract":"

    The font to be used for all views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)emphasisFont":{"name":"emphasisFont","abstract":"

    The medium-weight font to be used for all bold text in views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)barStyle":{"name":"barStyle","abstract":"

    The navigation bar style to use for any view controllers presented modally","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)translucentNavigationBar":{"name":"translucentNavigationBar","abstract":"

    A Boolean value indicating whether the navigation bar for any view controllers","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)smallFont":{"name":"smallFont","abstract":"

    This font is automatically derived from the font, with a slightly lower point size, and will be used for supplementary labels.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)largeFont":{"name":"largeFont","abstract":"

    This font is automatically derived from the font, with a larger point size, and will be used for large labels such as SMS code entry.

    ","parent_name":"STPTheme"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceVerification. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)attemptsRemaining":{"name":"attemptsRemaining","abstract":"

    The number of attempts remaining to authenticate the source object with a verification code.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)status":{"name":"status","abstract":"

    The status of the verification.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceSEPADebitDetails.","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)bankCode":{"name":"bankCode","abstract":"

    The account’s bank code.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country of the bank account.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)fingerprint":{"name":"fingerprint","abstract":"

    The account’s fingerprint.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateReference":{"name":"mandateReference","abstract":"

    The reference of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateURL":{"name":"mandateURL","abstract":"

    The details of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceRedirect. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)returnURL":{"name":"returnURL","abstract":"

    The URL you provide to redirect the customer to after they authenticated their payment.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)status":{"name":"status","abstract":"

    The status of the redirect.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)url":{"name":"url","abstract":"

    The URL provided to you to redirect a customer to as part of a redirect authentication flow.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceReceiver. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)address":{"name":"address","abstract":"

    The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountCharged":{"name":"amountCharged","abstract":"

    The total amount charged by you.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReceived":{"name":"amountReceived","abstract":"

    The total amount received by the receiver source.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReturned":{"name":"amountReturned","abstract":"

    The total amount that was returned to the customer.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)type":{"name":"type","abstract":"

    The type of the source to create. Required.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)amount":{"name":"amount","abstract":"

    A positive integer in the smallest currency unit representing the","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)currency":{"name":"currency","abstract":"

    The currency associated with the source. This is the currency for which the source","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source to create. flow may be redirect,","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs that you can attach to a source object.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument. May be used or required","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)redirect":{"name":"redirect","abstract":"

    Parameters required for the redirect flow. Required if the source is authenticated by","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)token":{"name":"token","abstract":"

    An optional token used to create the source. When passed, token properties will override","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not. usage may be reusable or single_use.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bancontactParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+bancontactParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Bancontact source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bitcoinParamsWithAmount:currency:email:":{"name":"+bitcoinParamsWithAmount:currency:email:","abstract":"

    Creates params for a Bitcoin source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)cardParamsWithCard:":{"name":"+cardParamsWithCard:","abstract":"

    Creates params for a Card source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)giropayParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+giropayParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Giropay source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)idealParamsWithAmount:name:returnURL:statementDescriptor:bank:":{"name":"+idealParamsWithAmount:name:returnURL:statementDescriptor:bank:","abstract":"

    Creates params for an iDEAL source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:":{"name":"+sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:","abstract":"

    Creates params for a SEPA Debit source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sofortParamsWithAmount:returnURL:country:statementDescriptor:":{"name":"+sofortParamsWithAmount:returnURL:country:statementDescriptor:","abstract":"

    Creates params for a Sofort source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)threeDSecureParamsWithAmount:currency:returnURL:card:":{"name":"+threeDSecureParamsWithAmount:currency:returnURL:card:","abstract":"

    Creates params for a 3DS source.","parent_name":"STPSourceParams"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceOwner. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)address":{"name":"address","abstract":"

    Owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)email":{"name":"email","abstract":"

    Owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)name":{"name":"name","abstract":"

    Owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)phone":{"name":"phone","abstract":"

    Owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedAddress":{"name":"verifiedAddress","abstract":"

    Verified owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedEmail":{"name":"verifiedEmail","abstract":"

    Verified owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedName":{"name":"verifiedName","abstract":"

    Verified owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedPhone":{"name":"verifiedPhone","abstract":"

    Verified owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceCardDetails. You should only","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)threeDSecure":{"name":"threeDSecure","abstract":"

    Whether 3D Secure is supported or required by the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSource.html#/c:objc(cs)STPSource(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSource. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)amount":{"name":"amount","abstract":"

    The amount associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)clientSecret":{"name":"clientSecret","abstract":"

    The client secret of the source. Used for client-side polling using a publishable key.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)created":{"name":"created","abstract":"

    When the source was created.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)currency":{"name":"currency","abstract":"

    The currency associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)livemode":{"name":"livemode","abstract":"

    Whether or not this source was created in livemode.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs associated with the source object.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)receiver":{"name":"receiver","abstract":"

    Information related to the receiver flow. Present if the source is a receiver.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)redirect":{"name":"redirect","abstract":"

    Information related to the redirect flow. Present if the source is authenticated by a redirect.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)status":{"name":"status","abstract":"

    The status of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)type":{"name":"type","abstract":"

    The type of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)verification":{"name":"verification","abstract":"

    Information related to the verification flow. Present if the source is authenticated by a verification.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)details":{"name":"details","abstract":"

    Information about the source specific to its type

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)cardDetails":{"name":"cardDetails","abstract":"

    If this is a card source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)sepaDebitDetails":{"name":"sepaDebitDetails","abstract":"

    If this is a SEPA Debit source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme] currency:nil shippingAddress:nil selectedShippingMethod:nil prefilledInformation:nil.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Initializes a new STPShippingAddressViewController with the given payment context and sets the payment context as its delegate.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:":{"name":"-initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:","abstract":"

    Initializes a new STPShippingAddressCardViewController with the provided parameters.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPShippingAddressViewControllerDelegate

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPShippingAddressViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional shipping method view controller onto the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(py)source":{"name":"source","abstract":"

    The returned source that the user has selected. This may come from a variety of different payment methods, such as an Apple Pay payment or a stored credit card. - see: STPSource.h

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(im)initWithSource:":{"name":"-initWithSource:","abstract":"

    Initializes the payment result with a given source. This is invoked by STPPaymentContext internally; you shouldn’t have to call it directly.

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Creates a new payment methods view controller.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithConfiguration:theme:apiAdapter:delegate:":{"name":"-initWithConfiguration:theme:apiAdapter:delegate:","abstract":"

    Initializes a new payment methods view controller without using a payment context.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPPaymentMethodsViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional add card view controller onto the navigation controller’s stack.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:":{"name":"-initWithAPIAdapter:","abstract":"

    This is a convenience initializer; it is equivalent to calling initWithAPIAdapter:apiAdapter configuration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:configuration:theme:":{"name":"-initWithAPIAdapter:configuration:theme:","abstract":"

    Initializes a new Payment Context with the provided API adapter and configuration. After this class is initialized, you should also make sure to set its delegate and hostViewController properties.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)apiAdapter":{"name":"apiAdapter","abstract":"

    The API adapter the payment context will use to fetch and modify its contents. You need to make a class conforming to this protocol that talks to your server. - see: STPBackendAPIAdapter.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)configuration":{"name":"configuration","abstract":"

    The configuration for the payment context to use internally. - see: STPPaymentConfiguration.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)theme":{"name":"theme","abstract":"

    The visual appearance that will be used by any views that the context generates. - see: STPTheme.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)hostViewController":{"name":"hostViewController","abstract":"

    The view controller that any additional UI will be presented on. If you have a checkout view controller in your app, that should be used as the host view controller.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)delegate":{"name":"delegate","abstract":"

    This delegate will be notified when the payment context’s contents change. - see: STPPaymentContextDelegate

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)loading":{"name":"loading","abstract":"

    Whether or not the payment context is currently loading information from the network.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedPaymentMethod":{"name":"selectedPaymentMethod","abstract":"

    The user’s currently selected payment method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentMethods":{"name":"paymentMethods","abstract":"

    The available payment methods the user can choose between. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedShippingMethod":{"name":"selectedShippingMethod","abstract":"

    The user’s currently selected shipping method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingMethods":{"name":"shippingMethods","abstract":"

    An array of STPShippingMethod objects that describe the supported shipping methods. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingAddress":{"name":"shippingAddress","abstract":"

    The user’s shipping address. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentAmount":{"name":"paymentAmount","abstract":"

    The amount of money you’re requesting from the user, in the smallest currency unit for the selected currency. For example, to indicate $10 USD, use 1000 (i.e. 1000 cents). For more information see https://stripe.com/docs/api#charge_object-amount . This value must be present and greater than zero in order for Apple Pay to be automatically enabled.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentCurrency":{"name":"paymentCurrency","abstract":"

    The three-letter currency code for the currency of the payment (i.e. USD, GBP, JPY, etc). Defaults to USD.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentSummaryItems":{"name":"paymentSummaryItems","abstract":"

    If you support Apple Pay, you can optionally set the PKPaymentSummaryItems you want to display here instead of using paymentAmount. Note that the grand total (the amount of the last summary item) must be greater than zero.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)modalPresentationStyle":{"name":"modalPresentationStyle","abstract":"

    The presentation style used for all view controllers presented modally by the context.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)retryLoading":{"name":"-retryLoading","abstract":"

    If paymentContext:didFailToLoadWithError: is called on your delegate, you can in turn call this method to try loading again (if that hasn’t been called, calling this will do nothing). If retrying in turn fails, paymentContext:didFailToLoadWithError: will be called again (and you can again call this to keep retrying, etc).

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentPaymentMethodsViewController":{"name":"-presentPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done selecting their payment method.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushPaymentMethodsViewController":{"name":"-pushPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done selecting their payment method.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentShippingViewController":{"name":"-presentShippingViewController","abstract":"

    This creates, configures, and appropriately presents a view controller for collecting shipping address and shipping method on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done entering their shipping info.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushShippingViewController":{"name":"-pushShippingViewController","abstract":"

    This creates, configures, and appropriately pushes a view controller for collecting shipping address and shipping method onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done entering their shipping info.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)requestPayment":{"name":"-requestPayment","abstract":"

    Requests payment from the user. This may need to present some supplemental UI to the user, in which case it will be presented on the payment context’s hostViewController. For instance, if they’ve selected Apple Pay as their payment method, calling this method will show the payment sheet. If the user has a card on file, this will use that without presenting any additional UI. After this is called, the paymentContext:didCreatePaymentResult:completion: and paymentContext:didFinishWithStatus:error: methods will be called on the context’s delegate.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(cm)sharedConfiguration":{"name":"+sharedConfiguration","abstract":"

    This is a convenience singleton configuration that uses the default values","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)publishableKey":{"name":"publishableKey","abstract":"

    Your Stripe publishable key. You can get this from https://dashboard.stripe.com/account/apikeys .

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)additionalPaymentMethods":{"name":"additionalPaymentMethods","abstract":"

    An enum value representing which payment methods you will accept from your user in addition to credit cards. Unless you have a very specific reason not to, you should leave this at the default, STPPaymentMethodTypeAll.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredBillingAddressFields":{"name":"requiredBillingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their payment details. These fields will all be present on the returned token from Stripe. See https://stripe.com/docs/api#create_card_token for more information.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredShippingAddressFields":{"name":"requiredShippingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their shipping info.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)shippingType":{"name":"shippingType","abstract":"

    The type of shipping for this purchase. This property sets the labels displayed when the user is prompted for shipping info, and whether they should also be asked to select a shipping method. The default value is STPShippingTypeShipping.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)companyName":{"name":"companyName","abstract":"

    The name of your company, for displaying to the user during payment flows. For example, when using Apple Pay, the payment sheet’s final line item will read PAY {companyName}. This defaults to the name of your iOS application.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)appleMerchantIdentifier":{"name":"appleMerchantIdentifier","abstract":"

    The Apple Merchant Identifier to use during Apple Pay transactions. To create one of these, see our guide at https://stripe.com/docs/mobile/apple-pay . You must set this to a valid identifier in order to automatically enable Apple Pay.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)smsAutofillDisabled":{"name":"smsAutofillDisabled","abstract":"

    When entering their payment information, users who have a saved card with Stripe will be prompted to autofill it by entering an SMS code. Set this property to YES to disable this feature. The user won’t receive an SMS code even if they have their payment information stored with Stripe, and won’t be prompted to save it if they don’t.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)delegate":{"name":"delegate","abstract":"
    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)font":{"name":"font","abstract":"

    The font used in each child field. Default is [UIFont systemFontOfSize:18]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textColor":{"name":"textColor","abstract":"

    The text color to be used when entering valid text. Default is [UIColor blackColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textErrorColor":{"name":"textErrorColor","abstract":"

    The text color to be used when the user has entered invalid information, such as an invalid card number. Default is [UIColor redColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)placeholderColor":{"name":"placeholderColor","abstract":"

    The text placeholder color used in each child field. Default is [UIColor lightGreyColor]. Set this property to nil to reset to the default. On iOS 7 and above, this will also set the color of the card placeholder icon.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)numberPlaceholder":{"name":"numberPlaceholder","abstract":"

    The placeholder for the card number field. Default is @1234567812345678. If this is set to something that resembles a card number, it will automatically format it as such (in other words, you don’t need to add spaces to this string).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationPlaceholder":{"name":"expirationPlaceholder","abstract":"

    The placeholder for the expiration field. Defaults to @MM/YY.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvcPlaceholder":{"name":"cvcPlaceholder","abstract":"

    The placeholder for the cvc field. Defaults to @CVC.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cursorColor":{"name":"cursorColor","abstract":"

    The cursor color for the field. This is a proxy for the view’s tintColor property, exposed for clarity only (in other words, calling setCursorColor is identical to calling setTintColor).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderColor":{"name":"borderColor","abstract":"

    The border color for the field. Default is [UIColor lightGreyColor]. Can be nil (in which case no border will be drawn).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    The width of the field’s border. Default is 1.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    The corner radius for the field’s border. Default is 5.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)keyboardAppearance":{"name":"keyboardAppearance","abstract":"

    The keyboard appearance for the field. Default is UIKeyboardAppearanceDefault.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)inputAccessoryView":{"name":"inputAccessoryView","abstract":"

    This behaves identically to setting the inputAccessoryView for each child text field.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)brandImage":{"name":"brandImage","abstract":"

    The curent brand image displayed in the receiver.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)becomeFirstResponder":{"name":"-becomeFirstResponder","abstract":"

    Causes the text field to begin editing. Presents the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)resignFirstResponder":{"name":"-resignFirstResponder","abstract":"

    Causes the text field to stop editing. Dismisses the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)clear":{"name":"-clear","abstract":"

    Resets all of the contents of all of the fields. If the field is currently being edited, the number field will become selected.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    Returns the cvc image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    Returns the brand image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)brandImageRectForBounds:":{"name":"-brandImageRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its brand image.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)fieldsRectForBounds:":{"name":"-fieldsRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws the text fields.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)numberFieldRectForBounds:":{"name":"-numberFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its number field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)cvcFieldRectForBounds:":{"name":"-cvcFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its cvc field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)expirationFieldRectForBounds:":{"name":"-expirationFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its expiration field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)isValid":{"name":"isValid","abstract":"

    Whether or not the form currently contains a valid card number, expiration date, and CVC.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)enabled":{"name":"enabled","abstract":"

    Enable/disable selecting or editing the field. Useful when submitting card details to Stripe.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardNumber":{"name":"cardNumber","abstract":"

    The current card number displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationMonth":{"name":"expirationMonth","abstract":"

    The current expiration month displayed by the field (1 = January, etc). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationMonth":{"name":"formattedExpirationMonth","abstract":"

    The current expiration month displayed by the field, as a string. This may or may not be a valid entry (i.e. 0, and may be 0-prefixed (i.e. 01 for January). You can use [STPCardValidator validationStateForExpirationMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationYear":{"name":"expirationYear","abstract":"

    The current expiration year displayed by the field, modulo 100 (e.g. the year 2015 will be represented as 15). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationYear":{"name":"formattedExpirationYear","abstract":"

    The current expiration year displayed by the field, as a string. This is a 2-digit year (i.e. 15), and may or may not be a valid entry. You can use [STPCardValidator validationStateForExpirationYear:inMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvc":{"name":"cvc","abstract":"

    The current card CVC displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardParams":{"name":"cardParams","abstract":"

    Convenience property for creating an STPCardParams from the currently entered information","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(im)setAnimating:animated:":{"name":"-setAnimating:animated:","abstract":"

    Tell the view to start or stop spinning. If hidesWhenStopped is true, it will fade in/out if animated is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)animating":{"name":"animating","abstract":"

    Whether or not the view is animating.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)hidesWhenStopped":{"name":"hidesWhenStopped","abstract":"

    If true, the view will hide when it is not spinning. Default is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)applePayCardImage":{"name":"+applePayCardImage","abstract":"

    An icon representing Apple Pay.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)amexCardImage":{"name":"+amexCardImage","abstract":"

    An icon representing American Express.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)dinersClubCardImage":{"name":"+dinersClubCardImage","abstract":"

    An icon representing Diners Club.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)discoverCardImage":{"name":"+discoverCardImage","abstract":"

    An icon representing Discover.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)jcbCardImage":{"name":"+jcbCardImage","abstract":"

    An icon representing JCB.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)masterCardCardImage":{"name":"+masterCardCardImage","abstract":"

    An icon representing MasterCard.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)visaCardImage":{"name":"+visaCardImage","abstract":"

    An icon representing Visa.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)unknownCardCardImage":{"name":"+unknownCardCardImage","abstract":"

    An icon to use when the type of the card is unknown.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)templatedBrandImageForCardBrand:":{"name":"+templatedBrandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand as a","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    This returns a small icon indicating the CVC location for the given card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithData:urlResponse:error:":{"name":"-initWithData:urlResponse:error:","abstract":"

    Initialize a customer deserializer. The data, urlResponse, and error parameters are intended to be passed from an NSURLSessionDataTask callback. After it has been initialized, you can inspect the error and customer properties to see if the deserialization was successful. If error is nil, customer will be non-nil (and vice versa).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithJSONResponse:":{"name":"-initWithJSONResponse:","abstract":"

    Initializes a customer deserializer with a JSON dictionary. This JSON should be in the exact same format as what the Stripe API returns. If it’s successfully parsed, the customer parameter will be present after initialization; otherwise error will be present.

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)customer":{"name":"customer","abstract":"

    If a customer was successfully parsed from the response, it will be set here. Otherwise, this value wil be nil (and the error property will explain what went wrong).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)error":{"name":"error","abstract":"

    If the deserializer failed to parse a customer, this property will explain why (and the customer property will be nil).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(cm)customerWithStripeID:defaultSource:sources:":{"name":"+customerWithStripeID:defaultSource:sources:","abstract":"

    Initialize a customer object with the provided values.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)stripeID":{"name":"stripeID","abstract":"

    The Stripe ID of the customer, e.g. cus_1234

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)defaultSource":{"name":"defaultSource","abstract":"

    The default source used to charge the customer.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)sources":{"name":"sources","abstract":"

    The available payment sources the customer has (this may be an empty array).

    ","parent_name":"STPCustomer"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithTheme:[STPTheme defaultTheme].

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithTheme:":{"name":"-initWithTheme:","abstract":"

    Initializes a new view controller with the specified theme

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithNibName:bundle:":{"name":"-initWithNibName:bundle:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithCoder:":{"name":"-initWithCoder:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)sanitizedNumericStringForString:":{"name":"+sanitizedNumericStringForString:","abstract":"

    Returns a copy of the passed string with all non-numeric characters removed.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)stringIsNumeric:":{"name":"+stringIsNumeric:","abstract":"

    Whether or not the target string contains only numeric characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForNumber:validatingCardBrand:":{"name":"+validationStateForNumber:validatingCardBrand:","abstract":"

    Validates a card number, passed as a string. This will return STPCardValidationStateInvalid for numbers that are too short or long, contain invalid characters, do not pass Luhn validation, or (optionally) do not match a number format issued by a major card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)brandForNumber:":{"name":"+brandForNumber:","abstract":"

    The card brand for a card number or substring thereof.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)lengthsForCardBrand:":{"name":"+lengthsForCardBrand:","abstract":"

    The possible number lengths for cards associated with a card brand. For example, Discover card numbers contain 16 characters, while American Express cards contain 15 characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)fragmentLengthForCardBrand:":{"name":"+fragmentLengthForCardBrand:","abstract":"

    The length of the final grouping of digits to use when formatting a card number for display. For example, Visa cards display their final 4 numbers, e.g. 4242, while American Express cards display their final 5 digits, e.g. 10005.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationMonth:":{"name":"+validationStateForExpirationMonth:","abstract":"

    Validates an expiration month, passed as an (optionally 0-padded) string. Example valid values are 3, 12, and 08. Example invalid values are 99, a, and 00. Incomplete values include 0 and 1.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationYear:inMonth:":{"name":"+validationStateForExpirationYear:inMonth:","abstract":"

    Validates an expiration year, passed as a string representing the final 2 digits of the year. This considers the period between the current year until 2099 as valid times. An example valid year value would be 16 (assuming the current year, as determined by [NSDate date], is 2015). Will return STPCardValidationStateInvalid for a month/year combination that is earlier than the current date (i.e. @15 and @04 in October 2015). Example invalid year values are 00, a, and 13. Any 1-digit year string will return STPCardValidationStateIncomplete.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)maxCVCLengthForCardBrand:":{"name":"+maxCVCLengthForCardBrand:","abstract":"

    The max CVC length for a card brand (for context, American Express CVCs are 4 digits, while all others are 3).

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCVC:cardBrand:":{"name":"+validationStateForCVC:cardBrand:","abstract":"

    Validates a card’s CVC, passed as a numeric string, for the given card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCard:":{"name":"+validationStateForCard:","abstract":"

    Validates the given card details.

    ","parent_name":"STPCardValidator"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)number":{"name":"number","abstract":"

    The card’s number.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the card’s number, if it’s been set, otherwise nil.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)cvc":{"name":"cvc","abstract":"

    The card’s security code, found on the back.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)currency":{"name":"currency","abstract":"

    Three-letter ISO currency code representing the currency paid out to the bank account. This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCardParams"},"Classes/STPCard.html#/c:objc(cs)STPCard(im)initWithID:brand:last4:expMonth:expYear:funding:":{"name":"-initWithID:brand:last4:expMonth:expYear:funding:","abstract":"

    Create an STPCard from a Stripe API response.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)brandFromString:":{"name":"+brandFromString:","abstract":"

    This parses a string representing a card’s brand into the appropriate STPCardBrand enum value, i.e. [STPCard brandFromString:@"American Express"] == STPCardBrandAmex

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)stringFromBrand:":{"name":"+stringFromBrand:","abstract":"

    Returns a string representation for the provided card brand; i.e. [NSString stringFromBrand:STPCardBrandVisa] == @"Visa".

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)fundingFromString:":{"name":"+fundingFromString:","abstract":"

    This parses a string representing a card’s funding type into the appropriate STPCardFundingType enum value, i.e. [STPCard fundingFromString:@"prepaid"] == STPCardFundingTypePrepaid.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)dynamicLast4":{"name":"dynamicLast4","abstract":"

    For cards made with Apple Pay, this refers to the last 4 digits of the Device Account Number for the tokenized card. For regular cards, it will be nil.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)isApplePayCard":{"name":"isApplePayCard","abstract":"

    Whether or not the card originated from Apple Pay.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)addressLine1":{"name":"addressLine1","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)cardId":{"name":"cardId","abstract":"

    The Stripe ID for the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)currency":{"name":"currency","abstract":"

    This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCard"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountNumber":{"name":"accountNumber","abstract":"

    The account number for the bank account. Currently must be a checking account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the bank account’s account number, if it’s been set, otherwise nil.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account. Defaults to STPBankAccountHolderTypeIndividual.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankAccountId":{"name":"bankAccountId","abstract":"

    The Stripe ID for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankName":{"name":"bankName","abstract":"

    The name of the bank that owns the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)fingerprint":{"name":"fingerprint","abstract":"

    A proxy for the account number, this uniquely identifies the account and can be used to compare equality of different bank accounts.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)status":{"name":"status","abstract":"

    The validation status of the bank account. - see: STPBankAccountStatus

    ","parent_name":"STPBankAccount"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)name":{"name":"name","abstract":"

    The user’s full name (e.g. Jane Doe)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line1":{"name":"line1","abstract":"

    The first line of the user’s street address (e.g. 123 Fake St)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line2":{"name":"line2","abstract":"

    The apartment, floor number, etc of the user’s street address (e.g. Apartment 1A)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)city":{"name":"city","abstract":"

    The city in which the user resides (e.g. San Francisco)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)state":{"name":"state","abstract":"

    The state in which the user resides (e.g. CA)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)postalCode":{"name":"postalCode","abstract":"

    The postal code in which the user resides (e.g. 90210)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)country":{"name":"country","abstract":"

    The ISO country code of the address (e.g. US)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)phone":{"name":"phone","abstract":"

    The phone number of the address (e.g. 8885551212)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)email":{"name":"email","abstract":"

    The email of the address (e.g. jane@doe.com)

    ","parent_name":"STPAddress"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)initWithConfiguration:theme:":{"name":"-initWithConfiguration:theme:","abstract":"

    Initializes a new STPAddCardViewController with the provided configuration and theme. Don’t forget to set the delegate property after initialization.

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPAddCardViewControllerDelegate

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    You can set this property to pre-fill any information you’ve already collected from your user. - see: STPUserInformation.h

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)managedAccountCurrency":{"name":"managedAccountCurrency","abstract":"

    If you’re using the token generated from STPAddCardViewController to make a Managed Account, you should set this property to the currency that account will use. Otherwise, you should leave it empty. For more information, see https://stripe.com/docs/api#create_card_token-card-currency

    ","parent_name":"STPAddCardViewController"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)setDefaultPublishableKey:":{"name":"+setDefaultPublishableKey:","abstract":"

    Set your Stripe API key with this method. New instances of STPAPIClient will be initialized with this value. You should call this method as early as","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)defaultPublishableKey":{"name":"+defaultPublishableKey","abstract":"

    The current default publishable key.

    ","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)disableAnalytics":{"name":"+disableAnalytics","abstract":"

    By default, Stripe collects some basic information about SDK usage.","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)canSubmitPaymentRequest:":{"name":"+canSubmitPaymentRequest:","abstract":"

    Whether or not this device is capable of using Apple Pay. This checks both whether the user is running an iPhone 6/6+ or later, iPad Air 2 or later, or iPad","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)paymentRequestWithMerchantIdentifier:":{"name":"+paymentRequestWithMerchantIdentifier:","abstract":"

    A convenience method to return a PKPaymentRequest with sane default values. You will still need to configure the paymentSummaryItems property to indicate","parent_name":"Stripe"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(cm)sharedClient":{"name":"+sharedClient","abstract":"

    A shared singleton API client. Its API key will be initially equal to [Stripe defaultPublishableKey].

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)publishableKey":{"name":"publishableKey","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)configuration":{"name":"configuration","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithPayment:completion:":{"name":"-createTokenWithPayment:completion:","abstract":"

    Converts a PKPayment object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithBankAccount:completion:":{"name":"-createTokenWithBankAccount:completion:","abstract":"

    Converts an STPBankAccount object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithCard:completion:":{"name":"-createTokenWithCard:completion:","abstract":"

    Converts an STPCardParams object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createSourceWithParams:completion:":{"name":"-createSourceWithParams:completion:","abstract":"

    Creates a Source object using the provided details.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)retrieveSourceWithId:clientSecret:completion:":{"name":"-retrieveSourceWithId:clientSecret:completion:","abstract":"

    Retrieves the Source object with the given ID. - see: https://stripe.com/docs/api#retrieve_source

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)startPollingSourceWithId:clientSecret:timeout:completion:":{"name":"-startPollingSourceWithId:clientSecret:timeout:completion:","abstract":"

    Starts polling the Source object with the given ID. For payment methods that require","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)stopPollingSourceWithId:":{"name":"-stopPollingSourceWithId:","abstract":"

    Stops polling the Source object with the given ID. Note that the completion block passed to","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html":{"name":"STPAPIClient","abstract":"

    A client for making connections to the Stripe API.

    "},"Classes/Stripe.html":{"name":"Stripe","abstract":"

    A top-level class that imports the rest of the Stripe SDK.

    "},"Classes/STPAddCardViewController.html":{"name":"STPAddCardViewController","abstract":"

    This view controller contains a credit card entry form that the user can fill out. On submission, it will use the Stripe API to convert the user’s card details to a Stripe token. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController.

    "},"Classes/STPAddress.html":{"name":"STPAddress","abstract":"

    STPAddress Contains an address as represented by the Stripe API.

    "},"Classes.html#/c:objc(cs)STPApplePayPaymentMethod":{"name":"STPApplePayPaymentMethod","abstract":"

    An empty class representing that the user wishes to pay via Apple Pay. This can be checked on an STPPaymentContext, e.g.

    "},"Classes/STPBankAccount.html":{"name":"STPBankAccount","abstract":"

    Representation of a user’s bank account details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPBankAccountParams.html":{"name":"STPBankAccountParams","abstract":"

    Representation of a user’s bank account details. You can assemble these with information that your user enters and"},"Classes/STPCard.html":{"name":"STPCard","abstract":"

    Representation of a user’s credit card details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPCardParams.html":{"name":"STPCardParams","abstract":"

    Representation of a user’s credit card details. You can assemble these with information that your user enters and"},"Classes/STPCardValidator.html":{"name":"STPCardValidator","abstract":"

    This class contains static methods to validate card numbers, expiration dates, and CVCs. For a list of test card numbers to use with this code, see https://stripe.com/docs/testing

    "},"Classes.html#/c:objc(cs)STPCoreScrollViewController":{"name":"STPCoreScrollViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes.html#/c:objc(cs)STPCoreTableViewController":{"name":"STPCoreTableViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes/STPCoreViewController.html":{"name":"STPCoreViewController","abstract":"

    This is the base class for all Stripe view controllers. It is intended for use"},"Classes/STPCustomer.html":{"name":"STPCustomer","abstract":"

    An STPCustomer represents a deserialized Customer object from the Stripe API. You can use STPCustomerDeserializer to convert a JSON response from the Stripe API into an STPCustomer.

    "},"Classes/STPCustomerDeserializer.html":{"name":"STPCustomerDeserializer","abstract":"

    Use STPCustomerDeserializer to convert a response from the Stripe API into an STPCustomer object. STPCustomerDeserializer expects the JSON response to be in the exact same format as the Stripe API.

    "},"Classes/STPImageLibrary.html":{"name":"STPImageLibrary","abstract":"

    This class lets you access card icons used by the Stripe SDK. All icons are 32 x 20 points.

    "},"Classes/STPPaymentActivityIndicatorView.html":{"name":"STPPaymentActivityIndicatorView","abstract":"

    This class can be used wherever you’d use a UIActivityIndicatorView and is intended to have a similar API. It renders as a spinning circle with a gap in it, similar to what you see in the App Store app or in the Apple Pay dialog when making a purchase. To change its color, set the tintColor property.

    "},"Classes/STPPaymentCardTextField.html":{"name":"STPPaymentCardTextField","abstract":"

    STPPaymentCardTextField is a text field with similar properties to UITextField, but specialized for collecting credit/debit card information. It manages multiple UITextFields under the hood to collect this information. It’s designed to fit on a single line, and from a design perspective can be used anywhere a UITextField would be appropriate.

    "},"Classes/STPPaymentConfiguration.html":{"name":"STPPaymentConfiguration","abstract":"

    An STPPaymentConfiguration represents all the options you can set or change"},"Classes/STPPaymentContext.html":{"name":"STPPaymentContext","abstract":"

    An STPPaymentContext keeps track of all of the state around a payment. It will manage fetching a user’s saved payment methods, tracking any information they select, and prompting them for required additional information before completing their purchase. It can be used to power your application’s payment confirmation page with just a few lines of code.

    "},"Classes/STPPaymentMethodsViewController.html":{"name":"STPPaymentMethodsViewController","abstract":"

    This view controller presents a list of payment method options to the user, which they can select between. They can also add credit cards to the list. It must be displayed inside a UINavigationController, so you can either create a UINavigationController with an STPPaymentMethodsViewController as the rootViewController and then present the UINavigationController, or push a new STPPaymentMethodsViewController onto an existing UINavigationController‘s stack. You can also have STPPaymentContext do this for you automatically, by calling presentPaymentMethodsViewController or pushPaymentMethodsViewController on it.

    "},"Classes/STPPaymentResult.html":{"name":"STPPaymentResult","abstract":"

    When you’re using STPPaymentContext to request your user’s payment details, this is the object that will be returned to your application when they’ve successfully made a payment. It currently just contains a source, but in the future will include any relevant metadata as well. You should pass source.stripeID to your server, and call the charge creation endpoint. This assumes you are charging a Customer, so you should specify the customer parameter to be that customer’s ID and the source parameter to the value returned here. For more information, see https://stripe.com/docs/api#create_charge

    "},"Classes/STPShippingAddressViewController.html":{"name":"STPShippingAddressViewController","abstract":"

    This view controller contains a shipping address collection form. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController. Depending on your configuration’s shippingType, the view controller may present a shipping method selection form after the user enters an address.

    "},"Classes/STPSource.html":{"name":"STPSource","abstract":"

    Representation of a customer’s payment instrument created with the Stripe API. - see: https://stripe.com/docs/api#sources

    "},"Classes/STPSourceCardDetails.html":{"name":"STPSourceCardDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceOwner.html":{"name":"STPSourceOwner","abstract":"

    Information about a source’s owner.

    "},"Classes/STPSourceParams.html":{"name":"STPSourceParams","abstract":"

    An object representing parameters used to create a Source object."},"Classes/STPSourceReceiver.html":{"name":"STPSourceReceiver","abstract":"

    Information related to a source’s receiver flow.

    "},"Classes/STPSourceRedirect.html":{"name":"STPSourceRedirect","abstract":"

    Information related to a source’s redirect flow.

    "},"Classes/STPSourceSEPADebitDetails.html":{"name":"STPSourceSEPADebitDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceVerification.html":{"name":"STPSourceVerification","abstract":"

    Information related to a source’s verification flow.

    "},"Classes/STPTheme.html":{"name":"STPTheme","abstract":"

    STPTheme objects can be used to visually style Stripe-provided UI. See https://stripe.com/docs/mobile/ios/standard#theming for more information.

    "},"Classes/STPToken.html":{"name":"STPToken","abstract":"

    A token returned from submitting payment details to the Stripe API. You should not have to instantiate one of these directly.

    "},"Classes/STPUserInformation.html":{"name":"STPUserInformation","abstract":"

    You can use this class to specify information that you’ve already collected from your user. You can then set the prefilledInformation property on STPPaymentContext, STPAddCardViewController, etc and it will pre-fill this information whenever possible.

    "},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(im)stp_setTheme:":{"name":"-stp_setTheme:","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.

    ","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(py)stp_theme":{"name":"stp_theme","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html":{"name":"UINavigationBar(Stripe_Theme)","abstract":"

    This allows quickly setting the appearance of a UINavigationBar to match your application. This is useful if you’re presenting an STPAddCardViewController or STPPaymentMethodsViewController inside a UINavigationController.

    "},"Categories.html":{"name":"Categories","abstract":"The following categories are available globally."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Constants.html":{"name":"Constants","abstract":"The following constants are available globally."},"Enums.html":{"name":"Enums","abstract":"The following enums are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Type Definitions.html":{"name":"Type Definitions","abstract":"The following type definitions are available globally."}} \ No newline at end of file +{"Type Definitions.html#/c:STPBackendAPIAdapter.h@T@STPCustomerCompletionBlock":{"name":"STPCustomerCompletionBlock","abstract":"

    Call this block after you’re done fetching a customer on your server. You can use the STPCustomerDeserializer class to convert a JSON response into an STPCustomer object.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPVoidBlock":{"name":"STPVoidBlock","abstract":"

    An empty block, called with no arguments, returning nothing.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPErrorBlock":{"name":"STPErrorBlock","abstract":"

    A block that may optionally be called with an error.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPTokenCompletionBlock":{"name":"STPTokenCompletionBlock","abstract":"

    A callback to be run with a token response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPSourceCompletionBlock":{"name":"STPSourceCompletionBlock","abstract":"

    A callback to be run with a source response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPShippingMethodsCompletionBlock":{"name":"STPShippingMethodsCompletionBlock","abstract":"

    A callback to be run with a validation result and shipping methods for a"},"Type Definitions.html#/c:STPBlocks.h@T@STPFileCompletionBlock":{"name":"STPFileCompletionBlock","abstract":"

    A callback to be run with a file response from the Stripe API.

    "},"Type Definitions.html#/c:STPRedirectContext.h@T@STPRedirectContextCompletionBlock":{"name":"STPRedirectContextCompletionBlock","abstract":"

    A callback run when the context believes the redirect action has been completed.

    "},"Protocols/STPSourceProtocol.html#/c:objc(pl)STPSourceProtocol(py)stripeID":{"name":"stripeID","abstract":"

    The stripe ID of the source.

    ","parent_name":"STPSourceProtocol"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewControllerDidCancel:":{"name":"-shippingAddressViewControllerDidCancel:","abstract":"

    Called when the user cancels entering a shipping address. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didEnterAddress:completion:":{"name":"-shippingAddressViewController:didEnterAddress:completion:","abstract":"

    This is called when the user enters a shipping address and taps next. You should validate the address and determine what shipping methods are available, and call the completion block when finished. If an error occurrs, call the completion block with the error. Otherwise, call the completion block with a nil error and an array of available shipping methods. If you don’t need to collect a shipping method, you may pass an empty array.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didFinishWithAddress:shippingMethod:":{"name":"-shippingAddressViewController:didFinishWithAddress:shippingMethod:","abstract":"

    This is called when the user selects a shipping method. If no shipping methods are given, or if the shipping type doesn’t require a shipping method, this will be called after the user has a shipping address and your validation has succeeded. After updating your app with the user’s shipping info, you should dismiss (or pop) the view controller. Note that if shippingMethod is non-nil, there will be an additional shipping methods view controller on the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didSelectPaymentMethod:":{"name":"-paymentMethodsViewController:didSelectPaymentMethod:","abstract":"

    This is called when the user either makes a selection, or adds a new card. This will be triggered after the view controller loads with the user’s current selection (if they have one) and then subsequently when they change their choice. You should use this callback to update any necessary UI in your app that displays the user’s currently selected payment method. You should not dismiss the view controller at this point, instead do this in paymentMethodsViewControllerDidFinish:. STPPaymentMethodsViewController will also call the necessary methods on your API adapter, so you don’t need to call them directly during this method.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didFailToLoadWithError:":{"name":"-paymentMethodsViewController:didFailToLoadWithError:","abstract":"

    This is called when the view controller encounters an error fetching the user’s payment methods from its API adapter. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewControllerDidFinish:":{"name":"-paymentMethodsViewControllerDidFinish:","abstract":"

    This is called when the user selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewControllerDidCancel:":{"name":"-paymentMethodsViewControllerDidCancel:","abstract":"

    This is called when the user taps cancel.","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)image":{"name":"image","abstract":"

    A small (32 x 20 points) logo image representing the payment method. For example, the Visa logo for a Visa card, or the Apple Pay logo.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)templateImage":{"name":"templateImage","abstract":"

    A small (32 x 20 points) logo image representing the payment method that can be used as template for tinted icons.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)label":{"name":"label","abstract":"

    A string describing the payment method, such as Apple Pay or Visa 4242.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFailToLoadWithError:":{"name":"-paymentContext:didFailToLoadWithError:","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContextDidChange:":{"name":"-paymentContextDidChange:","abstract":"

    This is called every time the contents of the payment context change. When this is called, you should update your app’s UI to reflect the current state of the payment context. For example, if you have a checkout page with a selected payment method row, you should update its payment method with paymentContext.selectedPaymentMethod.label. If that checkout page has a buy button, you should enable/disable it depending on the result of [paymentContext isReadyForPayment].

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didCreatePaymentResult:completion:":{"name":"-paymentContext:didCreatePaymentResult:completion:","abstract":"

    Inside this method, you should make a call to your backend API to make a charge with that Customer + source, and invoke the completion block when that is done.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFinishWithStatus:error:":{"name":"-paymentContext:didFinishWithStatus:error:","abstract":"

    This is invoked by an STPPaymentContext when it is finished. This will be called after the payment is done and all necessary UI has been dismissed. You should inspect the returned status and behave appropriately. For example: if it’s STPPaymentStatusSuccess, show the user a receipt. If it’s STPPaymentStatusError, inform the user of the error. If it’s STPPaymentStatusUserCanceled, do nothing.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didUpdateShippingAddress:completion:":{"name":"-paymentContext:didUpdateShippingAddress:completion:","abstract":"

    Inside this method, you should verify that you can ship to the given address.","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidChange:":{"name":"-paymentCardTextFieldDidChange:","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingNumber:":{"name":"-paymentCardTextFieldDidBeginEditingNumber:","abstract":"

    Called when editing begins in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingNumber:":{"name":"-paymentCardTextFieldDidEndEditingNumber:","abstract":"

    Called when editing ends in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingCVC:":{"name":"-paymentCardTextFieldDidBeginEditingCVC:","abstract":"

    Called when editing begins in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingCVC:":{"name":"-paymentCardTextFieldDidEndEditingCVC:","abstract":"

    Called when editing ends in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingExpiration:":{"name":"-paymentCardTextFieldDidBeginEditingExpiration:","abstract":"

    Called when editing begins in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingExpiration:":{"name":"-paymentCardTextFieldDidEndEditingExpiration:","abstract":"

    Called when editing ends in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)rootObjectName":{"name":"+rootObjectName","abstract":"

    The root object name to be used when converting this object to a form-encoded string. For example, if this returns @card, then the form-encoded output will resemble @card[foo]=bar (where ‘foo’ and ‘bar’ are specified by propertyNamesToFormFieldNamesMapping below.

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)propertyNamesToFormFieldNamesMapping":{"name":"+propertyNamesToFormFieldNamesMapping","abstract":"

    This maps properties on an object that is being form-encoded into parameter names in the Stripe API. For example, STPCardParams has a field called expMonth, but the Stripe API expects a field called exp_month. This dictionary represents a mapping from the former to the latter (in other words, [STPCardParams propertyNamesToFormFieldNamesMapping][@expMonth] == @exp_month.)

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(py)additionalAPIParameters":{"name":"additionalAPIParameters","abstract":"

    You can use this property to add additional fields to an API request that are not explicitly defined by the object’s interface. This can be useful when using beta features that haven’t been added to the Stripe SDK yet. For example, if the /v1/tokens API began to accept a beta field called test_field, you might do the following:","parent_name":"STPFormEncodable"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)retrieveCustomer:":{"name":"-retrieveCustomer:","abstract":"

    Retrieve the cards to be displayed inside a payment context. On your backend, retrieve the Stripe customer associated with your currently logged-in user (see https://stripe.com/docs/api#retrieve_customer ), and return the raw JSON response from the Stripe API. (For an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L40 ). Back in your iOS app, after you’ve called this API, deserialize your API response into an STPCustomer object (you can use the STPCustomerDeserializer class to do this). See MyAPIClient.swift in our example project to see this in action.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)attachSourceToCustomer:completion:":{"name":"-attachSourceToCustomer:completion:","abstract":"

    Adds a payment source to a customer. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Update Customer method on that customer as described at https://stripe.com/docs/api#update_customer (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L60 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)selectDefaultCustomerSource:completion:":{"name":"-selectDefaultCustomerSource:completion:","abstract":"

    Change a customer’s default_source to be the provided card. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Customer Update method as described at https://stripe.com/docs/api#update_customer , specifying default_source to be the value of source.stripeID (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L82 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewControllerDidCancel:":{"name":"-addCardViewControllerDidCancel:","abstract":"

    Called when the user cancels adding a card. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewController:didCreateToken:completion:":{"name":"-addCardViewController:didCreateToken:completion:","abstract":"

    This is called when the user successfully adds a card and tokenizes it with Stripe. You should send the token to your backend to store it on a customer, and then call the provided completion block when that call is finished. If an error occurred while talking to your backend, call completion(error), otherwise, dismiss (or pop) the view controller.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html":{"name":"STPAddCardViewControllerDelegate","abstract":"

    An STPAddCardViewControllerDelegate is notified when an STPAddCardViewController successfully creates a card token or is cancelled. It has internal error-handling logic, so there’s no error case to deal with.

    "},"Protocols/STPBackendAPIAdapter.html":{"name":"STPBackendAPIAdapter","abstract":"

    You should make your application’s API client conform to this interface in order to use it with an STPPaymentContext. It provides a bridge from the prebuilt UI we expose (such as STPPaymentMethodsViewController) to your backend to fetch the information it needs to power those views. To read about how to implement this protocol, see https://stripe.com/docs/mobile/ios/standard#prepare-your-api . To see examples of implementing these APIs, see MyAPIClient.swift in our example project and https://github.com/stripe/example-ios-backend .

    "},"Protocols/STPFormEncodable.html":{"name":"STPFormEncodable","abstract":"

    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.

    "},"Protocols/STPPaymentCardTextFieldDelegate.html":{"name":"STPPaymentCardTextFieldDelegate","abstract":"

    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.

    "},"Protocols/STPPaymentContextDelegate.html":{"name":"STPPaymentContextDelegate","abstract":"

    Implement STPPaymentContextDelegate 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.

    "},"Protocols/STPPaymentMethod.html":{"name":"STPPaymentMethod","abstract":"

    This protocol represents a payment method that a user can select and use to pay. Currently the only classes that conform to it are STPCard (which represents that the user wants to pay with a specific card) and STPApplePayPaymentMethod (which represents that the user wants to pay with Apple Pay).

    "},"Protocols/STPPaymentMethodsViewControllerDelegate.html":{"name":"STPPaymentMethodsViewControllerDelegate","abstract":"

    An STPPaymentMethodsViewControllerDelegate responds when a user selects a payment method from (or cancels) an STPPaymentMethodsViewController. In both of these instances, you should dismiss the view controller (either by popping it off the navigation stack, or dismissing it).

    "},"Protocols/STPShippingAddressViewControllerDelegate.html":{"name":"STPShippingAddressViewControllerDelegate","abstract":"

    An STPShippingAddressViewControllerDelegate is notified when an STPShippingAddressViewController receives an address, completes with an address, or is cancelled.

    "},"Protocols/STPSourceProtocol.html":{"name":"STPSourceProtocol","abstract":"

    Objects conforming to this protocol can be attached to a Stripe Customer object as a payment source."},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeNone":{"name":"STPPaymentMethodTypeNone","abstract":"

    Don’t use any payment methods except for cards.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeApplePay":{"name":"STPPaymentMethodTypeApplePay","abstract":"

    The user is allowed to pay with Apple Pay (if it’s configured and available on their device).

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeAll":{"name":"STPPaymentMethodTypeAll","abstract":"

    The user can use any available payment method to pay.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusSuccess":{"name":"STPPaymentStatusSuccess","abstract":"

    The payment succeeded.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusError":{"name":"STPPaymentStatusError","abstract":"

    The payment failed due to an unforeseen error, such as the user’s Internet connection being offline.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusUserCancellation":{"name":"STPPaymentStatusUserCancellation","abstract":"

    The user cancelled the payment (for example, by hitting cancel in the Apple Pay dialog).

    ","parent_name":"STPPaymentStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusValid":{"name":"STPShippingStatusValid","abstract":"

    The shipping address is valid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusInvalid":{"name":"STPShippingStatusInvalid","abstract":"

    The shipping address is invalid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeShipping":{"name":"STPShippingTypeShipping","abstract":"

    Shipping the purchase to the provided address using a third-party","parent_name":"STPShippingType"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeDelivery":{"name":"STPShippingTypeDelivery","abstract":"

    Delivering the purchase by the seller.

    ","parent_name":"STPShippingType"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsNone":{"name":"STPBillingAddressFieldsNone","abstract":"

    No billing address information

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsZip":{"name":"STPBillingAddressFieldsZip","abstract":"

    Just request the user’s billing ZIP code

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsFull":{"name":"STPBillingAddressFieldsFull","abstract":"

    Request the user’s full billing address

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html":{"name":"STPBillingAddressFields","abstract":"

    What set of billing address information you need to collect from your user.

    "},"Enums/STPShippingType.html":{"name":"STPShippingType","abstract":"

    These values control the labels used in the shipping info collection form.

    "},"Enums/STPShippingStatus.html":{"name":"STPShippingStatus","abstract":"

    An enum representing the status of a shipping address validation.

    "},"Enums/STPPaymentStatus.html":{"name":"STPPaymentStatus","abstract":"

    An enum representing the status of a payment requested from the user.

    "},"Enums.html#/c:@E@STPCardFundingType":{"name":"STPCardFundingType","abstract":"

    The various funding sources for a payment card.

    "},"Enums.html#/c:@E@STPCardBrand":{"name":"STPCardBrand","abstract":"

    The various card brands to which a payment card can belong.

    "},"Enums.html#/c:@E@STPCardValidationState":{"name":"STPCardValidationState","abstract":"

    These fields indicate whether a card field represents a valid value, invalid value, or incomplete value.

    "},"Enums/STPPaymentMethodType.html":{"name":"STPPaymentMethodType","abstract":"

    This represents all of the payment methods available to your user (in addition to card payments, which are always enabled) when configuring an STPPaymentContext.

    "},"Enums.html#/c:@E@STPRedirectContextState":{"name":"STPRedirectContextState","abstract":"

    Possible states for the redirect context to be in

    "},"Enums.html#/c:@E@STPSourceFlow":{"name":"STPSourceFlow","abstract":"

    Authentication flows for a Source

    "},"Enums.html#/c:@E@STPSourceUsage":{"name":"STPSourceUsage","abstract":"

    Usage types for a Source

    "},"Enums.html#/c:@E@STPSourceStatus":{"name":"STPSourceStatus","abstract":"

    Status types for a Source

    "},"Enums.html#/c:@E@STPSourceType":{"name":"STPSourceType","abstract":"

    Types for a Source

    "},"Enums.html#/c:@E@STPSourceRedirectStatus":{"name":"STPSourceRedirectStatus","abstract":"

    Redirect status types for a Source

    "},"Enums.html#/c:@E@STPSourceVerificationStatus":{"name":"STPSourceVerificationStatus","abstract":"

    Verification status types for a Source

    "},"Constants.html#/c:@StripeDomain":{"name":"StripeDomain","abstract":"

    All Stripe iOS errors will be under this domain.

    "},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)email":{"name":"email","abstract":"

    The user’s email address.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)phone":{"name":"phone","abstract":"

    The user’s phone number. When set, this property will automatically strip out any non-numeric characters from the string you specify.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)billingAddress":{"name":"billingAddress","abstract":"

    The user’s billing address. When set, the add card form will be filled with this address.","parent_name":"STPUserInformation"},"Classes/STPToken.html#/c:objc(cs)STPToken(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPToken. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)tokenId":{"name":"tokenId","abstract":"

    The value of the token. You can store this value on your server and use it to make charges and customers.","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)livemode":{"name":"livemode","abstract":"

    Whether or not this token was created in livemode. Will be YES if you used your Live Publishable Key, and NO if you used your Test Publishable Key.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)card":{"name":"card","abstract":"

    The credit card details that were used to create the token. Will only be set if the token was created via a credit card or Apple Pay, otherwise it will be","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)bankAccount":{"name":"bankAccount","abstract":"

    The bank account details that were used to create the token. Will only be set if the token was created with a bank account, otherwise it will be nil.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)created":{"name":"created","abstract":"

    When the token was created.

    ","parent_name":"STPToken"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(cm)defaultTheme":{"name":"+defaultTheme","abstract":"

    The default theme used by all Stripe UI. All themable UI classes, such as STPAddCardViewController, have one initializer that takes a theme and one that does not. If you use the one that does not, the default theme will be used to customize that view controller’s appearance.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryBackgroundColor":{"name":"primaryBackgroundColor","abstract":"

    The primary background color of the theme. This will be used as the backgroundColor for any views with this theme.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryBackgroundColor":{"name":"secondaryBackgroundColor","abstract":"

    The secondary background color of this theme. This will be used as the backgroundColor for any supplemental views inside a view with this theme - for example, a UITableView will set it’s cells’ background color to this value.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryBackgroundColor":{"name":"tertiaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the alpha of the primaryBackgroundColor and is used as a section border color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)quaternaryBackgroundColor":{"name":"quaternaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the brightness of the primaryBackgroundColor and is used as a separator color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryForegroundColor":{"name":"primaryForegroundColor","abstract":"

    The primary foreground color of this theme. This will be used as the text color for any important labels in a view with this theme (such as the text color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryForegroundColor":{"name":"secondaryForegroundColor","abstract":"

    The secondary foreground color of this theme. This will be used as the text color for any supplementary labels in a view with this theme (such as the placeholder color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryForegroundColor":{"name":"tertiaryForegroundColor","abstract":"

    This color is automatically derived from the secondaryForegroundColor with a lower alpha component, used for disabled text.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)accentColor":{"name":"accentColor","abstract":"

    The accent color of this theme - it will be used for any buttons and other elements on a view that are important to highlight.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)errorColor":{"name":"errorColor","abstract":"

    The error color of this theme - it will be used for rendering any error messages or views.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)font":{"name":"font","abstract":"

    The font to be used for all views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)emphasisFont":{"name":"emphasisFont","abstract":"

    The medium-weight font to be used for all bold text in views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)barStyle":{"name":"barStyle","abstract":"

    The navigation bar style to use for any view controllers presented modally","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)translucentNavigationBar":{"name":"translucentNavigationBar","abstract":"

    A Boolean value indicating whether the navigation bar for any view controllers","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)smallFont":{"name":"smallFont","abstract":"

    This font is automatically derived from the font, with a slightly lower point size, and will be used for supplementary labels.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)largeFont":{"name":"largeFont","abstract":"

    This font is automatically derived from the font, with a larger point size, and will be used for large labels such as SMS code entry.

    ","parent_name":"STPTheme"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceVerification. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)attemptsRemaining":{"name":"attemptsRemaining","abstract":"

    The number of attempts remaining to authenticate the source object with a verification code.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)status":{"name":"status","abstract":"

    The status of the verification.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceSEPADebitDetails.","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)bankCode":{"name":"bankCode","abstract":"

    The account’s bank code.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country of the bank account.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)fingerprint":{"name":"fingerprint","abstract":"

    The account’s fingerprint.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateReference":{"name":"mandateReference","abstract":"

    The reference of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateURL":{"name":"mandateURL","abstract":"

    The details of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceRedirect. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)returnURL":{"name":"returnURL","abstract":"

    The URL you provide to redirect the customer to after they authenticated their payment.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)status":{"name":"status","abstract":"

    The status of the redirect.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)url":{"name":"url","abstract":"

    The URL provided to you to redirect a customer to as part of a redirect authentication flow.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceReceiver. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)address":{"name":"address","abstract":"

    The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountCharged":{"name":"amountCharged","abstract":"

    The total amount charged by you.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReceived":{"name":"amountReceived","abstract":"

    The total amount received by the receiver source.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReturned":{"name":"amountReturned","abstract":"

    The total amount that was returned to the customer.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)type":{"name":"type","abstract":"

    The type of the source to create. Required.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)rawTypeString":{"name":"rawTypeString","abstract":"

    The raw underlying type string sent to the server.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)amount":{"name":"amount","abstract":"

    A positive integer in the smallest currency unit representing the","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)currency":{"name":"currency","abstract":"

    The currency associated with the source. This is the currency for which the source","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source to create. flow may be redirect,","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs that you can attach to a source object.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument. May be used or required","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)redirect":{"name":"redirect","abstract":"

    Parameters required for the redirect flow. Required if the source is authenticated by","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)token":{"name":"token","abstract":"

    An optional token used to create the source. When passed, token properties will override","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not. usage may be reusable or single_use.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bancontactParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+bancontactParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Bancontact source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bitcoinParamsWithAmount:currency:email:":{"name":"+bitcoinParamsWithAmount:currency:email:","abstract":"

    Creates params for a Bitcoin source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)cardParamsWithCard:":{"name":"+cardParamsWithCard:","abstract":"

    Creates params for a Card source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)giropayParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+giropayParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Giropay source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)idealParamsWithAmount:name:returnURL:statementDescriptor:bank:":{"name":"+idealParamsWithAmount:name:returnURL:statementDescriptor:bank:","abstract":"

    Creates params for an iDEAL source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:":{"name":"+sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:","abstract":"

    Creates params for a SEPA Debit source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sofortParamsWithAmount:returnURL:country:statementDescriptor:":{"name":"+sofortParamsWithAmount:returnURL:country:statementDescriptor:","abstract":"

    Creates params for a Sofort source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)threeDSecureParamsWithAmount:currency:returnURL:card:":{"name":"+threeDSecureParamsWithAmount:currency:returnURL:card:","abstract":"

    Creates params for a 3DS source.","parent_name":"STPSourceParams"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceOwner. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)address":{"name":"address","abstract":"

    Owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)email":{"name":"email","abstract":"

    Owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)name":{"name":"name","abstract":"

    Owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)phone":{"name":"phone","abstract":"

    Owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedAddress":{"name":"verifiedAddress","abstract":"

    Verified owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedEmail":{"name":"verifiedEmail","abstract":"

    Verified owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedName":{"name":"verifiedName","abstract":"

    Verified owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedPhone":{"name":"verifiedPhone","abstract":"

    Verified owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceCardDetails. You should only","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)threeDSecure":{"name":"threeDSecure","abstract":"

    Whether 3D Secure is supported or required by the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSource.html#/c:objc(cs)STPSource(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSource. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)amount":{"name":"amount","abstract":"

    The amount associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)clientSecret":{"name":"clientSecret","abstract":"

    The client secret of the source. Used for client-side polling using a publishable key.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)created":{"name":"created","abstract":"

    When the source was created.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)currency":{"name":"currency","abstract":"

    The currency associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)livemode":{"name":"livemode","abstract":"

    Whether or not this source was created in livemode.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs associated with the source object.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)receiver":{"name":"receiver","abstract":"

    Information related to the receiver flow. Present if the source is a receiver.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)redirect":{"name":"redirect","abstract":"

    Information related to the redirect flow. Present if the source is authenticated by a redirect.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)status":{"name":"status","abstract":"

    The status of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)type":{"name":"type","abstract":"

    The type of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)verification":{"name":"verification","abstract":"

    Information related to the verification flow. Present if the source is authenticated by a verification.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)details":{"name":"details","abstract":"

    Information about the source specific to its type

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)cardDetails":{"name":"cardDetails","abstract":"

    If this is a card source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)sepaDebitDetails":{"name":"sepaDebitDetails","abstract":"

    If this is a SEPA Debit source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme] currency:nil shippingAddress:nil selectedShippingMethod:nil prefilledInformation:nil.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Initializes a new STPShippingAddressViewController with the given payment context and sets the payment context as its delegate.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:":{"name":"-initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:","abstract":"

    Initializes a new STPShippingAddressCardViewController with the provided parameters.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPShippingAddressViewControllerDelegate

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPShippingAddressViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional shipping method view controller onto the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(py)state":{"name":"state","abstract":"

    The current state of the context.

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)initWithSource:completion:":{"name":"-initWithSource:completion:","abstract":"

    Initializer for context.

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)init":{"name":"-init","abstract":"

    Use initWithSource:completion:

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)startRedirectFlowFromViewController:":{"name":"-startRedirectFlowFromViewController:","abstract":"

    Starts a redirect flow.

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)startSafariViewControllerRedirectFlowFromViewController:":{"name":"-startSafariViewControllerRedirectFlowFromViewController:","abstract":"

    Starts a redirect flow by presenting an SFSafariViewController in your app","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)startSafariAppRedirectFlow":{"name":"-startSafariAppRedirectFlow","abstract":"

    Starts a redirect flow by calling openURL to bounce the user out to","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)cancel":{"name":"-cancel","abstract":"

    Dismisses any presented views and stops listening for any","parent_name":"STPRedirectContext"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(py)source":{"name":"source","abstract":"

    The returned source that the user has selected. This may come from a variety of different payment methods, such as an Apple Pay payment or a stored credit card. - see: STPSource.h

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(im)initWithSource:":{"name":"-initWithSource:","abstract":"

    Initializes the payment result with a given source. This is invoked by STPPaymentContext internally; you shouldn’t have to call it directly.

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Creates a new payment methods view controller.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithConfiguration:theme:apiAdapter:delegate:":{"name":"-initWithConfiguration:theme:apiAdapter:delegate:","abstract":"

    Initializes a new payment methods view controller without using a payment context.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPPaymentMethodsViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional add card view controller onto the navigation controller’s stack.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:":{"name":"-initWithAPIAdapter:","abstract":"

    This is a convenience initializer; it is equivalent to calling initWithAPIAdapter:apiAdapter configuration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:configuration:theme:":{"name":"-initWithAPIAdapter:configuration:theme:","abstract":"

    Initializes a new Payment Context with the provided API adapter and configuration. After this class is initialized, you should also make sure to set its delegate and hostViewController properties.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)apiAdapter":{"name":"apiAdapter","abstract":"

    The API adapter the payment context will use to fetch and modify its contents. You need to make a class conforming to this protocol that talks to your server. - see: STPBackendAPIAdapter.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)configuration":{"name":"configuration","abstract":"

    The configuration for the payment context to use internally. - see: STPPaymentConfiguration.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)theme":{"name":"theme","abstract":"

    The visual appearance that will be used by any views that the context generates. - see: STPTheme.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)hostViewController":{"name":"hostViewController","abstract":"

    The view controller that any additional UI will be presented on. If you have a checkout view controller in your app, that should be used as the host view controller.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)delegate":{"name":"delegate","abstract":"

    This delegate will be notified when the payment context’s contents change. - see: STPPaymentContextDelegate

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)loading":{"name":"loading","abstract":"

    Whether or not the payment context is currently loading information from the network.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedPaymentMethod":{"name":"selectedPaymentMethod","abstract":"

    The user’s currently selected payment method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentMethods":{"name":"paymentMethods","abstract":"

    The available payment methods the user can choose between. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedShippingMethod":{"name":"selectedShippingMethod","abstract":"

    The user’s currently selected shipping method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingMethods":{"name":"shippingMethods","abstract":"

    An array of STPShippingMethod objects that describe the supported shipping methods. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingAddress":{"name":"shippingAddress","abstract":"

    The user’s shipping address. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentAmount":{"name":"paymentAmount","abstract":"

    The amount of money you’re requesting from the user, in the smallest currency unit for the selected currency. For example, to indicate $10 USD, use 1000 (i.e. 1000 cents). For more information see https://stripe.com/docs/api#charge_object-amount . This value must be present and greater than zero in order for Apple Pay to be automatically enabled.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentCurrency":{"name":"paymentCurrency","abstract":"

    The three-letter currency code for the currency of the payment (i.e. USD, GBP, JPY, etc). Defaults to USD.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentSummaryItems":{"name":"paymentSummaryItems","abstract":"

    If you support Apple Pay, you can optionally set the PKPaymentSummaryItems you want to display here instead of using paymentAmount. Note that the grand total (the amount of the last summary item) must be greater than zero.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)modalPresentationStyle":{"name":"modalPresentationStyle","abstract":"

    The presentation style used for all view controllers presented modally by the context.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)retryLoading":{"name":"-retryLoading","abstract":"

    If paymentContext:didFailToLoadWithError: is called on your delegate, you","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentPaymentMethodsViewController":{"name":"-presentPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushPaymentMethodsViewController":{"name":"-pushPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentShippingViewController":{"name":"-presentShippingViewController","abstract":"

    This creates, configures, and appropriately presents a view controller for","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushShippingViewController":{"name":"-pushShippingViewController","abstract":"

    This creates, configures, and appropriately pushes a view controller for","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)requestPayment":{"name":"-requestPayment","abstract":"

    Requests payment from the user. This may need to present some supplemental UI","parent_name":"STPPaymentContext"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(cm)sharedConfiguration":{"name":"+sharedConfiguration","abstract":"

    This is a convenience singleton configuration that uses the default values","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)publishableKey":{"name":"publishableKey","abstract":"

    Your Stripe publishable key. You can get this from https://dashboard.stripe.com/account/apikeys .

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)additionalPaymentMethods":{"name":"additionalPaymentMethods","abstract":"

    An enum value representing which payment methods you will accept from your user in addition to credit cards. Unless you have a very specific reason not to, you should leave this at the default, STPPaymentMethodTypeAll.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredBillingAddressFields":{"name":"requiredBillingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their payment details. These fields will all be present on the returned token from Stripe. See https://stripe.com/docs/api#create_card_token for more information.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredShippingAddressFields":{"name":"requiredShippingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their shipping info.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)shippingType":{"name":"shippingType","abstract":"

    The type of shipping for this purchase. This property sets the labels displayed when the user is prompted for shipping info, and whether they should also be asked to select a shipping method. The default value is STPShippingTypeShipping.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)companyName":{"name":"companyName","abstract":"

    The name of your company, for displaying to the user during payment flows. For example, when using Apple Pay, the payment sheet’s final line item will read PAY {companyName}. This defaults to the name of your iOS application.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)appleMerchantIdentifier":{"name":"appleMerchantIdentifier","abstract":"

    The Apple Merchant Identifier to use during Apple Pay transactions. To create one of these, see our guide at https://stripe.com/docs/mobile/apple-pay . You must set this to a valid identifier in order to automatically enable Apple Pay.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)smsAutofillDisabled":{"name":"smsAutofillDisabled","abstract":"

    When entering their payment information, users who have a saved card with Stripe will be prompted to autofill it by entering an SMS code. Set this property to YES to disable this feature. The user won’t receive an SMS code even if they have their payment information stored with Stripe, and won’t be prompted to save it if they don’t.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)delegate":{"name":"delegate","abstract":"
    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)font":{"name":"font","abstract":"

    The font used in each child field. Default is [UIFont systemFontOfSize:18]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textColor":{"name":"textColor","abstract":"

    The text color to be used when entering valid text. Default is [UIColor blackColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textErrorColor":{"name":"textErrorColor","abstract":"

    The text color to be used when the user has entered invalid information, such as an invalid card number. Default is [UIColor redColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)placeholderColor":{"name":"placeholderColor","abstract":"

    The text placeholder color used in each child field. Default is [UIColor lightGreyColor]. Set this property to nil to reset to the default. On iOS 7 and above, this will also set the color of the card placeholder icon.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)numberPlaceholder":{"name":"numberPlaceholder","abstract":"

    The placeholder for the card number field. Default is @1234567812345678. If this is set to something that resembles a card number, it will automatically format it as such (in other words, you don’t need to add spaces to this string).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationPlaceholder":{"name":"expirationPlaceholder","abstract":"

    The placeholder for the expiration field. Defaults to @MM/YY.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvcPlaceholder":{"name":"cvcPlaceholder","abstract":"

    The placeholder for the cvc field. Defaults to @CVC.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cursorColor":{"name":"cursorColor","abstract":"

    The cursor color for the field. This is a proxy for the view’s tintColor property, exposed for clarity only (in other words, calling setCursorColor is identical to calling setTintColor).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderColor":{"name":"borderColor","abstract":"

    The border color for the field. Default is [UIColor lightGreyColor]. Can be nil (in which case no border will be drawn).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    The width of the field’s border. Default is 1.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    The corner radius for the field’s border. Default is 5.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)keyboardAppearance":{"name":"keyboardAppearance","abstract":"

    The keyboard appearance for the field. Default is UIKeyboardAppearanceDefault.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)inputAccessoryView":{"name":"inputAccessoryView","abstract":"

    This behaves identically to setting the inputAccessoryView for each child text field.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)brandImage":{"name":"brandImage","abstract":"

    The curent brand image displayed in the receiver.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)becomeFirstResponder":{"name":"-becomeFirstResponder","abstract":"

    Causes the text field to begin editing. Presents the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)resignFirstResponder":{"name":"-resignFirstResponder","abstract":"

    Causes the text field to stop editing. Dismisses the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)clear":{"name":"-clear","abstract":"

    Resets all of the contents of all of the fields. If the field is currently being edited, the number field will become selected.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    Returns the cvc image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    Returns the brand image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)errorImageForCardBrand:":{"name":"+errorImageForCardBrand:","abstract":"

    Returns the error image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)brandImageRectForBounds:":{"name":"-brandImageRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its brand image.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)fieldsRectForBounds:":{"name":"-fieldsRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws the text fields.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)numberFieldRectForBounds:":{"name":"-numberFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its number field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)cvcFieldRectForBounds:":{"name":"-cvcFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its cvc field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)expirationFieldRectForBounds:":{"name":"-expirationFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its expiration field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)isValid":{"name":"isValid","abstract":"

    Whether or not the form currently contains a valid card number, expiration date, and CVC.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)enabled":{"name":"enabled","abstract":"

    Enable/disable selecting or editing the field. Useful when submitting card details to Stripe.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardNumber":{"name":"cardNumber","abstract":"

    The current card number displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationMonth":{"name":"expirationMonth","abstract":"

    The current expiration month displayed by the field (1 = January, etc). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationMonth":{"name":"formattedExpirationMonth","abstract":"

    The current expiration month displayed by the field, as a string. This may or may not be a valid entry (i.e. 0, and may be 0-prefixed (i.e. 01 for January). You can use [STPCardValidator validationStateForExpirationMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationYear":{"name":"expirationYear","abstract":"

    The current expiration year displayed by the field, modulo 100 (e.g. the year 2015 will be represented as 15). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationYear":{"name":"formattedExpirationYear","abstract":"

    The current expiration year displayed by the field, as a string. This is a 2-digit year (i.e. 15), and may or may not be a valid entry. You can use [STPCardValidator validationStateForExpirationYear:inMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvc":{"name":"cvc","abstract":"

    The current card CVC displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardParams":{"name":"cardParams","abstract":"

    Convenience property for creating an STPCardParams from the currently entered information","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(im)setAnimating:animated:":{"name":"-setAnimating:animated:","abstract":"

    Tell the view to start or stop spinning. If hidesWhenStopped is true, it will fade in/out if animated is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)animating":{"name":"animating","abstract":"

    Whether or not the view is animating.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)hidesWhenStopped":{"name":"hidesWhenStopped","abstract":"

    If true, the view will hide when it is not spinning. Default is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)applePayCardImage":{"name":"+applePayCardImage","abstract":"

    An icon representing Apple Pay.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)amexCardImage":{"name":"+amexCardImage","abstract":"

    An icon representing American Express.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)dinersClubCardImage":{"name":"+dinersClubCardImage","abstract":"

    An icon representing Diners Club.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)discoverCardImage":{"name":"+discoverCardImage","abstract":"

    An icon representing Discover.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)jcbCardImage":{"name":"+jcbCardImage","abstract":"

    An icon representing JCB.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)masterCardCardImage":{"name":"+masterCardCardImage","abstract":"

    An icon representing MasterCard.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)visaCardImage":{"name":"+visaCardImage","abstract":"

    An icon representing Visa.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)unknownCardCardImage":{"name":"+unknownCardCardImage","abstract":"

    An icon to use when the type of the card is unknown.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)templatedBrandImageForCardBrand:":{"name":"+templatedBrandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand as a","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    This returns a small icon indicating the CVC location for the given card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)errorImageForCardBrand:":{"name":"+errorImageForCardBrand:","abstract":"

    This returns a small icon indicating a card number error for the given card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithData:urlResponse:error:":{"name":"-initWithData:urlResponse:error:","abstract":"

    Initialize a customer deserializer. The data, urlResponse, and error parameters are intended to be passed from an NSURLSessionDataTask callback. After it has been initialized, you can inspect the error and customer properties to see if the deserialization was successful. If error is nil, customer will be non-nil (and vice versa).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithJSONResponse:":{"name":"-initWithJSONResponse:","abstract":"

    Initializes a customer deserializer with a JSON dictionary. This JSON should be in the exact same format as what the Stripe API returns. If it’s successfully parsed, the customer parameter will be present after initialization; otherwise error will be present.

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)customer":{"name":"customer","abstract":"

    If a customer was successfully parsed from the response, it will be set here. Otherwise, this value wil be nil (and the error property will explain what went wrong).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)error":{"name":"error","abstract":"

    If the deserializer failed to parse a customer, this property will explain why (and the customer property will be nil).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(cm)customerWithStripeID:defaultSource:sources:":{"name":"+customerWithStripeID:defaultSource:sources:","abstract":"

    Initialize a customer object with the provided values.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)stripeID":{"name":"stripeID","abstract":"

    The Stripe ID of the customer, e.g. cus_1234

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)defaultSource":{"name":"defaultSource","abstract":"

    The default source used to charge the customer.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)sources":{"name":"sources","abstract":"

    The available payment sources the customer has (this may be an empty array).

    ","parent_name":"STPCustomer"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithTheme:[STPTheme defaultTheme].

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithTheme:":{"name":"-initWithTheme:","abstract":"

    Initializes a new view controller with the specified theme

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithNibName:bundle:":{"name":"-initWithNibName:bundle:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithCoder:":{"name":"-initWithCoder:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)sanitizedNumericStringForString:":{"name":"+sanitizedNumericStringForString:","abstract":"

    Returns a copy of the passed string with all non-numeric characters removed.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)stringIsNumeric:":{"name":"+stringIsNumeric:","abstract":"

    Whether or not the target string contains only numeric characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForNumber:validatingCardBrand:":{"name":"+validationStateForNumber:validatingCardBrand:","abstract":"

    Validates a card number, passed as a string. This will return STPCardValidationStateInvalid for numbers that are too short or long, contain invalid characters, do not pass Luhn validation, or (optionally) do not match a number format issued by a major card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)brandForNumber:":{"name":"+brandForNumber:","abstract":"

    The card brand for a card number or substring thereof.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)lengthsForCardBrand:":{"name":"+lengthsForCardBrand:","abstract":"

    The possible number lengths for cards associated with a card brand. For example, Discover card numbers contain 16 characters, while American Express cards contain 15 characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)fragmentLengthForCardBrand:":{"name":"+fragmentLengthForCardBrand:","abstract":"

    The length of the final grouping of digits to use when formatting a card number for display. For example, Visa cards display their final 4 numbers, e.g. 4242, while American Express cards display their final 5 digits, e.g. 10005.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationMonth:":{"name":"+validationStateForExpirationMonth:","abstract":"

    Validates an expiration month, passed as an (optionally 0-padded) string. Example valid values are 3, 12, and 08. Example invalid values are 99, a, and 00. Incomplete values include 0 and 1.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationYear:inMonth:":{"name":"+validationStateForExpirationYear:inMonth:","abstract":"

    Validates an expiration year, passed as a string representing the final 2 digits of the year. This considers the period between the current year until 2099 as valid times. An example valid year value would be 16 (assuming the current year, as determined by [NSDate date], is 2015). Will return STPCardValidationStateInvalid for a month/year combination that is earlier than the current date (i.e. @15 and @04 in October 2015). Example invalid year values are 00, a, and 13. Any 1-digit year string will return STPCardValidationStateIncomplete.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)maxCVCLengthForCardBrand:":{"name":"+maxCVCLengthForCardBrand:","abstract":"

    The max CVC length for a card brand (for context, American Express CVCs are 4 digits, while all others are 3).

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCVC:cardBrand:":{"name":"+validationStateForCVC:cardBrand:","abstract":"

    Validates a card’s CVC, passed as a numeric string, for the given card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCard:":{"name":"+validationStateForCard:","abstract":"

    Validates the given card details.

    ","parent_name":"STPCardValidator"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)number":{"name":"number","abstract":"

    The card’s number.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the card’s number, if it’s been set, otherwise nil.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)cvc":{"name":"cvc","abstract":"

    The card’s security code, found on the back.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)currency":{"name":"currency","abstract":"

    Three-letter ISO currency code representing the currency paid out to the bank account. This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCardParams"},"Classes/STPCard.html#/c:objc(cs)STPCard(im)initWithID:brand:last4:expMonth:expYear:funding:":{"name":"-initWithID:brand:last4:expMonth:expYear:funding:","abstract":"

    Create an STPCard from a Stripe API response.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)brandFromString:":{"name":"+brandFromString:","abstract":"

    This parses a string representing a card’s brand into the appropriate STPCardBrand enum value, i.e. [STPCard brandFromString:@"American Express"] == STPCardBrandAmex

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)stringFromBrand:":{"name":"+stringFromBrand:","abstract":"

    Returns a string representation for the provided card brand; i.e. [NSString stringFromBrand:STPCardBrandVisa] == @"Visa".

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)fundingFromString:":{"name":"+fundingFromString:","abstract":"

    This parses a string representing a card’s funding type into the appropriate STPCardFundingType enum value, i.e. [STPCard fundingFromString:@"prepaid"] == STPCardFundingTypePrepaid.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)dynamicLast4":{"name":"dynamicLast4","abstract":"

    For cards made with Apple Pay, this refers to the last 4 digits of the Device Account Number for the tokenized card. For regular cards, it will be nil.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)isApplePayCard":{"name":"isApplePayCard","abstract":"

    Whether or not the card originated from Apple Pay.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)addressLine1":{"name":"addressLine1","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)cardId":{"name":"cardId","abstract":"

    The Stripe ID for the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)currency":{"name":"currency","abstract":"

    This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCard"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountNumber":{"name":"accountNumber","abstract":"

    The account number for the bank account. Currently must be a checking account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the bank account’s account number, if it’s been set, otherwise nil.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account. Defaults to STPBankAccountHolderTypeIndividual.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankAccountId":{"name":"bankAccountId","abstract":"

    The Stripe ID for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankName":{"name":"bankName","abstract":"

    The name of the bank that owns the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)fingerprint":{"name":"fingerprint","abstract":"

    A proxy for the account number, this uniquely identifies the account and can be used to compare equality of different bank accounts.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)status":{"name":"status","abstract":"

    The validation status of the bank account. - see: STPBankAccountStatus

    ","parent_name":"STPBankAccount"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)name":{"name":"name","abstract":"

    The user’s full name (e.g. Jane Doe)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line1":{"name":"line1","abstract":"

    The first line of the user’s street address (e.g. 123 Fake St)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line2":{"name":"line2","abstract":"

    The apartment, floor number, etc of the user’s street address (e.g. Apartment 1A)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)city":{"name":"city","abstract":"

    The city in which the user resides (e.g. San Francisco)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)state":{"name":"state","abstract":"

    The state in which the user resides (e.g. CA)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)postalCode":{"name":"postalCode","abstract":"

    The postal code in which the user resides (e.g. 90210)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)country":{"name":"country","abstract":"

    The ISO country code of the address (e.g. US)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)phone":{"name":"phone","abstract":"

    The phone number of the address (e.g. 8885551212)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)email":{"name":"email","abstract":"

    The email of the address (e.g. jane@doe.com)

    ","parent_name":"STPAddress"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)initWithConfiguration:theme:":{"name":"-initWithConfiguration:theme:","abstract":"

    Initializes a new STPAddCardViewController with the provided configuration and theme. Don’t forget to set the delegate property after initialization.

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPAddCardViewControllerDelegate

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    You can set this property to pre-fill any information you’ve already collected from your user. - see: STPUserInformation.h

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)managedAccountCurrency":{"name":"managedAccountCurrency","abstract":"

    If you’re using the token generated from STPAddCardViewController to make a Managed Account, you should set this property to the currency that account will use. Otherwise, you should leave it empty. For more information, see https://stripe.com/docs/api#create_card_token-card-currency

    ","parent_name":"STPAddCardViewController"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)setDefaultPublishableKey:":{"name":"+setDefaultPublishableKey:","abstract":"

    Set your Stripe API key with this method. New instances of STPAPIClient will be initialized with this value. You should call this method as early as","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)defaultPublishableKey":{"name":"+defaultPublishableKey","abstract":"

    The current default publishable key.

    ","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)canSubmitPaymentRequest:":{"name":"+canSubmitPaymentRequest:","abstract":"

    Whether or not this device is capable of using Apple Pay. This checks both whether the user is running an iPhone 6/6+ or later, iPad Air 2 or later, or iPad","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)paymentRequestWithMerchantIdentifier:":{"name":"+paymentRequestWithMerchantIdentifier:","abstract":"

    A convenience method to return a PKPaymentRequest with sane default values. You will still need to configure the paymentSummaryItems property to indicate","parent_name":"Stripe"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(cm)sharedClient":{"name":"+sharedClient","abstract":"

    A shared singleton API client. Its API key will be initially equal to [Stripe defaultPublishableKey].

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)publishableKey":{"name":"publishableKey","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)configuration":{"name":"configuration","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithPayment:completion:":{"name":"-createTokenWithPayment:completion:","abstract":"

    Converts a PKPayment object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithBankAccount:completion:":{"name":"-createTokenWithBankAccount:completion:","abstract":"

    Converts an STPBankAccount object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithPersonalIDNumber:completion:":{"name":"-createTokenWithPersonalIDNumber:completion:","abstract":"

    Converts a personal identification number into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)uploadImage:purpose:completion:":{"name":"-uploadImage:purpose:completion:","abstract":"

    Uses the Stripe file upload API to upload an image. This can be used for","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithCard:completion:":{"name":"-createTokenWithCard:completion:","abstract":"

    Converts an STPCardParams object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createSourceWithParams:completion:":{"name":"-createSourceWithParams:completion:","abstract":"

    Creates a Source object using the provided details.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)retrieveSourceWithId:clientSecret:completion:":{"name":"-retrieveSourceWithId:clientSecret:completion:","abstract":"

    Retrieves the Source object with the given ID. - see: https://stripe.com/docs/api#retrieve_source

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)startPollingSourceWithId:clientSecret:timeout:completion:":{"name":"-startPollingSourceWithId:clientSecret:timeout:completion:","abstract":"

    Starts polling the Source object with the given ID. For payment methods that require","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)stopPollingSourceWithId:":{"name":"-stopPollingSourceWithId:","abstract":"

    Stops polling the Source object with the given ID. Note that the completion block passed to","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html":{"name":"STPAPIClient","abstract":"

    A client for making connections to the Stripe API.

    "},"Classes/Stripe.html":{"name":"Stripe","abstract":"

    A top-level class that imports the rest of the Stripe SDK.

    "},"Classes/STPAddCardViewController.html":{"name":"STPAddCardViewController","abstract":"

    This view controller contains a credit card entry form that the user can fill out. On submission, it will use the Stripe API to convert the user’s card details to a Stripe token. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController.

    "},"Classes/STPAddress.html":{"name":"STPAddress","abstract":"

    STPAddress Contains an address as represented by the Stripe API.

    "},"Classes.html#/c:objc(cs)STPApplePayPaymentMethod":{"name":"STPApplePayPaymentMethod","abstract":"

    An empty class representing that the user wishes to pay via Apple Pay. This can be checked on an STPPaymentContext, e.g.

    "},"Classes/STPBankAccount.html":{"name":"STPBankAccount","abstract":"

    Representation of a user’s bank account details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPBankAccountParams.html":{"name":"STPBankAccountParams","abstract":"

    Representation of a user’s bank account details. You can assemble these with information that your user enters and"},"Classes/STPCard.html":{"name":"STPCard","abstract":"

    Representation of a user’s credit card details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPCardParams.html":{"name":"STPCardParams","abstract":"

    Representation of a user’s credit card details. You can assemble these with information that your user enters and"},"Classes/STPCardValidator.html":{"name":"STPCardValidator","abstract":"

    This class contains static methods to validate card numbers, expiration dates, and CVCs. For a list of test card numbers to use with this code, see https://stripe.com/docs/testing

    "},"Classes.html#/c:objc(cs)STPCoreScrollViewController":{"name":"STPCoreScrollViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes.html#/c:objc(cs)STPCoreTableViewController":{"name":"STPCoreTableViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes/STPCoreViewController.html":{"name":"STPCoreViewController","abstract":"

    This is the base class for all Stripe view controllers. It is intended for use"},"Classes/STPCustomer.html":{"name":"STPCustomer","abstract":"

    An STPCustomer represents a deserialized Customer object from the Stripe API. You can use STPCustomerDeserializer to convert a JSON response from the Stripe API into an STPCustomer.

    "},"Classes/STPCustomerDeserializer.html":{"name":"STPCustomerDeserializer","abstract":"

    Use STPCustomerDeserializer to convert a response from the Stripe API into an STPCustomer object. STPCustomerDeserializer expects the JSON response to be in the exact same format as the Stripe API.

    "},"Classes/STPImageLibrary.html":{"name":"STPImageLibrary","abstract":"

    This class lets you access card icons used by the Stripe SDK. All icons are 32 x 20 points.

    "},"Classes/STPPaymentActivityIndicatorView.html":{"name":"STPPaymentActivityIndicatorView","abstract":"

    This class can be used wherever you’d use a UIActivityIndicatorView and is intended to have a similar API. It renders as a spinning circle with a gap in it, similar to what you see in the App Store app or in the Apple Pay dialog when making a purchase. To change its color, set the tintColor property.

    "},"Classes/STPPaymentCardTextField.html":{"name":"STPPaymentCardTextField","abstract":"

    STPPaymentCardTextField is a text field with similar properties to UITextField, but specialized for collecting credit/debit card information. It manages multiple UITextFields under the hood to collect this information. It’s designed to fit on a single line, and from a design perspective can be used anywhere a UITextField would be appropriate.

    "},"Classes/STPPaymentConfiguration.html":{"name":"STPPaymentConfiguration","abstract":"

    An STPPaymentConfiguration represents all the options you can set or change"},"Classes/STPPaymentContext.html":{"name":"STPPaymentContext","abstract":"

    An STPPaymentContext keeps track of all of the state around a payment. It will manage fetching a user’s saved payment methods, tracking any information they select, and prompting them for required additional information before completing their purchase. It can be used to power your application’s payment confirmation page with just a few lines of code.

    "},"Classes/STPPaymentMethodsViewController.html":{"name":"STPPaymentMethodsViewController","abstract":"

    This view controller presents a list of payment method options to the user, which they can select between. They can also add credit cards to the list. It must be displayed inside a UINavigationController, so you can either create a UINavigationController with an STPPaymentMethodsViewController as the rootViewController and then present the UINavigationController, or push a new STPPaymentMethodsViewController onto an existing UINavigationController‘s stack. You can also have STPPaymentContext do this for you automatically, by calling presentPaymentMethodsViewController or pushPaymentMethodsViewController on it.

    "},"Classes/STPPaymentResult.html":{"name":"STPPaymentResult","abstract":"

    When you’re using STPPaymentContext to request your user’s payment details, this is the object that will be returned to your application when they’ve successfully made a payment. It currently just contains a source, but in the future will include any relevant metadata as well. You should pass source.stripeID to your server, and call the charge creation endpoint. This assumes you are charging a Customer, so you should specify the customer parameter to be that customer’s ID and the source parameter to the value returned here. For more information, see https://stripe.com/docs/api#create_charge

    "},"Classes/STPRedirectContext.html":{"name":"STPRedirectContext","abstract":"

    This is a helper class for handling redirect sources.

    "},"Classes/STPShippingAddressViewController.html":{"name":"STPShippingAddressViewController","abstract":"

    This view controller contains a shipping address collection form. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController. Depending on your configuration’s shippingType, the view controller may present a shipping method selection form after the user enters an address.

    "},"Classes/STPSource.html":{"name":"STPSource","abstract":"

    Representation of a customer’s payment instrument created with the Stripe API. - see: https://stripe.com/docs/api#sources

    "},"Classes/STPSourceCardDetails.html":{"name":"STPSourceCardDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceOwner.html":{"name":"STPSourceOwner","abstract":"

    Information about a source’s owner.

    "},"Classes/STPSourceParams.html":{"name":"STPSourceParams","abstract":"

    An object representing parameters used to create a Source object."},"Classes/STPSourceReceiver.html":{"name":"STPSourceReceiver","abstract":"

    Information related to a source’s receiver flow.

    "},"Classes/STPSourceRedirect.html":{"name":"STPSourceRedirect","abstract":"

    Information related to a source’s redirect flow.

    "},"Classes/STPSourceSEPADebitDetails.html":{"name":"STPSourceSEPADebitDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceVerification.html":{"name":"STPSourceVerification","abstract":"

    Information related to a source’s verification flow.

    "},"Classes/STPTheme.html":{"name":"STPTheme","abstract":"

    STPTheme objects can be used to visually style Stripe-provided UI. See https://stripe.com/docs/mobile/ios/standard#theming for more information.

    "},"Classes/STPToken.html":{"name":"STPToken","abstract":"

    A token returned from submitting payment details to the Stripe API. You should not have to instantiate one of these directly.

    "},"Classes/STPUserInformation.html":{"name":"STPUserInformation","abstract":"

    You can use this class to specify information that you’ve already collected from your user. You can then set the prefilledInformation property on STPPaymentContext, STPAddCardViewController, etc and it will pre-fill this information whenever possible.

    "},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(im)stp_setTheme:":{"name":"-stp_setTheme:","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.

    ","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(py)stp_theme":{"name":"stp_theme","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html":{"name":"UINavigationBar(Stripe_Theme)","abstract":"

    This allows quickly setting the appearance of a UINavigationBar to match your application. This is useful if you’re presenting an STPAddCardViewController or STPPaymentMethodsViewController inside a UINavigationController.

    "},"Categories.html":{"name":"Categories","abstract":"The following categories are available globally."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Constants.html":{"name":"Constants","abstract":"The following constants are available globally."},"Enums.html":{"name":"Enums","abstract":"The following enums are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Type Definitions.html":{"name":"Type Definitions","abstract":"The following type definitions are available globally."}} \ No newline at end of file diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/undocumented.json b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/undocumented.json index cf5f9de36e2..8f09f97526e 100644 --- a/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/undocumented.json +++ b/docs/docs/docsets/Stripe.docset/Contents/Resources/Documents/undocumented.json @@ -9,32 +9,39 @@ }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 19, + "line": 20, "symbol": "STPSDKVersion", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 55, + "line": 50, "symbol": "STPAPIClient.-initWithConfiguration:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 56, + "line": 51, "symbol": "STPAPIClient.-initWithPublishableKey:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 120, + "line": 159, "symbol": "Stripe(ApplePay).+deviceSupportsApplePay", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", "warning": "undocumented" }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", + "line": 229, + "symbol": "Stripe(STPURLCallbackHandlerAdditions)", + "symbol_kind": "sourcekitten.source.lang.objc.decl.category", + "warning": "undocumented" + }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIResponseDecodable.h", "line": 11, @@ -58,28 +65,42 @@ }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", - "line": 103, - "symbol": "STPAddress.-PKContactValue", + "line": 104, + "symbol": "STPAddress.-initWithPKContact:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", "line": 105, + "symbol": "STPAddress.-PKContactValue", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", + "line": 107, + "symbol": "STPAddress.-initWithCNContact:", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", + "line": 109, "symbol": "STPAddress.-containsRequiredFields:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", - "line": 106, + "line": 110, "symbol": "STPAddress.-containsRequiredShippingAddressFields:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", - "line": 108, + "line": 112, "symbol": "STPAddress.+applePayAddressFieldsFromBillingAddressFields:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", "warning": "undocumented" @@ -309,17 +330,31 @@ "warning": "undocumented" }, { - "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPPaymentCardTextField.h", - "line": 222, - "symbol": "STPPaymentCardTextField.valid", - "symbol_kind": "sourcekitten.source.lang.objc.decl.property", + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPFile.h", + "line": 14, + "symbol": "STPFilePurpose", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enum", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPFile.h", + "line": 14, + "symbol": "STPFilePurpose", + "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPFile.h", + "line": 20, + "symbol": "STPFile", + "symbol_kind": "sourcekitten.source.lang.objc.decl.class", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPPaymentCardTextField.h", - "line": 267, - "symbol": "STPPaymentCardTextField.-commonInit", - "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "line": 230, + "symbol": "STPPaymentCardTextField.valid", + "symbol_kind": "sourcekitten.source.lang.objc.decl.property", "warning": "undocumented" }, { @@ -329,6 +364,34 @@ "symbol_kind": "sourcekitten.source.lang.objc.decl.property", "warning": "undocumented" }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 23, + "symbol": "STPRedirectContextState.STPRedirectContextStateNotStarted", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 24, + "symbol": "STPRedirectContextState.STPRedirectContextStateInProgress", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 25, + "symbol": "STPRedirectContextState.STPRedirectContextStateCancelled", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 26, + "symbol": "STPRedirectContextState.STPRedirectContextStateCompleted", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPSource.h", "line": 24, @@ -598,76 +661,90 @@ { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", "line": 49, + "symbol": "STPStripeErrorCodeKey", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", + "line": 53, + "symbol": "STPStripeErrorTypeKey", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", + "line": 57, "symbol": "STPCardErrorCode", "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 56, + "line": 64, "symbol": "STPInvalidNumber", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 57, + "line": 65, "symbol": "STPInvalidExpMonth", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 58, + "line": 66, "symbol": "STPInvalidExpYear", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 59, + "line": 67, "symbol": "STPInvalidCVC", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 62, + "line": 70, "symbol": "STPIncorrectNumber", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 63, + "line": 71, "symbol": "STPExpiredCard", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 64, + "line": 72, "symbol": "STPCardDeclined", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 65, + "line": 73, "symbol": "STPProcessingError", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 66, + "line": 74, "symbol": "STPIncorrectCVC", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 69, + "line": 77, "symbol": "NSError(Stripe)", "symbol_kind": "sourcekitten.source.lang.objc.decl.category", "warning": "undocumented" diff --git a/docs/docs/docsets/Stripe.docset/Contents/Resources/docSet.dsidx b/docs/docs/docsets/Stripe.docset/Contents/Resources/docSet.dsidx index a9259bf0d37331749e160d8227a76a0eae25af47..6fddbb03300ab2a2ca3823114bde8e97dcce8b55 100644 GIT binary patch delta 14527 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 delta 11658 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 diff --git a/docs/docs/docsets/Stripe.tgz b/docs/docs/docsets/Stripe.tgz index 1f1cb0747a886b1f3492db6afcbaa92d44120e87..6fce2bb12c4f3a40ae0a2d9ecd14c01e007a68b1 100644 GIT binary patch literal 234612 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 U+Io9=2EV6kxKn%APWkTt17hWvSO5S3 diff --git a/docs/docs/index.html b/docs/docs/index.html index cc64fcdefa0..f62779d254a 100644 --- a/docs/docs/index.html +++ b/docs/docs/index.html @@ -123,6 +123,9 @@

    + @@ -193,6 +196,9 @@ + @@ -260,6 +266,12 @@ + + @@ -343,7 +355,7 @@

    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�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

    diff --git a/docs/docs/search.json b/docs/docs/search.json index 4ca096e76b4..ca83fba7f29 100644 --- a/docs/docs/search.json +++ b/docs/docs/search.json @@ -1 +1 @@ -{"Type Definitions.html#/c:STPBackendAPIAdapter.h@T@STPCustomerCompletionBlock":{"name":"STPCustomerCompletionBlock","abstract":"

    Call this block after you’re done fetching a customer on your server. You can use the STPCustomerDeserializer class to convert a JSON response into an STPCustomer object.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPVoidBlock":{"name":"STPVoidBlock","abstract":"

    An empty block, called with no arguments, returning nothing.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPErrorBlock":{"name":"STPErrorBlock","abstract":"

    A block that may optionally be called with an error.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPTokenCompletionBlock":{"name":"STPTokenCompletionBlock","abstract":"

    A callback to be run with a token response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPSourceCompletionBlock":{"name":"STPSourceCompletionBlock","abstract":"

    A callback to be run with a source response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPShippingMethodsCompletionBlock":{"name":"STPShippingMethodsCompletionBlock","abstract":"

    A callback to be run with a validation result and shipping methods for a"},"Protocols/STPSourceProtocol.html#/c:objc(pl)STPSourceProtocol(py)stripeID":{"name":"stripeID","abstract":"

    The stripe ID of the source.

    ","parent_name":"STPSourceProtocol"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewControllerDidCancel:":{"name":"-shippingAddressViewControllerDidCancel:","abstract":"

    Called when the user cancels entering a shipping address. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didEnterAddress:completion:":{"name":"-shippingAddressViewController:didEnterAddress:completion:","abstract":"

    This is called when the user enters a shipping address and taps next. You should validate the address and determine what shipping methods are available, and call the completion block when finished. If an error occurrs, call the completion block with the error. Otherwise, call the completion block with a nil error and an array of available shipping methods. If you don’t need to collect a shipping method, you may pass an empty array.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didFinishWithAddress:shippingMethod:":{"name":"-shippingAddressViewController:didFinishWithAddress:shippingMethod:","abstract":"

    This is called when the user selects a shipping method. If no shipping methods are given, or if the shipping type doesn’t require a shipping method, this will be called after the user has a shipping address and your validation has succeeded. After updating your app with the user’s shipping info, you should dismiss (or pop) the view controller. Note that if shippingMethod is non-nil, there will be an additional shipping methods view controller on the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didSelectPaymentMethod:":{"name":"-paymentMethodsViewController:didSelectPaymentMethod:","abstract":"

    This is called when the user either makes a selection, or adds a new card. This will be triggered after the view controller loads with the user’s current selection (if they have one) and then subsequently when they change their choice. You should use this callback to update any necessary UI in your app that displays the user’s currently selected payment method. You should not dismiss the view controller at this point, instead do this in paymentMethodsViewControllerDidFinish:. STPPaymentMethodsViewController will also call the necessary methods on your API adapter, so you don’t need to call them directly during this method.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didFailToLoadWithError:":{"name":"-paymentMethodsViewController:didFailToLoadWithError:","abstract":"

    This is called when the view controller encounters an error fetching the user’s payment methods from its API adapter. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewControllerDidFinish:":{"name":"-paymentMethodsViewControllerDidFinish:","abstract":"

    This is called when the user taps cancel. It’s also called after the user directly selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)image":{"name":"image","abstract":"

    A small (32 x 20 points) logo image representing the payment method. For example, the Visa logo for a Visa card, or the Apple Pay logo.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)templateImage":{"name":"templateImage","abstract":"

    A small (32 x 20 points) logo image representing the payment method that can be used as template for tinted icons.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)label":{"name":"label","abstract":"

    A string describing the payment method, such as Apple Pay or Visa 4242.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFailToLoadWithError:":{"name":"-paymentContext:didFailToLoadWithError:","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContextDidChange:":{"name":"-paymentContextDidChange:","abstract":"

    This is called every time the contents of the payment context change. When this is called, you should update your app’s UI to reflect the current state of the payment context. For example, if you have a checkout page with a selected payment method row, you should update its payment method with paymentContext.selectedPaymentMethod.label. If that checkout page has a buy button, you should enable/disable it depending on the result of [paymentContext isReadyForPayment].

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didCreatePaymentResult:completion:":{"name":"-paymentContext:didCreatePaymentResult:completion:","abstract":"

    Inside this method, you should make a call to your backend API to make a charge with that Customer + source, and invoke the completion block when that is done.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFinishWithStatus:error:":{"name":"-paymentContext:didFinishWithStatus:error:","abstract":"

    This is invoked by an STPPaymentContext when it is finished. This will be called after the payment is done and all necessary UI has been dismissed. You should inspect the returned status and behave appropriately. For example: if it’s STPPaymentStatusSuccess, show the user a receipt. If it’s STPPaymentStatusError, inform the user of the error. If it’s STPPaymentStatusUserCanceled, do nothing.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didUpdateShippingAddress:completion:":{"name":"-paymentContext:didUpdateShippingAddress:completion:","abstract":"

    Inside this method, you should verify that you can ship to the given address.","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidChange:":{"name":"-paymentCardTextFieldDidChange:","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingNumber:":{"name":"-paymentCardTextFieldDidBeginEditingNumber:","abstract":"

    Called when editing begins in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingNumber:":{"name":"-paymentCardTextFieldDidEndEditingNumber:","abstract":"

    Called when editing ends in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingCVC:":{"name":"-paymentCardTextFieldDidBeginEditingCVC:","abstract":"

    Called when editing begins in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingCVC:":{"name":"-paymentCardTextFieldDidEndEditingCVC:","abstract":"

    Called when editing ends in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingExpiration:":{"name":"-paymentCardTextFieldDidBeginEditingExpiration:","abstract":"

    Called when editing begins in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingExpiration:":{"name":"-paymentCardTextFieldDidEndEditingExpiration:","abstract":"

    Called when editing ends in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)rootObjectName":{"name":"+rootObjectName","abstract":"

    The root object name to be used when converting this object to a form-encoded string. For example, if this returns @card, then the form-encoded output will resemble @card[foo]=bar (where ‘foo’ and ‘bar’ are specified by propertyNamesToFormFieldNamesMapping below.

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)propertyNamesToFormFieldNamesMapping":{"name":"+propertyNamesToFormFieldNamesMapping","abstract":"

    This maps properties on an object that is being form-encoded into parameter names in the Stripe API. For example, STPCardParams has a field called expMonth, but the Stripe API expects a field called exp_month. This dictionary represents a mapping from the former to the latter (in other words, [STPCardParams propertyNamesToFormFieldNamesMapping][@expMonth] == @exp_month.)

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(py)additionalAPIParameters":{"name":"additionalAPIParameters","abstract":"

    You can use this property to add additional fields to an API request that are not explicitly defined by the object’s interface. This can be useful when using beta features that haven’t been added to the Stripe SDK yet. For example, if the /v1/tokens API began to accept a beta field called test_field, you might do the following:","parent_name":"STPFormEncodable"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)retrieveCustomer:":{"name":"-retrieveCustomer:","abstract":"

    Retrieve the cards to be displayed inside a payment context. On your backend, retrieve the Stripe customer associated with your currently logged-in user (see https://stripe.com/docs/api#retrieve_customer ), and return the raw JSON response from the Stripe API. (For an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L40 ). Back in your iOS app, after you’ve called this API, deserialize your API response into an STPCustomer object (you can use the STPCustomerDeserializer class to do this). See MyAPIClient.swift in our example project to see this in action.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)attachSourceToCustomer:completion:":{"name":"-attachSourceToCustomer:completion:","abstract":"

    Adds a payment source to a customer. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Update Customer method on that customer as described at https://stripe.com/docs/api#update_customer (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L60 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)selectDefaultCustomerSource:completion:":{"name":"-selectDefaultCustomerSource:completion:","abstract":"

    Change a customer’s default_source to be the provided card. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Customer Update method as described at https://stripe.com/docs/api#update_customer , specifying default_source to be the value of source.stripeID (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L82 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewControllerDidCancel:":{"name":"-addCardViewControllerDidCancel:","abstract":"

    Called when the user cancels adding a card. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewController:didCreateToken:completion:":{"name":"-addCardViewController:didCreateToken:completion:","abstract":"

    This is called when the user successfully adds a card and tokenizes it with Stripe. You should send the token to your backend to store it on a customer, and then call the provided completion block when that call is finished. If an error occurred while talking to your backend, call completion(error), otherwise, dismiss (or pop) the view controller.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html":{"name":"STPAddCardViewControllerDelegate","abstract":"

    An STPAddCardViewControllerDelegate is notified when an STPAddCardViewController successfully creates a card token or is cancelled. It has internal error-handling logic, so there’s no error case to deal with.

    "},"Protocols/STPBackendAPIAdapter.html":{"name":"STPBackendAPIAdapter","abstract":"

    You should make your application’s API client conform to this interface in order to use it with an STPPaymentContext. It provides a bridge from the prebuilt UI we expose (such as STPPaymentMethodsViewController) to your backend to fetch the information it needs to power those views. To read about how to implement this protocol, see https://stripe.com/docs/mobile/ios/standard#prepare-your-api . To see examples of implementing these APIs, see MyAPIClient.swift in our example project and https://github.com/stripe/example-ios-backend .

    "},"Protocols/STPFormEncodable.html":{"name":"STPFormEncodable","abstract":"

    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.

    "},"Protocols/STPPaymentCardTextFieldDelegate.html":{"name":"STPPaymentCardTextFieldDelegate","abstract":"

    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.

    "},"Protocols/STPPaymentContextDelegate.html":{"name":"STPPaymentContextDelegate","abstract":"

    Implement STPPaymentContextDelegate 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.

    "},"Protocols/STPPaymentMethod.html":{"name":"STPPaymentMethod","abstract":"

    This protocol represents a payment method that a user can select and use to pay. Currently the only classes that conform to it are STPCard (which represents that the user wants to pay with a specific card) and STPApplePayPaymentMethod (which represents that the user wants to pay with Apple Pay).

    "},"Protocols/STPPaymentMethodsViewControllerDelegate.html":{"name":"STPPaymentMethodsViewControllerDelegate","abstract":"

    An STPPaymentMethodsViewControllerDelegate responds when a user selects a payment method from (or cancels) an STPPaymentMethodsViewController. In both of these instances, you should dismiss the view controller (either by popping it off the navigation stack, or dismissing it).

    "},"Protocols/STPShippingAddressViewControllerDelegate.html":{"name":"STPShippingAddressViewControllerDelegate","abstract":"

    An STPShippingAddressViewControllerDelegate is notified when an STPShippingAddressViewController receives an address, completes with an address, or is cancelled.

    "},"Protocols/STPSourceProtocol.html":{"name":"STPSourceProtocol","abstract":"

    Objects conforming to this protocol can be attached to a Stripe Customer object as a payment source."},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeNone":{"name":"STPPaymentMethodTypeNone","abstract":"

    Don’t use any payment methods except for cards.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeApplePay":{"name":"STPPaymentMethodTypeApplePay","abstract":"

    The user is allowed to pay with Apple Pay (if it’s configured and available on their device).

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeAll":{"name":"STPPaymentMethodTypeAll","abstract":"

    The user can use any available payment method to pay.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusSuccess":{"name":"STPPaymentStatusSuccess","abstract":"

    The payment succeeded.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusError":{"name":"STPPaymentStatusError","abstract":"

    The payment failed due to an unforeseen error, such as the user’s Internet connection being offline.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusUserCancellation":{"name":"STPPaymentStatusUserCancellation","abstract":"

    The user cancelled the payment (for example, by hitting cancel in the Apple Pay dialog).

    ","parent_name":"STPPaymentStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusValid":{"name":"STPShippingStatusValid","abstract":"

    The shipping address is valid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusInvalid":{"name":"STPShippingStatusInvalid","abstract":"

    The shipping address is invalid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeShipping":{"name":"STPShippingTypeShipping","abstract":"

    Shipping the purchase to the provided address using a third-party","parent_name":"STPShippingType"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeDelivery":{"name":"STPShippingTypeDelivery","abstract":"

    Delivering the purchase by the seller.

    ","parent_name":"STPShippingType"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsNone":{"name":"STPBillingAddressFieldsNone","abstract":"

    No billing address information

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsZip":{"name":"STPBillingAddressFieldsZip","abstract":"

    Just request the user’s billing ZIP code

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsFull":{"name":"STPBillingAddressFieldsFull","abstract":"

    Request the user’s full billing address

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html":{"name":"STPBillingAddressFields","abstract":"

    What set of billing address information you need to collect from your user.

    "},"Enums/STPShippingType.html":{"name":"STPShippingType","abstract":"

    These values control the labels used in the shipping info collection form.

    "},"Enums/STPShippingStatus.html":{"name":"STPShippingStatus","abstract":"

    An enum representing the status of a shipping address validation.

    "},"Enums/STPPaymentStatus.html":{"name":"STPPaymentStatus","abstract":"

    An enum representing the status of a payment requested from the user.

    "},"Enums.html#/c:@E@STPCardFundingType":{"name":"STPCardFundingType","abstract":"

    The various funding sources for a payment card.

    "},"Enums.html#/c:@E@STPCardBrand":{"name":"STPCardBrand","abstract":"

    The various card brands to which a payment card can belong.

    "},"Enums.html#/c:@E@STPCardValidationState":{"name":"STPCardValidationState","abstract":"

    These fields indicate whether a card field represents a valid value, invalid value, or incomplete value.

    "},"Enums/STPPaymentMethodType.html":{"name":"STPPaymentMethodType","abstract":"

    This represents all of the payment methods available to your user (in addition to card payments, which are always enabled) when configuring an STPPaymentContext.

    "},"Enums.html#/c:@E@STPSourceFlow":{"name":"STPSourceFlow","abstract":"

    Authentication flows for a Source

    "},"Enums.html#/c:@E@STPSourceUsage":{"name":"STPSourceUsage","abstract":"

    Usage types for a Source

    "},"Enums.html#/c:@E@STPSourceStatus":{"name":"STPSourceStatus","abstract":"

    Status types for a Source

    "},"Enums.html#/c:@E@STPSourceType":{"name":"STPSourceType","abstract":"

    Types for a Source

    "},"Enums.html#/c:@E@STPSourceRedirectStatus":{"name":"STPSourceRedirectStatus","abstract":"

    Redirect status types for a Source

    "},"Enums.html#/c:@E@STPSourceVerificationStatus":{"name":"STPSourceVerificationStatus","abstract":"

    Verification status types for a Source

    "},"Constants.html#/c:@StripeDomain":{"name":"StripeDomain","abstract":"

    All Stripe iOS errors will be under this domain.

    "},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)email":{"name":"email","abstract":"

    The user’s email address.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)phone":{"name":"phone","abstract":"

    The user’s phone number. When set, this property will automatically strip out any non-numeric characters from the string you specify.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)billingAddress":{"name":"billingAddress","abstract":"

    The user’s billing address. When set, the add card form will be filled with this address.","parent_name":"STPUserInformation"},"Classes/STPToken.html#/c:objc(cs)STPToken(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPToken. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)tokenId":{"name":"tokenId","abstract":"

    The value of the token. You can store this value on your server and use it to make charges and customers.","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)livemode":{"name":"livemode","abstract":"

    Whether or not this token was created in livemode. Will be YES if you used your Live Publishable Key, and NO if you used your Test Publishable Key.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)card":{"name":"card","abstract":"

    The credit card details that were used to create the token. Will only be set if the token was created via a credit card or Apple Pay, otherwise it will be","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)bankAccount":{"name":"bankAccount","abstract":"

    The bank account details that were used to create the token. Will only be set if the token was created with a bank account, otherwise it will be nil.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)created":{"name":"created","abstract":"

    When the token was created.

    ","parent_name":"STPToken"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(cm)defaultTheme":{"name":"+defaultTheme","abstract":"

    The default theme used by all Stripe UI. All themable UI classes, such as STPAddCardViewController, have one initializer that takes a theme and one that does not. If you use the one that does not, the default theme will be used to customize that view controller’s appearance.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryBackgroundColor":{"name":"primaryBackgroundColor","abstract":"

    The primary background color of the theme. This will be used as the backgroundColor for any views with this theme.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryBackgroundColor":{"name":"secondaryBackgroundColor","abstract":"

    The secondary background color of this theme. This will be used as the backgroundColor for any supplemental views inside a view with this theme - for example, a UITableView will set it’s cells’ background color to this value.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryBackgroundColor":{"name":"tertiaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the alpha of the primaryBackgroundColor and is used as a section border color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)quaternaryBackgroundColor":{"name":"quaternaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the brightness of the primaryBackgroundColor and is used as a separator color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryForegroundColor":{"name":"primaryForegroundColor","abstract":"

    The primary foreground color of this theme. This will be used as the text color for any important labels in a view with this theme (such as the text color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryForegroundColor":{"name":"secondaryForegroundColor","abstract":"

    The secondary foreground color of this theme. This will be used as the text color for any supplementary labels in a view with this theme (such as the placeholder color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryForegroundColor":{"name":"tertiaryForegroundColor","abstract":"

    This color is automatically derived from the secondaryForegroundColor with a lower alpha component, used for disabled text.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)accentColor":{"name":"accentColor","abstract":"

    The accent color of this theme - it will be used for any buttons and other elements on a view that are important to highlight.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)errorColor":{"name":"errorColor","abstract":"

    The error color of this theme - it will be used for rendering any error messages or views.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)font":{"name":"font","abstract":"

    The font to be used for all views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)emphasisFont":{"name":"emphasisFont","abstract":"

    The medium-weight font to be used for all bold text in views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)barStyle":{"name":"barStyle","abstract":"

    The navigation bar style to use for any view controllers presented modally","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)translucentNavigationBar":{"name":"translucentNavigationBar","abstract":"

    A Boolean value indicating whether the navigation bar for any view controllers","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)smallFont":{"name":"smallFont","abstract":"

    This font is automatically derived from the font, with a slightly lower point size, and will be used for supplementary labels.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)largeFont":{"name":"largeFont","abstract":"

    This font is automatically derived from the font, with a larger point size, and will be used for large labels such as SMS code entry.

    ","parent_name":"STPTheme"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceVerification. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)attemptsRemaining":{"name":"attemptsRemaining","abstract":"

    The number of attempts remaining to authenticate the source object with a verification code.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)status":{"name":"status","abstract":"

    The status of the verification.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceSEPADebitDetails.","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)bankCode":{"name":"bankCode","abstract":"

    The account’s bank code.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country of the bank account.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)fingerprint":{"name":"fingerprint","abstract":"

    The account’s fingerprint.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateReference":{"name":"mandateReference","abstract":"

    The reference of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateURL":{"name":"mandateURL","abstract":"

    The details of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceRedirect. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)returnURL":{"name":"returnURL","abstract":"

    The URL you provide to redirect the customer to after they authenticated their payment.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)status":{"name":"status","abstract":"

    The status of the redirect.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)url":{"name":"url","abstract":"

    The URL provided to you to redirect a customer to as part of a redirect authentication flow.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceReceiver. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)address":{"name":"address","abstract":"

    The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountCharged":{"name":"amountCharged","abstract":"

    The total amount charged by you.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReceived":{"name":"amountReceived","abstract":"

    The total amount received by the receiver source.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReturned":{"name":"amountReturned","abstract":"

    The total amount that was returned to the customer.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)type":{"name":"type","abstract":"

    The type of the source to create. Required.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)amount":{"name":"amount","abstract":"

    A positive integer in the smallest currency unit representing the","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)currency":{"name":"currency","abstract":"

    The currency associated with the source. This is the currency for which the source","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source to create. flow may be redirect,","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs that you can attach to a source object.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument. May be used or required","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)redirect":{"name":"redirect","abstract":"

    Parameters required for the redirect flow. Required if the source is authenticated by","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)token":{"name":"token","abstract":"

    An optional token used to create the source. When passed, token properties will override","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not. usage may be reusable or single_use.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bancontactParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+bancontactParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Bancontact source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bitcoinParamsWithAmount:currency:email:":{"name":"+bitcoinParamsWithAmount:currency:email:","abstract":"

    Creates params for a Bitcoin source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)cardParamsWithCard:":{"name":"+cardParamsWithCard:","abstract":"

    Creates params for a Card source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)giropayParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+giropayParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Giropay source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)idealParamsWithAmount:name:returnURL:statementDescriptor:bank:":{"name":"+idealParamsWithAmount:name:returnURL:statementDescriptor:bank:","abstract":"

    Creates params for an iDEAL source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:":{"name":"+sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:","abstract":"

    Creates params for a SEPA Debit source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sofortParamsWithAmount:returnURL:country:statementDescriptor:":{"name":"+sofortParamsWithAmount:returnURL:country:statementDescriptor:","abstract":"

    Creates params for a Sofort source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)threeDSecureParamsWithAmount:currency:returnURL:card:":{"name":"+threeDSecureParamsWithAmount:currency:returnURL:card:","abstract":"

    Creates params for a 3DS source.","parent_name":"STPSourceParams"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceOwner. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)address":{"name":"address","abstract":"

    Owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)email":{"name":"email","abstract":"

    Owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)name":{"name":"name","abstract":"

    Owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)phone":{"name":"phone","abstract":"

    Owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedAddress":{"name":"verifiedAddress","abstract":"

    Verified owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedEmail":{"name":"verifiedEmail","abstract":"

    Verified owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedName":{"name":"verifiedName","abstract":"

    Verified owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedPhone":{"name":"verifiedPhone","abstract":"

    Verified owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceCardDetails. You should only","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)threeDSecure":{"name":"threeDSecure","abstract":"

    Whether 3D Secure is supported or required by the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSource.html#/c:objc(cs)STPSource(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSource. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)amount":{"name":"amount","abstract":"

    The amount associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)clientSecret":{"name":"clientSecret","abstract":"

    The client secret of the source. Used for client-side polling using a publishable key.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)created":{"name":"created","abstract":"

    When the source was created.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)currency":{"name":"currency","abstract":"

    The currency associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)livemode":{"name":"livemode","abstract":"

    Whether or not this source was created in livemode.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs associated with the source object.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)receiver":{"name":"receiver","abstract":"

    Information related to the receiver flow. Present if the source is a receiver.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)redirect":{"name":"redirect","abstract":"

    Information related to the redirect flow. Present if the source is authenticated by a redirect.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)status":{"name":"status","abstract":"

    The status of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)type":{"name":"type","abstract":"

    The type of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)verification":{"name":"verification","abstract":"

    Information related to the verification flow. Present if the source is authenticated by a verification.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)details":{"name":"details","abstract":"

    Information about the source specific to its type

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)cardDetails":{"name":"cardDetails","abstract":"

    If this is a card source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)sepaDebitDetails":{"name":"sepaDebitDetails","abstract":"

    If this is a SEPA Debit source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme] currency:nil shippingAddress:nil selectedShippingMethod:nil prefilledInformation:nil.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Initializes a new STPShippingAddressViewController with the given payment context and sets the payment context as its delegate.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:":{"name":"-initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:","abstract":"

    Initializes a new STPShippingAddressCardViewController with the provided parameters.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPShippingAddressViewControllerDelegate

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPShippingAddressViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional shipping method view controller onto the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(py)source":{"name":"source","abstract":"

    The returned source that the user has selected. This may come from a variety of different payment methods, such as an Apple Pay payment or a stored credit card. - see: STPSource.h

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(im)initWithSource:":{"name":"-initWithSource:","abstract":"

    Initializes the payment result with a given source. This is invoked by STPPaymentContext internally; you shouldn’t have to call it directly.

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Creates a new payment methods view controller.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithConfiguration:theme:apiAdapter:delegate:":{"name":"-initWithConfiguration:theme:apiAdapter:delegate:","abstract":"

    Initializes a new payment methods view controller without using a payment context.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPPaymentMethodsViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional add card view controller onto the navigation controller’s stack.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:":{"name":"-initWithAPIAdapter:","abstract":"

    This is a convenience initializer; it is equivalent to calling initWithAPIAdapter:apiAdapter configuration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:configuration:theme:":{"name":"-initWithAPIAdapter:configuration:theme:","abstract":"

    Initializes a new Payment Context with the provided API adapter and configuration. After this class is initialized, you should also make sure to set its delegate and hostViewController properties.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)apiAdapter":{"name":"apiAdapter","abstract":"

    The API adapter the payment context will use to fetch and modify its contents. You need to make a class conforming to this protocol that talks to your server. - see: STPBackendAPIAdapter.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)configuration":{"name":"configuration","abstract":"

    The configuration for the payment context to use internally. - see: STPPaymentConfiguration.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)theme":{"name":"theme","abstract":"

    The visual appearance that will be used by any views that the context generates. - see: STPTheme.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)hostViewController":{"name":"hostViewController","abstract":"

    The view controller that any additional UI will be presented on. If you have a checkout view controller in your app, that should be used as the host view controller.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)delegate":{"name":"delegate","abstract":"

    This delegate will be notified when the payment context’s contents change. - see: STPPaymentContextDelegate

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)loading":{"name":"loading","abstract":"

    Whether or not the payment context is currently loading information from the network.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedPaymentMethod":{"name":"selectedPaymentMethod","abstract":"

    The user’s currently selected payment method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentMethods":{"name":"paymentMethods","abstract":"

    The available payment methods the user can choose between. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedShippingMethod":{"name":"selectedShippingMethod","abstract":"

    The user’s currently selected shipping method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingMethods":{"name":"shippingMethods","abstract":"

    An array of STPShippingMethod objects that describe the supported shipping methods. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingAddress":{"name":"shippingAddress","abstract":"

    The user’s shipping address. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentAmount":{"name":"paymentAmount","abstract":"

    The amount of money you’re requesting from the user, in the smallest currency unit for the selected currency. For example, to indicate $10 USD, use 1000 (i.e. 1000 cents). For more information see https://stripe.com/docs/api#charge_object-amount . This value must be present and greater than zero in order for Apple Pay to be automatically enabled.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentCurrency":{"name":"paymentCurrency","abstract":"

    The three-letter currency code for the currency of the payment (i.e. USD, GBP, JPY, etc). Defaults to USD.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentSummaryItems":{"name":"paymentSummaryItems","abstract":"

    If you support Apple Pay, you can optionally set the PKPaymentSummaryItems you want to display here instead of using paymentAmount. Note that the grand total (the amount of the last summary item) must be greater than zero.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)modalPresentationStyle":{"name":"modalPresentationStyle","abstract":"

    The presentation style used for all view controllers presented modally by the context.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)retryLoading":{"name":"-retryLoading","abstract":"

    If paymentContext:didFailToLoadWithError: is called on your delegate, you can in turn call this method to try loading again (if that hasn’t been called, calling this will do nothing). If retrying in turn fails, paymentContext:didFailToLoadWithError: will be called again (and you can again call this to keep retrying, etc).

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentPaymentMethodsViewController":{"name":"-presentPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done selecting their payment method.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushPaymentMethodsViewController":{"name":"-pushPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done selecting their payment method.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentShippingViewController":{"name":"-presentShippingViewController","abstract":"

    This creates, configures, and appropriately presents a view controller for collecting shipping address and shipping method on top of the payment context’s hostViewController. It’ll be dismissed automatically when the user is done entering their shipping info.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushShippingViewController":{"name":"-pushShippingViewController","abstract":"

    This creates, configures, and appropriately pushes a view controller for collecting shipping address and shipping method onto the navigation stack of the context’s hostViewController. It’ll be popped automatically when the user is done entering their shipping info.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)requestPayment":{"name":"-requestPayment","abstract":"

    Requests payment from the user. This may need to present some supplemental UI to the user, in which case it will be presented on the payment context’s hostViewController. For instance, if they’ve selected Apple Pay as their payment method, calling this method will show the payment sheet. If the user has a card on file, this will use that without presenting any additional UI. After this is called, the paymentContext:didCreatePaymentResult:completion: and paymentContext:didFinishWithStatus:error: methods will be called on the context’s delegate.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(cm)sharedConfiguration":{"name":"+sharedConfiguration","abstract":"

    This is a convenience singleton configuration that uses the default values","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)publishableKey":{"name":"publishableKey","abstract":"

    Your Stripe publishable key. You can get this from https://dashboard.stripe.com/account/apikeys .

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)additionalPaymentMethods":{"name":"additionalPaymentMethods","abstract":"

    An enum value representing which payment methods you will accept from your user in addition to credit cards. Unless you have a very specific reason not to, you should leave this at the default, STPPaymentMethodTypeAll.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredBillingAddressFields":{"name":"requiredBillingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their payment details. These fields will all be present on the returned token from Stripe. See https://stripe.com/docs/api#create_card_token for more information.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredShippingAddressFields":{"name":"requiredShippingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their shipping info.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)shippingType":{"name":"shippingType","abstract":"

    The type of shipping for this purchase. This property sets the labels displayed when the user is prompted for shipping info, and whether they should also be asked to select a shipping method. The default value is STPShippingTypeShipping.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)companyName":{"name":"companyName","abstract":"

    The name of your company, for displaying to the user during payment flows. For example, when using Apple Pay, the payment sheet’s final line item will read PAY {companyName}. This defaults to the name of your iOS application.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)appleMerchantIdentifier":{"name":"appleMerchantIdentifier","abstract":"

    The Apple Merchant Identifier to use during Apple Pay transactions. To create one of these, see our guide at https://stripe.com/docs/mobile/apple-pay . You must set this to a valid identifier in order to automatically enable Apple Pay.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)smsAutofillDisabled":{"name":"smsAutofillDisabled","abstract":"

    When entering their payment information, users who have a saved card with Stripe will be prompted to autofill it by entering an SMS code. Set this property to YES to disable this feature. The user won’t receive an SMS code even if they have their payment information stored with Stripe, and won’t be prompted to save it if they don’t.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)delegate":{"name":"delegate","abstract":"
    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)font":{"name":"font","abstract":"

    The font used in each child field. Default is [UIFont systemFontOfSize:18]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textColor":{"name":"textColor","abstract":"

    The text color to be used when entering valid text. Default is [UIColor blackColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textErrorColor":{"name":"textErrorColor","abstract":"

    The text color to be used when the user has entered invalid information, such as an invalid card number. Default is [UIColor redColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)placeholderColor":{"name":"placeholderColor","abstract":"

    The text placeholder color used in each child field. Default is [UIColor lightGreyColor]. Set this property to nil to reset to the default. On iOS 7 and above, this will also set the color of the card placeholder icon.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)numberPlaceholder":{"name":"numberPlaceholder","abstract":"

    The placeholder for the card number field. Default is @1234567812345678. If this is set to something that resembles a card number, it will automatically format it as such (in other words, you don’t need to add spaces to this string).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationPlaceholder":{"name":"expirationPlaceholder","abstract":"

    The placeholder for the expiration field. Defaults to @MM/YY.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvcPlaceholder":{"name":"cvcPlaceholder","abstract":"

    The placeholder for the cvc field. Defaults to @CVC.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cursorColor":{"name":"cursorColor","abstract":"

    The cursor color for the field. This is a proxy for the view’s tintColor property, exposed for clarity only (in other words, calling setCursorColor is identical to calling setTintColor).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderColor":{"name":"borderColor","abstract":"

    The border color for the field. Default is [UIColor lightGreyColor]. Can be nil (in which case no border will be drawn).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    The width of the field’s border. Default is 1.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    The corner radius for the field’s border. Default is 5.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)keyboardAppearance":{"name":"keyboardAppearance","abstract":"

    The keyboard appearance for the field. Default is UIKeyboardAppearanceDefault.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)inputAccessoryView":{"name":"inputAccessoryView","abstract":"

    This behaves identically to setting the inputAccessoryView for each child text field.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)brandImage":{"name":"brandImage","abstract":"

    The curent brand image displayed in the receiver.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)becomeFirstResponder":{"name":"-becomeFirstResponder","abstract":"

    Causes the text field to begin editing. Presents the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)resignFirstResponder":{"name":"-resignFirstResponder","abstract":"

    Causes the text field to stop editing. Dismisses the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)clear":{"name":"-clear","abstract":"

    Resets all of the contents of all of the fields. If the field is currently being edited, the number field will become selected.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    Returns the cvc image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    Returns the brand image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)brandImageRectForBounds:":{"name":"-brandImageRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its brand image.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)fieldsRectForBounds:":{"name":"-fieldsRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws the text fields.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)numberFieldRectForBounds:":{"name":"-numberFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its number field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)cvcFieldRectForBounds:":{"name":"-cvcFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its cvc field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)expirationFieldRectForBounds:":{"name":"-expirationFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its expiration field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)isValid":{"name":"isValid","abstract":"

    Whether or not the form currently contains a valid card number, expiration date, and CVC.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)enabled":{"name":"enabled","abstract":"

    Enable/disable selecting or editing the field. Useful when submitting card details to Stripe.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardNumber":{"name":"cardNumber","abstract":"

    The current card number displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationMonth":{"name":"expirationMonth","abstract":"

    The current expiration month displayed by the field (1 = January, etc). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationMonth":{"name":"formattedExpirationMonth","abstract":"

    The current expiration month displayed by the field, as a string. This may or may not be a valid entry (i.e. 0, and may be 0-prefixed (i.e. 01 for January). You can use [STPCardValidator validationStateForExpirationMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationYear":{"name":"expirationYear","abstract":"

    The current expiration year displayed by the field, modulo 100 (e.g. the year 2015 will be represented as 15). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationYear":{"name":"formattedExpirationYear","abstract":"

    The current expiration year displayed by the field, as a string. This is a 2-digit year (i.e. 15), and may or may not be a valid entry. You can use [STPCardValidator validationStateForExpirationYear:inMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvc":{"name":"cvc","abstract":"

    The current card CVC displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardParams":{"name":"cardParams","abstract":"

    Convenience property for creating an STPCardParams from the currently entered information","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(im)setAnimating:animated:":{"name":"-setAnimating:animated:","abstract":"

    Tell the view to start or stop spinning. If hidesWhenStopped is true, it will fade in/out if animated is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)animating":{"name":"animating","abstract":"

    Whether or not the view is animating.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)hidesWhenStopped":{"name":"hidesWhenStopped","abstract":"

    If true, the view will hide when it is not spinning. Default is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)applePayCardImage":{"name":"+applePayCardImage","abstract":"

    An icon representing Apple Pay.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)amexCardImage":{"name":"+amexCardImage","abstract":"

    An icon representing American Express.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)dinersClubCardImage":{"name":"+dinersClubCardImage","abstract":"

    An icon representing Diners Club.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)discoverCardImage":{"name":"+discoverCardImage","abstract":"

    An icon representing Discover.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)jcbCardImage":{"name":"+jcbCardImage","abstract":"

    An icon representing JCB.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)masterCardCardImage":{"name":"+masterCardCardImage","abstract":"

    An icon representing MasterCard.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)visaCardImage":{"name":"+visaCardImage","abstract":"

    An icon representing Visa.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)unknownCardCardImage":{"name":"+unknownCardCardImage","abstract":"

    An icon to use when the type of the card is unknown.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)templatedBrandImageForCardBrand:":{"name":"+templatedBrandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand as a","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    This returns a small icon indicating the CVC location for the given card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithData:urlResponse:error:":{"name":"-initWithData:urlResponse:error:","abstract":"

    Initialize a customer deserializer. The data, urlResponse, and error parameters are intended to be passed from an NSURLSessionDataTask callback. After it has been initialized, you can inspect the error and customer properties to see if the deserialization was successful. If error is nil, customer will be non-nil (and vice versa).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithJSONResponse:":{"name":"-initWithJSONResponse:","abstract":"

    Initializes a customer deserializer with a JSON dictionary. This JSON should be in the exact same format as what the Stripe API returns. If it’s successfully parsed, the customer parameter will be present after initialization; otherwise error will be present.

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)customer":{"name":"customer","abstract":"

    If a customer was successfully parsed from the response, it will be set here. Otherwise, this value wil be nil (and the error property will explain what went wrong).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)error":{"name":"error","abstract":"

    If the deserializer failed to parse a customer, this property will explain why (and the customer property will be nil).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(cm)customerWithStripeID:defaultSource:sources:":{"name":"+customerWithStripeID:defaultSource:sources:","abstract":"

    Initialize a customer object with the provided values.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)stripeID":{"name":"stripeID","abstract":"

    The Stripe ID of the customer, e.g. cus_1234

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)defaultSource":{"name":"defaultSource","abstract":"

    The default source used to charge the customer.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)sources":{"name":"sources","abstract":"

    The available payment sources the customer has (this may be an empty array).

    ","parent_name":"STPCustomer"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithTheme:[STPTheme defaultTheme].

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithTheme:":{"name":"-initWithTheme:","abstract":"

    Initializes a new view controller with the specified theme

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithNibName:bundle:":{"name":"-initWithNibName:bundle:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithCoder:":{"name":"-initWithCoder:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)sanitizedNumericStringForString:":{"name":"+sanitizedNumericStringForString:","abstract":"

    Returns a copy of the passed string with all non-numeric characters removed.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)stringIsNumeric:":{"name":"+stringIsNumeric:","abstract":"

    Whether or not the target string contains only numeric characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForNumber:validatingCardBrand:":{"name":"+validationStateForNumber:validatingCardBrand:","abstract":"

    Validates a card number, passed as a string. This will return STPCardValidationStateInvalid for numbers that are too short or long, contain invalid characters, do not pass Luhn validation, or (optionally) do not match a number format issued by a major card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)brandForNumber:":{"name":"+brandForNumber:","abstract":"

    The card brand for a card number or substring thereof.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)lengthsForCardBrand:":{"name":"+lengthsForCardBrand:","abstract":"

    The possible number lengths for cards associated with a card brand. For example, Discover card numbers contain 16 characters, while American Express cards contain 15 characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)fragmentLengthForCardBrand:":{"name":"+fragmentLengthForCardBrand:","abstract":"

    The length of the final grouping of digits to use when formatting a card number for display. For example, Visa cards display their final 4 numbers, e.g. 4242, while American Express cards display their final 5 digits, e.g. 10005.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationMonth:":{"name":"+validationStateForExpirationMonth:","abstract":"

    Validates an expiration month, passed as an (optionally 0-padded) string. Example valid values are 3, 12, and 08. Example invalid values are 99, a, and 00. Incomplete values include 0 and 1.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationYear:inMonth:":{"name":"+validationStateForExpirationYear:inMonth:","abstract":"

    Validates an expiration year, passed as a string representing the final 2 digits of the year. This considers the period between the current year until 2099 as valid times. An example valid year value would be 16 (assuming the current year, as determined by [NSDate date], is 2015). Will return STPCardValidationStateInvalid for a month/year combination that is earlier than the current date (i.e. @15 and @04 in October 2015). Example invalid year values are 00, a, and 13. Any 1-digit year string will return STPCardValidationStateIncomplete.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)maxCVCLengthForCardBrand:":{"name":"+maxCVCLengthForCardBrand:","abstract":"

    The max CVC length for a card brand (for context, American Express CVCs are 4 digits, while all others are 3).

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCVC:cardBrand:":{"name":"+validationStateForCVC:cardBrand:","abstract":"

    Validates a card’s CVC, passed as a numeric string, for the given card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCard:":{"name":"+validationStateForCard:","abstract":"

    Validates the given card details.

    ","parent_name":"STPCardValidator"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)number":{"name":"number","abstract":"

    The card’s number.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the card’s number, if it’s been set, otherwise nil.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)cvc":{"name":"cvc","abstract":"

    The card’s security code, found on the back.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)currency":{"name":"currency","abstract":"

    Three-letter ISO currency code representing the currency paid out to the bank account. This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCardParams"},"Classes/STPCard.html#/c:objc(cs)STPCard(im)initWithID:brand:last4:expMonth:expYear:funding:":{"name":"-initWithID:brand:last4:expMonth:expYear:funding:","abstract":"

    Create an STPCard from a Stripe API response.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)brandFromString:":{"name":"+brandFromString:","abstract":"

    This parses a string representing a card’s brand into the appropriate STPCardBrand enum value, i.e. [STPCard brandFromString:@"American Express"] == STPCardBrandAmex

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)stringFromBrand:":{"name":"+stringFromBrand:","abstract":"

    Returns a string representation for the provided card brand; i.e. [NSString stringFromBrand:STPCardBrandVisa] == @"Visa".

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)fundingFromString:":{"name":"+fundingFromString:","abstract":"

    This parses a string representing a card’s funding type into the appropriate STPCardFundingType enum value, i.e. [STPCard fundingFromString:@"prepaid"] == STPCardFundingTypePrepaid.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)dynamicLast4":{"name":"dynamicLast4","abstract":"

    For cards made with Apple Pay, this refers to the last 4 digits of the Device Account Number for the tokenized card. For regular cards, it will be nil.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)isApplePayCard":{"name":"isApplePayCard","abstract":"

    Whether or not the card originated from Apple Pay.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)addressLine1":{"name":"addressLine1","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)cardId":{"name":"cardId","abstract":"

    The Stripe ID for the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)currency":{"name":"currency","abstract":"

    This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCard"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountNumber":{"name":"accountNumber","abstract":"

    The account number for the bank account. Currently must be a checking account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the bank account’s account number, if it’s been set, otherwise nil.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account. Defaults to STPBankAccountHolderTypeIndividual.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankAccountId":{"name":"bankAccountId","abstract":"

    The Stripe ID for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankName":{"name":"bankName","abstract":"

    The name of the bank that owns the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)fingerprint":{"name":"fingerprint","abstract":"

    A proxy for the account number, this uniquely identifies the account and can be used to compare equality of different bank accounts.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)status":{"name":"status","abstract":"

    The validation status of the bank account. - see: STPBankAccountStatus

    ","parent_name":"STPBankAccount"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)name":{"name":"name","abstract":"

    The user’s full name (e.g. Jane Doe)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line1":{"name":"line1","abstract":"

    The first line of the user’s street address (e.g. 123 Fake St)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line2":{"name":"line2","abstract":"

    The apartment, floor number, etc of the user’s street address (e.g. Apartment 1A)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)city":{"name":"city","abstract":"

    The city in which the user resides (e.g. San Francisco)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)state":{"name":"state","abstract":"

    The state in which the user resides (e.g. CA)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)postalCode":{"name":"postalCode","abstract":"

    The postal code in which the user resides (e.g. 90210)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)country":{"name":"country","abstract":"

    The ISO country code of the address (e.g. US)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)phone":{"name":"phone","abstract":"

    The phone number of the address (e.g. 8885551212)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)email":{"name":"email","abstract":"

    The email of the address (e.g. jane@doe.com)

    ","parent_name":"STPAddress"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)initWithConfiguration:theme:":{"name":"-initWithConfiguration:theme:","abstract":"

    Initializes a new STPAddCardViewController with the provided configuration and theme. Don’t forget to set the delegate property after initialization.

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPAddCardViewControllerDelegate

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    You can set this property to pre-fill any information you’ve already collected from your user. - see: STPUserInformation.h

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)managedAccountCurrency":{"name":"managedAccountCurrency","abstract":"

    If you’re using the token generated from STPAddCardViewController to make a Managed Account, you should set this property to the currency that account will use. Otherwise, you should leave it empty. For more information, see https://stripe.com/docs/api#create_card_token-card-currency

    ","parent_name":"STPAddCardViewController"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)setDefaultPublishableKey:":{"name":"+setDefaultPublishableKey:","abstract":"

    Set your Stripe API key with this method. New instances of STPAPIClient will be initialized with this value. You should call this method as early as","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)defaultPublishableKey":{"name":"+defaultPublishableKey","abstract":"

    The current default publishable key.

    ","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)disableAnalytics":{"name":"+disableAnalytics","abstract":"

    By default, Stripe collects some basic information about SDK usage.","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)canSubmitPaymentRequest:":{"name":"+canSubmitPaymentRequest:","abstract":"

    Whether or not this device is capable of using Apple Pay. This checks both whether the user is running an iPhone 6/6+ or later, iPad Air 2 or later, or iPad","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)paymentRequestWithMerchantIdentifier:":{"name":"+paymentRequestWithMerchantIdentifier:","abstract":"

    A convenience method to return a PKPaymentRequest with sane default values. You will still need to configure the paymentSummaryItems property to indicate","parent_name":"Stripe"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(cm)sharedClient":{"name":"+sharedClient","abstract":"

    A shared singleton API client. Its API key will be initially equal to [Stripe defaultPublishableKey].

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)publishableKey":{"name":"publishableKey","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)configuration":{"name":"configuration","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithPayment:completion:":{"name":"-createTokenWithPayment:completion:","abstract":"

    Converts a PKPayment object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithBankAccount:completion:":{"name":"-createTokenWithBankAccount:completion:","abstract":"

    Converts an STPBankAccount object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithCard:completion:":{"name":"-createTokenWithCard:completion:","abstract":"

    Converts an STPCardParams object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createSourceWithParams:completion:":{"name":"-createSourceWithParams:completion:","abstract":"

    Creates a Source object using the provided details.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)retrieveSourceWithId:clientSecret:completion:":{"name":"-retrieveSourceWithId:clientSecret:completion:","abstract":"

    Retrieves the Source object with the given ID. - see: https://stripe.com/docs/api#retrieve_source

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)startPollingSourceWithId:clientSecret:timeout:completion:":{"name":"-startPollingSourceWithId:clientSecret:timeout:completion:","abstract":"

    Starts polling the Source object with the given ID. For payment methods that require","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)stopPollingSourceWithId:":{"name":"-stopPollingSourceWithId:","abstract":"

    Stops polling the Source object with the given ID. Note that the completion block passed to","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html":{"name":"STPAPIClient","abstract":"

    A client for making connections to the Stripe API.

    "},"Classes/Stripe.html":{"name":"Stripe","abstract":"

    A top-level class that imports the rest of the Stripe SDK.

    "},"Classes/STPAddCardViewController.html":{"name":"STPAddCardViewController","abstract":"

    This view controller contains a credit card entry form that the user can fill out. On submission, it will use the Stripe API to convert the user’s card details to a Stripe token. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController.

    "},"Classes/STPAddress.html":{"name":"STPAddress","abstract":"

    STPAddress Contains an address as represented by the Stripe API.

    "},"Classes.html#/c:objc(cs)STPApplePayPaymentMethod":{"name":"STPApplePayPaymentMethod","abstract":"

    An empty class representing that the user wishes to pay via Apple Pay. This can be checked on an STPPaymentContext, e.g.

    "},"Classes/STPBankAccount.html":{"name":"STPBankAccount","abstract":"

    Representation of a user’s bank account details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPBankAccountParams.html":{"name":"STPBankAccountParams","abstract":"

    Representation of a user’s bank account details. You can assemble these with information that your user enters and"},"Classes/STPCard.html":{"name":"STPCard","abstract":"

    Representation of a user’s credit card details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPCardParams.html":{"name":"STPCardParams","abstract":"

    Representation of a user’s credit card details. You can assemble these with information that your user enters and"},"Classes/STPCardValidator.html":{"name":"STPCardValidator","abstract":"

    This class contains static methods to validate card numbers, expiration dates, and CVCs. For a list of test card numbers to use with this code, see https://stripe.com/docs/testing

    "},"Classes.html#/c:objc(cs)STPCoreScrollViewController":{"name":"STPCoreScrollViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes.html#/c:objc(cs)STPCoreTableViewController":{"name":"STPCoreTableViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes/STPCoreViewController.html":{"name":"STPCoreViewController","abstract":"

    This is the base class for all Stripe view controllers. It is intended for use"},"Classes/STPCustomer.html":{"name":"STPCustomer","abstract":"

    An STPCustomer represents a deserialized Customer object from the Stripe API. You can use STPCustomerDeserializer to convert a JSON response from the Stripe API into an STPCustomer.

    "},"Classes/STPCustomerDeserializer.html":{"name":"STPCustomerDeserializer","abstract":"

    Use STPCustomerDeserializer to convert a response from the Stripe API into an STPCustomer object. STPCustomerDeserializer expects the JSON response to be in the exact same format as the Stripe API.

    "},"Classes/STPImageLibrary.html":{"name":"STPImageLibrary","abstract":"

    This class lets you access card icons used by the Stripe SDK. All icons are 32 x 20 points.

    "},"Classes/STPPaymentActivityIndicatorView.html":{"name":"STPPaymentActivityIndicatorView","abstract":"

    This class can be used wherever you’d use a UIActivityIndicatorView and is intended to have a similar API. It renders as a spinning circle with a gap in it, similar to what you see in the App Store app or in the Apple Pay dialog when making a purchase. To change its color, set the tintColor property.

    "},"Classes/STPPaymentCardTextField.html":{"name":"STPPaymentCardTextField","abstract":"

    STPPaymentCardTextField is a text field with similar properties to UITextField, but specialized for collecting credit/debit card information. It manages multiple UITextFields under the hood to collect this information. It’s designed to fit on a single line, and from a design perspective can be used anywhere a UITextField would be appropriate.

    "},"Classes/STPPaymentConfiguration.html":{"name":"STPPaymentConfiguration","abstract":"

    An STPPaymentConfiguration represents all the options you can set or change"},"Classes/STPPaymentContext.html":{"name":"STPPaymentContext","abstract":"

    An STPPaymentContext keeps track of all of the state around a payment. It will manage fetching a user’s saved payment methods, tracking any information they select, and prompting them for required additional information before completing their purchase. It can be used to power your application’s payment confirmation page with just a few lines of code.

    "},"Classes/STPPaymentMethodsViewController.html":{"name":"STPPaymentMethodsViewController","abstract":"

    This view controller presents a list of payment method options to the user, which they can select between. They can also add credit cards to the list. It must be displayed inside a UINavigationController, so you can either create a UINavigationController with an STPPaymentMethodsViewController as the rootViewController and then present the UINavigationController, or push a new STPPaymentMethodsViewController onto an existing UINavigationController‘s stack. You can also have STPPaymentContext do this for you automatically, by calling presentPaymentMethodsViewController or pushPaymentMethodsViewController on it.

    "},"Classes/STPPaymentResult.html":{"name":"STPPaymentResult","abstract":"

    When you’re using STPPaymentContext to request your user’s payment details, this is the object that will be returned to your application when they’ve successfully made a payment. It currently just contains a source, but in the future will include any relevant metadata as well. You should pass source.stripeID to your server, and call the charge creation endpoint. This assumes you are charging a Customer, so you should specify the customer parameter to be that customer’s ID and the source parameter to the value returned here. For more information, see https://stripe.com/docs/api#create_charge

    "},"Classes/STPShippingAddressViewController.html":{"name":"STPShippingAddressViewController","abstract":"

    This view controller contains a shipping address collection form. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController. Depending on your configuration’s shippingType, the view controller may present a shipping method selection form after the user enters an address.

    "},"Classes/STPSource.html":{"name":"STPSource","abstract":"

    Representation of a customer’s payment instrument created with the Stripe API. - see: https://stripe.com/docs/api#sources

    "},"Classes/STPSourceCardDetails.html":{"name":"STPSourceCardDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceOwner.html":{"name":"STPSourceOwner","abstract":"

    Information about a source’s owner.

    "},"Classes/STPSourceParams.html":{"name":"STPSourceParams","abstract":"

    An object representing parameters used to create a Source object."},"Classes/STPSourceReceiver.html":{"name":"STPSourceReceiver","abstract":"

    Information related to a source’s receiver flow.

    "},"Classes/STPSourceRedirect.html":{"name":"STPSourceRedirect","abstract":"

    Information related to a source’s redirect flow.

    "},"Classes/STPSourceSEPADebitDetails.html":{"name":"STPSourceSEPADebitDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceVerification.html":{"name":"STPSourceVerification","abstract":"

    Information related to a source’s verification flow.

    "},"Classes/STPTheme.html":{"name":"STPTheme","abstract":"

    STPTheme objects can be used to visually style Stripe-provided UI. See https://stripe.com/docs/mobile/ios/standard#theming for more information.

    "},"Classes/STPToken.html":{"name":"STPToken","abstract":"

    A token returned from submitting payment details to the Stripe API. You should not have to instantiate one of these directly.

    "},"Classes/STPUserInformation.html":{"name":"STPUserInformation","abstract":"

    You can use this class to specify information that you’ve already collected from your user. You can then set the prefilledInformation property on STPPaymentContext, STPAddCardViewController, etc and it will pre-fill this information whenever possible.

    "},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(im)stp_setTheme:":{"name":"-stp_setTheme:","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.

    ","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(py)stp_theme":{"name":"stp_theme","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html":{"name":"UINavigationBar(Stripe_Theme)","abstract":"

    This allows quickly setting the appearance of a UINavigationBar to match your application. This is useful if you’re presenting an STPAddCardViewController or STPPaymentMethodsViewController inside a UINavigationController.

    "},"Categories.html":{"name":"Categories","abstract":"The following categories are available globally."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Constants.html":{"name":"Constants","abstract":"The following constants are available globally."},"Enums.html":{"name":"Enums","abstract":"The following enums are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Type Definitions.html":{"name":"Type Definitions","abstract":"The following type definitions are available globally."}} \ No newline at end of file +{"Type Definitions.html#/c:STPBackendAPIAdapter.h@T@STPCustomerCompletionBlock":{"name":"STPCustomerCompletionBlock","abstract":"

    Call this block after you’re done fetching a customer on your server. You can use the STPCustomerDeserializer class to convert a JSON response into an STPCustomer object.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPVoidBlock":{"name":"STPVoidBlock","abstract":"

    An empty block, called with no arguments, returning nothing.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPErrorBlock":{"name":"STPErrorBlock","abstract":"

    A block that may optionally be called with an error.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPTokenCompletionBlock":{"name":"STPTokenCompletionBlock","abstract":"

    A callback to be run with a token response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPSourceCompletionBlock":{"name":"STPSourceCompletionBlock","abstract":"

    A callback to be run with a source response from the Stripe API.

    "},"Type Definitions.html#/c:STPBlocks.h@T@STPShippingMethodsCompletionBlock":{"name":"STPShippingMethodsCompletionBlock","abstract":"

    A callback to be run with a validation result and shipping methods for a"},"Type Definitions.html#/c:STPBlocks.h@T@STPFileCompletionBlock":{"name":"STPFileCompletionBlock","abstract":"

    A callback to be run with a file response from the Stripe API.

    "},"Type Definitions.html#/c:STPRedirectContext.h@T@STPRedirectContextCompletionBlock":{"name":"STPRedirectContextCompletionBlock","abstract":"

    A callback run when the context believes the redirect action has been completed.

    "},"Protocols/STPSourceProtocol.html#/c:objc(pl)STPSourceProtocol(py)stripeID":{"name":"stripeID","abstract":"

    The stripe ID of the source.

    ","parent_name":"STPSourceProtocol"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewControllerDidCancel:":{"name":"-shippingAddressViewControllerDidCancel:","abstract":"

    Called when the user cancels entering a shipping address. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didEnterAddress:completion:":{"name":"-shippingAddressViewController:didEnterAddress:completion:","abstract":"

    This is called when the user enters a shipping address and taps next. You should validate the address and determine what shipping methods are available, and call the completion block when finished. If an error occurrs, call the completion block with the error. Otherwise, call the completion block with a nil error and an array of available shipping methods. If you don’t need to collect a shipping method, you may pass an empty array.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPShippingAddressViewControllerDelegate.html#/c:objc(pl)STPShippingAddressViewControllerDelegate(im)shippingAddressViewController:didFinishWithAddress:shippingMethod:":{"name":"-shippingAddressViewController:didFinishWithAddress:shippingMethod:","abstract":"

    This is called when the user selects a shipping method. If no shipping methods are given, or if the shipping type doesn’t require a shipping method, this will be called after the user has a shipping address and your validation has succeeded. After updating your app with the user’s shipping info, you should dismiss (or pop) the view controller. Note that if shippingMethod is non-nil, there will be an additional shipping methods view controller on the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didSelectPaymentMethod:":{"name":"-paymentMethodsViewController:didSelectPaymentMethod:","abstract":"

    This is called when the user either makes a selection, or adds a new card. This will be triggered after the view controller loads with the user’s current selection (if they have one) and then subsequently when they change their choice. You should use this callback to update any necessary UI in your app that displays the user’s currently selected payment method. You should not dismiss the view controller at this point, instead do this in paymentMethodsViewControllerDidFinish:. STPPaymentMethodsViewController will also call the necessary methods on your API adapter, so you don’t need to call them directly during this method.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewController:didFailToLoadWithError:":{"name":"-paymentMethodsViewController:didFailToLoadWithError:","abstract":"

    This is called when the view controller encounters an error fetching the user’s payment methods from its API adapter. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewControllerDidFinish:":{"name":"-paymentMethodsViewControllerDidFinish:","abstract":"

    This is called when the user selects or adds a payment method, so it will often be called immediately after calling paymentMethodsViewController:didSelectPaymentMethod:. You should dismiss the view controller when this is called.

    ","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethodsViewControllerDelegate.html#/c:objc(pl)STPPaymentMethodsViewControllerDelegate(im)paymentMethodsViewControllerDidCancel:":{"name":"-paymentMethodsViewControllerDidCancel:","abstract":"

    This is called when the user taps cancel.","parent_name":"STPPaymentMethodsViewControllerDelegate"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)image":{"name":"image","abstract":"

    A small (32 x 20 points) logo image representing the payment method. For example, the Visa logo for a Visa card, or the Apple Pay logo.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)templateImage":{"name":"templateImage","abstract":"

    A small (32 x 20 points) logo image representing the payment method that can be used as template for tinted icons.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentMethod.html#/c:objc(pl)STPPaymentMethod(py)label":{"name":"label","abstract":"

    A string describing the payment method, such as Apple Pay or Visa 4242.

    ","parent_name":"STPPaymentMethod"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFailToLoadWithError:":{"name":"-paymentContext:didFailToLoadWithError:","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContextDidChange:":{"name":"-paymentContextDidChange:","abstract":"

    This is called every time the contents of the payment context change. When this is called, you should update your app’s UI to reflect the current state of the payment context. For example, if you have a checkout page with a selected payment method row, you should update its payment method with paymentContext.selectedPaymentMethod.label. If that checkout page has a buy button, you should enable/disable it depending on the result of [paymentContext isReadyForPayment].

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didCreatePaymentResult:completion:":{"name":"-paymentContext:didCreatePaymentResult:completion:","abstract":"

    Inside this method, you should make a call to your backend API to make a charge with that Customer + source, and invoke the completion block when that is done.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didFinishWithStatus:error:":{"name":"-paymentContext:didFinishWithStatus:error:","abstract":"

    This is invoked by an STPPaymentContext when it is finished. This will be called after the payment is done and all necessary UI has been dismissed. You should inspect the returned status and behave appropriately. For example: if it’s STPPaymentStatusSuccess, show the user a receipt. If it’s STPPaymentStatusError, inform the user of the error. If it’s STPPaymentStatusUserCanceled, do nothing.

    ","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentContextDelegate.html#/c:objc(pl)STPPaymentContextDelegate(im)paymentContext:didUpdateShippingAddress:completion:":{"name":"-paymentContext:didUpdateShippingAddress:completion:","abstract":"

    Inside this method, you should verify that you can ship to the given address.","parent_name":"STPPaymentContextDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidChange:":{"name":"-paymentCardTextFieldDidChange:","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingNumber:":{"name":"-paymentCardTextFieldDidBeginEditingNumber:","abstract":"

    Called when editing begins in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingNumber:":{"name":"-paymentCardTextFieldDidEndEditingNumber:","abstract":"

    Called when editing ends in the payment card field’s number field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingCVC:":{"name":"-paymentCardTextFieldDidBeginEditingCVC:","abstract":"

    Called when editing begins in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingCVC:":{"name":"-paymentCardTextFieldDidEndEditingCVC:","abstract":"

    Called when editing ends in the payment card field’s CVC field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidBeginEditingExpiration:":{"name":"-paymentCardTextFieldDidBeginEditingExpiration:","abstract":"

    Called when editing begins in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPPaymentCardTextFieldDelegate.html#/c:objc(pl)STPPaymentCardTextFieldDelegate(im)paymentCardTextFieldDidEndEditingExpiration:":{"name":"-paymentCardTextFieldDidEndEditingExpiration:","abstract":"

    Called when editing ends in the payment card field’s expiration field.

    ","parent_name":"STPPaymentCardTextFieldDelegate"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)rootObjectName":{"name":"+rootObjectName","abstract":"

    The root object name to be used when converting this object to a form-encoded string. For example, if this returns @card, then the form-encoded output will resemble @card[foo]=bar (where ‘foo’ and ‘bar’ are specified by propertyNamesToFormFieldNamesMapping below.

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(cm)propertyNamesToFormFieldNamesMapping":{"name":"+propertyNamesToFormFieldNamesMapping","abstract":"

    This maps properties on an object that is being form-encoded into parameter names in the Stripe API. For example, STPCardParams has a field called expMonth, but the Stripe API expects a field called exp_month. This dictionary represents a mapping from the former to the latter (in other words, [STPCardParams propertyNamesToFormFieldNamesMapping][@expMonth] == @exp_month.)

    ","parent_name":"STPFormEncodable"},"Protocols/STPFormEncodable.html#/c:objc(pl)STPFormEncodable(py)additionalAPIParameters":{"name":"additionalAPIParameters","abstract":"

    You can use this property to add additional fields to an API request that are not explicitly defined by the object’s interface. This can be useful when using beta features that haven’t been added to the Stripe SDK yet. For example, if the /v1/tokens API began to accept a beta field called test_field, you might do the following:","parent_name":"STPFormEncodable"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)retrieveCustomer:":{"name":"-retrieveCustomer:","abstract":"

    Retrieve the cards to be displayed inside a payment context. On your backend, retrieve the Stripe customer associated with your currently logged-in user (see https://stripe.com/docs/api#retrieve_customer ), and return the raw JSON response from the Stripe API. (For an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L40 ). Back in your iOS app, after you’ve called this API, deserialize your API response into an STPCustomer object (you can use the STPCustomerDeserializer class to do this). See MyAPIClient.swift in our example project to see this in action.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)attachSourceToCustomer:completion:":{"name":"-attachSourceToCustomer:completion:","abstract":"

    Adds a payment source to a customer. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Update Customer method on that customer as described at https://stripe.com/docs/api#update_customer (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L60 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPBackendAPIAdapter.html#/c:objc(pl)STPBackendAPIAdapter(im)selectDefaultCustomerSource:completion:":{"name":"-selectDefaultCustomerSource:completion:","abstract":"

    Change a customer’s default_source to be the provided card. On your backend, retrieve the Stripe customer associated with your logged-in user. Then, call the Customer Update method as described at https://stripe.com/docs/api#update_customer , specifying default_source to be the value of source.stripeID (for an example Ruby implementation of this API, see https://github.com/stripe/example-ios-backend/blob/master/web.rb#L82 ). If this API call succeeds, call completion(nil). Otherwise, call completion(error) with the error that occurred.

    ","parent_name":"STPBackendAPIAdapter"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewControllerDidCancel:":{"name":"-addCardViewControllerDidCancel:","abstract":"

    Called when the user cancels adding a card. You should dismiss (or pop) the view controller at this point.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html#/c:objc(pl)STPAddCardViewControllerDelegate(im)addCardViewController:didCreateToken:completion:":{"name":"-addCardViewController:didCreateToken:completion:","abstract":"

    This is called when the user successfully adds a card and tokenizes it with Stripe. You should send the token to your backend to store it on a customer, and then call the provided completion block when that call is finished. If an error occurred while talking to your backend, call completion(error), otherwise, dismiss (or pop) the view controller.

    ","parent_name":"STPAddCardViewControllerDelegate"},"Protocols/STPAddCardViewControllerDelegate.html":{"name":"STPAddCardViewControllerDelegate","abstract":"

    An STPAddCardViewControllerDelegate is notified when an STPAddCardViewController successfully creates a card token or is cancelled. It has internal error-handling logic, so there’s no error case to deal with.

    "},"Protocols/STPBackendAPIAdapter.html":{"name":"STPBackendAPIAdapter","abstract":"

    You should make your application’s API client conform to this interface in order to use it with an STPPaymentContext. It provides a bridge from the prebuilt UI we expose (such as STPPaymentMethodsViewController) to your backend to fetch the information it needs to power those views. To read about how to implement this protocol, see https://stripe.com/docs/mobile/ios/standard#prepare-your-api . To see examples of implementing these APIs, see MyAPIClient.swift in our example project and https://github.com/stripe/example-ios-backend .

    "},"Protocols/STPFormEncodable.html":{"name":"STPFormEncodable","abstract":"

    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.

    "},"Protocols/STPPaymentCardTextFieldDelegate.html":{"name":"STPPaymentCardTextFieldDelegate","abstract":"

    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.

    "},"Protocols/STPPaymentContextDelegate.html":{"name":"STPPaymentContextDelegate","abstract":"

    Implement STPPaymentContextDelegate 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.

    "},"Protocols/STPPaymentMethod.html":{"name":"STPPaymentMethod","abstract":"

    This protocol represents a payment method that a user can select and use to pay. Currently the only classes that conform to it are STPCard (which represents that the user wants to pay with a specific card) and STPApplePayPaymentMethod (which represents that the user wants to pay with Apple Pay).

    "},"Protocols/STPPaymentMethodsViewControllerDelegate.html":{"name":"STPPaymentMethodsViewControllerDelegate","abstract":"

    An STPPaymentMethodsViewControllerDelegate responds when a user selects a payment method from (or cancels) an STPPaymentMethodsViewController. In both of these instances, you should dismiss the view controller (either by popping it off the navigation stack, or dismissing it).

    "},"Protocols/STPShippingAddressViewControllerDelegate.html":{"name":"STPShippingAddressViewControllerDelegate","abstract":"

    An STPShippingAddressViewControllerDelegate is notified when an STPShippingAddressViewController receives an address, completes with an address, or is cancelled.

    "},"Protocols/STPSourceProtocol.html":{"name":"STPSourceProtocol","abstract":"

    Objects conforming to this protocol can be attached to a Stripe Customer object as a payment source."},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeNone":{"name":"STPPaymentMethodTypeNone","abstract":"

    Don’t use any payment methods except for cards.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeApplePay":{"name":"STPPaymentMethodTypeApplePay","abstract":"

    The user is allowed to pay with Apple Pay (if it’s configured and available on their device).

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentMethodType.html#/c:@E@STPPaymentMethodType@STPPaymentMethodTypeAll":{"name":"STPPaymentMethodTypeAll","abstract":"

    The user can use any available payment method to pay.

    ","parent_name":"STPPaymentMethodType"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusSuccess":{"name":"STPPaymentStatusSuccess","abstract":"

    The payment succeeded.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusError":{"name":"STPPaymentStatusError","abstract":"

    The payment failed due to an unforeseen error, such as the user’s Internet connection being offline.

    ","parent_name":"STPPaymentStatus"},"Enums/STPPaymentStatus.html#/c:@E@STPPaymentStatus@STPPaymentStatusUserCancellation":{"name":"STPPaymentStatusUserCancellation","abstract":"

    The user cancelled the payment (for example, by hitting cancel in the Apple Pay dialog).

    ","parent_name":"STPPaymentStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusValid":{"name":"STPShippingStatusValid","abstract":"

    The shipping address is valid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingStatus.html#/c:@E@STPShippingStatus@STPShippingStatusInvalid":{"name":"STPShippingStatusInvalid","abstract":"

    The shipping address is invalid.

    ","parent_name":"STPShippingStatus"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeShipping":{"name":"STPShippingTypeShipping","abstract":"

    Shipping the purchase to the provided address using a third-party","parent_name":"STPShippingType"},"Enums/STPShippingType.html#/c:@E@STPShippingType@STPShippingTypeDelivery":{"name":"STPShippingTypeDelivery","abstract":"

    Delivering the purchase by the seller.

    ","parent_name":"STPShippingType"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsNone":{"name":"STPBillingAddressFieldsNone","abstract":"

    No billing address information

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsZip":{"name":"STPBillingAddressFieldsZip","abstract":"

    Just request the user’s billing ZIP code

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html#/c:@E@STPBillingAddressFields@STPBillingAddressFieldsFull":{"name":"STPBillingAddressFieldsFull","abstract":"

    Request the user’s full billing address

    ","parent_name":"STPBillingAddressFields"},"Enums/STPBillingAddressFields.html":{"name":"STPBillingAddressFields","abstract":"

    What set of billing address information you need to collect from your user.

    "},"Enums/STPShippingType.html":{"name":"STPShippingType","abstract":"

    These values control the labels used in the shipping info collection form.

    "},"Enums/STPShippingStatus.html":{"name":"STPShippingStatus","abstract":"

    An enum representing the status of a shipping address validation.

    "},"Enums/STPPaymentStatus.html":{"name":"STPPaymentStatus","abstract":"

    An enum representing the status of a payment requested from the user.

    "},"Enums.html#/c:@E@STPCardFundingType":{"name":"STPCardFundingType","abstract":"

    The various funding sources for a payment card.

    "},"Enums.html#/c:@E@STPCardBrand":{"name":"STPCardBrand","abstract":"

    The various card brands to which a payment card can belong.

    "},"Enums.html#/c:@E@STPCardValidationState":{"name":"STPCardValidationState","abstract":"

    These fields indicate whether a card field represents a valid value, invalid value, or incomplete value.

    "},"Enums/STPPaymentMethodType.html":{"name":"STPPaymentMethodType","abstract":"

    This represents all of the payment methods available to your user (in addition to card payments, which are always enabled) when configuring an STPPaymentContext.

    "},"Enums.html#/c:@E@STPRedirectContextState":{"name":"STPRedirectContextState","abstract":"

    Possible states for the redirect context to be in

    "},"Enums.html#/c:@E@STPSourceFlow":{"name":"STPSourceFlow","abstract":"

    Authentication flows for a Source

    "},"Enums.html#/c:@E@STPSourceUsage":{"name":"STPSourceUsage","abstract":"

    Usage types for a Source

    "},"Enums.html#/c:@E@STPSourceStatus":{"name":"STPSourceStatus","abstract":"

    Status types for a Source

    "},"Enums.html#/c:@E@STPSourceType":{"name":"STPSourceType","abstract":"

    Types for a Source

    "},"Enums.html#/c:@E@STPSourceRedirectStatus":{"name":"STPSourceRedirectStatus","abstract":"

    Redirect status types for a Source

    "},"Enums.html#/c:@E@STPSourceVerificationStatus":{"name":"STPSourceVerificationStatus","abstract":"

    Verification status types for a Source

    "},"Constants.html#/c:@StripeDomain":{"name":"StripeDomain","abstract":"

    All Stripe iOS errors will be under this domain.

    "},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)email":{"name":"email","abstract":"

    The user’s email address.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)phone":{"name":"phone","abstract":"

    The user’s phone number. When set, this property will automatically strip out any non-numeric characters from the string you specify.

    ","parent_name":"STPUserInformation"},"Classes/STPUserInformation.html#/c:objc(cs)STPUserInformation(py)billingAddress":{"name":"billingAddress","abstract":"

    The user’s billing address. When set, the add card form will be filled with this address.","parent_name":"STPUserInformation"},"Classes/STPToken.html#/c:objc(cs)STPToken(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPToken. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)tokenId":{"name":"tokenId","abstract":"

    The value of the token. You can store this value on your server and use it to make charges and customers.","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)livemode":{"name":"livemode","abstract":"

    Whether or not this token was created in livemode. Will be YES if you used your Live Publishable Key, and NO if you used your Test Publishable Key.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)card":{"name":"card","abstract":"

    The credit card details that were used to create the token. Will only be set if the token was created via a credit card or Apple Pay, otherwise it will be","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)bankAccount":{"name":"bankAccount","abstract":"

    The bank account details that were used to create the token. Will only be set if the token was created with a bank account, otherwise it will be nil.

    ","parent_name":"STPToken"},"Classes/STPToken.html#/c:objc(cs)STPToken(py)created":{"name":"created","abstract":"

    When the token was created.

    ","parent_name":"STPToken"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(cm)defaultTheme":{"name":"+defaultTheme","abstract":"

    The default theme used by all Stripe UI. All themable UI classes, such as STPAddCardViewController, have one initializer that takes a theme and one that does not. If you use the one that does not, the default theme will be used to customize that view controller’s appearance.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryBackgroundColor":{"name":"primaryBackgroundColor","abstract":"

    The primary background color of the theme. This will be used as the backgroundColor for any views with this theme.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryBackgroundColor":{"name":"secondaryBackgroundColor","abstract":"

    The secondary background color of this theme. This will be used as the backgroundColor for any supplemental views inside a view with this theme - for example, a UITableView will set it’s cells’ background color to this value.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryBackgroundColor":{"name":"tertiaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the alpha of the primaryBackgroundColor and is used as a section border color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)quaternaryBackgroundColor":{"name":"quaternaryBackgroundColor","abstract":"

    This color is automatically derived by reducing the brightness of the primaryBackgroundColor and is used as a separator color in table view cells.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)primaryForegroundColor":{"name":"primaryForegroundColor","abstract":"

    The primary foreground color of this theme. This will be used as the text color for any important labels in a view with this theme (such as the text color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)secondaryForegroundColor":{"name":"secondaryForegroundColor","abstract":"

    The secondary foreground color of this theme. This will be used as the text color for any supplementary labels in a view with this theme (such as the placeholder color for a text field that the user needs to fill out).

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)tertiaryForegroundColor":{"name":"tertiaryForegroundColor","abstract":"

    This color is automatically derived from the secondaryForegroundColor with a lower alpha component, used for disabled text.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)accentColor":{"name":"accentColor","abstract":"

    The accent color of this theme - it will be used for any buttons and other elements on a view that are important to highlight.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)errorColor":{"name":"errorColor","abstract":"

    The error color of this theme - it will be used for rendering any error messages or views.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)font":{"name":"font","abstract":"

    The font to be used for all views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)emphasisFont":{"name":"emphasisFont","abstract":"

    The medium-weight font to be used for all bold text in views using this theme. Make sure to select an appropriate size.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)barStyle":{"name":"barStyle","abstract":"

    The navigation bar style to use for any view controllers presented modally","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)translucentNavigationBar":{"name":"translucentNavigationBar","abstract":"

    A Boolean value indicating whether the navigation bar for any view controllers","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)smallFont":{"name":"smallFont","abstract":"

    This font is automatically derived from the font, with a slightly lower point size, and will be used for supplementary labels.

    ","parent_name":"STPTheme"},"Classes/STPTheme.html#/c:objc(cs)STPTheme(py)largeFont":{"name":"largeFont","abstract":"

    This font is automatically derived from the font, with a larger point size, and will be used for large labels such as SMS code entry.

    ","parent_name":"STPTheme"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceVerification. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)attemptsRemaining":{"name":"attemptsRemaining","abstract":"

    The number of attempts remaining to authenticate the source object with a verification code.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceVerification.html#/c:objc(cs)STPSourceVerification(py)status":{"name":"status","abstract":"

    The status of the verification.

    ","parent_name":"STPSourceVerification"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceSEPADebitDetails.","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)bankCode":{"name":"bankCode","abstract":"

    The account’s bank code.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country of the bank account.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)fingerprint":{"name":"fingerprint","abstract":"

    The account’s fingerprint.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateReference":{"name":"mandateReference","abstract":"

    The reference of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceSEPADebitDetails.html#/c:objc(cs)STPSourceSEPADebitDetails(py)mandateURL":{"name":"mandateURL","abstract":"

    The details of the mandate accepted by your customer.

    ","parent_name":"STPSourceSEPADebitDetails"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceRedirect. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)returnURL":{"name":"returnURL","abstract":"

    The URL you provide to redirect the customer to after they authenticated their payment.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)status":{"name":"status","abstract":"

    The status of the redirect.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceRedirect.html#/c:objc(cs)STPSourceRedirect(py)url":{"name":"url","abstract":"

    The URL provided to you to redirect a customer to as part of a redirect authentication flow.

    ","parent_name":"STPSourceRedirect"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceReceiver. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)address":{"name":"address","abstract":"

    The address of the receiver source. This is the value that should be communicated to the customer to send their funds to.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountCharged":{"name":"amountCharged","abstract":"

    The total amount charged by you.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReceived":{"name":"amountReceived","abstract":"

    The total amount received by the receiver source.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceReceiver.html#/c:objc(cs)STPSourceReceiver(py)amountReturned":{"name":"amountReturned","abstract":"

    The total amount that was returned to the customer.

    ","parent_name":"STPSourceReceiver"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)type":{"name":"type","abstract":"

    The type of the source to create. Required.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)rawTypeString":{"name":"rawTypeString","abstract":"

    The raw underlying type string sent to the server.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)amount":{"name":"amount","abstract":"

    A positive integer in the smallest currency unit representing the","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)currency":{"name":"currency","abstract":"

    The currency associated with the source. This is the currency for which the source","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source to create. flow may be redirect,","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs that you can attach to a source object.

    ","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument. May be used or required","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)redirect":{"name":"redirect","abstract":"

    Parameters required for the redirect flow. Required if the source is authenticated by","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)token":{"name":"token","abstract":"

    An optional token used to create the source. When passed, token properties will override","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not. usage may be reusable or single_use.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bancontactParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+bancontactParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Bancontact source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)bitcoinParamsWithAmount:currency:email:":{"name":"+bitcoinParamsWithAmount:currency:email:","abstract":"

    Creates params for a Bitcoin source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)cardParamsWithCard:":{"name":"+cardParamsWithCard:","abstract":"

    Creates params for a Card source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)giropayParamsWithAmount:name:returnURL:statementDescriptor:":{"name":"+giropayParamsWithAmount:name:returnURL:statementDescriptor:","abstract":"

    Creates params for a Giropay source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)idealParamsWithAmount:name:returnURL:statementDescriptor:bank:":{"name":"+idealParamsWithAmount:name:returnURL:statementDescriptor:bank:","abstract":"

    Creates params for an iDEAL source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:":{"name":"+sepaDebitParamsWithName:iban:addressLine1:city:postalCode:country:","abstract":"

    Creates params for a SEPA Debit source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)sofortParamsWithAmount:returnURL:country:statementDescriptor:":{"name":"+sofortParamsWithAmount:returnURL:country:statementDescriptor:","abstract":"

    Creates params for a Sofort source.","parent_name":"STPSourceParams"},"Classes/STPSourceParams.html#/c:objc(cs)STPSourceParams(cm)threeDSecureParamsWithAmount:currency:returnURL:card:":{"name":"+threeDSecureParamsWithAmount:currency:returnURL:card:","abstract":"

    Creates params for a 3DS source.","parent_name":"STPSourceParams"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceOwner. You should only use one that is part of an existing STPSource object.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)address":{"name":"address","abstract":"

    Owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)email":{"name":"email","abstract":"

    Owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)name":{"name":"name","abstract":"

    Owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)phone":{"name":"phone","abstract":"

    Owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedAddress":{"name":"verifiedAddress","abstract":"

    Verified owner’s address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedEmail":{"name":"verifiedEmail","abstract":"

    Verified owner’s email address.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedName":{"name":"verifiedName","abstract":"

    Verified owner’s full name.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceOwner.html#/c:objc(cs)STPSourceOwner(py)verifiedPhone":{"name":"verifiedPhone","abstract":"

    Verified owner’s phone number.

    ","parent_name":"STPSourceOwner"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSourceCardDetails. You should only","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSourceCardDetails.html#/c:objc(cs)STPSourceCardDetails(py)threeDSecure":{"name":"threeDSecure","abstract":"

    Whether 3D Secure is supported or required by the card.

    ","parent_name":"STPSourceCardDetails"},"Classes/STPSource.html#/c:objc(cs)STPSource(im)init":{"name":"-init","abstract":"

    You cannot directly instantiate an STPSource. You should only use one that has been returned from an STPAPIClient callback.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)amount":{"name":"amount","abstract":"

    The amount associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)clientSecret":{"name":"clientSecret","abstract":"

    The client secret of the source. Used for client-side polling using a publishable key.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)created":{"name":"created","abstract":"

    When the source was created.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)currency":{"name":"currency","abstract":"

    The currency associated with the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)flow":{"name":"flow","abstract":"

    The authentication flow of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)livemode":{"name":"livemode","abstract":"

    Whether or not this source was created in livemode.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)metadata":{"name":"metadata","abstract":"

    A set of key/value pairs associated with the source object.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)owner":{"name":"owner","abstract":"

    Information about the owner of the payment instrument.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)receiver":{"name":"receiver","abstract":"

    Information related to the receiver flow. Present if the source is a receiver.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)redirect":{"name":"redirect","abstract":"

    Information related to the redirect flow. Present if the source is authenticated by a redirect.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)status":{"name":"status","abstract":"

    The status of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)type":{"name":"type","abstract":"

    The type of the source.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)usage":{"name":"usage","abstract":"

    Whether this source should be reusable or not.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)verification":{"name":"verification","abstract":"

    Information related to the verification flow. Present if the source is authenticated by a verification.

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)details":{"name":"details","abstract":"

    Information about the source specific to its type

    ","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)cardDetails":{"name":"cardDetails","abstract":"

    If this is a card source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPSource.html#/c:objc(cs)STPSource(py)sepaDebitDetails":{"name":"sepaDebitDetails","abstract":"

    If this is a SEPA Debit source, this property provides typed access to the","parent_name":"STPSource"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme] currency:nil shippingAddress:nil selectedShippingMethod:nil prefilledInformation:nil.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Initializes a new STPShippingAddressViewController with the given payment context and sets the payment context as its delegate.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:":{"name":"-initWithConfiguration:theme:currency:shippingAddress:selectedShippingMethod:prefilledInformation:","abstract":"

    Initializes a new STPShippingAddressCardViewController with the provided parameters.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPShippingAddressViewControllerDelegate

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPShippingAddressViewController.html#/c:objc(cs)STPShippingAddressViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPShippingAddressViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional shipping method view controller onto the navigation controller’s stack.

    ","parent_name":"STPShippingAddressViewController"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(py)state":{"name":"state","abstract":"

    The current state of the context.

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)initWithSource:completion:":{"name":"-initWithSource:completion:","abstract":"

    Initializer for context.

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)init":{"name":"-init","abstract":"

    Use initWithSource:completion:

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)startRedirectFlowFromViewController:":{"name":"-startRedirectFlowFromViewController:","abstract":"

    Starts a redirect flow.

    ","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)startSafariViewControllerRedirectFlowFromViewController:":{"name":"-startSafariViewControllerRedirectFlowFromViewController:","abstract":"

    Starts a redirect flow by presenting an SFSafariViewController in your app","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)startSafariAppRedirectFlow":{"name":"-startSafariAppRedirectFlow","abstract":"

    Starts a redirect flow by calling openURL to bounce the user out to","parent_name":"STPRedirectContext"},"Classes/STPRedirectContext.html#/c:objc(cs)STPRedirectContext(im)cancel":{"name":"-cancel","abstract":"

    Dismisses any presented views and stops listening for any","parent_name":"STPRedirectContext"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(py)source":{"name":"source","abstract":"

    The returned source that the user has selected. This may come from a variety of different payment methods, such as an Apple Pay payment or a stored credit card. - see: STPSource.h

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentResult.html#/c:objc(cs)STPPaymentResult(im)initWithSource:":{"name":"-initWithSource:","abstract":"

    Initializes the payment result with a given source. This is invoked by STPPaymentContext internally; you shouldn’t have to call it directly.

    ","parent_name":"STPPaymentResult"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithPaymentContext:":{"name":"-initWithPaymentContext:","abstract":"

    Creates a new payment methods view controller.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)initWithConfiguration:theme:apiAdapter:delegate:":{"name":"-initWithConfiguration:theme:apiAdapter:delegate:","abstract":"

    Initializes a new payment methods view controller without using a payment context.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentMethodsViewController.html#/c:objc(cs)STPPaymentMethodsViewController(im)dismissWithCompletion:":{"name":"-dismissWithCompletion:","abstract":"

    If you’re pushing STPPaymentMethodsViewController onto an existing UINavigationController‘s stack, you should use this method to dismiss it, since it may have pushed an additional add card view controller onto the navigation controller’s stack.

    ","parent_name":"STPPaymentMethodsViewController"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:":{"name":"-initWithAPIAdapter:","abstract":"

    This is a convenience initializer; it is equivalent to calling initWithAPIAdapter:apiAdapter configuration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)initWithAPIAdapter:configuration:theme:":{"name":"-initWithAPIAdapter:configuration:theme:","abstract":"

    Initializes a new Payment Context with the provided API adapter and configuration. After this class is initialized, you should also make sure to set its delegate and hostViewController properties.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)apiAdapter":{"name":"apiAdapter","abstract":"

    The API adapter the payment context will use to fetch and modify its contents. You need to make a class conforming to this protocol that talks to your server. - see: STPBackendAPIAdapter.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)configuration":{"name":"configuration","abstract":"

    The configuration for the payment context to use internally. - see: STPPaymentConfiguration.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)theme":{"name":"theme","abstract":"

    The visual appearance that will be used by any views that the context generates. - see: STPTheme.h

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    If you’ve already collected some information from your user, you can set it here and it’ll be automatically filled out when possible/appropriate in any UI that the payment context creates.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)hostViewController":{"name":"hostViewController","abstract":"

    The view controller that any additional UI will be presented on. If you have a checkout view controller in your app, that should be used as the host view controller.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)delegate":{"name":"delegate","abstract":"

    This delegate will be notified when the payment context’s contents change. - see: STPPaymentContextDelegate

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)loading":{"name":"loading","abstract":"

    Whether or not the payment context is currently loading information from the network.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedPaymentMethod":{"name":"selectedPaymentMethod","abstract":"

    The user’s currently selected payment method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentMethods":{"name":"paymentMethods","abstract":"

    The available payment methods the user can choose between. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)selectedShippingMethod":{"name":"selectedShippingMethod","abstract":"

    The user’s currently selected shipping method. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingMethods":{"name":"shippingMethods","abstract":"

    An array of STPShippingMethod objects that describe the supported shipping methods. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)shippingAddress":{"name":"shippingAddress","abstract":"

    The user’s shipping address. May be nil.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentAmount":{"name":"paymentAmount","abstract":"

    The amount of money you’re requesting from the user, in the smallest currency unit for the selected currency. For example, to indicate $10 USD, use 1000 (i.e. 1000 cents). For more information see https://stripe.com/docs/api#charge_object-amount . This value must be present and greater than zero in order for Apple Pay to be automatically enabled.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentCurrency":{"name":"paymentCurrency","abstract":"

    The three-letter currency code for the currency of the payment (i.e. USD, GBP, JPY, etc). Defaults to USD.

    ","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)paymentSummaryItems":{"name":"paymentSummaryItems","abstract":"

    If you support Apple Pay, you can optionally set the PKPaymentSummaryItems you want to display here instead of using paymentAmount. Note that the grand total (the amount of the last summary item) must be greater than zero.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(py)modalPresentationStyle":{"name":"modalPresentationStyle","abstract":"

    The presentation style used for all view controllers presented modally by the context.","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)retryLoading":{"name":"-retryLoading","abstract":"

    If paymentContext:didFailToLoadWithError: is called on your delegate, you","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentPaymentMethodsViewController":{"name":"-presentPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately presents an STPPaymentMethodsViewController","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushPaymentMethodsViewController":{"name":"-pushPaymentMethodsViewController","abstract":"

    This creates, configures, and appropriately pushes an STPPaymentMethodsViewController","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)presentShippingViewController":{"name":"-presentShippingViewController","abstract":"

    This creates, configures, and appropriately presents a view controller for","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)pushShippingViewController":{"name":"-pushShippingViewController","abstract":"

    This creates, configures, and appropriately pushes a view controller for","parent_name":"STPPaymentContext"},"Classes/STPPaymentContext.html#/c:objc(cs)STPPaymentContext(im)requestPayment":{"name":"-requestPayment","abstract":"

    Requests payment from the user. This may need to present some supplemental UI","parent_name":"STPPaymentContext"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(cm)sharedConfiguration":{"name":"+sharedConfiguration","abstract":"

    This is a convenience singleton configuration that uses the default values","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)publishableKey":{"name":"publishableKey","abstract":"

    Your Stripe publishable key. You can get this from https://dashboard.stripe.com/account/apikeys .

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)additionalPaymentMethods":{"name":"additionalPaymentMethods","abstract":"

    An enum value representing which payment methods you will accept from your user in addition to credit cards. Unless you have a very specific reason not to, you should leave this at the default, STPPaymentMethodTypeAll.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredBillingAddressFields":{"name":"requiredBillingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their payment details. These fields will all be present on the returned token from Stripe. See https://stripe.com/docs/api#create_card_token for more information.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)requiredShippingAddressFields":{"name":"requiredShippingAddressFields","abstract":"

    The billing address fields the user must fill out when prompted for their shipping info.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)shippingType":{"name":"shippingType","abstract":"

    The type of shipping for this purchase. This property sets the labels displayed when the user is prompted for shipping info, and whether they should also be asked to select a shipping method. The default value is STPShippingTypeShipping.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)companyName":{"name":"companyName","abstract":"

    The name of your company, for displaying to the user during payment flows. For example, when using Apple Pay, the payment sheet’s final line item will read PAY {companyName}. This defaults to the name of your iOS application.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)appleMerchantIdentifier":{"name":"appleMerchantIdentifier","abstract":"

    The Apple Merchant Identifier to use during Apple Pay transactions. To create one of these, see our guide at https://stripe.com/docs/mobile/apple-pay . You must set this to a valid identifier in order to automatically enable Apple Pay.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentConfiguration.html#/c:objc(cs)STPPaymentConfiguration(py)smsAutofillDisabled":{"name":"smsAutofillDisabled","abstract":"

    When entering their payment information, users who have a saved card with Stripe will be prompted to autofill it by entering an SMS code. Set this property to YES to disable this feature. The user won’t receive an SMS code even if they have their payment information stored with Stripe, and won’t be prompted to save it if they don’t.

    ","parent_name":"STPPaymentConfiguration"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)delegate":{"name":"delegate","abstract":"
    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)font":{"name":"font","abstract":"

    The font used in each child field. Default is [UIFont systemFontOfSize:18]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textColor":{"name":"textColor","abstract":"

    The text color to be used when entering valid text. Default is [UIColor blackColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)textErrorColor":{"name":"textErrorColor","abstract":"

    The text color to be used when the user has entered invalid information, such as an invalid card number. Default is [UIColor redColor]. Set this property to nil to reset to the default.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)placeholderColor":{"name":"placeholderColor","abstract":"

    The text placeholder color used in each child field. Default is [UIColor lightGreyColor]. Set this property to nil to reset to the default. On iOS 7 and above, this will also set the color of the card placeholder icon.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)numberPlaceholder":{"name":"numberPlaceholder","abstract":"

    The placeholder for the card number field. Default is @1234567812345678. If this is set to something that resembles a card number, it will automatically format it as such (in other words, you don’t need to add spaces to this string).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationPlaceholder":{"name":"expirationPlaceholder","abstract":"

    The placeholder for the expiration field. Defaults to @MM/YY.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvcPlaceholder":{"name":"cvcPlaceholder","abstract":"

    The placeholder for the cvc field. Defaults to @CVC.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cursorColor":{"name":"cursorColor","abstract":"

    The cursor color for the field. This is a proxy for the view’s tintColor property, exposed for clarity only (in other words, calling setCursorColor is identical to calling setTintColor).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderColor":{"name":"borderColor","abstract":"

    The border color for the field. Default is [UIColor lightGreyColor]. Can be nil (in which case no border will be drawn).

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)borderWidth":{"name":"borderWidth","abstract":"

    The width of the field’s border. Default is 1.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cornerRadius":{"name":"cornerRadius","abstract":"

    The corner radius for the field’s border. Default is 5.0.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)keyboardAppearance":{"name":"keyboardAppearance","abstract":"

    The keyboard appearance for the field. Default is UIKeyboardAppearanceDefault.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)inputAccessoryView":{"name":"inputAccessoryView","abstract":"

    This behaves identically to setting the inputAccessoryView for each child text field.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)brandImage":{"name":"brandImage","abstract":"

    The curent brand image displayed in the receiver.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)becomeFirstResponder":{"name":"-becomeFirstResponder","abstract":"

    Causes the text field to begin editing. Presents the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)resignFirstResponder":{"name":"-resignFirstResponder","abstract":"

    Causes the text field to stop editing. Dismisses the keyboard.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)clear":{"name":"-clear","abstract":"

    Resets all of the contents of all of the fields. If the field is currently being edited, the number field will become selected.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    Returns the cvc image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    Returns the brand image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(cm)errorImageForCardBrand:":{"name":"+errorImageForCardBrand:","abstract":"

    Returns the error image used for a card brand.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)brandImageRectForBounds:":{"name":"-brandImageRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its brand image.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)fieldsRectForBounds:":{"name":"-fieldsRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws the text fields.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)numberFieldRectForBounds:":{"name":"-numberFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its number field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)cvcFieldRectForBounds:":{"name":"-cvcFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its cvc field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(im)expirationFieldRectForBounds:":{"name":"-expirationFieldRectForBounds:","abstract":"

    Returns the rectangle in which the receiver draws its expiration field.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)isValid":{"name":"isValid","abstract":"

    Whether or not the form currently contains a valid card number, expiration date, and CVC.","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)enabled":{"name":"enabled","abstract":"

    Enable/disable selecting or editing the field. Useful when submitting card details to Stripe.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardNumber":{"name":"cardNumber","abstract":"

    The current card number displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationMonth":{"name":"expirationMonth","abstract":"

    The current expiration month displayed by the field (1 = January, etc). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationMonth":{"name":"formattedExpirationMonth","abstract":"

    The current expiration month displayed by the field, as a string. This may or may not be a valid entry (i.e. 0, and may be 0-prefixed (i.e. 01 for January). You can use [STPCardValidator validationStateForExpirationMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)expirationYear":{"name":"expirationYear","abstract":"

    The current expiration year displayed by the field, modulo 100 (e.g. the year 2015 will be represented as 15). May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)formattedExpirationYear":{"name":"formattedExpirationYear","abstract":"

    The current expiration year displayed by the field, as a string. This is a 2-digit year (i.e. 15), and may or may not be a valid entry. You can use [STPCardValidator validationStateForExpirationYear:inMonth] to validate this value.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cvc":{"name":"cvc","abstract":"

    The current card CVC displayed by the field. May or may not be valid, unless isValid is true, in which case it is guaranteed to be valid.

    ","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentCardTextField.html#/c:objc(cs)STPPaymentCardTextField(py)cardParams":{"name":"cardParams","abstract":"

    Convenience property for creating an STPCardParams from the currently entered information","parent_name":"STPPaymentCardTextField"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(im)setAnimating:animated:":{"name":"-setAnimating:animated:","abstract":"

    Tell the view to start or stop spinning. If hidesWhenStopped is true, it will fade in/out if animated is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)animating":{"name":"animating","abstract":"

    Whether or not the view is animating.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPPaymentActivityIndicatorView.html#/c:objc(cs)STPPaymentActivityIndicatorView(py)hidesWhenStopped":{"name":"hidesWhenStopped","abstract":"

    If true, the view will hide when it is not spinning. Default is true.

    ","parent_name":"STPPaymentActivityIndicatorView"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)applePayCardImage":{"name":"+applePayCardImage","abstract":"

    An icon representing Apple Pay.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)amexCardImage":{"name":"+amexCardImage","abstract":"

    An icon representing American Express.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)dinersClubCardImage":{"name":"+dinersClubCardImage","abstract":"

    An icon representing Diners Club.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)discoverCardImage":{"name":"+discoverCardImage","abstract":"

    An icon representing Discover.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)jcbCardImage":{"name":"+jcbCardImage","abstract":"

    An icon representing JCB.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)masterCardCardImage":{"name":"+masterCardCardImage","abstract":"

    An icon representing MasterCard.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)visaCardImage":{"name":"+visaCardImage","abstract":"

    An icon representing Visa.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)unknownCardCardImage":{"name":"+unknownCardCardImage","abstract":"

    An icon to use when the type of the card is unknown.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)brandImageForCardBrand:":{"name":"+brandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)templatedBrandImageForCardBrand:":{"name":"+templatedBrandImageForCardBrand:","abstract":"

    This returns the appropriate icon for the specified card brand as a","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)cvcImageForCardBrand:":{"name":"+cvcImageForCardBrand:","abstract":"

    This returns a small icon indicating the CVC location for the given card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPImageLibrary.html#/c:objc(cs)STPImageLibrary(cm)errorImageForCardBrand:":{"name":"+errorImageForCardBrand:","abstract":"

    This returns a small icon indicating a card number error for the given card brand.

    ","parent_name":"STPImageLibrary"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithData:urlResponse:error:":{"name":"-initWithData:urlResponse:error:","abstract":"

    Initialize a customer deserializer. The data, urlResponse, and error parameters are intended to be passed from an NSURLSessionDataTask callback. After it has been initialized, you can inspect the error and customer properties to see if the deserialization was successful. If error is nil, customer will be non-nil (and vice versa).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(im)initWithJSONResponse:":{"name":"-initWithJSONResponse:","abstract":"

    Initializes a customer deserializer with a JSON dictionary. This JSON should be in the exact same format as what the Stripe API returns. If it’s successfully parsed, the customer parameter will be present after initialization; otherwise error will be present.

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)customer":{"name":"customer","abstract":"

    If a customer was successfully parsed from the response, it will be set here. Otherwise, this value wil be nil (and the error property will explain what went wrong).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomerDeserializer.html#/c:objc(cs)STPCustomerDeserializer(py)error":{"name":"error","abstract":"

    If the deserializer failed to parse a customer, this property will explain why (and the customer property will be nil).

    ","parent_name":"STPCustomerDeserializer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(cm)customerWithStripeID:defaultSource:sources:":{"name":"+customerWithStripeID:defaultSource:sources:","abstract":"

    Initialize a customer object with the provided values.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)stripeID":{"name":"stripeID","abstract":"

    The Stripe ID of the customer, e.g. cus_1234

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)defaultSource":{"name":"defaultSource","abstract":"

    The default source used to charge the customer.

    ","parent_name":"STPCustomer"},"Classes/STPCustomer.html#/c:objc(cs)STPCustomer(py)sources":{"name":"sources","abstract":"

    The available payment sources the customer has (this may be an empty array).

    ","parent_name":"STPCustomer"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithTheme:[STPTheme defaultTheme].

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithTheme:":{"name":"-initWithTheme:","abstract":"

    Initializes a new view controller with the specified theme

    ","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithNibName:bundle:":{"name":"-initWithNibName:bundle:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCoreViewController.html#/c:objc(cs)STPCoreViewController(im)initWithCoder:":{"name":"-initWithCoder:","abstract":"

    Passes through to the default UIViewController behavior for this initializer,","parent_name":"STPCoreViewController"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)sanitizedNumericStringForString:":{"name":"+sanitizedNumericStringForString:","abstract":"

    Returns a copy of the passed string with all non-numeric characters removed.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)stringIsNumeric:":{"name":"+stringIsNumeric:","abstract":"

    Whether or not the target string contains only numeric characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForNumber:validatingCardBrand:":{"name":"+validationStateForNumber:validatingCardBrand:","abstract":"

    Validates a card number, passed as a string. This will return STPCardValidationStateInvalid for numbers that are too short or long, contain invalid characters, do not pass Luhn validation, or (optionally) do not match a number format issued by a major card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)brandForNumber:":{"name":"+brandForNumber:","abstract":"

    The card brand for a card number or substring thereof.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)lengthsForCardBrand:":{"name":"+lengthsForCardBrand:","abstract":"

    The possible number lengths for cards associated with a card brand. For example, Discover card numbers contain 16 characters, while American Express cards contain 15 characters.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)fragmentLengthForCardBrand:":{"name":"+fragmentLengthForCardBrand:","abstract":"

    The length of the final grouping of digits to use when formatting a card number for display. For example, Visa cards display their final 4 numbers, e.g. 4242, while American Express cards display their final 5 digits, e.g. 10005.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationMonth:":{"name":"+validationStateForExpirationMonth:","abstract":"

    Validates an expiration month, passed as an (optionally 0-padded) string. Example valid values are 3, 12, and 08. Example invalid values are 99, a, and 00. Incomplete values include 0 and 1.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForExpirationYear:inMonth:":{"name":"+validationStateForExpirationYear:inMonth:","abstract":"

    Validates an expiration year, passed as a string representing the final 2 digits of the year. This considers the period between the current year until 2099 as valid times. An example valid year value would be 16 (assuming the current year, as determined by [NSDate date], is 2015). Will return STPCardValidationStateInvalid for a month/year combination that is earlier than the current date (i.e. @15 and @04 in October 2015). Example invalid year values are 00, a, and 13. Any 1-digit year string will return STPCardValidationStateIncomplete.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)maxCVCLengthForCardBrand:":{"name":"+maxCVCLengthForCardBrand:","abstract":"

    The max CVC length for a card brand (for context, American Express CVCs are 4 digits, while all others are 3).

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCVC:cardBrand:":{"name":"+validationStateForCVC:cardBrand:","abstract":"

    Validates a card’s CVC, passed as a numeric string, for the given card brand.

    ","parent_name":"STPCardValidator"},"Classes/STPCardValidator.html#/c:objc(cs)STPCardValidator(cm)validationStateForCard:":{"name":"+validationStateForCard:","abstract":"

    Validates the given card details.

    ","parent_name":"STPCardValidator"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)number":{"name":"number","abstract":"

    The card’s number.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the card’s number, if it’s been set, otherwise nil.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)cvc":{"name":"cvc","abstract":"

    The card’s security code, found on the back.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCardParams"},"Classes/STPCardParams.html#/c:objc(cs)STPCardParams(py)currency":{"name":"currency","abstract":"

    Three-letter ISO currency code representing the currency paid out to the bank account. This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCardParams"},"Classes/STPCard.html#/c:objc(cs)STPCard(im)initWithID:brand:last4:expMonth:expYear:funding:":{"name":"-initWithID:brand:last4:expMonth:expYear:funding:","abstract":"

    Create an STPCard from a Stripe API response.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)brandFromString:":{"name":"+brandFromString:","abstract":"

    This parses a string representing a card’s brand into the appropriate STPCardBrand enum value, i.e. [STPCard brandFromString:@"American Express"] == STPCardBrandAmex

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)stringFromBrand:":{"name":"+stringFromBrand:","abstract":"

    Returns a string representation for the provided card brand; i.e. [NSString stringFromBrand:STPCardBrandVisa] == @"Visa".

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(cm)fundingFromString:":{"name":"+fundingFromString:","abstract":"

    This parses a string representing a card’s funding type into the appropriate STPCardFundingType enum value, i.e. [STPCard fundingFromString:@"prepaid"] == STPCardFundingTypePrepaid.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)dynamicLast4":{"name":"dynamicLast4","abstract":"

    For cards made with Apple Pay, this refers to the last 4 digits of the Device Account Number for the tokenized card. For regular cards, it will be nil.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)isApplePayCard":{"name":"isApplePayCard","abstract":"

    Whether or not the card originated from Apple Pay.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expMonth":{"name":"expMonth","abstract":"

    The card’s expiration month. 1-indexed (i.e. 1 == January)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)expYear":{"name":"expYear","abstract":"

    The card’s expiration year.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)name":{"name":"name","abstract":"

    The cardholder’s name.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)address":{"name":"address","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)addressLine1":{"name":"addressLine1","abstract":"

    The cardholder’s address.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)cardId":{"name":"cardId","abstract":"

    The Stripe ID for the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)brand":{"name":"brand","abstract":"

    The issuer of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)funding":{"name":"funding","abstract":"

    The funding source for the card (credit, debit, prepaid, or other)

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the issuing country of the card.

    ","parent_name":"STPCard"},"Classes/STPCard.html#/c:objc(cs)STPCard(py)currency":{"name":"currency","abstract":"

    This is only applicable when tokenizing debit cards to issue payouts to managed accounts. You should not set it otherwise. The card can then be used as a transfer destination for funds in this currency.

    ","parent_name":"STPCard"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountNumber":{"name":"accountNumber","abstract":"

    The account number for the bank account. Currently must be a checking account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(im)last4":{"name":"-last4","abstract":"

    The last 4 digits of the bank account’s account number, if it’s been set, otherwise nil.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccountParams.html#/c:objc(cs)STPBankAccountParams(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account. Defaults to STPBankAccountHolderTypeIndividual.

    ","parent_name":"STPBankAccountParams"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)routingNumber":{"name":"routingNumber","abstract":"

    The routing number for the bank account. This should be the ACH routing number, not the wire routing number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)country":{"name":"country","abstract":"

    Two-letter ISO code representing the country the bank account is located in.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)currency":{"name":"currency","abstract":"

    The default currency for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankAccountId":{"name":"bankAccountId","abstract":"

    The Stripe ID for the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)last4":{"name":"last4","abstract":"

    The last 4 digits of the account number.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)bankName":{"name":"bankName","abstract":"

    The name of the bank that owns the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderName":{"name":"accountHolderName","abstract":"

    The name of the person or business that owns the bank account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)accountHolderType":{"name":"accountHolderType","abstract":"

    The type of entity that holds the account.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)fingerprint":{"name":"fingerprint","abstract":"

    A proxy for the account number, this uniquely identifies the account and can be used to compare equality of different bank accounts.

    ","parent_name":"STPBankAccount"},"Classes/STPBankAccount.html#/c:objc(cs)STPBankAccount(py)status":{"name":"status","abstract":"

    The validation status of the bank account. - see: STPBankAccountStatus

    ","parent_name":"STPBankAccount"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)name":{"name":"name","abstract":"

    The user’s full name (e.g. Jane Doe)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line1":{"name":"line1","abstract":"

    The first line of the user’s street address (e.g. 123 Fake St)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)line2":{"name":"line2","abstract":"

    The apartment, floor number, etc of the user’s street address (e.g. Apartment 1A)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)city":{"name":"city","abstract":"

    The city in which the user resides (e.g. San Francisco)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)state":{"name":"state","abstract":"

    The state in which the user resides (e.g. CA)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)postalCode":{"name":"postalCode","abstract":"

    The postal code in which the user resides (e.g. 90210)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)country":{"name":"country","abstract":"

    The ISO country code of the address (e.g. US)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)phone":{"name":"phone","abstract":"

    The phone number of the address (e.g. 8885551212)

    ","parent_name":"STPAddress"},"Classes/STPAddress.html#/c:objc(cs)STPAddress(py)email":{"name":"email","abstract":"

    The email of the address (e.g. jane@doe.com)

    ","parent_name":"STPAddress"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)init":{"name":"-init","abstract":"

    A convenience initializer; equivalent to calling initWithConfiguration:[STPPaymentConfiguration sharedConfiguration] theme:[STPTheme defaultTheme].

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(im)initWithConfiguration:theme:":{"name":"-initWithConfiguration:theme:","abstract":"

    Initializes a new STPAddCardViewController with the provided configuration and theme. Don’t forget to set the delegate property after initialization.

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)delegate":{"name":"delegate","abstract":"

    The view controller’s delegate. This must be set before showing the view controller in order for it to work properly. - see: STPAddCardViewControllerDelegate

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)prefilledInformation":{"name":"prefilledInformation","abstract":"

    You can set this property to pre-fill any information you’ve already collected from your user. - see: STPUserInformation.h

    ","parent_name":"STPAddCardViewController"},"Classes/STPAddCardViewController.html#/c:objc(cs)STPAddCardViewController(py)managedAccountCurrency":{"name":"managedAccountCurrency","abstract":"

    If you’re using the token generated from STPAddCardViewController to make a Managed Account, you should set this property to the currency that account will use. Otherwise, you should leave it empty. For more information, see https://stripe.com/docs/api#create_card_token-card-currency

    ","parent_name":"STPAddCardViewController"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)setDefaultPublishableKey:":{"name":"+setDefaultPublishableKey:","abstract":"

    Set your Stripe API key with this method. New instances of STPAPIClient will be initialized with this value. You should call this method as early as","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)defaultPublishableKey":{"name":"+defaultPublishableKey","abstract":"

    The current default publishable key.

    ","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)canSubmitPaymentRequest:":{"name":"+canSubmitPaymentRequest:","abstract":"

    Whether or not this device is capable of using Apple Pay. This checks both whether the user is running an iPhone 6/6+ or later, iPad Air 2 or later, or iPad","parent_name":"Stripe"},"Classes/Stripe.html#/c:objc(cs)Stripe(cm)paymentRequestWithMerchantIdentifier:":{"name":"+paymentRequestWithMerchantIdentifier:","abstract":"

    A convenience method to return a PKPaymentRequest with sane default values. You will still need to configure the paymentSummaryItems property to indicate","parent_name":"Stripe"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(cm)sharedClient":{"name":"+sharedClient","abstract":"

    A shared singleton API client. Its API key will be initially equal to [Stripe defaultPublishableKey].

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)publishableKey":{"name":"publishableKey","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(py)configuration":{"name":"configuration","abstract":"
    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithPayment:completion:":{"name":"-createTokenWithPayment:completion:","abstract":"

    Converts a PKPayment object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithBankAccount:completion:":{"name":"-createTokenWithBankAccount:completion:","abstract":"

    Converts an STPBankAccount object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithPersonalIDNumber:completion:":{"name":"-createTokenWithPersonalIDNumber:completion:","abstract":"

    Converts a personal identification number into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)uploadImage:purpose:completion:":{"name":"-uploadImage:purpose:completion:","abstract":"

    Uses the Stripe file upload API to upload an image. This can be used for","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createTokenWithCard:completion:":{"name":"-createTokenWithCard:completion:","abstract":"

    Converts an STPCardParams object into a Stripe token using the Stripe API.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)createSourceWithParams:completion:":{"name":"-createSourceWithParams:completion:","abstract":"

    Creates a Source object using the provided details.

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)retrieveSourceWithId:clientSecret:completion:":{"name":"-retrieveSourceWithId:clientSecret:completion:","abstract":"

    Retrieves the Source object with the given ID. - see: https://stripe.com/docs/api#retrieve_source

    ","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)startPollingSourceWithId:clientSecret:timeout:completion:":{"name":"-startPollingSourceWithId:clientSecret:timeout:completion:","abstract":"

    Starts polling the Source object with the given ID. For payment methods that require","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html#/c:objc(cs)STPAPIClient(im)stopPollingSourceWithId:":{"name":"-stopPollingSourceWithId:","abstract":"

    Stops polling the Source object with the given ID. Note that the completion block passed to","parent_name":"STPAPIClient"},"Classes/STPAPIClient.html":{"name":"STPAPIClient","abstract":"

    A client for making connections to the Stripe API.

    "},"Classes/Stripe.html":{"name":"Stripe","abstract":"

    A top-level class that imports the rest of the Stripe SDK.

    "},"Classes/STPAddCardViewController.html":{"name":"STPAddCardViewController","abstract":"

    This view controller contains a credit card entry form that the user can fill out. On submission, it will use the Stripe API to convert the user’s card details to a Stripe token. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController.

    "},"Classes/STPAddress.html":{"name":"STPAddress","abstract":"

    STPAddress Contains an address as represented by the Stripe API.

    "},"Classes.html#/c:objc(cs)STPApplePayPaymentMethod":{"name":"STPApplePayPaymentMethod","abstract":"

    An empty class representing that the user wishes to pay via Apple Pay. This can be checked on an STPPaymentContext, e.g.

    "},"Classes/STPBankAccount.html":{"name":"STPBankAccount","abstract":"

    Representation of a user’s bank account details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPBankAccountParams.html":{"name":"STPBankAccountParams","abstract":"

    Representation of a user’s bank account details. You can assemble these with information that your user enters and"},"Classes/STPCard.html":{"name":"STPCard","abstract":"

    Representation of a user’s credit card details that have been tokenized with the Stripe API. - see: https://stripe.com/docs/api#cards

    "},"Classes/STPCardParams.html":{"name":"STPCardParams","abstract":"

    Representation of a user’s credit card details. You can assemble these with information that your user enters and"},"Classes/STPCardValidator.html":{"name":"STPCardValidator","abstract":"

    This class contains static methods to validate card numbers, expiration dates, and CVCs. For a list of test card numbers to use with this code, see https://stripe.com/docs/testing

    "},"Classes.html#/c:objc(cs)STPCoreScrollViewController":{"name":"STPCoreScrollViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes.html#/c:objc(cs)STPCoreTableViewController":{"name":"STPCoreTableViewController","abstract":"

    This is the base class for all Stripe scroll view controllers. It is intended"},"Classes/STPCoreViewController.html":{"name":"STPCoreViewController","abstract":"

    This is the base class for all Stripe view controllers. It is intended for use"},"Classes/STPCustomer.html":{"name":"STPCustomer","abstract":"

    An STPCustomer represents a deserialized Customer object from the Stripe API. You can use STPCustomerDeserializer to convert a JSON response from the Stripe API into an STPCustomer.

    "},"Classes/STPCustomerDeserializer.html":{"name":"STPCustomerDeserializer","abstract":"

    Use STPCustomerDeserializer to convert a response from the Stripe API into an STPCustomer object. STPCustomerDeserializer expects the JSON response to be in the exact same format as the Stripe API.

    "},"Classes/STPImageLibrary.html":{"name":"STPImageLibrary","abstract":"

    This class lets you access card icons used by the Stripe SDK. All icons are 32 x 20 points.

    "},"Classes/STPPaymentActivityIndicatorView.html":{"name":"STPPaymentActivityIndicatorView","abstract":"

    This class can be used wherever you’d use a UIActivityIndicatorView and is intended to have a similar API. It renders as a spinning circle with a gap in it, similar to what you see in the App Store app or in the Apple Pay dialog when making a purchase. To change its color, set the tintColor property.

    "},"Classes/STPPaymentCardTextField.html":{"name":"STPPaymentCardTextField","abstract":"

    STPPaymentCardTextField is a text field with similar properties to UITextField, but specialized for collecting credit/debit card information. It manages multiple UITextFields under the hood to collect this information. It’s designed to fit on a single line, and from a design perspective can be used anywhere a UITextField would be appropriate.

    "},"Classes/STPPaymentConfiguration.html":{"name":"STPPaymentConfiguration","abstract":"

    An STPPaymentConfiguration represents all the options you can set or change"},"Classes/STPPaymentContext.html":{"name":"STPPaymentContext","abstract":"

    An STPPaymentContext keeps track of all of the state around a payment. It will manage fetching a user’s saved payment methods, tracking any information they select, and prompting them for required additional information before completing their purchase. It can be used to power your application’s payment confirmation page with just a few lines of code.

    "},"Classes/STPPaymentMethodsViewController.html":{"name":"STPPaymentMethodsViewController","abstract":"

    This view controller presents a list of payment method options to the user, which they can select between. They can also add credit cards to the list. It must be displayed inside a UINavigationController, so you can either create a UINavigationController with an STPPaymentMethodsViewController as the rootViewController and then present the UINavigationController, or push a new STPPaymentMethodsViewController onto an existing UINavigationController‘s stack. You can also have STPPaymentContext do this for you automatically, by calling presentPaymentMethodsViewController or pushPaymentMethodsViewController on it.

    "},"Classes/STPPaymentResult.html":{"name":"STPPaymentResult","abstract":"

    When you’re using STPPaymentContext to request your user’s payment details, this is the object that will be returned to your application when they’ve successfully made a payment. It currently just contains a source, but in the future will include any relevant metadata as well. You should pass source.stripeID to your server, and call the charge creation endpoint. This assumes you are charging a Customer, so you should specify the customer parameter to be that customer’s ID and the source parameter to the value returned here. For more information, see https://stripe.com/docs/api#create_charge

    "},"Classes/STPRedirectContext.html":{"name":"STPRedirectContext","abstract":"

    This is a helper class for handling redirect sources.

    "},"Classes/STPShippingAddressViewController.html":{"name":"STPShippingAddressViewController","abstract":"

    This view controller contains a shipping address collection form. It renders a right bar button item that submits the form, so it must be shown inside a UINavigationController. Depending on your configuration’s shippingType, the view controller may present a shipping method selection form after the user enters an address.

    "},"Classes/STPSource.html":{"name":"STPSource","abstract":"

    Representation of a customer’s payment instrument created with the Stripe API. - see: https://stripe.com/docs/api#sources

    "},"Classes/STPSourceCardDetails.html":{"name":"STPSourceCardDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceOwner.html":{"name":"STPSourceOwner","abstract":"

    Information about a source’s owner.

    "},"Classes/STPSourceParams.html":{"name":"STPSourceParams","abstract":"

    An object representing parameters used to create a Source object."},"Classes/STPSourceReceiver.html":{"name":"STPSourceReceiver","abstract":"

    Information related to a source’s receiver flow.

    "},"Classes/STPSourceRedirect.html":{"name":"STPSourceRedirect","abstract":"

    Information related to a source’s redirect flow.

    "},"Classes/STPSourceSEPADebitDetails.html":{"name":"STPSourceSEPADebitDetails","abstract":"

    This class provides typed access to the contents of an STPSource details"},"Classes/STPSourceVerification.html":{"name":"STPSourceVerification","abstract":"

    Information related to a source’s verification flow.

    "},"Classes/STPTheme.html":{"name":"STPTheme","abstract":"

    STPTheme objects can be used to visually style Stripe-provided UI. See https://stripe.com/docs/mobile/ios/standard#theming for more information.

    "},"Classes/STPToken.html":{"name":"STPToken","abstract":"

    A token returned from submitting payment details to the Stripe API. You should not have to instantiate one of these directly.

    "},"Classes/STPUserInformation.html":{"name":"STPUserInformation","abstract":"

    You can use this class to specify information that you’ve already collected from your user. You can then set the prefilledInformation property on STPPaymentContext, STPAddCardViewController, etc and it will pre-fill this information whenever possible.

    "},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(im)stp_setTheme:":{"name":"-stp_setTheme:","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.

    ","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html#/c:objc(cs)UINavigationBar(py)stp_theme":{"name":"stp_theme","abstract":"

    Sets the navigation bar’s appearance to the desired theme. This will affect the bar’s tintColor and barTintColor properties, as well as the color of the single-pixel line at the bottom of the navbar.","parent_name":"UINavigationBar(Stripe_Theme)"},"Categories/UINavigationBar(Stripe_Theme).html":{"name":"UINavigationBar(Stripe_Theme)","abstract":"

    This allows quickly setting the appearance of a UINavigationBar to match your application. This is useful if you’re presenting an STPAddCardViewController or STPPaymentMethodsViewController inside a UINavigationController.

    "},"Categories.html":{"name":"Categories","abstract":"The following categories are available globally."},"Classes.html":{"name":"Classes","abstract":"The following classes are available globally."},"Constants.html":{"name":"Constants","abstract":"The following constants are available globally."},"Enums.html":{"name":"Enums","abstract":"The following enums are available globally."},"Protocols.html":{"name":"Protocols","abstract":"The following protocols are available globally."},"Type Definitions.html":{"name":"Type Definitions","abstract":"The following type definitions are available globally."}} \ No newline at end of file diff --git a/docs/docs/undocumented.json b/docs/docs/undocumented.json index cf5f9de36e2..8f09f97526e 100644 --- a/docs/docs/undocumented.json +++ b/docs/docs/undocumented.json @@ -9,32 +9,39 @@ }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 19, + "line": 20, "symbol": "STPSDKVersion", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 55, + "line": 50, "symbol": "STPAPIClient.-initWithConfiguration:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 56, + "line": 51, "symbol": "STPAPIClient.-initWithPublishableKey:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", - "line": 120, + "line": 159, "symbol": "Stripe(ApplePay).+deviceSupportsApplePay", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", "warning": "undocumented" }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIClient.h", + "line": 229, + "symbol": "Stripe(STPURLCallbackHandlerAdditions)", + "symbol_kind": "sourcekitten.source.lang.objc.decl.category", + "warning": "undocumented" + }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAPIResponseDecodable.h", "line": 11, @@ -58,28 +65,42 @@ }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", - "line": 103, - "symbol": "STPAddress.-PKContactValue", + "line": 104, + "symbol": "STPAddress.-initWithPKContact:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", "line": 105, + "symbol": "STPAddress.-PKContactValue", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", + "line": 107, + "symbol": "STPAddress.-initWithCNContact:", + "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", + "line": 109, "symbol": "STPAddress.-containsRequiredFields:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", - "line": 106, + "line": 110, "symbol": "STPAddress.-containsRequiredShippingAddressFields:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPAddress.h", - "line": 108, + "line": 112, "symbol": "STPAddress.+applePayAddressFieldsFromBillingAddressFields:", "symbol_kind": "sourcekitten.source.lang.objc.decl.method.class", "warning": "undocumented" @@ -309,17 +330,31 @@ "warning": "undocumented" }, { - "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPPaymentCardTextField.h", - "line": 222, - "symbol": "STPPaymentCardTextField.valid", - "symbol_kind": "sourcekitten.source.lang.objc.decl.property", + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPFile.h", + "line": 14, + "symbol": "STPFilePurpose", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enum", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPFile.h", + "line": 14, + "symbol": "STPFilePurpose", + "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPFile.h", + "line": 20, + "symbol": "STPFile", + "symbol_kind": "sourcekitten.source.lang.objc.decl.class", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPPaymentCardTextField.h", - "line": 267, - "symbol": "STPPaymentCardTextField.-commonInit", - "symbol_kind": "sourcekitten.source.lang.objc.decl.method.instance", + "line": 230, + "symbol": "STPPaymentCardTextField.valid", + "symbol_kind": "sourcekitten.source.lang.objc.decl.property", "warning": "undocumented" }, { @@ -329,6 +364,34 @@ "symbol_kind": "sourcekitten.source.lang.objc.decl.property", "warning": "undocumented" }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 23, + "symbol": "STPRedirectContextState.STPRedirectContextStateNotStarted", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 24, + "symbol": "STPRedirectContextState.STPRedirectContextStateInProgress", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 25, + "symbol": "STPRedirectContextState.STPRedirectContextStateCancelled", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPRedirectContext.h", + "line": 26, + "symbol": "STPRedirectContextState.STPRedirectContextStateCompleted", + "symbol_kind": "sourcekitten.source.lang.objc.decl.enumcase", + "warning": "undocumented" + }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/STPSource.h", "line": 24, @@ -598,76 +661,90 @@ { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", "line": 49, + "symbol": "STPStripeErrorCodeKey", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", + "line": 53, + "symbol": "STPStripeErrorTypeKey", + "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", + "warning": "undocumented" + }, + { + "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", + "line": 57, "symbol": "STPCardErrorCode", "symbol_kind": "sourcekitten.source.lang.objc.decl.typedef", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 56, + "line": 64, "symbol": "STPInvalidNumber", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 57, + "line": 65, "symbol": "STPInvalidExpMonth", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 58, + "line": 66, "symbol": "STPInvalidExpYear", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 59, + "line": 67, "symbol": "STPInvalidCVC", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 62, + "line": 70, "symbol": "STPIncorrectNumber", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 63, + "line": 71, "symbol": "STPExpiredCard", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 64, + "line": 72, "symbol": "STPCardDeclined", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 65, + "line": 73, "symbol": "STPProcessingError", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 66, + "line": 74, "symbol": "STPIncorrectCVC", "symbol_kind": "sourcekitten.source.lang.objc.decl.constant", "warning": "undocumented" }, { "file": "/Users/bg/stripe/stripe-ios/Stripe/PublicHeaders/StripeError.h", - "line": 69, + "line": 77, "symbol": "NSError(Stripe)", "symbol_kind": "sourcekitten.source.lang.objc.decl.category", "warning": "undocumented"