diff --git a/Riskified.SDK.Sample/OrderTransmissionExample.cs b/Riskified.SDK.Sample/OrderTransmissionExample.cs index 4ff5262..ae0bbaf 100644 --- a/Riskified.SDK.Sample/OrderTransmissionExample.cs +++ b/Riskified.SDK.Sample/OrderTransmissionExample.cs @@ -244,12 +244,20 @@ private static OrderCheckoutDenied GenerateOrderCheckoutDenied(int orderNum) { var authorizationError = new AuthorizationError( createdAt: new DateTime(2013, 12, 8, 14, 12, 12, DateTimeKind.Local), // make sure to initialize DateTime with the correct timezone - errorCode: AuthorizationErrorCode.RiskSystemDeclined, - message: "Risk System Declined."); - - var orderCheckoutDenied = new OrderCheckoutDenied(orderNum, authorizationError); - + errorCode: AuthorizationErrorCode.CardDeclined, + message: "Card was Declined."); + var payments = new CreditCardPaymentDetails( + avsResultCode: "Y", + cvvResultCode: "n", + creditCardBin: "124580", + creditCardCompany: "Visa", + creditCardNumber: "XXXX-XXXX-XXXX-4242", + creditCardToken: "2233445566778899"); + payments.AuthorizationError = authorizationError; + + var orderCheckoutDenied = new OrderCheckoutDenied(orderNum.ToString()); + orderCheckoutDenied.PaymentDetails = payments; return orderCheckoutDenied; diff --git a/Riskified.SDK/Model/OrderCheckoutDenied.cs b/Riskified.SDK/Model/OrderCheckoutDenied.cs index 149d0e5..01014fe 100644 --- a/Riskified.SDK/Model/OrderCheckoutDenied.cs +++ b/Riskified.SDK/Model/OrderCheckoutDenied.cs @@ -9,29 +9,36 @@ namespace Riskified.SDK.Model { - public class OrderCheckoutDenied : AbstractOrder + public class OrderCheckoutDenied : OrderBase { /// - /// Create a checkout denied + /// @Deprecated - Create a checkout denied (deprecated constructor, please use PaymentDetails.AuthorizationError) /// /// The unique id of the order at the merchant systems /// An object describing the failed result of an authorization attempt by a payment gateway - public OrderCheckoutDenied(int merchantOrderId, AuthorizationError authorizationError) + public OrderCheckoutDenied(string merchantOrderId, AuthorizationError authorizationError) : base(merchantOrderId) { this.AuthorizationError = authorizationError; } + /// + /// Create a checkout denied + /// + /// The unique id of the order at the merchant systems + public OrderCheckoutDenied(string merchantOrderId) + : base(merchantOrderId) + { + } + public override void Validate(Validations validationType = Validations.Weak) { base.Validate(validationType); - - InputValidators.ValidateObjectNotNull(AuthorizationError, "Authorization Error"); - AuthorizationError.Validate(validationType); - - } + /// + /// @Deprecated property, please use PaymentDetails.AuthorizationError + /// [JsonProperty(PropertyName = "authorization_error")] public AuthorizationError AuthorizationError { get; set; } } diff --git a/Riskified.SDK/Model/OrderCheckoutElements/AuthorizationError.cs b/Riskified.SDK/Model/OrderCheckoutElements/AuthorizationError.cs index 3adf96b..ce4b2b1 100644 --- a/Riskified.SDK/Model/OrderCheckoutElements/AuthorizationError.cs +++ b/Riskified.SDK/Model/OrderCheckoutElements/AuthorizationError.cs @@ -23,7 +23,6 @@ public AuthorizationError(DateTime createdAt, AuthorizationErrorCode errorCode, public void Validate(Validations validationType = Validations.Weak) { - InputValidators.ValidateDateNotDefault(CreatedAt.Value, "Created At"); InputValidators.ValidateObjectNotNull(ErrorCode, "Error Code"); } diff --git a/Riskified.SDK/Model/OrderElements/CreditCardPaymentDetails.cs b/Riskified.SDK/Model/OrderElements/CreditCardPaymentDetails.cs index 6907bcc..818142d 100644 --- a/Riskified.SDK/Model/OrderElements/CreditCardPaymentDetails.cs +++ b/Riskified.SDK/Model/OrderElements/CreditCardPaymentDetails.cs @@ -1,5 +1,6 @@ using Newtonsoft.Json; using Riskified.SDK.Exceptions; +using Riskified.SDK.Model.OrderCheckoutElements; using Riskified.SDK.Utils; namespace Riskified.SDK.Model.OrderElements @@ -64,6 +65,9 @@ public void Validate(Validations validationType = Validations.Weak) [JsonProperty(PropertyName = "credit_card_token")] public string CreditCardToken { get; set; } + + [JsonProperty(PropertyName = "authorization_error")] + public AuthorizationError AuthorizationError { get; set; } } } diff --git a/Riskified.SDK/Model/OrderElements/PaypalPaymentDetails.cs b/Riskified.SDK/Model/OrderElements/PaypalPaymentDetails.cs index cf784a6..c8d989b 100644 --- a/Riskified.SDK/Model/OrderElements/PaypalPaymentDetails.cs +++ b/Riskified.SDK/Model/OrderElements/PaypalPaymentDetails.cs @@ -1,5 +1,6 @@ using Newtonsoft.Json; using Riskified.SDK.Exceptions; +using Riskified.SDK.Model.OrderCheckoutElements; using Riskified.SDK.Utils; namespace Riskified.SDK.Model.OrderElements @@ -62,6 +63,8 @@ public void Validate(Validations validationType = Validations.Weak) [JsonProperty(PropertyName = "pending_reason")] public string PendingReason { get; set; } - + [JsonProperty(PropertyName = "authorization_error")] + public AuthorizationError AuthorizationError { get; set; } + } } diff --git a/Riskified.SDK/Properties/AssemblyInfo.cs b/Riskified.SDK/Properties/AssemblyInfo.cs index 45fd802..89d0f42 100644 --- a/Riskified.SDK/Properties/AssemblyInfo.cs +++ b/Riskified.SDK/Properties/AssemblyInfo.cs @@ -31,5 +31,5 @@ // You can specify all the values or you can default the Build and Revision Numbers // by using the '*' as shown below: // [assembly: AssemblyVersion("1.0.*")] -[assembly: AssemblyVersion("2.0.5.5")] -[assembly: AssemblyFileVersion("2.0.5.5")] +[assembly: AssemblyVersion("2.0.6.0")] +[assembly: AssemblyFileVersion("2.0.6.0")]