SCPPaymentIntentParameters
Objective-C
@interface SCPPaymentIntentParameters : NSObject
Swift
class PaymentIntentParameters : NSObject
Parameters for creating an SCPPaymentIntent
. Pass an object of this type
into Terminal.shared.createPaymentIntent()
.
-
The amount of the payment, provided in the currency’s smallest unit.
Declaration
Objective-C
@property (nonatomic, readonly) NSUInteger amount;
Swift
var amount: UInt { get }
-
Three-letter ISO currency code, in lowercase. Must be a supported currency.
Declaration
Objective-C
@property (nonatomic, readonly) NSString *_Nonnull currency;
Swift
var currency: String { get }
-
The list of payment method types that this PaymentIntent is allowed to use. The default is value for this is [“card_present”].
Declaration
Objective-C
@property (nonatomic, readonly) NSArray<NSString *> *_Nonnull paymentMethodTypes;
Swift
var paymentMethodTypes: [String] { get }
-
The capture method that this PaymentIntent should use. Defaults to
SCPCaptureMethodManual
.Declaration
Objective-C
@property (nonatomic, readonly) SCPCaptureMethod captureMethod;
Swift
var captureMethod: CaptureMethod { get }
-
Set of key-value pairs that you can attach to an object. This can be useful for storing additional information about the object in a structured format.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSDictionary<NSString *, NSString *> *metadata;
Swift
var metadata: [String : String]? { get set }
-
An arbitrary string attached to the object. If you send a receipt email for this payment, the email will include the description.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *stripeDescription;
Swift
var stripeDescription: String? { get set }
-
A string to be displayed on your customer’s credit card statement. This may be up to 22 characters. The statement descriptor must contain at least one letter, may not include
<>"'
characters, and will appear on your customer’s statement in capital letters. Non-ASCII characters are automatically stripped. While most banks and card issuers display this information consistently, some may display it incorrectly or not at all.Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *statementDescriptor;
Swift
var statementDescriptor: String? { get set }
-
A string to specify details about the transaction so your customer can understand it clearly on their statement. The suffix is concatenated with the
statementDescriptor
, the*
symbol, and a space to form the complete statement descriptor that your customer sees. Maximum 22 characters for the final concatenated descriptor.Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *statementDescriptorSuffix;
Swift
var statementDescriptorSuffix: String? { get set }
-
Email address that the receipt for the resulting payment will be sent to.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *receiptEmail;
Swift
var receiptEmail: String? { get set }
-
The ID of the Customer this PaymentIntent is for, if one exists.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *customer;
Swift
var customer: String? { get set }
-
The amount of the application fee (if any) that will be applied to the payment and transferred to the application owner’s Stripe account. To use an application fee, the request must be made on behalf of another account, using the stripeAccount property or an OAuth key.
The amount must be provided as a boxed UInt in the currency’s smallest unit.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSNumber *applicationFeeAmount;
Swift
@NSCopying var applicationFeeAmount: NSNumber? { get set }
-
A string that identifies the resulting payment as part of a group.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *transferGroup;
Swift
var transferGroup: String? { get set }
-
The account (if any) the payment will be attributed to for tax reporting, and where funds from the payment will be transferred to upon payment success.
At capture time, use
transfer_data[amount]
to specify the amount that will be transferred automatically when a charge succeeds.When
transferDataDestination
is specified,onBehalfOf
must also be specified and must match the destination of the transfer.Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *transferDataDestination;
Swift
var transferDataDestination: String? { get set }
-
The Stripe account ID for which these funds are intended.
When
transferDataDestination
is specified,onBehalfOf
must also be specified and must match the destination of the transfer.Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *onBehalfOf;
Swift
var onBehalfOf: String? { get set }
-
Indicates that you intend to make future payments with this PaymentIntent’s payment method.
Providing this parameter will attach the payment method to the PaymentIntent’s Customer, after the PaymentIntent is confirmed and any required actions from the user are complete. If no Customer was provided, the payment method can still be attached to a Customer after the transaction completes.
Possible values: “on_session”: Use “on_session” if you intend to only reuse the payment method when your customer is present in your checkout flow. “off_session”: Use “off_session” if your customer may or may not be present in your checkout flow.
Declaration
Objective-C
@property (nonatomic, copy, nullable) NSString *setupFutureUsage;
Swift
var setupFutureUsage: String? { get set }
-
Specific options used during the creation of the PaymentMethod.
Declaration
Objective-C
@property (nonatomic) SCPPaymentMethodOptionsParameters *_Nonnull paymentMethodOptionsParameters;
Swift
var paymentMethodOptionsParameters: PaymentMethodOptionsParameters { get set }
-
Initializes SCPPaymentIntentParameters with the given parameters.
Note: in testmode, only amounts ending in “00” will be approved. All other amounts will be declined by the Stripe API. For more information about this feature, see https://stripe.com/docs/terminal/testing#test-card
This initializer will use the default paymentMethodTypes value: [“card_present”]
Declaration
Objective-C
- (nonnull instancetype)initWithAmount:(NSUInteger)amount currency:(nonnull NSString *)currency;
Swift
init(amount: UInt, currency: String)
Parameters
amount
The amount of the payment, provided in the currency’s smallest unit.
currency
The currency of the payment.
-
Initializes SCPPaymentIntentParameters with the given parameters.
Note
In testmode, only amounts ending in “00” will be approved. All other amounts will be declined by the Stripe API. For more information about this feature, see https://stripe.com/docs/terminal/testing#test-card
Declaration
Objective-C
- (nonnull instancetype)initWithAmount:(NSUInteger)amount currency:(nonnull NSString *)currency paymentMethodTypes: (nonnull NSArray<NSString *> *)paymentMethodTypes;
Swift
init(amount: UInt, currency: String, paymentMethodTypes: [String])
Parameters
amount
The amount of the payment, provided in the currency’s smallest unit.
currency
The currency of the payment.
paymentMethodTypes
The payment method types allowed for this payment. Currently allowed payment method types for a Terminal transaction are “card_present” and “interac_present”.
-
Initializes SCPPaymentIntentParameters with the given parameters.
Note
In testmode, only amounts ending in “00” will be approved. All other amounts will be declined by the Stripe API. For more information about this feature, see https://stripe.com/docs/terminal/testing#test-card
Declaration
Objective-C
- (nonnull instancetype)initWithAmount:(NSUInteger)amount currency:(nonnull NSString *)currency captureMethod:(SCPCaptureMethod)captureMethod;
Swift
init(amount: UInt, currency: String, captureMethod: CaptureMethod)
Parameters
amount
The amount of the payment, provided in the currency’s smallest unit.
currency
The currency of the payment.
captureMethod
The type of capture method used for this payment. Passing in
SCPCaptureMethodAutomatic
will result in a capture occurring automatically whereasSCPCaptureMethodManual
will require an explicit call to capture payments (see: https://stripe.com/docs/terminal/payments/collect-payment?terminal-sdk-platform=ios#capture-payment) -
Initializes SCPPaymentIntentParameters with the given parameters.
Note
In testmode, only amounts ending in “00” will be approved. All other amounts will be declined by the Stripe API. For more information about this feature, see https://stripe.com/docs/terminal/testing#test-card
Declaration
Objective-C
- (nonnull instancetype)initWithAmount:(NSUInteger)amount currency:(nonnull NSString *)currency paymentMethodTypes: (nonnull NSArray<NSString *> *)paymentMethodTypes captureMethod:(SCPCaptureMethod)captureMethod;
Swift
init(amount: UInt, currency: String, paymentMethodTypes: [String], captureMethod: CaptureMethod)
Parameters
amount
The amount of the payment, provided in the currency’s smallest unit.
currency
The currency of the payment.
paymentMethodTypes
The payment method types allowed for this payment. Currently allowed payment method types for a Terminal transaction are “card_present” and “interac_present”.
captureMethod
The type of capture method used for this payment. Passing in
SCPCaptureMethodAutomatic
will result in a capture occuring automatically whereasSCPCaptureMethodManual
will require an explicit call to capture payments (see: https://stripe.com/docs/terminal/payments/collect-payment?terminal-sdk-platform=ios#capture-payment) -
Unavailable
Use
initWithAmount:currency:
Declaration
Objective-C
- (nonnull instancetype)init;
-
Unavailable
Use
initWithAmount:currency:
Declaration
Objective-C
+ (nonnull instancetype)new;
-
Deprecated
Did you mean to use stripeDescription?
Use stripeDescription for the string attached to the object.
Declaration
Objective-C
@property (nonatomic, copy, readonly) DEPRECATED_MSG_ATTRIBUTE("Did you mean to use stripeDescription?") NSString *description;
Swift
var description: String { get }