diff --git a/src/main/java/com/mangopay/core/deserializer/PayInDeserializer.java b/src/main/java/com/mangopay/core/deserializer/PayInDeserializer.java index e692170c..2e8f000c 100644 --- a/src/main/java/com/mangopay/core/deserializer/PayInDeserializer.java +++ b/src/main/java/com/mangopay/core/deserializer/PayInDeserializer.java @@ -72,6 +72,9 @@ public PayIn deserialize(JsonElement json, Type typeOfT, JsonDeserializationCont if (object.has("ShippingPreference") && !object.get("ShippingPreference").isJsonNull()) { payInPaymentDetailsPayPal.setShippingPreference(ShippingPreference.valueOf(object.get("ShippingPreference").getAsString())); } + if (object.has("Reference") && !object.get("Reference").isJsonNull()) { + payInPaymentDetailsPayPal.setReference(object.get("Reference").getAsString()); + } payIn.setPaymentDetails(payInPaymentDetailsPayPal); break; case PAYCONIQ: diff --git a/src/main/java/com/mangopay/core/serializer/PayInSerializer.java b/src/main/java/com/mangopay/core/serializer/PayInSerializer.java index 26ae3d9d..c03608c3 100644 --- a/src/main/java/com/mangopay/core/serializer/PayInSerializer.java +++ b/src/main/java/com/mangopay/core/serializer/PayInSerializer.java @@ -47,6 +47,7 @@ public JsonElement serialize(PayIn src, Type typeOfSrc, JsonSerializationContext object.add("Shipping", context.serialize(((PayInPaymentDetailsPayPal) src.getPaymentDetails()).getShipping())); object.add("LineItems", context.serialize(((PayInPaymentDetailsPayPal) src.getPaymentDetails()).getLineItems())); object.add("ShippingPreference", context.serialize(((PayInPaymentDetailsPayPal) src.getPaymentDetails()).getShippingPreference())); + object.add("Reference", context.serialize(((PayInPaymentDetailsPayPal) src.getPaymentDetails()).getReference())); break; case "PayInPaymentDetailsPayconiq": object.add("Country", context.serialize(((PayInPaymentDetailsPayconiq) src.getPaymentDetails()).getCountry())); diff --git a/src/main/java/com/mangopay/entities/Refund.java b/src/main/java/com/mangopay/entities/Refund.java index 71810ca5..f16a9496 100644 --- a/src/main/java/com/mangopay/entities/Refund.java +++ b/src/main/java/com/mangopay/entities/Refund.java @@ -43,6 +43,9 @@ public class Refund extends Transaction { @SerializedName("RefundReason") private RefundReason refundReason; + @SerializedName("Reference") + private String reference; + public String getInitialTransactionId() { return initialTransactionId; } @@ -83,6 +86,14 @@ public void setRefundReason(com.mangopay.core.RefundReason refundReason) { this.refundReason = refundReason; } + public String getReference() { + return reference; + } + + public void setReference(String reference) { + this.reference = reference; + } + /** * Gets map which property is an object and what type of object. * diff --git a/src/main/java/com/mangopay/entities/subentities/PayInPaymentDetailsPayPal.java b/src/main/java/com/mangopay/entities/subentities/PayInPaymentDetailsPayPal.java index 78859273..3bb907fe 100644 --- a/src/main/java/com/mangopay/entities/subentities/PayInPaymentDetailsPayPal.java +++ b/src/main/java/com/mangopay/entities/subentities/PayInPaymentDetailsPayPal.java @@ -43,6 +43,9 @@ public class PayInPaymentDetailsPayPal extends Dto implements PayInPaymentDetail @SerializedName("ShippingPreference") private ShippingPreference shippingPreference; + @SerializedName("Reference") + private String reference; + public ShippingAddress getShippingAddress() { return shippingAddress; } @@ -104,4 +107,12 @@ public ShippingPreference getShippingPreference() { public void setShippingPreference(ShippingPreference shippingPreference) { this.shippingPreference = shippingPreference; } + + public String getReference() { + return reference; + } + + public void setReference(String reference) { + this.reference = reference; + } } diff --git a/src/main/resources/com/mangopay/core/mangopay.properties b/src/main/resources/com/mangopay/core/mangopay.properties index bd497d4b..8ca131fa 100644 --- a/src/main/resources/com/mangopay/core/mangopay.properties +++ b/src/main/resources/com/mangopay/core/mangopay.properties @@ -1,2 +1,2 @@ -#Fri Sep 29 15:15:35 EEST 2023 +#Wed Oct 18 10:44:26 EEST 2023 version=2.31.0 diff --git a/src/test/java/com/mangopay/core/BaseTest.java b/src/test/java/com/mangopay/core/BaseTest.java index 005d1c3e..3bc44e69 100644 --- a/src/test/java/com/mangopay/core/BaseTest.java +++ b/src/test/java/com/mangopay/core/BaseTest.java @@ -997,6 +997,7 @@ protected Refund getNewRefundForPayIn(PayIn payIn) throws Exception { refund.setFees(new Money()); refund.getFees().setAmount(payIn.getFees().getAmount()); refund.getFees().setCurrency(payIn.getFees().getCurrency()); + refund.setReference("Reference"); return this.api.getPayInApi().createRefund(payIn.getId(), refund); } diff --git a/src/test/java/com/mangopay/core/PayInApiImplTest.java b/src/test/java/com/mangopay/core/PayInApiImplTest.java index 4e1a4992..2d4962ed 100644 --- a/src/test/java/com/mangopay/core/PayInApiImplTest.java +++ b/src/test/java/com/mangopay/core/PayInApiImplTest.java @@ -567,6 +567,7 @@ public void createPayPalWebV2() throws Exception { )); paymentDetails.setLineItems(lineItems); paymentDetails.setShippingPreference(ShippingPreference.GET_FROM_FILE); + paymentDetails.setReference("Reference"); paymentDetails.setStatementDescriptor("sttm"); payIn.setPaymentDetails(paymentDetails);