BTVenmoRequest

Objective-C

@interface BTVenmoRequest : NSObject

Swift

class BTVenmoRequest : NSObject

A BTVenmoRequest specifies options that contribute to the Venmo flow

  • The Venmo profile ID to be used during payment authorization. Customers will see the business name and logo associated with this Venmo profile, and it may show up in the Venmo app as a “Connected Merchant”. Venmo profile IDs can be found in the Braintree Control Panel. Leaving this nil will use the default Venmo profile.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *profileID;

    Swift

    var profileID: String? { get set }
  • Whether to automatically vault the Venmo account on the client. For client-side vaulting, you must initialize BTAPIClient with a client token that was created with a customer ID. Also, paymentMethodUsage on the BTVenmoRequest must be set to .multiUse.

    If this property is set to false, you can still vault the Venmo account on your server, provided that paymentMethodUsage is not set to .singleUse.

    Defaults to false.

    Declaration

    Objective-C

    @property (nonatomic) BOOL vault;

    Swift

    var vault: Bool { get set }
  • If set to .multiUse, the Venmo payment will be authorized for future payments and can be vaulted. If set to .singleUse, the Venmo payment will be authorized for a one-time payment and cannot be vaulted. If set to .unspecified, the legacy Venmo UI flow will launch. It is recommended to use .multiUse or .singleUse for the best customer experience.

    Defaults to .unspecified.

    Declaration

    Objective-C

    @property (nonatomic) BTVenmoPaymentMethodUsage paymentMethodUsage;

    Swift

    var paymentMethodUsage: BTVenmoPaymentMethodUsage { get set }
  • Optional. The business name that will be displayed in the Venmo app payment approval screen. Only used by merchants onboarded as PayFast channel partners.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *displayName;

    Swift

    var displayName: String? { get set }
  • Whether the customer’s billing address should be collected and displayed on the Venmo paysheet.

    Defaults to false.

    Declaration

    Objective-C

    @property (nonatomic) BOOL collectCustomerBillingAddress;

    Swift

    var collectCustomerBillingAddress: Bool { get set }
  • Whether the customer’s shipping address should be collected and displayed on the Venmo paysheet.

    Defaults to false.

    Declaration

    Objective-C

    @property (nonatomic) BOOL collectCustomerShippingAddress;

    Swift

    var collectCustomerShippingAddress: Bool { get set }
  • Optional. The subtotal amount of the transaction to be displayed on the paysheet. Excludes taxes, discounts, and shipping amounts.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *subTotalAmount;

    Swift

    var subTotalAmount: String? { get set }
  • Optional. The grand total amount on the transaction that should be displayed on the paysheet.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *totalAmount;

    Swift

    var totalAmount: String? { get set }
  • Optional. The total discount amount applied on the transaction to be displayed on the paysheet.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *discountAmount;

    Swift

    var discountAmount: String? { get set }
  • Optional. The shipping amount for the transaction to be displayed on the paysheet.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *shippingAmount;

    Swift

    var shippingAmount: String? { get set }
  • Optional. The total tax amount for the transaction to be displayed on the paysheet.

    Declaration

    Objective-C

    @property (nonatomic, copy, nullable) NSString *taxAmount;

    Swift

    var taxAmount: String? { get set }
  • Optional. The line items for this transaction. It can include up to 249 line items.

    Declaration

    Objective-C

    @property (nonatomic, nullable) NSArray<BTVenmoLineItem *> *lineItems;

    Swift

    var lineItems: [BTVenmoLineItem]? { get set }