STPPaymentMethodParams
public class STPPaymentMethodParams : NSObject, STPFormEncodable
extension STPPaymentMethodParams: STPPaymentOption
An object representing parameters used to create a PaymentMethod object.
@note To create a PaymentMethod from an Apple Pay PKPaymentToken, see STPAPIClient createPaymentMethodWithPayment:completion:
-
Declaration
Swift
@objc public var additionalAPIParameters: [AnyHashable : Any]
-
The type of payment method. The associated property will contain additional information (e.g.
type == STPPaymentMethodTypeCard
meanscard
should also be populated).Declaration
Swift
@objc public var type: STPPaymentMethodType { get set }
-
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’sSTPPaymentMethodType
enum. Setting this to a value not known by the SDK causestype
to returnSTPPaymentMethodTypeUnknown
Declaration
Swift
@objc public var rawTypeString: String?
-
Billing information associated with the PaymentMethod that may be used or required by particular types of payment methods.
Declaration
Swift
@objc public var billingDetails: STPPaymentMethodBillingDetails?
-
If this is a card PaymentMethod, this contains the user’s card details.
Declaration
Swift
@objc public var card: STPPaymentMethodCardParams?
-
If this is an Alipay PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var alipay: STPPaymentMethodAlipayParams?
-
If this is a iDEAL PaymentMethod, this contains details about user’s bank.
Declaration
Swift
@objc public var iDEAL: STPPaymentMethodiDEALParams?
-
If this is a FPX PaymentMethod, this contains details about user’s bank.
Declaration
Swift
@objc public var fpx: STPPaymentMethodFPXParams?
-
If this is a SEPA Debit PaymentMethod, this contains details about the bank to debit.
Declaration
Swift
@objc public var sepaDebit: STPPaymentMethodSEPADebitParams?
-
If this is a Bacs Debit PaymentMethod, this contains details about the bank account to debit.
Declaration
Swift
@objc public var bacsDebit: STPPaymentMethodBacsDebitParams?
-
If this is an AU BECS Debit PaymentMethod, this contains details about the bank to debit.
Declaration
Swift
@objc public var auBECSDebit: STPPaymentMethodAUBECSDebitParams?
-
If this is a giropay PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var giropay: STPPaymentMethodGiropayParams?
-
If this is a Przelewy24 PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var przelewy24: STPPaymentMethodPrzelewy24Params?
-
If this is an EPS PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var eps: STPPaymentMethodEPSParams?
-
If this is a Bancontact PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var bancontact: STPPaymentMethodBancontactParams?
-
If this is a NetBanking PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var netBanking: STPPaymentMethodNetBankingParams?
-
If this is an OXXO PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var oxxo: STPPaymentMethodOXXOParams?
-
If this is a Sofort PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var sofort: STPPaymentMethodSofortParams?
-
If this is a UPI PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var upi: STPPaymentMethodUPIParams?
-
If this is a GrabPay PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var grabPay: STPPaymentMethodGrabPayParams?
-
If this is a Afterpay PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var afterpayClearpay: STPPaymentMethodAfterpayClearpayParams?
-
If this is a BLIK PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var blik: STPPaymentMethodBLIKParams?
-
If this is an Boleto PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var boleto: STPPaymentMethodBoletoParams?
-
If this is a Link PaymentMethod, this contains additional details
Declaration
Swift
@objc public var link: STPPaymentMethodLinkParams?
-
If this is an Klarna PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var klarna: STPPaymentMethodKlarnaParams?
-
If this is an Affirm PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var affirm: STPPaymentMethodAffirmParams?
-
If this is a US Bank Account PaymentMethod, this contains additional details.
Declaration
Swift
@objc public var usBankAccount: STPPaymentMethodUSBankAccountParams?
-
Set of key-value pairs that you can attach to the PaymentMethod. This can be useful for storing additional information about the PaymentMethod in a structured format.
Declaration
Swift
@objc public var metadata: [String : String]?
-
Creates params for a card PaymentMethod.
Declaration
Swift
@objc public convenience init( card: STPPaymentMethodCardParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
card
An object containing the user’s card details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an iDEAL PaymentMethod.
Declaration
Swift
@objc public convenience init( iDEAL: STPPaymentMethodiDEALParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
iDEAL
An object containing the user’s iDEAL bank details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an FPX PaymentMethod.
Declaration
Swift
@objc public convenience init( fpx: STPPaymentMethodFPXParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
fpx
An object containing the user’s FPX bank details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a SEPA Debit PaymentMethod;
Declaration
Swift
@objc public convenience init( sepaDebit: STPPaymentMethodSEPADebitParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
sepaDebit
An object containing the SEPA bank debit details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for SEPA Debit PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Bacs Debit PaymentMethod;
Declaration
Swift
@objc public convenience init( bacsDebit: STPPaymentMethodBacsDebitParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
bacsDebit
An object containing the Bacs bank debit details.
billingDetails
An object containing the user’s billing details. Note that name, email, and address are required for Bacs Debit PaymentMethods.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an AU BECS Debit PaymentMethod;
Declaration
Swift
@objc public convenience init( aubecsDebit auBECSDebit: STPPaymentMethodAUBECSDebitParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
auBECSDebit
An object containing the AU BECS bank debit details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
andbillingDetails.email
are required for AU BECS Debit PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a giropay PaymentMethod;
Declaration
Swift
@objc public convenience init( giropay: STPPaymentMethodGiropayParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
giropay
An object containing additional giropay details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for giropay PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an EPS PaymentMethod;
Declaration
Swift
@objc public convenience init( eps: STPPaymentMethodEPSParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
eps
An object containing additional EPS details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for EPS PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Przelewy24 PaymentMethod;
Declaration
Swift
@objc public convenience init( przelewy24: STPPaymentMethodPrzelewy24Params, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
przelewy24
An object containing additional Przelewy24 details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.email
is required for Przelewy24 PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Bancontact PaymentMethod;
Declaration
Swift
@objc public convenience init( bancontact: STPPaymentMethodBancontactParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
bancontact
An object containing additional Bancontact details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for Bancontact PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a NetBanking PaymentMethod;
Declaration
Swift
@objc public convenience init( netBanking: STPPaymentMethodNetBankingParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
netBanking
An object containing additional NetBanking details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a GrabPay PaymentMethod;
Declaration
Swift
@objc public convenience init( grabPay: STPPaymentMethodGrabPayParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
grabPay
An object containing additional GrabPay details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an OXXO PaymentMethod;
Declaration
Swift
@objc public convenience init( oxxo: STPPaymentMethodOXXOParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
oxxo
An object containing additional OXXO details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Sofort PaymentMethod;
Declaration
Swift
@objc public convenience init( sofort: STPPaymentMethodSofortParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
sofort
An object containing additional Sofort details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
andbillingDetails.email
are required to save bank details from a Sofort payment.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a UPI PaymentMethod;
Declaration
Swift
@objc public convenience init( upi: STPPaymentMethodUPIParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
upi
An object containing additional UPI details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an Alipay PaymentMethod.
Declaration
Swift
@objc public convenience init( alipay: STPPaymentMethodAlipayParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
alipay
An object containing additional Alipay details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a BLIK PaymentMethod.
Declaration
Swift
@objc public convenience init( blik: STPPaymentMethodBLIKParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
blik
An object containing additional BLIK details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an Boleto PaymentMethod;
Declaration
Swift
@objc public convenience init( boleto: STPPaymentMethodBoletoParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? )
Parameters
boleto
An object containing additional Boleto details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a US Bank Account Payment Method
Declaration
Swift
@objc public convenience init( usBankAccount: STPPaymentMethodUSBankAccountParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? )
Parameters
usBankAccount
An object containing additional US bank account details
billingDetails
An object containing the user’s billing details. Name is required for US Bank Accounts
metadata
Additional information to attach to the PaymentMethod
-
Creates params from a single-use PaymentMethod. This is useful for recreating a new payment method with similar settings. It will return nil if used with a reusable PaymentMethod.
Declaration
Swift
@objc public convenience init?( singleUsePaymentMethod paymentMethod: STPPaymentMethod )
Parameters
paymentMethod
An object containing the original single-use PaymentMethod.
-
Declaration
Swift
@objc public class func rootObjectName() -> String?
-
Declaration
Swift
@objc public class func propertyNamesToFormFieldNamesMapping() -> [String : String]
-
Declaration
Swift
@objc public var image: UIImage { get }
-
Declaration
Swift
@objc public var templateImage: UIImage { get }
-
Declaration
Swift
@objc public var isReusable: Bool { get }
-
Creates params for a card PaymentMethod.
Declaration
Swift
@objc(paramsWithCard:billingDetails:metadata:) public class func paramsWith( card: STPPaymentMethodCardParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
card
An object containing the user’s card details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an iDEAL PaymentMethod.
Declaration
Swift
@objc(paramsWithiDEAL:billingDetails:metadata:) public class func paramsWith( iDEAL: STPPaymentMethodiDEALParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
iDEAL
An object containing the user’s iDEAL bank details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an FPX PaymentMethod.
Declaration
Swift
@objc(paramsWithFPX:billingDetails:metadata:) public class func paramsWith( fpx: STPPaymentMethodFPXParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
fpx
An object containing the user’s FPX bank details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a SEPA Debit PaymentMethod;
Declaration
Swift
@objc(paramsWithSEPADebit:billingDetails:metadata:) public class func paramsWith( sepaDebit: STPPaymentMethodSEPADebitParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
sepaDebit
An object containing the SEPA bank debit details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for SEPA Debit PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Bacs Debit PaymentMethod;
Declaration
Swift
@objc(paramsWithBacsDebit:billingDetails:metadata:) public class func paramsWith( bacsDebit: STPPaymentMethodBacsDebitParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
bacsDebit
An object containing the Bacs bank debit details.
billingDetails
An object containing the user’s billing details. Note that name, email, and address are required for Bacs Debit PaymentMethods.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an AU BECS Debit PaymentMethod;
Declaration
Swift
@objc(paramsWithAUBECSDebit:billingDetails:metadata:) public class func paramsWith( auBECSDebit: STPPaymentMethodAUBECSDebitParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
auBECSDebit
An object containing the AU BECS bank debit details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
andbillingDetails.email
are required for AU BECS Debit PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a giropay PaymentMethod;
Declaration
Swift
@objc(paramsWithGiropay:billingDetails:metadata:) public class func paramsWith( giropay: STPPaymentMethodGiropayParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
giropay
An object containing additional giropay details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for giropay PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an EPS PaymentMethod;
Declaration
Swift
@objc(paramsWithEPS:billingDetails:metadata:) public class func paramsWith( eps: STPPaymentMethodEPSParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
eps
An object containing additional EPS details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for EPS PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Przelewy24 PaymentMethod;
Declaration
Swift
@objc(paramsWithPrzelewy24:billingDetails:metadata:) public class func paramsWith( przelewy24: STPPaymentMethodPrzelewy24Params, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
przelewy24
An object containing additional Przelewy24 details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.email
is required for Przelewy24 PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Bancontact PaymentMethod;
Declaration
Swift
@objc(paramsWithBancontact:billingDetails:metadata:) public class func paramsWith( bancontact: STPPaymentMethodBancontactParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
bancontact
An object containing additional Bancontact details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for Bancontact PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a NetBanking PaymentMethod;
Declaration
Swift
@objc(paramsWithNetBanking:billingDetails:metadata:) public class func paramsWith( netBanking: STPPaymentMethodNetBankingParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
netBanking
An object containing additional NetBanking details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for Bancontact PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an OXXO PaymentMethod;
Declaration
Swift
@objc(paramsWithOXXO:billingDetails:metadata:) public class func paramsWith( oxxo: STPPaymentMethodOXXOParams, billingDetails: STPPaymentMethodBillingDetails, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
oxxo
An object containing additional OXXO details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
is required for OXXO PaymentMethods.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a GrabPay PaymentMethod;
Declaration
Swift
@objc(paramsWithGrabPay:billingDetails:metadata:) public class func paramsWith( grabPay: STPPaymentMethodGrabPayParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
grabPay
An object containing additional GrabPay details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a Sofort PaymentMethod;
Declaration
Swift
@objc(paramsWithSofort:billingDetails:metadata:) public class func paramsWith( sofort: STPPaymentMethodSofortParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
sofort
An object containing additional Sofort details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
andbillingDetails.email
are required to save bank details from a Sofort payment.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a UPI PaymentMethod;
Declaration
Swift
@objc(paramsWithUPI:billingDetails:metadata:) public class func paramsWith( upi: STPPaymentMethodUPIParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
upi
An object containing additional UPI details.
billingDetails
An object containing the user’s billing details. Note that
billingDetails.name
andbillingDetails.email
are required to save bank details from a UPI payment.metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an Alipay PaymentMethod.
Declaration
Swift
@objc(paramsWithAlipay:billingDetails:metadata:) public class func paramsWith( alipay: STPPaymentMethodAlipayParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
alipay
An object containing additional Alipay details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a PayPal PaymentMethod.
Declaration
Swift
@objc(paramsWithPayPal:billingDetails:metadata:) public class func paramsWith( payPal: STPPaymentMethodPayPalParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
payPal
An object containing additional PayPal details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an AfterpayClearpay PaymentMethod.
Declaration
Swift
@objc(paramsWithAfterpayClearpay:billingDetails:metadata:) public class func paramsWith( afterpayClearpay: STPPaymentMethodAfterpayClearpayParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
afterpayClearpay
An object containing additional AfterpayClearpay details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for a BLIK PaymentMethod.
Declaration
Swift
@objc(paramsWithBLIK:billingDetails:metadata:) public class func paramsWith( blik: STPPaymentMethodBLIKParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
blik
An object containing additional BLIK details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an Klarna PaymentMethod.
Declaration
Swift
@objc(paramsWithKlarna:billingDetails:metadata:) public class func paramsWith( klarna: STPPaymentMethodKlarnaParams, billingDetails: STPPaymentMethodBillingDetails?, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
klarna
An object containing additional Klarna details.
billingDetails
An object containing the user’s billing details.
metadata
Additional information to attach to the PaymentMethod.
-
Creates params for an Affirm PaymentMethod.
Declaration
Swift
@objc(paramsWithAffirm:metadata:) public class func paramsWith( affirm: STPPaymentMethodAffirmParams, metadata: [String: String]? ) -> STPPaymentMethodParams
Parameters
affirm
An object containing additional Affirm details.
metadata
Additional information to attach to the PaymentMethod.