diff --git a/CHANGES.MD b/CHANGES.MD
index 5eed857c..3108a7ce 100644
--- a/CHANGES.MD
+++ b/CHANGES.MD
@@ -1,3 +1,10 @@
+3.5.0 (2021-08-24)
+=================
+- V206 adds fintech fields.
+- Add support for `$ach` complex field to `$payment_method` complex field
+- Add support for `$sepa` complex field to `$payment_method` complex field
+- Add support for `$wire` complex field to `$payment_method` complex field
+
3.4.0 (2020-05-05)
=================
- Add support for `$decline_category` field to `$transaction` event
diff --git a/README.md b/README.md
index c98de53a..21d6fdd2 100644
--- a/README.md
+++ b/README.md
@@ -2,7 +2,7 @@
[](https://circleci.com/gh/SiftScience/sift-java)
-The official Java bindings for the latest version (v205) of the [Sift API](https://sift.com/developers/docs/java/apis-overview).
+The official Java bindings for the latest version (v206) of the [Sift API](https://sift.com/developers/docs/java/apis-overview).
## Requirements
Java 1.7 or later.
@@ -13,13 +13,13 @@ Java 1.7 or later.
com.siftscience
sift-java
- 3.4.0
+ 3.5.0
```
### Gradle
```
dependencies {
- compile 'com.siftscience:sift-java:3.4.0'
+ compile 'com.siftscience:sift-java:3.5.0'
}
```
### Other
diff --git a/build.gradle b/build.gradle
index 169cc895..f0b37a6b 100644
--- a/build.gradle
+++ b/build.gradle
@@ -1,11 +1,10 @@
-
apply plugin: 'java'
apply plugin: 'maven-publish'
apply plugin: 'signing'
apply plugin: 'java-library-distribution'
group = 'com.siftscience'
-version = '3.4.0'
+version = '3.5.0'
repositories {
mavenCentral()
diff --git a/src/main/java/com/siftscience/EventRequest.java b/src/main/java/com/siftscience/EventRequest.java
index 0e5f5cfe..ddbc8ad3 100644
--- a/src/main/java/com/siftscience/EventRequest.java
+++ b/src/main/java/com/siftscience/EventRequest.java
@@ -32,7 +32,7 @@ EventResponse buildResponse(Response response, FieldSet requestFields)
@Override
protected HttpUrl path(HttpUrl baseUrl) {
HttpUrl.Builder builder = baseUrl.newBuilder()
- .addPathSegment("v205").addPathSegment("events");
+ .addPathSegment("v206").addPathSegment("events");
if (isWorkflowStatus) {
builder.addQueryParameter("return_workflow_status", "true");
diff --git a/src/main/java/com/siftscience/LabelRequest.java b/src/main/java/com/siftscience/LabelRequest.java
index bc44e562..82572c37 100644
--- a/src/main/java/com/siftscience/LabelRequest.java
+++ b/src/main/java/com/siftscience/LabelRequest.java
@@ -19,7 +19,7 @@ public class LabelRequest extends SiftRequest {
@Override
protected HttpUrl path(HttpUrl baseUrl) {
return baseUrl.newBuilder()
- .addPathSegment("v205")
+ .addPathSegment("v206")
.addPathSegment("users")
.addPathSegment(((LabelFieldSet)fieldSet).getUserId())
.addPathSegment("labels")
diff --git a/src/main/java/com/siftscience/ScoreRequest.java b/src/main/java/com/siftscience/ScoreRequest.java
index 1c716358..1517e347 100644
--- a/src/main/java/com/siftscience/ScoreRequest.java
+++ b/src/main/java/com/siftscience/ScoreRequest.java
@@ -38,7 +38,7 @@ ScoreResponse buildResponse(Response response, FieldSet requestFields)
@Override
protected HttpUrl path(HttpUrl baseUrl) {
ScoreFieldSet scoreFieldSet = (ScoreFieldSet)fieldSet;
- HttpUrl.Builder builder = baseUrl.newBuilder().addPathSegment("v205");
+ HttpUrl.Builder builder = baseUrl.newBuilder().addPathSegment("v206");
builder.addPathSegment("score").addPathSegment(scoreFieldSet.getUserId())
.addQueryParameter("api_key", scoreFieldSet.getApiKey());
if (scoreFieldSet.getAbuseTypes() != null && scoreFieldSet.getAbuseTypes().size() > 0) {
diff --git a/src/main/java/com/siftscience/UnlabelRequest.java b/src/main/java/com/siftscience/UnlabelRequest.java
index bf273ce1..42c2cfda 100644
--- a/src/main/java/com/siftscience/UnlabelRequest.java
+++ b/src/main/java/com/siftscience/UnlabelRequest.java
@@ -23,7 +23,7 @@ public class UnlabelRequest extends SiftRequest {
protected HttpUrl path(HttpUrl baseUrl) {
UnlabelFieldSet unlabelFields = (UnlabelFieldSet)fieldSet;
HttpUrl.Builder builder = baseUrl.newBuilder()
- .addPathSegment("v205")
+ .addPathSegment("v206")
.addPathSegment("users")
.addPathSegment(unlabelFields.getUserId())
.addPathSegment("labels");
diff --git a/src/main/java/com/siftscience/UserScoreRequest.java b/src/main/java/com/siftscience/UserScoreRequest.java
index 8ef5f60d..4c754259 100644
--- a/src/main/java/com/siftscience/UserScoreRequest.java
+++ b/src/main/java/com/siftscience/UserScoreRequest.java
@@ -48,7 +48,7 @@ EntityScoreResponse buildResponse(Response response, FieldSet requestFields)
@Override
protected HttpUrl path(HttpUrl baseUrl) {
UserScoreFieldSet userScoreFieldSet = (UserScoreFieldSet)fieldSet;
- HttpUrl.Builder builder = baseUrl.newBuilder().addPathSegment("v205");
+ HttpUrl.Builder builder = baseUrl.newBuilder().addPathSegment("v206");
builder.addPathSegment("users")
.addPathSegment(userScoreFieldSet.getUserId())
.addPathSegment("score")
diff --git a/src/main/java/com/siftscience/model/Ach.java b/src/main/java/com/siftscience/model/Ach.java
new file mode 100644
index 00000000..35edcfb5
--- /dev/null
+++ b/src/main/java/com/siftscience/model/Ach.java
@@ -0,0 +1,48 @@
+package com.siftscience.model;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class Ach {
+ @Expose @SerializedName("$ach_type") private String achType;
+ @Expose @SerializedName("$routing_number") private String routingNumber;
+ @Expose @SerializedName("$account_number") private String accountNumber;
+ @Expose @SerializedName("$account_holder_name") private String accountHolderName;
+
+ public String getAchType() {
+ return achType;
+ }
+
+ public Ach setAchType(String achType) {
+ this.achType = achType;
+ return this;
+ }
+
+ public String getRoutingNumber() {
+ return routingNumber;
+ }
+
+ public Ach setRoutingNumber(String routingNumber) {
+ this.routingNumber = routingNumber;
+ return this;
+ }
+
+ public String getAccountNumber() {
+ return accountNumber;
+ }
+
+ public Ach setAccountNumber(String accountNumber) {
+ this.accountNumber = accountNumber;
+ return this;
+ }
+
+ public String getAccountHolderName() {
+ return accountHolderName;
+ }
+
+ public Ach setAccountHolderName(String accountHolderName) {
+ this.accountHolderName = accountHolderName;
+ return this;
+ }
+
+}
diff --git a/src/main/java/com/siftscience/model/PaymentMethod.java b/src/main/java/com/siftscience/model/PaymentMethod.java
index e95e87eb..0b875070 100644
--- a/src/main/java/com/siftscience/model/PaymentMethod.java
+++ b/src/main/java/com/siftscience/model/PaymentMethod.java
@@ -26,6 +26,9 @@ public class PaymentMethod {
@Expose @SerializedName("$stripe_address_zip_check") private String stripeAddressZipCheck;
@Expose @SerializedName("$stripe_funding") private String stripeFunding;
@Expose @SerializedName("$stripe_brand") private String stripeBrand;
+ @Expose @SerializedName("$ach") private Ach ach;
+ @Expose @SerializedName("$sepa") private Sepa sepa;
+ @Expose @SerializedName("$wire") private Wire wire;
public String getPaymentType() {
return paymentType;
@@ -215,4 +218,31 @@ public PaymentMethod setStripeBrand(String stripeBrand) {
this.stripeBrand = stripeBrand;
return this;
}
+
+ public Ach getAch() {
+ return ach;
+ }
+
+ public PaymentMethod setAch(Ach ach) {
+ this.ach = ach;
+ return this;
+ }
+
+ public Sepa getSepa() {
+ return sepa;
+ }
+
+ public PaymentMethod setSepa(Sepa sepa) {
+ this.sepa = sepa;
+ return this;
+ }
+
+ public Wire getWire() {
+ return wire;
+ }
+
+ public PaymentMethod setWire(Wire wire) {
+ this.wire = wire;
+ return this;
+ }
}
diff --git a/src/main/java/com/siftscience/model/Sepa.java b/src/main/java/com/siftscience/model/Sepa.java
new file mode 100644
index 00000000..5639b40e
--- /dev/null
+++ b/src/main/java/com/siftscience/model/Sepa.java
@@ -0,0 +1,58 @@
+package com.siftscience.model;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class Sepa {
+
+ @Expose @SerializedName("$sepa_type") private String sepaType;
+ @Expose @SerializedName("$account_holder_name") private String accountHolderName;
+ @Expose @SerializedName("$shortened_iban") private String shortenedIban;
+ @Expose @SerializedName("$bic") private String bic;
+ @Expose @SerializedName("$mandate_id") private String mandateId;
+
+ public String getSepaType() {
+ return sepaType;
+ }
+
+ public Sepa setSepaType(String sepaType) {
+ this.sepaType = sepaType;
+ return this;
+ }
+
+ public String getAccountHolderName() {
+ return accountHolderName;
+ }
+
+ public Sepa setAccountHolderName(String accountHolderName) {
+ this.accountHolderName = accountHolderName;
+ return this;
+ }
+
+ public String getShortenedIban() {
+ return shortenedIban;
+ }
+
+ public Sepa setShortenedIban(String iban) {
+ this.shortenedIban = iban;
+ return this;
+ }
+
+ public String getBic() {
+ return bic;
+ }
+
+ public Sepa setBic(String bic) {
+ this.bic = bic;
+ return this;
+ }
+
+ public String getMandateId() {
+ return mandateId;
+ }
+
+ public Sepa setMandateId(String mandateId) {
+ this.mandateId = mandateId;
+ return this;
+ }
+}
diff --git a/src/main/java/com/siftscience/model/Wire.java b/src/main/java/com/siftscience/model/Wire.java
new file mode 100644
index 00000000..3daa818e
--- /dev/null
+++ b/src/main/java/com/siftscience/model/Wire.java
@@ -0,0 +1,88 @@
+package com.siftscience.model;
+
+import com.google.gson.annotations.Expose;
+import com.google.gson.annotations.SerializedName;
+
+public class Wire {
+
+ @Expose @SerializedName("$wire_type") private String wireType;
+ @Expose @SerializedName("$account_holder_name") private String accountHolderName;
+ @Expose @SerializedName("$account_number") private String accountNumber;
+ @Expose @SerializedName("$bank_name") private String bankName;
+ @Expose @SerializedName("$bank_country") private String bankCountry;
+ @Expose @SerializedName("$routing_number") private String routingNumber;
+ @Expose @SerializedName("$swift_id") private String swiftId;
+ @Expose @SerializedName("$bic") private String bic;
+
+ public String getWireType() {
+ return wireType;
+ }
+
+ public Wire setWireType(String wireType) {
+ this.wireType = wireType;
+ return this;
+ }
+
+ public String getAccountHolderName() {
+ return accountHolderName;
+ }
+
+ public Wire setAccountHolderName(String accountHolderName) {
+ this.accountHolderName = accountHolderName;
+ return this;
+ }
+
+ public String getAccountNumber() {
+ return accountNumber;
+ }
+
+ public Wire setAccountNumber(String accountNumber) {
+ this.accountNumber = accountNumber;
+ return this;
+ }
+
+ public String getBankName() {
+ return bankName;
+ }
+
+ public Wire setBankName(String bankName) {
+ this.bankName = bankName;
+ return this;
+ }
+
+ public String getBankCountry() {
+ return bankCountry;
+ }
+
+ public Wire setBankCountry(String bankCountry) {
+ this.bankCountry = bankCountry;
+ return this;
+ }
+
+ public String getRoutingNumber() {
+ return routingNumber;
+ }
+
+ public Wire setRoutingNumber(String routingNumber) {
+ this.routingNumber = routingNumber;
+ return this;
+ }
+
+ public String getSwiftId() {
+ return swiftId;
+ }
+
+ public Wire setSwiftId(String swiftId) {
+ this.swiftId = swiftId;
+ return this;
+ }
+
+ public String getBic() {
+ return bic;
+ }
+
+ public Wire setBic(String bic) {
+ this.bic = bic;
+ return this;
+ }
+}
\ No newline at end of file
diff --git a/src/test/java/com/siftscience/AddItemToCartEventTest.java b/src/test/java/com/siftscience/AddItemToCartEventTest.java
index 708d15bd..bee838ae 100644
--- a/src/test/java/com/siftscience/AddItemToCartEventTest.java
+++ b/src/test/java/com/siftscience/AddItemToCartEventTest.java
@@ -66,7 +66,7 @@ public void testAddItemToCart() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/AddPromotionEventTest.java b/src/test/java/com/siftscience/AddPromotionEventTest.java
index b7570bae..ccae9d1d 100644
--- a/src/test/java/com/siftscience/AddPromotionEventTest.java
+++ b/src/test/java/com/siftscience/AddPromotionEventTest.java
@@ -69,7 +69,7 @@ public void testAddPromotion() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/BaseAppBrowserSiteBrandFieldSetTest.java b/src/test/java/com/siftscience/BaseAppBrowserSiteBrandFieldSetTest.java
index 430c1698..d1754224 100644
--- a/src/test/java/com/siftscience/BaseAppBrowserSiteBrandFieldSetTest.java
+++ b/src/test/java/com/siftscience/BaseAppBrowserSiteBrandFieldSetTest.java
@@ -218,7 +218,7 @@ private void test(TestFieldSet t, String expectedRequestBody) throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/ChargebackEventTest.java b/src/test/java/com/siftscience/ChargebackEventTest.java
index 466950a3..386d95ee 100644
--- a/src/test/java/com/siftscience/ChargebackEventTest.java
+++ b/src/test/java/com/siftscience/ChargebackEventTest.java
@@ -57,7 +57,7 @@ public void testChargeback() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/ContentEventTest.java b/src/test/java/com/siftscience/ContentEventTest.java
index ac4e2831..cdefe88f 100644
--- a/src/test/java/com/siftscience/ContentEventTest.java
+++ b/src/test/java/com/siftscience/ContentEventTest.java
@@ -110,7 +110,7 @@ public void testCreateComment() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -236,7 +236,7 @@ public void testCreateListing() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -318,7 +318,7 @@ public void testCreateMessage() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -417,7 +417,7 @@ public void testCreateProfile() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -533,7 +533,7 @@ public void testCreatePost() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -633,7 +633,7 @@ public void testCreateReview() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -719,7 +719,7 @@ public void testUpdateComment() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -845,7 +845,7 @@ public void testUpdateListing() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -931,7 +931,7 @@ public void testUpdateMessage() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -1030,7 +1030,7 @@ public void testUpdateProfile() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -1146,7 +1146,7 @@ public void testUpdatePost() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -1246,7 +1246,7 @@ public void testUpdateReview() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/ContentStatusEventTest.java b/src/test/java/com/siftscience/ContentStatusEventTest.java
index 2980fb04..7287923f 100644
--- a/src/test/java/com/siftscience/ContentStatusEventTest.java
+++ b/src/test/java/com/siftscience/ContentStatusEventTest.java
@@ -53,7 +53,7 @@ public void testContentStatus() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/CreateAccountEventTest.java b/src/test/java/com/siftscience/CreateAccountEventTest.java
index 19f0bd6f..aebca028 100644
--- a/src/test/java/com/siftscience/CreateAccountEventTest.java
+++ b/src/test/java/com/siftscience/CreateAccountEventTest.java
@@ -134,7 +134,7 @@ public void testCreateAccount() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/CreateOrderEventWithBookingsTest.java b/src/test/java/com/siftscience/CreateOrderEventWithBookingsTest.java
index 56eb8056..ea4423bf 100644
--- a/src/test/java/com/siftscience/CreateOrderEventWithBookingsTest.java
+++ b/src/test/java/com/siftscience/CreateOrderEventWithBookingsTest.java
@@ -206,7 +206,7 @@ public void testCreateOrderEvent() throws JSONException, IOException,
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/CreateOrderEventWithItemsTest.java b/src/test/java/com/siftscience/CreateOrderEventWithItemsTest.java
index b64a5d98..08bb4c79 100644
--- a/src/test/java/com/siftscience/CreateOrderEventWithItemsTest.java
+++ b/src/test/java/com/siftscience/CreateOrderEventWithItemsTest.java
@@ -174,7 +174,7 @@ public void testCreateOrderEvent() throws JSONException, IOException,
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/CreateOrderEventWithSiteBrandOrderedFromFieldsTest.java b/src/test/java/com/siftscience/CreateOrderEventWithSiteBrandOrderedFromFieldsTest.java
index 41d76d39..182d86ad 100644
--- a/src/test/java/com/siftscience/CreateOrderEventWithSiteBrandOrderedFromFieldsTest.java
+++ b/src/test/java/com/siftscience/CreateOrderEventWithSiteBrandOrderedFromFieldsTest.java
@@ -127,7 +127,7 @@ public void testCreateOrderEvent() throws JSONException, IOException,
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/CustomEventTest.java b/src/test/java/com/siftscience/CustomEventTest.java
index 0efaebd9..63d65304 100644
--- a/src/test/java/com/siftscience/CustomEventTest.java
+++ b/src/test/java/com/siftscience/CustomEventTest.java
@@ -59,7 +59,7 @@ public void testCustomEvent() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/FlagContentEventTest.java b/src/test/java/com/siftscience/FlagContentEventTest.java
index a06a0ccd..22fa6109 100644
--- a/src/test/java/com/siftscience/FlagContentEventTest.java
+++ b/src/test/java/com/siftscience/FlagContentEventTest.java
@@ -54,7 +54,7 @@ public void testFlagContent() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/LabelTest.java b/src/test/java/com/siftscience/LabelTest.java
index 885af2c4..40540009 100644
--- a/src/test/java/com/siftscience/LabelTest.java
+++ b/src/test/java/com/siftscience/LabelTest.java
@@ -58,7 +58,7 @@ public void testLabel() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/users/billy_jones_301/labels", request1.getPath());
+ Assert.assertEquals("/v206/users/billy_jones_301/labels", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/LinkSessionToUserEventTest.java b/src/test/java/com/siftscience/LinkSessionToUserEventTest.java
index 63ca5f98..48a99164 100644
--- a/src/test/java/com/siftscience/LinkSessionToUserEventTest.java
+++ b/src/test/java/com/siftscience/LinkSessionToUserEventTest.java
@@ -50,7 +50,7 @@ public void testLinkSessionToUser() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/LoginEventTest.java b/src/test/java/com/siftscience/LoginEventTest.java
index ea08e754..fc5c1953 100644
--- a/src/test/java/com/siftscience/LoginEventTest.java
+++ b/src/test/java/com/siftscience/LoginEventTest.java
@@ -72,7 +72,7 @@ public void testLoginWithApp() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -130,7 +130,7 @@ public void testLoginWithBrowswer() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/LogoutEventTest.java b/src/test/java/com/siftscience/LogoutEventTest.java
index 7a535422..027ebcba 100644
--- a/src/test/java/com/siftscience/LogoutEventTest.java
+++ b/src/test/java/com/siftscience/LogoutEventTest.java
@@ -48,7 +48,7 @@ public void testLogout() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/OrderStatusEventTest.java b/src/test/java/com/siftscience/OrderStatusEventTest.java
index 001e23ca..e86f9178 100644
--- a/src/test/java/com/siftscience/OrderStatusEventTest.java
+++ b/src/test/java/com/siftscience/OrderStatusEventTest.java
@@ -63,7 +63,7 @@ public void testOrderStatus() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/RemoveItemFromCartEventTest.java b/src/test/java/com/siftscience/RemoveItemFromCartEventTest.java
index 062c4d12..bfa97f15 100644
--- a/src/test/java/com/siftscience/RemoveItemFromCartEventTest.java
+++ b/src/test/java/com/siftscience/RemoveItemFromCartEventTest.java
@@ -65,7 +65,7 @@ public void testRemoveItemFromCart() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/ScoresTest.java b/src/test/java/com/siftscience/ScoresTest.java
index 4415d537..f7293e8f 100644
--- a/src/test/java/com/siftscience/ScoresTest.java
+++ b/src/test/java/com/siftscience/ScoresTest.java
@@ -89,7 +89,7 @@ public void testSynchronousScores() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events?return_score=true&abuse_types=" +
+ Assert.assertEquals("/v206/events?return_score=true&abuse_types=" +
"payment_abuse,promotion_abuse", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
@@ -175,7 +175,7 @@ public void testSynchronousScoresWithNoAbuseTypes() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events?return_score=true", request1.getPath());
+ Assert.assertEquals("/v206/events?return_score=true", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -252,7 +252,7 @@ public void testScoresAPI() throws IOException, InterruptedException, JSONExcept
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("GET", request1.getMethod());
- Assert.assertEquals("/v205/score/billy_jones_301?api_key=YOUR_API_KEY&" +
+ Assert.assertEquals("/v206/score/billy_jones_301?api_key=YOUR_API_KEY&" +
"abuse_types=payment_abuse,promotion_abuse", request1.getPath());
// Verify the response.
diff --git a/src/test/java/com/siftscience/SecurityNotificationEventTest.java b/src/test/java/com/siftscience/SecurityNotificationEventTest.java
index 4df2a14e..aa9e16b2 100644
--- a/src/test/java/com/siftscience/SecurityNotificationEventTest.java
+++ b/src/test/java/com/siftscience/SecurityNotificationEventTest.java
@@ -64,7 +64,7 @@ public void testSecurityNotification() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/TestUtils.java b/src/test/java/com/siftscience/TestUtils.java
index 3afc6ea2..31f884d6 100644
--- a/src/test/java/com/siftscience/TestUtils.java
+++ b/src/test/java/com/siftscience/TestUtils.java
@@ -1,5 +1,6 @@
package com.siftscience;
+import com.siftscience.model.Ach;
import com.siftscience.model.Address;
import com.siftscience.model.Booking;
import com.siftscience.model.CreditPoint;
@@ -10,6 +11,8 @@
import com.siftscience.model.PaymentMethod;
import com.siftscience.model.Promotion;
import com.siftscience.model.Segment;
+import com.siftscience.model.Sepa;
+import com.siftscience.model.Wire;
import java.util.ArrayList;
import java.util.List;
@@ -66,6 +69,21 @@ static PaymentMethod samplePaymentMethod2() {
.setCardLast4("4444");
}
+ static PaymentMethod samplePaymentMethodWithAch() {
+ return new PaymentMethod()
+ .setAch(sampleAch());
+ }
+
+ static PaymentMethod samplePaymentMethodWithSepa() {
+ return new PaymentMethod()
+ .setSepa(sampleSepa());
+ }
+
+ static PaymentMethod samplePaymentMethodWithWire() {
+ return new PaymentMethod()
+ .setWire(sampleWire());
+ }
+
static List sampleTags1() {
List tags = new ArrayList<>();
tags.add("Popcorn");
@@ -222,4 +240,32 @@ static List sampleCategories() {
categories.add("2 Bedrooms");
return categories;
}
+
+ static Ach sampleAch() {
+ return new Ach()
+ .setAchType("$credit")
+ .setRoutingNumber("072403005")
+ .setAccountNumber("12345")
+ .setAccountHolderName("Jane Doe");
+ }
+
+ static Sepa sampleSepa() {
+ return new Sepa()
+ .setSepaType("$instant_credit")
+ .setAccountHolderName("John Doe")
+ .setShortenedIban("FR76300060")
+ .setBic("testtest1")
+ .setMandateId("mandate_id");
+ }
+
+ static Wire sampleWire() {
+ return new Wire()
+ .setWireType("$credit")
+ .setAccountHolderName("John Doe")
+ .setAccountNumber("12345")
+ .setBankName("Chase")
+ .setBankCountry("US")
+ .setBic("CHASUS88");
+ }
+
}
diff --git a/src/test/java/com/siftscience/TransactionEventTest.java b/src/test/java/com/siftscience/TransactionEventTest.java
index 4b05234b..c013f8d5 100644
--- a/src/test/java/com/siftscience/TransactionEventTest.java
+++ b/src/test/java/com/siftscience/TransactionEventTest.java
@@ -128,7 +128,79 @@ public void testTransactionEvent() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
+ JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
+
+ // Verify the response.
+ Assert.assertEquals(HTTP_OK, siftResponse.getHttpStatusCode());
+ Assert.assertEquals(0, (int) siftResponse.getBody().getStatus());
+ JSONAssert.assertEquals(response.getBody().readUtf8(),
+ siftResponse.getBody().toJson(), true);
+ server.shutdown();
+ }
+
+ @Test
+ public void testTransactionEventWithSepaPaymentMethod() throws Exception {
+ String expectedRequestBody = "{\n" +
+ " \"$type\" : \"$transaction\",\n" +
+ " \"$api_key\" : \"YOUR_API_KEY\",\n" +
+ " \"$user_id\" : \"billy_jones_301\",\n" +
+ " \"$amount\" : 506790000,\n" +
+ " \"$currency_code\" : \"USD\",\n" +
+ "\n" +
+ " \"$user_email\" : \"bill@gmail.com\",\n" +
+ " \"$transaction_type\" : \"$sale\",\n" +
+ " \"$transaction_status\" : \"$success\",\n" +
+ " \"$order_id\" : \"ORDER-123124124\",\n" +
+ " \"$transaction_id\" : \"719637215\",\n" +
+ "\n" +
+ " \"$payment_method\" : {\n" +
+ " \"$sepa\" : {\n" +
+ " \"$sepa_type\" : \"$instant_credit\",\n" +
+ " \"$account_holder_name\" : \"John Doe\",\n" +
+ " \"$shortened_iban\" : \"FR76300060\",\n" +
+ " \"$bic\" : \"testtest1\",\n" +
+ " \"$mandate_id\" : \"mandate_id\",\n" +
+ " }\n" +
+ " },\n" +
+ "}";
+
+ // Start a new mock server and enqueue a mock response.
+ MockWebServer server = new MockWebServer();
+ MockResponse response = new MockResponse();
+ response.setResponseCode(HTTP_OK);
+ response.setBody("{\n" +
+ " \"status\" : 0,\n" +
+ " \"error_message\" : \"OK\",\n" +
+ " \"time\" : 1327604222,\n" +
+ " \"request\" : \"" + TestUtils.unescapeJson(expectedRequestBody) + "\"\n" +
+ "}");
+ server.enqueue(response);
+ server.start();
+
+ // Create a new client and link it to the mock server.
+ SiftClient client = new SiftClient("YOUR_API_KEY", "YOUR_ACCOUNT_ID",
+ new OkHttpClient.Builder()
+ .addInterceptor(OkHttpUtils.urlRewritingInterceptor(server))
+ .build());
+
+ // Build and execute the request against the mock server.
+ EventRequest request = client.buildRequest(new TransactionFieldSet()
+ .setUserId("billy_jones_301")
+ .setAmount(506790000L)
+ .setCurrencyCode("USD")
+ .setUserEmail("bill@gmail.com")
+ .setTransactionType("$sale")
+ .setTransactionStatus("$success")
+ .setOrderId("ORDER-123124124")
+ .setTransactionId("719637215")
+ .setPaymentMethod(TestUtils.samplePaymentMethodWithSepa()));
+ EventResponse siftResponse = request.send();
+
+ // Verify the request.
+ RecordedRequest request1 = server.takeRequest();
+ Assert.assertEquals("POST", request1.getMethod());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
@@ -136,11 +208,212 @@ public void testTransactionEvent() throws Exception {
Assert.assertEquals(0, (int) siftResponse.getBody().getStatus());
JSONAssert.assertEquals(response.getBody().readUtf8(),
siftResponse.getBody().toJson(), true);
-// EventResponseBody ff = siftResponse.getBody();
-// siftResponse.getRequestBody()
-// siftResponse.getBody().getApiErrorMessage();
-// siftResponse.getApiErrorMessage();
server.shutdown();
}
+
+ @Test
+ public void testTransactionEventWithAch() throws Exception {
+ String expectedRequestBody = "{\n" +
+ " \"$type\" : \"$transaction\",\n" +
+ " \"$api_key\" : \"YOUR_API_KEY\",\n" +
+ " \"$user_id\" : \"billy_jones_301\",\n" +
+ " \"$amount\" : 506790000,\n" +
+ " \"$currency_code\" : \"USD\",\n" +
+ "\n" +
+ " \"$user_email\" : \"bill@gmail.com\",\n" +
+ " \"$transaction_type\" : \"$sale\",\n" +
+ " \"$transaction_status\" : \"$failure\",\n" +
+ " \"$order_id\" : \"ORDER-123124124\",\n" +
+ " \"$transaction_id\" : \"719637215\",\n" +
+ " \"$decline_category\" : \"$lost\",\n" +
+ " \"$site_country\": \"US\",\n" +
+ " \"$site_domain\": \"sift.com\",\n" +
+ " \"$brand_name\": \"sift\",\n" +
+ " \"$ordered_from\" : {\n" +
+ " \"$store_id\" : \"123\",\n" +
+ " \"$store_address\" : {\n" +
+ " \"$address_1\" : \"2100 Main Street\",\n" +
+ " \"$address_2\" : \"Apt 3B\",\n" +
+ " \"$city\" : \"New London\",\n" +
+ " \"$country\" : \"US\",\n" +
+ " \"$name\" : \"Bill Jones\",\n" +
+ " \"$phone\" : \"1-415-555-6040\",\n" +
+ " \"$region\" : \"New Hampshire\",\n" +
+ " \"$zipcode\" : \"03257\"\n" +
+ " }\n" +
+ " },\n" +
+ "\n" +
+ " \"$billing_address\" : {\n" +
+ " \"$name\" : \"Bill Jones\",\n" +
+ " \"$phone\" : \"1-415-555-6041\",\n" +
+ " \"$address_1\" : \"2100 Main Street\",\n" +
+ " \"$address_2\" : \"Apt 3B\",\n" +
+ " \"$city\" : \"New London\",\n" +
+ " \"$region\" : \"New Hampshire\",\n" +
+ " \"$country\" : \"US\",\n" +
+ " \"$zipcode\" : \"03257\"\n" +
+ " },\n" +
+ " \"$payment_method\" : {\n" +
+ " \"$ach\" : {\n" +
+ " \"$ach_type\" : \"$credit\",\n" +
+ " \"$routing_number\" : \"072403005\",\n" +
+ " \"$account_number\" : \"12345\",\n" +
+ " \"$account_holder_name\" : \"Jane Doe\"\n" +
+ " }\n" +
+ " },\n" +
+ " \"$shipping_address\" : {\n" +
+ " \"$name\" : \"Bill Jones\",\n" +
+ " \"$phone\" : \"1-415-555-6041\",\n" +
+ " \"$address_1\" : \"2100 Main Street\",\n" +
+ " \"$address_2\" : \"Apt 3B\",\n" +
+ " \"$city\" : \"New London\",\n" +
+ " \"$region\" : \"New Hampshire\",\n" +
+ " \"$country\" : \"US\",\n" +
+ " \"$zipcode\" : \"03257\"\n" +
+ " },\n" +
+ " \"$session_id\" : \"gigtleqddo84l8cm15qe4il\",\n" +
+ "\n" +
+ " \"$seller_user_id\" : \"slinkys_emporium\",\n" +
+ "\n" +
+ " \"digital_wallet\" : \"apple_pay\",\n" +
+ " \"coupon_code\" : \"dollarMadness\",\n" +
+ " \"shipping_choice\" : \"FedEx Ground Courier\",\n" +
+ " \"is_first_time_buyer\" : false\n" +
+ "}";
+
+ // Start a new mock server and enqueue a mock response.
+ MockWebServer server = new MockWebServer();
+ MockResponse response = new MockResponse();
+ response.setResponseCode(HTTP_OK);
+ response.setBody("{\n" +
+ " \"status\" : 0,\n" +
+ " \"error_message\" : \"OK\",\n" +
+ " \"time\" : 1327604222,\n" +
+ " \"request\" : \"" + TestUtils.unescapeJson(expectedRequestBody) + "\"\n" +
+ "}");
+ server.enqueue(response);
+ server.start();
+
+ // Create a new client and link it to the mock server.
+ SiftClient client = new SiftClient("YOUR_API_KEY", "YOUR_ACCOUNT_ID",
+ new OkHttpClient.Builder()
+ .addInterceptor(OkHttpUtils.urlRewritingInterceptor(server))
+ .build());
+
+ // Build and execute the request against the mock server.
+ EventRequest request = client.buildRequest(new TransactionFieldSet()
+ .setUserId("billy_jones_301")
+ .setAmount(506790000L)
+ .setCurrencyCode("USD")
+ .setUserEmail("bill@gmail.com")
+ .setTransactionType("$sale")
+ .setTransactionStatus("$failure")
+ .setDeclineCategory("$lost")
+ .setSiteCountry("US")
+ .setSiteDomain("sift.com")
+ .setBrandName("sift")
+ .setOrderId("ORDER-123124124")
+ .setTransactionId("719637215")
+ .setBillingAddress(TestUtils.sampleAddress2())
+ .setPaymentMethod(TestUtils.samplePaymentMethodWithAch())
+ .setShippingAddress(TestUtils.sampleAddress2())
+ .setOrderedFrom(TestUtils.sampleOrderedFrom())
+ .setSessionId("gigtleqddo84l8cm15qe4il")
+ .setSellerUserId("slinkys_emporium")
+ .setCustomField("digital_wallet", "apple_pay")
+ .setCustomField("coupon_code", "dollarMadness")
+ .setCustomField("shipping_choice", "FedEx Ground Courier")
+ .setCustomField("is_first_time_buyer", false));
+ EventResponse siftResponse = request.send();
+
+ // Verify the request.
+ RecordedRequest request1 = server.takeRequest();
+ Assert.assertEquals("POST", request1.getMethod());
+ Assert.assertEquals("/v206/events", request1.getPath());
+ JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
+
+ // Verify the response.
+ Assert.assertEquals(HTTP_OK, siftResponse.getHttpStatusCode());
+ Assert.assertEquals(0, (int) siftResponse.getBody().getStatus());
+ JSONAssert.assertEquals(response.getBody().readUtf8(),
+ siftResponse.getBody().toJson(), true);
+
+ server.shutdown();
+ }
+
+ @Test
+ public void testTransactionEventWithWirePaymentMethod() throws Exception {
+ String expectedRequestBody = "{\n" +
+ " \"$type\" : \"$transaction\",\n" +
+ " \"$api_key\" : \"YOUR_API_KEY\",\n" +
+ " \"$user_id\" : \"billy_jones_301\",\n" +
+ " \"$amount\" : 506790000,\n" +
+ " \"$currency_code\" : \"USD\",\n" +
+ "\n" +
+ " \"$user_email\" : \"bill@gmail.com\",\n" +
+ " \"$transaction_type\" : \"$sale\",\n" +
+ " \"$transaction_status\" : \"$success\",\n" +
+ " \"$order_id\" : \"ORDER-123124124\",\n" +
+ " \"$transaction_id\" : \"719637215\",\n" +
+ "\n" +
+ " \"$payment_method\" : {\n" +
+ " \"$wire\" : {\n" +
+ " \"$wire_type\" : \"$credit\",\n" +
+ " \"$account_holder_name\" : \"John Doe\",\n" +
+ " \"$account_number\" : \"12345\",\n" +
+ " \"$bank_name\" : \"Chase\",\n" +
+ " \"$bank_country\" : \"US\",\n" +
+ " \"$bic\" : \"CHASUS88\",\n" +
+ " }\n" +
+ " },\n" +
+ "}";
+
+ // Start a new mock server and enqueue a mock response.
+ MockWebServer server = new MockWebServer();
+ MockResponse response = new MockResponse();
+ response.setResponseCode(HTTP_OK);
+ response.setBody("{\n" +
+ " \"status\" : 0,\n" +
+ " \"error_message\" : \"OK\",\n" +
+ " \"time\" : 1327604222,\n" +
+ " \"request\" : \"" + TestUtils.unescapeJson(expectedRequestBody) + "\"\n" +
+ "}");
+ server.enqueue(response);
+ server.start();
+
+ // Create a new client and link it to the mock server.
+ SiftClient client = new SiftClient("YOUR_API_KEY", "YOUR_ACCOUNT_ID",
+ new OkHttpClient.Builder()
+ .addInterceptor(OkHttpUtils.urlRewritingInterceptor(server))
+ .build());
+
+ // Build and execute the request against the mock server.
+ EventRequest request = client.buildRequest(new TransactionFieldSet()
+ .setUserId("billy_jones_301")
+ .setAmount(506790000L)
+ .setCurrencyCode("USD")
+ .setUserEmail("bill@gmail.com")
+ .setTransactionType("$sale")
+ .setTransactionStatus("$success")
+ .setOrderId("ORDER-123124124")
+ .setTransactionId("719637215")
+ .setPaymentMethod(TestUtils.samplePaymentMethodWithWire()));
+ EventResponse siftResponse = request.send();
+
+ // Verify the request.
+ RecordedRequest request1 = server.takeRequest();
+ Assert.assertEquals("POST", request1.getMethod());
+ Assert.assertEquals("/v206/events", request1.getPath());
+ JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
+
+ // Verify the response.
+ Assert.assertEquals(HTTP_OK, siftResponse.getHttpStatusCode());
+ Assert.assertEquals(0, (int) siftResponse.getBody().getStatus());
+ JSONAssert.assertEquals(response.getBody().readUtf8(),
+ siftResponse.getBody().toJson(), true);
+
+ server.shutdown();
+ }
+
}
diff --git a/src/test/java/com/siftscience/UnlabelTest.java b/src/test/java/com/siftscience/UnlabelTest.java
index c3831ec2..661f3004 100644
--- a/src/test/java/com/siftscience/UnlabelTest.java
+++ b/src/test/java/com/siftscience/UnlabelTest.java
@@ -36,7 +36,7 @@ public void testUnlabel() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("DELETE", request1.getMethod());
- Assert.assertEquals("/v205/users/billy_jones_301/labels?api_key=YOUR_API_KEY" +
+ Assert.assertEquals("/v206/users/billy_jones_301/labels?api_key=YOUR_API_KEY" +
"&abuse_type=payment_abuse", request1.getPath());
// Verify the response.
@@ -70,7 +70,7 @@ public void testUnlabelAllAbuseTypes() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("DELETE", request1.getMethod());
- Assert.assertEquals("/v205/users/billy_jones_301/labels?api_key=YOUR_API_KEY",
+ Assert.assertEquals("/v206/users/billy_jones_301/labels?api_key=YOUR_API_KEY",
request1.getPath());
// Verify the response.
diff --git a/src/test/java/com/siftscience/UpdateAccountEventTest.java b/src/test/java/com/siftscience/UpdateAccountEventTest.java
index 41f7ea2c..19291f9e 100644
--- a/src/test/java/com/siftscience/UpdateAccountEventTest.java
+++ b/src/test/java/com/siftscience/UpdateAccountEventTest.java
@@ -106,7 +106,7 @@ public void testUpdateAccount() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/UpdateOrderEventWithBookingsTest.java b/src/test/java/com/siftscience/UpdateOrderEventWithBookingsTest.java
index 4850abed..1cf18c57 100644
--- a/src/test/java/com/siftscience/UpdateOrderEventWithBookingsTest.java
+++ b/src/test/java/com/siftscience/UpdateOrderEventWithBookingsTest.java
@@ -205,7 +205,7 @@ public void testUpdateOrderEvent() throws JSONException, IOException, Interrupte
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/UpdateOrderEventWithItemsTest.java b/src/test/java/com/siftscience/UpdateOrderEventWithItemsTest.java
index 3e5299c4..c2403d84 100644
--- a/src/test/java/com/siftscience/UpdateOrderEventWithItemsTest.java
+++ b/src/test/java/com/siftscience/UpdateOrderEventWithItemsTest.java
@@ -174,7 +174,7 @@ public void testUpdateOrderEvent() throws JSONException, IOException, Interrupte
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/UpdateOrderEventWithSiteBrandOrderedFromFieldsTest.java b/src/test/java/com/siftscience/UpdateOrderEventWithSiteBrandOrderedFromFieldsTest.java
index 5f52ded0..6ea1c167 100644
--- a/src/test/java/com/siftscience/UpdateOrderEventWithSiteBrandOrderedFromFieldsTest.java
+++ b/src/test/java/com/siftscience/UpdateOrderEventWithSiteBrandOrderedFromFieldsTest.java
@@ -127,7 +127,7 @@ public void testUpdateOrderEvent() throws JSONException, IOException,
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/UpdatePasswordEventTest.java b/src/test/java/com/siftscience/UpdatePasswordEventTest.java
index 71bbeff0..26cd4a7d 100644
--- a/src/test/java/com/siftscience/UpdatePasswordEventTest.java
+++ b/src/test/java/com/siftscience/UpdatePasswordEventTest.java
@@ -76,7 +76,7 @@ public void testUpdatePassword() throws Exception {
//Verify the request
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/UserScoreTest.java b/src/test/java/com/siftscience/UserScoreTest.java
index 6a7bfebb..349f457a 100644
--- a/src/test/java/com/siftscience/UserScoreTest.java
+++ b/src/test/java/com/siftscience/UserScoreTest.java
@@ -80,7 +80,7 @@ public void testGetUserScoreAPI() throws IOException, InterruptedException,
.setRescoreUser(false);
testUserScore(userScoreFieldSet,
- "/v205/users/billy_jones_301/score?api_key=YOUR_API_KEY");
+ "/v206/users/billy_jones_301/score?api_key=YOUR_API_KEY");
}
@Test
@@ -96,7 +96,7 @@ public void testGetUserScoreAPIWithAbuseTypes() throws IOException, InterruptedE
.setRescoreUser(false);
testUserScore(userScoreFieldSet,
- "/v205/users/billy_jones_301/score?api_key=YOUR_API_KEY&" +
+ "/v206/users/billy_jones_301/score?api_key=YOUR_API_KEY&" +
"abuse_types=payment_abuse,promotion_abuse");
}
@@ -109,7 +109,7 @@ public void testRescoreUserScoreAPI() throws IOException, InterruptedException,
.setRescoreUser(true);
testUserScore(userScoreFieldSet,
- "/v205/users/billy_jones_301/score?api_key=YOUR_API_KEY");
+ "/v206/users/billy_jones_301/score?api_key=YOUR_API_KEY");
}
@Test
@@ -125,7 +125,7 @@ public void testRescoreUserScoreAPIWithAbuseTypes() throws IOException, Interrup
.setRescoreUser(true);
testUserScore(userScoreFieldSet,
- "/v205/users/billy_jones_301/score?api_key=YOUR_API_KEY&" +
+ "/v206/users/billy_jones_301/score?api_key=YOUR_API_KEY&" +
"abuse_types=payment_abuse,promotion_abuse");
}
diff --git a/src/test/java/com/siftscience/VerificationEventTest.java b/src/test/java/com/siftscience/VerificationEventTest.java
index 5b07b9f1..9b7d949d 100644
--- a/src/test/java/com/siftscience/VerificationEventTest.java
+++ b/src/test/java/com/siftscience/VerificationEventTest.java
@@ -87,7 +87,7 @@ public void testVerification() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events", request1.getPath());
+ Assert.assertEquals("/v206/events", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);
// Verify the response.
diff --git a/src/test/java/com/siftscience/WorkflowStatusTest.java b/src/test/java/com/siftscience/WorkflowStatusTest.java
index d7e0ea5e..f836fb58 100644
--- a/src/test/java/com/siftscience/WorkflowStatusTest.java
+++ b/src/test/java/com/siftscience/WorkflowStatusTest.java
@@ -136,7 +136,7 @@ public void testSynchronousWorkflowStatus() throws Exception {
// Verify the request.
RecordedRequest request1 = server.takeRequest();
Assert.assertEquals("POST", request1.getMethod());
- Assert.assertEquals("/v205/events?return_workflow_status=true&abuse_types=" +
+ Assert.assertEquals("/v206/events?return_workflow_status=true&abuse_types=" +
"payment_abuse,promotion_abuse", request1.getPath());
JSONAssert.assertEquals(expectedRequestBody, request.getFieldSet().toJson(), true);