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 whereas SCPCaptureMethodManual 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 whereas SCPCaptureMethodManual 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 }