Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Pw 6688 checkout api v69 #754

Merged
merged 12 commits into from
Jun 15, 2022
Merged
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension


Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
4 changes: 2 additions & 2 deletions README.md
Original file line number Diff line number Diff line change
Expand Up @@ -6,7 +6,7 @@ This is the officially supported Java library for using Adyen's APIs.

The library supports all APIs under the following services:

* [Checkout API](https://docs.adyen.com/api-explorer/#/CheckoutService/v68/overview): Our latest integration for accepting online payments. Current supported version: **v68**
* [Checkout API](https://docs.adyen.com/api-explorer/#/CheckoutService/v69/overview): Our latest integration for accepting online payments. Current supported version: **v69**
* [Payments API](https://docs.adyen.com/api-explorer/#/Payment/v52/overview): Our classic integration for online payments. Current supported version: **v52**
* [Recurring API](https://docs.adyen.com/api-explorer/#/Recurring/v49/overview): Endpoints for managing saved payment details. Current supported version: **v49**
* [Payouts API](https://docs.adyen.com/api-explorer/#/Payout/v51/overview): Endpoints for sending funds to your customers. Current supported version: **v51**
Expand Down Expand Up @@ -39,7 +39,7 @@ You can use Maven and add this dependency to your project's POM:
<dependency>
<groupId>com.adyen</groupId>
<artifactId>adyen-java-api-library</artifactId>
<version>17.4.0</version>
<version>18.0.0</version>
</dependency>
```

Expand Down
2 changes: 1 addition & 1 deletion pom.xml
Original file line number Diff line number Diff line change
Expand Up @@ -4,7 +4,7 @@
<groupId>com.adyen</groupId>
<artifactId>adyen-java-api-library</artifactId>
<packaging>jar</packaging>
<version>17.4.0</version>
<version>18.0.0</version>
<name>Adyen Java API Library</name>
<description>Adyen API Client Library for Java</description>
<url>https://github.com/adyen/adyen-java-api-library</url>
Expand Down
4 changes: 2 additions & 2 deletions src/main/java/com/adyen/Client.java
Original file line number Diff line number Diff line change
Expand Up @@ -47,11 +47,11 @@ public class Client {
public static final String MARKETPAY_NOTIFICATION_API_VERSION = "v6";
public static final String MARKETPAY_HOP_API_VERSION = "v6";
public static final String LIB_NAME = "adyen-java-api-library";
public static final String LIB_VERSION = "17.4.0";
public static final String LIB_VERSION = "18.0.0";
public static final String CHECKOUT_ENDPOINT_TEST = "https://checkout-test.adyen.com/checkout";
public static final String CHECKOUT_ENDPOINT_LIVE_SUFFIX = "-checkout-live.adyenpayments.com/checkout";
public static final String CHECKOUT_ENDPOINT_CERT_LIVE = "https://checkoutcert-live-%s.adyen.com/checkout";
public static final String CHECKOUT_API_VERSION = "v68";
public static final String CHECKOUT_API_VERSION = "v69";
public static final String CHECKOUT_STORED_PAYMENT_METHODS_VERSION = "v65";
public static final String BIN_LOOKUP_PAL_SUFFIX = "/pal/servlet/BinLookup/";
public static final String BIN_LOOKUP_API_VERSION = "v50";
Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -61,7 +61,7 @@
public final class TerminalAPIRequestBuilder {

// MessageHeader
private MessageHeader messageHeader;
private final MessageHeader messageHeader;
private MessageClassType messageClass;
private MessageCategoryType messageCategory;

Expand Down
Original file line number Diff line number Diff line change
Expand Up @@ -21,16 +21,17 @@
package com.adyen.deserializer;

import java.io.IOException;
import com.adyen.model.checkout.DefaultPaymentMethodDetails;
import com.adyen.model.checkout.PaymentMethodDetails;
import com.adyen.model.checkout.details.AchDetails;
import com.adyen.model.checkout.details.AfterpayDetails;
import com.adyen.model.checkout.details.AmazonPayDetails;
import com.adyen.model.checkout.details.AndroidPayDetails;
import com.adyen.model.checkout.details.ApplePayDetails;
import com.adyen.model.checkout.details.BacsDirectDebitDetails;
import com.adyen.model.checkout.details.BillDeskOnlineDetails;
import com.adyen.model.checkout.details.BillDeskWalletDetails;
import com.adyen.model.checkout.details.BlikDetails;
import com.adyen.model.checkout.details.CardDetails;
import com.adyen.model.checkout.details.CellulantDetails;
import com.adyen.model.checkout.details.DokuDetails;
import com.adyen.model.checkout.details.DotpayDetails;
Expand All @@ -52,6 +53,7 @@
import com.adyen.model.checkout.details.QiwiWalletDetails;
import com.adyen.model.checkout.details.SamsungPayDetails;
import com.adyen.model.checkout.details.SepaDirectDebitDetails;
import com.adyen.model.checkout.details.StoredPaymentMethodDetails;
import com.adyen.model.checkout.details.UpiCollectDetails;
import com.adyen.model.checkout.details.UpiDetails;
import com.adyen.model.checkout.details.UpiIntentDetails;
Expand All @@ -74,6 +76,10 @@ public PaymentMethodDetails deserialize(JsonParser jsonParser, DeserializationCo
String type = node.get("type").asText();

switch (type) {
case AfterpayDetails.AFTERPAY_DEFAULT:
case AfterpayDetails.AFTERPAYTOUCH:
case AfterpayDetails.AFTERPAY_B2B:
return codec.treeToValue(node, AfterpayDetails.class);
case AchDetails.ACH:
return codec.treeToValue(node, AchDetails.class);
case AmazonPayDetails.AMAZONPAY:
Expand Down Expand Up @@ -157,7 +163,8 @@ public PaymentMethodDetails deserialize(JsonParser jsonParser, DeserializationCo
return codec.treeToValue(node, QiwiWalletDetails.class);
case SamsungPayDetails.SAMSUNGPAY:
return codec.treeToValue(node, SamsungPayDetails.class);
case SepaDirectDebitDetails.SEPA_DIRECT_DEBIT:
case SepaDirectDebitDetails.SEPADIRECTDEBIT_AMAZONPAY:
case SepaDirectDebitDetails.SEPADIRECTDEBIT:
return codec.treeToValue(node, SepaDirectDebitDetails.class);
case UpiDetails.UPI:
return codec.treeToValue(node, UpiDetails.class);
Expand All @@ -173,8 +180,25 @@ public PaymentMethodDetails deserialize(JsonParser jsonParser, DeserializationCo
return codec.treeToValue(node, WeChatPayDetails.class);
case WeChatPayMiniProgramDetails.WECHATPAYMINIPROGRAM:
return codec.treeToValue(node, WeChatPayMiniProgramDetails.class);
case StoredPaymentMethodDetails.BCMC_MOBILE:
case StoredPaymentMethodDetails.BCMC_MOBILE_QR:
case StoredPaymentMethodDetails.BCMC_MOBILE_APP:
case StoredPaymentMethodDetails.MOMO_WALLET:
case StoredPaymentMethodDetails.MOMO_WALLET_APP:
case StoredPaymentMethodDetails.PAYMAYA_WALLET:
case StoredPaymentMethodDetails.GRABPAY_SG:
case StoredPaymentMethodDetails.GRABPAY_MY:
case StoredPaymentMethodDetails.GRABPAY_TH:
case StoredPaymentMethodDetails.GRABPAY_ID:
case StoredPaymentMethodDetails.GRABPAY_VN:
case StoredPaymentMethodDetails.GRABPAY_PH:
case StoredPaymentMethodDetails.OXXO:
case StoredPaymentMethodDetails.GCASH:
case StoredPaymentMethodDetails.KAKAOPAY:
case StoredPaymentMethodDetails.TRUEMONEY:
return codec.treeToValue(node, StoredPaymentMethodDetails.class);
default:
return codec.treeToValue(node, DefaultPaymentMethodDetails.class);
return codec.treeToValue(node, CardDetails.class);
}
}
}
Original file line number Diff line number Diff line change
Expand Up @@ -20,16 +20,17 @@
*/
package com.adyen.deserializer;

import com.adyen.model.checkout.DefaultPaymentMethodDetails;
import com.adyen.model.checkout.PaymentMethodDetails;
import com.adyen.model.checkout.details.AchDetails;
import com.adyen.model.checkout.details.AfterpayDetails;
import com.adyen.model.checkout.details.AmazonPayDetails;
import com.adyen.model.checkout.details.AndroidPayDetails;
import com.adyen.model.checkout.details.ApplePayDetails;
import com.adyen.model.checkout.details.BacsDirectDebitDetails;
import com.adyen.model.checkout.details.BillDeskOnlineDetails;
import com.adyen.model.checkout.details.BillDeskWalletDetails;
import com.adyen.model.checkout.details.BlikDetails;
import com.adyen.model.checkout.details.CardDetails;
import com.adyen.model.checkout.details.CellulantDetails;
import com.adyen.model.checkout.details.DokuDetails;
import com.adyen.model.checkout.details.DotpayDetails;
Expand All @@ -51,6 +52,7 @@
import com.adyen.model.checkout.details.QiwiWalletDetails;
import com.adyen.model.checkout.details.SamsungPayDetails;
import com.adyen.model.checkout.details.SepaDirectDebitDetails;
import com.adyen.model.checkout.details.StoredPaymentMethodDetails;
import com.adyen.model.checkout.details.UpiCollectDetails;
import com.adyen.model.checkout.details.UpiDetails;
import com.adyen.model.checkout.details.UpiIntentDetails;
Expand Down Expand Up @@ -90,8 +92,11 @@ public void write(JsonWriter out, PaymentMethodDetails details) throws IOExcepti
public PaymentMethodDetails read(JsonReader in) {
JsonElement jsonElement = Streams.parse(in);
String paymentMethodType = jsonElement.getAsJsonObject().get("type").getAsString();

switch (paymentMethodType) {
case AfterpayDetails.AFTERPAY_DEFAULT:
case AfterpayDetails.AFTERPAYTOUCH:
case AfterpayDetails.AFTERPAY_B2B:
return gson.getAdapter(AfterpayDetails.class).fromJsonTree(jsonElement);
case AchDetails.ACH:
return gson.getAdapter(AchDetails.class).fromJsonTree(jsonElement);
case AmazonPayDetails.AMAZONPAY:
Expand Down Expand Up @@ -175,7 +180,8 @@ public PaymentMethodDetails read(JsonReader in) {
return gson.getAdapter(QiwiWalletDetails.class).fromJsonTree(jsonElement);
case SamsungPayDetails.SAMSUNGPAY:
return gson.getAdapter(SamsungPayDetails.class).fromJsonTree(jsonElement);
case SepaDirectDebitDetails.SEPA_DIRECT_DEBIT:
case SepaDirectDebitDetails.SEPADIRECTDEBIT_AMAZONPAY:
case SepaDirectDebitDetails.SEPADIRECTDEBIT:
return gson.getAdapter(SepaDirectDebitDetails.class).fromJsonTree(jsonElement);
case UpiIntentDetails.UPI_INTENT:
return gson.getAdapter(UpiIntentDetails.class).fromJsonTree(jsonElement);
Expand All @@ -191,8 +197,25 @@ public PaymentMethodDetails read(JsonReader in) {
return gson.getAdapter(WeChatPayDetails.class).fromJsonTree(jsonElement);
case WeChatPayMiniProgramDetails.WECHATPAYMINIPROGRAM:
return gson.getAdapter(WeChatPayMiniProgramDetails.class).fromJsonTree(jsonElement);
case StoredPaymentMethodDetails.BCMC_MOBILE:
case StoredPaymentMethodDetails.BCMC_MOBILE_QR:
case StoredPaymentMethodDetails.BCMC_MOBILE_APP:
case StoredPaymentMethodDetails.MOMO_WALLET:
case StoredPaymentMethodDetails.MOMO_WALLET_APP:
case StoredPaymentMethodDetails.PAYMAYA_WALLET:
case StoredPaymentMethodDetails.GRABPAY_SG:
case StoredPaymentMethodDetails.GRABPAY_MY:
case StoredPaymentMethodDetails.GRABPAY_TH:
case StoredPaymentMethodDetails.GRABPAY_ID:
case StoredPaymentMethodDetails.GRABPAY_VN:
case StoredPaymentMethodDetails.GRABPAY_PH:
case StoredPaymentMethodDetails.OXXO:
case StoredPaymentMethodDetails.GCASH:
case StoredPaymentMethodDetails.KAKAOPAY:
case StoredPaymentMethodDetails.TRUEMONEY:
return gson.getAdapter(StoredPaymentMethodDetails.class).fromJsonTree(jsonElement);
default:
return gson.getAdapter(DefaultPaymentMethodDetails.class).fromJsonTree(jsonElement);
return gson.getAdapter(CardDetails.class).fromJsonTree(jsonElement);
}
}
};
Expand Down
6 changes: 3 additions & 3 deletions src/main/java/com/adyen/model/AbstractPaymentRequest.java
Original file line number Diff line number Diff line change
Expand Up @@ -73,7 +73,7 @@ public enum ShopperInteractionEnum {
@SerializedName("Moto") MOTO("Moto");
Copy link
Contributor

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

Remove this class


@JsonValue
private String value;
private final String value;

ShopperInteractionEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -112,7 +112,7 @@ public enum FundingSourceEnum {
@SerializedName("credit") CREDIT("credit");

@JsonValue
private String value;
private final String value;

FundingSourceEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -194,7 +194,7 @@ public String toString() {
private Map<String, String> metadata = null;

@SerializedName("applicationInfo")
private ApplicationInfo applicationInfo;
private final ApplicationInfo applicationInfo;

@SerializedName("enableRealTimeUpdate")
private Boolean enableRealTimeUpdate = null;
Expand Down
12 changes: 6 additions & 6 deletions src/main/java/com/adyen/model/AccountInfo.java
Original file line number Diff line number Diff line change
Expand Up @@ -53,7 +53,7 @@ public enum AccountAgeIndicatorEnum {
MORETHAN60DAYS("moreThan60Days");

@JsonValue
private String value;
private final String value;

AccountAgeIndicatorEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -106,7 +106,7 @@ public enum AccountChangeIndicatorEnum {
MORETHAN60DAYS("moreThan60Days");

@JsonValue
private String value;
private final String value;

AccountChangeIndicatorEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -158,7 +158,7 @@ public enum AccountTypeEnum {
DEBIT("debit");

@JsonValue
private String value;
private final String value;

AccountTypeEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -214,7 +214,7 @@ public enum DeliveryAddressUsageIndicatorEnum {
MORETHAN60DAYS("moreThan60Days");

@JsonValue
private String value;
private final String value;

DeliveryAddressUsageIndicatorEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -274,7 +274,7 @@ public enum PasswordChangeIndicatorEnum {
MORETHAN60DAYS("moreThan60Days");

@JsonValue
private String value;
private final String value;

PasswordChangeIndicatorEnum(String value) {
this.value = value;
Expand Down Expand Up @@ -334,7 +334,7 @@ public enum PaymentAccountIndicatorEnum {
MORETHAN60DAYS("moreThan60Days");

@JsonValue
private String value;
private final String value;

PaymentAccountIndicatorEnum(String value) {
this.value = value;
Expand Down
Loading