diff --git a/src/main/java/com/stripe/model/EventDataObjectDeserializer.java b/src/main/java/com/stripe/model/EventDataObjectDeserializer.java index d50b4c5a8b8..487b82a56a7 100644 --- a/src/main/java/com/stripe/model/EventDataObjectDeserializer.java +++ b/src/main/java/com/stripe/model/EventDataObjectDeserializer.java @@ -195,7 +195,7 @@ private boolean apiVersionMatch() { // Trim the locally configured API version to not include beta headers, since the payload won't // have any. String localApiVersion = StringUtils.trimApiVersion(Stripe.stripeVersion); - return localApiVersion.equals(this.apiVersion); + return localApiVersion.equals(StringUtils.trimApiVersion(this.apiVersion)); } /** diff --git a/src/test/java/com/stripe/model/EventDataObjectDeserializerTest.java b/src/test/java/com/stripe/model/EventDataObjectDeserializerTest.java index 8b74ac60bbb..a828387a7be 100644 --- a/src/test/java/com/stripe/model/EventDataObjectDeserializerTest.java +++ b/src/test/java/com/stripe/model/EventDataObjectDeserializerTest.java @@ -143,7 +143,7 @@ public void testFailureOnApiVersionMisMatch() throws Exception { } @Test - public void testIgnoresBetaHeadersWhenDeterminingMatch() throws Exception { + public void testIgnoresBetaHeadersInLibraryVersionWhenDeterminingMatch() throws Exception { final String data = getCurrentEventStringFixture(); final Event event = ApiResource.GSON.fromJson(data, Event.class); @@ -156,6 +156,19 @@ public void testIgnoresBetaHeadersWhenDeterminingMatch() throws Exception { verifyDeserializedStripeObject(deserializer.getObject().get()); } + @Test + public void testIgnoresBetaHeadersInEventVersionWhenDeterminingMatch() throws Exception { + final String data = getCurrentEventStringFixture(); + final Event event = ApiResource.GSON.fromJson(data, Event.class); + event.apiVersion = CURRENT_EVENT_VERSION + "; some_beta=v1; some_beta=v2"; + + Stripe.stripeVersion = CURRENT_EVENT_VERSION; + EventDataObjectDeserializer deserializer = event.getDataObjectDeserializer(); + + assertTrue(deserializer.getObject().isPresent()); + verifyDeserializedStripeObject(deserializer.getObject().get()); + } + @Test public void testApiVersionMismatchReportedEvenWhenBetaHeadersPresent() throws Exception { final String data = getCurrentEventStringFixture();