BTThreeDSecureRequest

@objcMembers
public class BTThreeDSecureRequest : NSObject

Used to initialize a 3D Secure payment flow

Public Properties

  • A nonce to be verified by ThreeDSecure

    Declaration

    Swift

    public var nonce: String?
  • Object where each key is the name of a custom field which has been configured in the Control Panel. In the Control Panel you can configure 3D Secure Rules which trigger on certain values.

    Declaration

    Swift

    public var customFields: [String : String]?
  • The amount for the transaction

    Declaration

    Swift

    public var amount: NSDecimalNumber?
  • Optional. The account type selected by the cardholder

    Note

    Some cards can be processed using either a credit or debit account and cardholders have the option to choose which account to use.

    Declaration

    Swift

    public var accountType: BTThreeDSecureAccountType
  • Optional. The billing address used for verification

    Declaration

    Swift

    public var billingAddress: BTThreeDSecurePostalAddress?
  • Optional. The mobile phone number used for verification

    Note

    Only numbers. Remove dashes, parentheses and other characters

    Declaration

    Swift

    public var mobilePhoneNumber: String?
  • Optional. The email used for verification

    Declaration

    Swift

    public var email: String?
  • Optional. The shipping method chosen for the transaction

    Declaration

    Swift

    public var shippingMethod: BTThreeDSecureShippingMethod
  • Optional. The additional information used for verification

    Declaration

    Swift

    public var additionalInformation: BTThreeDSecureAdditionalInformation?
  • Optional. If set to true, an authentication challenge will be forced if possible.

    Declaration

    Swift

    public var challengeRequested: Bool
  • Optional. If set to true, an exemption to the authentication challenge will be requested.

    Declaration

    Swift

    public var exemptionRequested: Bool
  • Optional. The exemption type to be requested. If an exemption is requested and the exemption’s conditions are satisfied, then it will be applied.

    Declaration

    Swift

    public var requestedExemptionType: BTThreeDSecureRequestedExemptionType
  • Optional. Indicates whether to use the data only flow. In this flow, frictionless 3DS is ensured for Mastercard cardholders as the card scheme provides a risk score for the issuer to determine whether to approve. If data only is not supported by the processor, a validation error will be raised. Non-Mastercard cardholders will fallback to a normal 3DS flow.

    Declaration

    Swift

    public var dataOnlyRequested: Bool
  • Optional. An authentication created using this property should only be used for adding a payment method to the merchant’s vault and not for creating transactions.

    Defaults to .unspecified.

    If set to .challengeRequested, the authentication challenge will be requested from the issuer to confirm adding new card to the merchant’s vault. If set to .notRequested the authentication challenge will not be requested from the issuer. If set to .unspecified, when the amount is 0, the authentication challenge will be requested from the issuer. If set to .unspecified, when the amount is greater than 0, the authentication challenge will not be requested from the issuer.

    Declaration

    Swift

    @available(*, deprecated, renamed: "cardAddChallengeRequested", message: "Use the `cardAddChallengeRequested` boolean property instead")
    public var cardAddChallenge: BTThreeDSecureCardAddChallenge { get set }
  • Optional. An authentication created using this flag should only be used for vaulting operations (creation of customers’ credit cards or payment methods) and not for creating transactions. If set to true, a card-add challenge will be requested from the issuer. If set to false, a card-add challenge will not be requested. If the parameter is missing, a card-add challenge will only be requested for $0 amount.

    Declaration

    Swift

    public var cardAddChallengeRequested: Bool
  • Optional. UI Customization for 3DS2 challenge views.

    Declaration

    Swift

    public var v2UICustomization: BTThreeDSecureV2UICustomization?
  • Optional. Sets all UI types that the device supports for displaying specific challenge user interfaces in the 3D Secure challenge.

    Defaults to .both

    Declaration

    Swift

    public var uiType: BTThreeDSecureUIType
  • Optional. List of all the render types that the device supports for displaying specific challenge user interfaces within the 3D Secure challenge.

    Note

    When using BTThreeDSecureUIType.both or BTThreeDSecureUIType.html, all BTThreeDSecureRenderType options must be set. When using BTThreeDSecureUIType.native, all BTThreeDSecureRenderType options except .html must be set.

    Declaration

    Swift

    public var renderTypes: [BTThreeDSecureRenderType]?
  • Optional. Three DS Requester APP URL Merchant app declaring their URL within the CReq message so that the Authentication app can call the Merchant app after out of band authentication has occurred.

    Declaration

    Swift

    public var requestorAppURL: String?
  • A delegate for receiving information about the ThreeDSecure payment flow.

    Declaration

    Swift

    public weak var threeDSecureRequestDelegate: BTThreeDSecureRequestDelegate?