diff --git a/riskified-sdk/pom.xml b/riskified-sdk/pom.xml index 4e82514..e163122 100644 --- a/riskified-sdk/pom.xml +++ b/riskified-sdk/pom.xml @@ -4,7 +4,7 @@ 4.0.0 com.riskified riskified-sdk - v3.1.0 + v3.2.0 Riskified SDK Riskified rest api SDK for java https://www.riskified.com diff --git a/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java b/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java index 86f80a9..c51ddfd 100644 --- a/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java +++ b/riskified-sdk/src/main/java/com/riskified/RiskifiedClient.java @@ -1075,7 +1075,7 @@ private HttpPost createPostRequest(String url) { postRequest.setHeader(HttpHeaders.ACCEPT, "application/vnd.riskified.com; version=2"); postRequest.setHeader(HttpHeaders.ACCEPT, "application/json"); postRequest.setHeader("X-RISKIFIED-SHOP-DOMAIN", shopUrl); - postRequest.setHeader("User-Agent","riskified_java_sdk/3.1.0"); // TODO: take the version automatically + postRequest.setHeader("User-Agent","riskified_java_sdk/3.2.0"); // TODO: take the version automatically postRequest.setHeader("Version",versionHeaderValue); return postRequest; } diff --git a/riskified-sdk/src/main/java/com/riskified/models/BaseOrder.java b/riskified-sdk/src/main/java/com/riskified/models/BaseOrder.java index 7e61eca..04436b3 100644 --- a/riskified-sdk/src/main/java/com/riskified/models/BaseOrder.java +++ b/riskified-sdk/src/main/java/com/riskified/models/BaseOrder.java @@ -83,10 +83,15 @@ public void validate(Validation validationType) throws FieldBadFormatException { Validate.notNull(this, this.createdAt, "Created At"); Validate.notNull(this, this.updatedAt, "Updated At"); Validate.notNullOrEmpty(this, this.gateway, "Gateway"); - Validate.notNullOrEmpty(this, this.browserIp, "Browser IP"); + if (this.source != null && !this.source.equalsIgnoreCase("phone")){ + Validate.notNullOrEmpty(this, this.browserIp, "Browser IP"); + } + Validate.notNull(this, this.totalPrice, "Total Price"); Validate.notNull(this, this.lineItems, "Line Items"); - Validate.notNull(this, this.paymentDetails, "Payment Details"); + if (this.gateway != null && !this.gateway.equalsIgnoreCase("giftcard")){ + Validate.notNull(this, this.paymentDetails, "Payment Details"); + } Validate.notNull(this, this.customer, "Customer"); Validate.notNull(this, this.billingAddress, "Billing Address"); } diff --git a/riskified-sdk/src/main/java/com/riskified/models/Customer.java b/riskified-sdk/src/main/java/com/riskified/models/Customer.java index e9d059f..30fbc17 100644 --- a/riskified-sdk/src/main/java/com/riskified/models/Customer.java +++ b/riskified-sdk/src/main/java/com/riskified/models/Customer.java @@ -62,12 +62,14 @@ public Customer(String email, String firstName, String lastName, String id, Date public void validate(Validation validationType) throws FieldBadFormatException { if (validationType == Validation.ALL) { - Validate.notNullOrEmpty(this, this.email, "Email"); Validate.notNullOrEmpty(this, this.firstName, "First Name"); Validate.notNullOrEmpty(this, this.lastName, "Last Name"); - Validate.notNullOrEmpty(this, this.id, "Id"); - Validate.notNull(this, this.createdAt, "Created At"); - Validate.notNull(this, this.verifiedEmail, "Verified Email"); + if (this.accountType != null && !this.accountType.equalsIgnoreCase("guest")){ + Validate.notNullOrEmpty(this, this.email, "Email"); + Validate.notNullOrEmpty(this, this.id, "Id"); + Validate.notNull(this, this.createdAt, "Created At"); + Validate.notNull(this, this.verifiedEmail, "Verified Email"); + } } if (this.email != null) { diff --git a/riskified-sdk/src/main/java/com/riskified/models/PolicyProtect.java b/riskified-sdk/src/main/java/com/riskified/models/PolicyProtect.java new file mode 100644 index 0000000..54dc30a --- /dev/null +++ b/riskified-sdk/src/main/java/com/riskified/models/PolicyProtect.java @@ -0,0 +1,13 @@ +package com.riskified.models; + +import java.util.List; + +public class PolicyProtect { + private List useCases; + public List getUseCases() { + return useCases; + } + public void setUseCases(List useCases) { + this.useCases = useCases; + } +} diff --git a/riskified-sdk/src/main/java/com/riskified/models/ResOrder.java b/riskified-sdk/src/main/java/com/riskified/models/ResOrder.java index 163aa14..8571322 100644 --- a/riskified-sdk/src/main/java/com/riskified/models/ResOrder.java +++ b/riskified-sdk/src/main/java/com/riskified/models/ResOrder.java @@ -14,6 +14,7 @@ public class ResOrder { private Advice advice; private RecoveryEligibility recoveryEligibility; private Double riskScore; + private PolicyProtect policyProtect; public String getId() { @@ -105,4 +106,11 @@ public void setAction(String action) { public Double getRiskScore(){return riskScore;} + public PolicyProtect getPolicyProtect() { + return policyProtect; + } + public void setPolicyProtect(PolicyProtect policyProtect) { + this.policyProtect = policyProtect; + } + } diff --git a/riskified-sdk/src/main/java/com/riskified/models/UseCase.java b/riskified-sdk/src/main/java/com/riskified/models/UseCase.java new file mode 100644 index 0000000..c355558 --- /dev/null +++ b/riskified-sdk/src/main/java/com/riskified/models/UseCase.java @@ -0,0 +1,16 @@ +package com.riskified.models; + +public class UseCase { + private String useCase; + private String decision; + + public String getUseCase() { + return useCase; + } + public void setUseCase(String useCase) { + this.useCase = useCase; + } + public String getDecision() { + return decision; + } +} diff --git a/riskified-sdk/src/main/java/com/riskified/notifications/Notification.java b/riskified-sdk/src/main/java/com/riskified/notifications/Notification.java index 2f62a5f..7a7e778 100644 --- a/riskified-sdk/src/main/java/com/riskified/notifications/Notification.java +++ b/riskified-sdk/src/main/java/com/riskified/notifications/Notification.java @@ -2,6 +2,7 @@ import com.riskified.models.Context; import com.riskified.models.Custom; +import com.riskified.models.PolicyProtect; import com.riskified.models.RecoveryEligibility; // Shop URL may also be added to the API notifications from Riskified depending on your @@ -32,6 +33,7 @@ public static class NotificationOrder { private RecoveryEligibility recoveryEligibility; private Context context; private String[] decision_reasons; + private PolicyProtect policyProtect; public String getId() { return id; @@ -106,5 +108,10 @@ public String[] getDecisionReasons() { public void setDecisionReasons(String[] decisionReasons) { this.decision_reasons = decisionReasons; } + + public PolicyProtect getPolicyProtect() { + return policyProtect; + } + public void setPolicyProtect(PolicyProtect policyProtect) {} } }