Ejemplo n.º 1
0
 /// <summary>
 /// Initializes a new instance of the <see cref="ThreeDS2RequestData" /> class.
 /// </summary>
 /// <param name="acquirerBIN">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation..</param>
 /// <param name="acquirerMerchantID">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration). The merchantId that is enrolled for 3D Secure 2 by the merchant&#x27;s acquirer. This string should match the value that you will use in the authorisation..</param>
 /// <param name="authenticationOnly">If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration), and not the payment authorisation..</param>
 /// <param name="challengeIndicator">Possibility to specify a preference for receiving a challenge from the issuer. Allowed values: * &#x60;noPreference&#x60; * &#x60;requestNoChallenge&#x60; * &#x60;requestChallenge&#x60; * &#x60;requestChallengeAsMandate&#x60; .</param>
 /// <param name="deviceChannel">The environment of the shopper. Allowed values: * &#x60;app&#x60; * &#x60;browser&#x60; (required).</param>
 /// <param name="deviceRenderOptions">deviceRenderOptions.</param>
 /// <param name="mcc">Required for merchants that have been enrolled for 3DS2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration). The &#x60;mcc&#x60; is a four-digit code with which the previously given &#x60;acquirerMerchantID&#x60; is registered at the scheme..</param>
 /// <param name="merchantName">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. &gt; Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account..</param>
 /// <param name="messageVersion">The &#x60;messageVersion&#x60; value indicating the 3D Secure 2 protocol version..</param>
 /// <param name="notificationURL">URL to where the issuer should send the &#x60;CRes&#x60;. Required if you are not using components for &#x60;channel&#x60; **Web** or if you are using classic integration &#x60;deviceChannel&#x60; **browser**..</param>
 /// <param name="sdkAppID">The &#x60;sdkAppID&#x60; value as received from the 3D Secure 2 SDK. Required for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="sdkEncData">The &#x60;sdkEncData&#x60; value as received from the 3D Secure 2 SDK. Required for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="sdkEphemPubKey">sdkEphemPubKey.</param>
 /// <param name="sdkMaxTimeout">The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for &#x60;deviceChannel&#x60; set to **app**. Defaults to **60** minutes..</param>
 /// <param name="sdkReferenceNumber">The &#x60;sdkReferenceNumber&#x60; value as received from the 3D Secure 2 SDK. Only for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="sdkTransID">The &#x60;sdkTransID&#x60; value as received from the 3D Secure 2 SDK. Only for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="threeDSCompInd">Completion indicator for the device fingerprinting..</param>
 /// <param name="threeDSRequestorID">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2..</param>
 /// <param name="threeDSRequestorName">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure-2/3ds2-checkout-authentication-only-integration) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2..</param>
 /// <param name="threeDSRequestorURL">URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process..</param>
 public ThreeDS2RequestData(string AcquirerBIN = default(string), string AcquirerMerchantID = default(string), bool?AuthenticationOnly = default(bool?), ChallengeIndicatorEnum?ChallengeIndicator = default(ChallengeIndicatorEnum?), DeviceChannelEnum?DeviceChannel = default(DeviceChannelEnum), DeviceRenderOptions DeviceRenderOptions = default(DeviceRenderOptions), string Mcc = default(string), string MerchantName = default(string), string MessageVersion = default(string), string NotificationURL = default(string), string SdkAppID = default(string), string SdkEncData = default(string), SDKEphemPubKey SdkEphemPubKey = default(SDKEphemPubKey), int?SdkMaxTimeout = default(int?), string SdkReferenceNumber = default(string), string SdkTransID = default(string), DeviceFingerprintCompletedEnum?ThreeDSCompInd = default(DeviceFingerprintCompletedEnum?), string ThreeDSRequestorID = default(string), string ThreeDSRequestorName = default(string), string ThreeDSRequestorURL = default(string))
 {
     // to ensure "deviceChannel" is required (not null)
     this.DeviceChannel       = DeviceChannel ?? throw new InvalidDataException("DeviceChannel is a required property for ThreeDS2RequestData and cannot be null");;
     this.AcquirerBIN         = AcquirerBIN;
     this.AcquirerMerchantID  = AcquirerMerchantID;
     this.AuthenticationOnly  = AuthenticationOnly;
     this.ChallengeIndicator  = ChallengeIndicator;
     this.DeviceRenderOptions = DeviceRenderOptions;
     this.Mcc                  = Mcc;
     this.MerchantName         = MerchantName;
     this.MessageVersion       = MessageVersion;
     this.NotificationURL      = NotificationURL;
     this.SdkAppID             = SdkAppID;
     this.SdkEncData           = SdkEncData;
     this.SdkEphemPubKey       = SdkEphemPubKey;
     this.SdkMaxTimeout        = SdkMaxTimeout;
     this.SdkReferenceNumber   = SdkReferenceNumber;
     this.SdkTransID           = SdkTransID;
     this.ThreeDSCompInd       = ThreeDSCompInd;
     this.ThreeDSRequestorID   = ThreeDSRequestorID;
     this.ThreeDSRequestorName = ThreeDSRequestorName;
     this.ThreeDSRequestorURL  = ThreeDSRequestorURL;
 }
 /// <summary>
 /// Initializes a new instance of the <see cref="ThreeDS2RequestData" /> class.
 /// </summary>
 /// <param name="acquirerBIN">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The acquiring BIN enrolled for 3D Secure 2. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform..</param>
 /// <param name="acquirerMerchantID">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchantId that is enrolled for 3D Secure 2 by the merchant&#x27;s acquirer. This string should match the value that you will use in the authorisation. Use 123456 on the Test platform..</param>
 /// <param name="authenticationOnly">If set to true, you will only perform the [3D Secure 2 authentication](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only), and not the payment authorisation. (default to false).</param>
 /// <param name="challengeIndicator">Possibility to specify a preference for receiving a challenge from the issuer. Allowed values: * &#x60;noPreference&#x60; * &#x60;requestNoChallenge&#x60; * &#x60;requestChallenge&#x60; * &#x60;requestChallengeAsMandate&#x60; .</param>
 /// <param name="deviceChannel">The environment of the shopper. Allowed values: * &#x60;app&#x60; * &#x60;browser&#x60; (required).</param>
 /// <param name="deviceRenderOptions">deviceRenderOptions.</param>
 /// <param name="mcc">Required for merchants that have been enrolled for 3D Secure 2 by another party than Adyen, mostly [authentication-only integrations](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The &#x60;mcc&#x60; is a four-digit code with which the previously given &#x60;acquirerMerchantID&#x60; is registered at the scheme..</param>
 /// <param name="merchantName">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only). The merchant name that the issuer presents to the shopper if they get a challenge. We recommend to use the same value that you will use in the authorization. Maximum length is 40 characters. &gt; Optional for a [full 3D Secure 2 integration](https://docs.adyen.com/checkout/3d-secure/native-3ds2/api-integration). Use this field if you are enrolled for 3D Secure 2 with us and want to override the merchant name already configured on your account..</param>
 /// <param name="messageVersion">The &#x60;messageVersion&#x60; value indicating the 3D Secure 2 protocol version. (default to &quot;2.1.0&quot;).</param>
 /// <param name="notificationURL">URL to where the issuer should send the &#x60;CRes&#x60;. Required if you are not using components for &#x60;channel&#x60; **Web** or if you are using classic integration &#x60;deviceChannel&#x60; **browser**..</param>
 /// <param name="sdkAppID">The &#x60;sdkAppID&#x60; value as received from the 3D Secure 2 SDK. Required for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="sdkEncData">The &#x60;sdkEncData&#x60; value as received from the 3D Secure 2 SDK. Required for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="sdkEphemPubKey">sdkEphemPubKey.</param>
 /// <param name="sdkMaxTimeout">The maximum amount of time in minutes for the 3D Secure 2 authentication process. Optional and only for &#x60;deviceChannel&#x60; set to **app**. Defaults to **60** minutes..</param>
 /// <param name="sdkReferenceNumber">The &#x60;sdkReferenceNumber&#x60; value as received from the 3D Secure 2 SDK. Only for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="sdkTransID">The &#x60;sdkTransID&#x60; value as received from the 3D Secure 2 SDK. Only for &#x60;deviceChannel&#x60; set to **app**..</param>
 /// <param name="threeDSCompInd">Completion indicator for the device fingerprinting..</param>
 /// <param name="threeDSRequestorID">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor identifier assigned by the Directory Server when you enrol for 3D Secure 2..</param>
 /// <param name="threeDSRequestorName">Required for [authentication-only integration](https://docs.adyen.com/checkout/3d-secure/other-3ds-flows/authentication-only) for Visa. Unique 3D Secure requestor name assigned by the Directory Server when you enrol for 3D Secure 2..</param>
 /// <param name="threeDSRequestorURL">URL of the (customer service) website that will be shown to the shopper in case of technical errors during the 3D Secure 2 process..</param>
 /// <param name="transactionType">Identify the type of the transaction being authenticated..</param>
 /// <param name="whiteListStatus">The &#x60;whiteListStatus&#x60; value returned from a previous 3D Secure 2 transaction, only applicable for 3D Secure 2 protocol version 2.2.0..</param>
 public ThreeDS2RequestData(string acquirerBIN      = default(string), string acquirerMerchantID = default(string),
                            bool?authenticationOnly = false,
                            ChallengeIndicatorEnum?challengeIndicator = default(ChallengeIndicatorEnum?),
                            string deviceChannel = default(string),
                            DeviceRenderOptions deviceRenderOptions = default(DeviceRenderOptions), string mcc = default(string),
                            string merchantName                 = default(string), string messageVersion         = "2.1.0",
                            string notificationURL              = default(string), string sdkAppID               = default(string),
                            string sdkEncData                   = default(string), SDKEphemPubKey sdkEphemPubKey = default(SDKEphemPubKey),
                            int?sdkMaxTimeout                   = default(int?), string sdkReferenceNumber       = default(string),
                            string sdkTransID                   = default(string), string threeDSCompInd         = default(string),
                            string threeDSRequestorID           = default(string), string threeDSRequestorName   = default(string),
                            string threeDSRequestorURL          = default(string),
                            TransactionTypeEnum?transactionType = default(TransactionTypeEnum?),
                            string whiteListStatus              = default(string))
 {
     //to ensure "deviceChannel" is required(not null)
     if (deviceChannel == null)
     {
         throw new InvalidDataException(
                   "deviceChannel is a required property for ThreeDS2RequestData and cannot be null");
     }
     else
     {
         this.DeviceChannel = deviceChannel;
     }
     this.AcquirerBIN        = acquirerBIN;
     this.AcquirerMerchantID = acquirerMerchantID;
     // use default value if no "authenticationOnly" provided
     if (authenticationOnly == null)
     {
         this.AuthenticationOnly = false;
     }
     else
     {
         this.AuthenticationOnly = authenticationOnly;
     }
     this.ChallengeIndicator  = challengeIndicator;
     this.DeviceRenderOptions = deviceRenderOptions;
     this.Mcc          = mcc;
     this.MerchantName = merchantName;
     // use default value if no "messageVersion" provided
     if (messageVersion == null)
     {
         this.MessageVersion = "2.1.0";
     }
     else
     {
         this.MessageVersion = messageVersion;
     }
     this.NotificationURL      = notificationURL;
     this.SdkAppID             = sdkAppID;
     this.SdkEncData           = sdkEncData;
     this.SdkEphemPubKey       = sdkEphemPubKey;
     this.SdkMaxTimeout        = sdkMaxTimeout;
     this.SdkReferenceNumber   = sdkReferenceNumber;
     this.SdkTransID           = sdkTransID;
     this.ThreeDSCompInd       = threeDSCompInd;
     this.ThreeDSRequestorID   = threeDSRequestorID;
     this.ThreeDSRequestorName = threeDSRequestorName;
     this.ThreeDSRequestorURL  = threeDSRequestorURL;
     this.TransactionType      = transactionType;
     this.WhiteListStatus      = whiteListStatus;
 }