diff --git a/README.md b/README.md
index 2ab18296a9d..3368dee081d 100644
--- a/README.md
+++ b/README.md
@@ -17,14 +17,14 @@ Add this dependency to your project's POM:
com.stripe
stripe-java
- 1.0.9
+ RELEASE
### Others
You'll need to manually install the following JARs:
-* The Stripe JAR from https://code.stripe.com/stripe-java-1.0.9.jar
+* The Stripe JAR from https://code.stripe.com/stripe-java-latest.jar
* [Google Gson](http://code.google.com/p/google-gson/) from .
Usage
diff --git a/VERSION b/VERSION
index 66c4c2263e5..59e9e60491a 100644
--- a/VERSION
+++ b/VERSION
@@ -1 +1 @@
-1.0.9
+1.0.11
diff --git a/pom.xml b/pom.xml
index 200c4b5cbe6..1793f971e2d 100644
--- a/pom.xml
+++ b/pom.xml
@@ -4,7 +4,7 @@
com.stripe
stripe-java
jar
- 1.0.9
+ 1.0.11
stripe-java
https://github.com/stripe/stripe-java
diff --git a/src/main/java/com/stripe/Stripe.java b/src/main/java/com/stripe/Stripe.java
index 60956b710b5..c76bde49370 100644
--- a/src/main/java/com/stripe/Stripe.java
+++ b/src/main/java/com/stripe/Stripe.java
@@ -3,6 +3,6 @@
public abstract class Stripe
{
public static final String API_BASE = "https://api.stripe.com/v1";
- public static final String VERSION = "1.0.9";
+ public static final String VERSION = "1.0.11";
public static String apiKey;
}
diff --git a/src/main/java/com/stripe/model/Charge.java b/src/main/java/com/stripe/model/Charge.java
index 597daee0a43..92a69891e54 100644
--- a/src/main/java/com/stripe/model/Charge.java
+++ b/src/main/java/com/stripe/model/Charge.java
@@ -10,7 +10,7 @@ public class Charge extends APIResource {
Long created;
String currency;
String id;
- String livemode;
+ Boolean livemode;
Boolean paid;
Boolean refunded;
Integer fee;
@@ -50,11 +50,11 @@ public void setCurrency(String currency) {
this.currency = currency;
}
- public String getLivemode() {
+ public Boolean getLivemode() {
return livemode;
}
- public void setLivemode(String livemode) {
+ public void setLivemode(Boolean livemode) {
this.livemode = livemode;
}
diff --git a/src/main/java/com/stripe/model/Coupon.java b/src/main/java/com/stripe/model/Coupon.java
index 7ba3f6c7253..a4a6699545b 100644
--- a/src/main/java/com/stripe/model/Coupon.java
+++ b/src/main/java/com/stripe/model/Coupon.java
@@ -9,7 +9,7 @@ public class Coupon extends APIResource {
Integer percentOff;
String duration;
String id;
- String livemode;
+ Boolean livemode;
Integer durationInMonths;
Integer maxRedemptions;
Integer redeemBy;
@@ -54,11 +54,11 @@ public void setId(String id) {
this.id = id;
}
- public String getLivemode() {
+ public Boolean getLivemode() {
return livemode;
}
- public void setLivemode(String livemode) {
+ public void setLivemode(Boolean livemode) {
this.livemode = livemode;
}
diff --git a/src/main/java/com/stripe/model/Customer.java b/src/main/java/com/stripe/model/Customer.java
index bf91ffb87b0..07c98ece03f 100644
--- a/src/main/java/com/stripe/model/Customer.java
+++ b/src/main/java/com/stripe/model/Customer.java
@@ -8,7 +8,7 @@
public class Customer extends APIResource {
Long created;
String id;
- String livemode;
+ Boolean livemode;
String description;
Card activeCard;
String email;
@@ -34,11 +34,11 @@ public void setId(String id) {
this.id = id;
}
- public String getLivemode() {
+ public Boolean getLivemode() {
return livemode;
}
- public void setLivemode(String livemode) {
+ public void setLivemode(Boolean livemode) {
this.livemode = livemode;
}
diff --git a/src/main/java/com/stripe/model/Event.java b/src/main/java/com/stripe/model/Event.java
new file mode 100644
index 00000000000..199ec223d91
--- /dev/null
+++ b/src/main/java/com/stripe/model/Event.java
@@ -0,0 +1,63 @@
+package com.stripe.model;
+
+import java.util.Map;
+
+import com.stripe.exception.StripeException;
+import com.stripe.net.APIResource;
+
+public class Event extends APIResource {
+ String id;
+ String type;
+ Boolean livemode;
+ Long created;
+ EventData data;
+
+ public static Event retrieve(String id) throws StripeException {
+ return request(RequestMethod.GET, instanceURL(Event.class, id), null, Event.class);
+ }
+
+ public static EventCollection all(Map params) throws StripeException {
+ return request(RequestMethod.GET, classURL(Event.class), params, EventCollection.class);
+ }
+
+ public EventData getData() {
+ return data;
+ }
+
+ public void setData(EventData data) {
+ this.data = data;
+ }
+
+ public Long getCreated() {
+ return created;
+ }
+
+ public void setCreated(Long created) {
+ this.created = created;
+ }
+
+ public String getId() {
+ return id;
+ }
+
+ public void setId(String id) {
+ this.id = id;
+ }
+
+ public String getType() {
+ return type;
+ }
+
+ public void setType(String name) {
+ this.type = name;
+ }
+
+ public Boolean getLivemode() {
+ return livemode;
+ }
+
+ public void setLivemode(Boolean livemode) {
+ this.livemode = livemode;
+ }
+
+}
\ No newline at end of file
diff --git a/src/main/java/com/stripe/model/NotificationCollection.java b/src/main/java/com/stripe/model/EventCollection.java
similarity index 56%
rename from src/main/java/com/stripe/model/NotificationCollection.java
rename to src/main/java/com/stripe/model/EventCollection.java
index 43814616eaf..8d2c64db3a9 100644
--- a/src/main/java/com/stripe/model/NotificationCollection.java
+++ b/src/main/java/com/stripe/model/EventCollection.java
@@ -2,14 +2,14 @@
import java.util.List;
-public class NotificationCollection extends StripeObject {
- List data;
+public class EventCollection extends StripeObject {
+ List data;
Integer count;
- public List getData() {
+ public List getData() {
return data;
}
- public void setData(List data) {
+ public void setData(List data) {
this.data = data;
}
public Integer getCount() {
diff --git a/src/main/java/com/stripe/model/EventData.java b/src/main/java/com/stripe/model/EventData.java
new file mode 100644
index 00000000000..fd6f589656b
--- /dev/null
+++ b/src/main/java/com/stripe/model/EventData.java
@@ -0,0 +1,24 @@
+package com.stripe.model;
+
+import java.util.Map;
+
+public class EventData extends StripeObject {
+ Map previousAttributes;
+ StripeObject object;
+
+ public Map getPreviousAttributes() {
+ return previousAttributes;
+ }
+
+ public void setPreviousAttributes(Map previousAttributes) {
+ this.previousAttributes = previousAttributes;
+ }
+
+ public StripeObject getObject() {
+ return object;
+ }
+
+ public void setObject(StripeObject object) {
+ this.object = object;
+ }
+}
diff --git a/src/main/java/com/stripe/model/EventDataDeserializer.java b/src/main/java/com/stripe/model/EventDataDeserializer.java
new file mode 100644
index 00000000000..bfb95a02e2b
--- /dev/null
+++ b/src/main/java/com/stripe/model/EventDataDeserializer.java
@@ -0,0 +1,49 @@
+package com.stripe.model;
+
+import java.lang.reflect.Type;
+import java.util.HashMap;
+import java.util.Map;
+
+import com.google.gson.JsonDeserializationContext;
+import com.google.gson.JsonDeserializer;
+import com.google.gson.JsonElement;
+import com.google.gson.JsonObject;
+import com.google.gson.JsonParseException;
+import com.google.gson.reflect.TypeToken;
+import com.stripe.net.APIResource;
+
+public class EventDataDeserializer implements JsonDeserializer {
+
+ static Map objectMap = new HashMap();
+ static {
+ objectMap.put("charge", Charge.class);
+ objectMap.put("discount", Discount.class);
+ objectMap.put("customer", Customer.class);
+ objectMap.put("invoice", Invoice.class);
+ objectMap.put("invoiceitem", InvoiceItem.class);
+ objectMap.put("plan", Plan.class);
+ objectMap.put("subscription", Subscription.class);
+ objectMap.put("token", Token.class);
+ }
+
+ public EventData deserialize(JsonElement json, Type typeOfT, JsonDeserializationContext context)
+ throws JsonParseException {
+ EventData eventData = new EventData();
+ JsonObject jsonObject = json.getAsJsonObject();
+ for(Map.Entry entry: jsonObject.entrySet()) {
+ String key = entry.getKey();
+ JsonElement element = entry.getValue();
+ if("previous_attributes".equals(key)) {
+ Type typeOfPrevAttrs = new TypeToken