From 84c1a193761c723e90ac6c0918baba1e90515acf Mon Sep 17 00:00:00 2001 From: woodser <13068859+woodser@users.noreply.github.com> Date: Thu, 19 Jun 2025 09:24:26 -0400 Subject: [PATCH] support alipay grpc api --- .../java/haveno/core/api/model/PaymentAccountForm.java | 3 ++- .../src/main/java/haveno/core/payment/AliPayAccount.java | 9 ++++++++- .../java/haveno/core/payment/payload/PaymentMethod.java | 3 ++- proto/src/main/proto/pb.proto | 1 + 4 files changed, 13 insertions(+), 3 deletions(-) diff --git a/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java b/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java index 239f17abd4..d13a9b4300 100644 --- a/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java +++ b/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java @@ -79,7 +79,8 @@ public final class PaymentAccountForm implements PersistablePayload { PAYPAL, VENMO, PAYSAFE, - WECHAT_PAY; + WECHAT_PAY, + ALI_PAY; public static PaymentAccountForm.FormId fromProto(protobuf.PaymentAccountForm.FormId formId) { return ProtoUtil.enumFromProto(PaymentAccountForm.FormId.class, formId.name()); diff --git a/core/src/main/java/haveno/core/payment/AliPayAccount.java b/core/src/main/java/haveno/core/payment/AliPayAccount.java index 1bff92b5cd..af2f617313 100644 --- a/core/src/main/java/haveno/core/payment/AliPayAccount.java +++ b/core/src/main/java/haveno/core/payment/AliPayAccount.java @@ -60,6 +60,13 @@ public final class AliPayAccount extends PaymentAccount { new TraditionalCurrency("ZAR") ); + private static final List INPUT_FIELD_IDS = List.of( + PaymentAccountFormField.FieldId.ACCOUNT_NAME, + PaymentAccountFormField.FieldId.ACCOUNT_NR, + PaymentAccountFormField.FieldId.TRADE_CURRENCIES, + PaymentAccountFormField.FieldId.SALT + ); + public AliPayAccount() { super(PaymentMethod.ALI_PAY); setSingleTradeCurrency(SUPPORTED_CURRENCIES.get(0)); @@ -77,7 +84,7 @@ public final class AliPayAccount extends PaymentAccount { @Override public @NonNull List getInputFieldIds() { - throw new RuntimeException("Not implemented"); + return INPUT_FIELD_IDS; } public void setAccountNr(String accountNr) { diff --git a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java index e3830d8ddb..d4a67ef9e1 100644 --- a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java +++ b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java @@ -370,7 +370,8 @@ public final class PaymentMethod implements PersistablePayload, Comparable paymentMethodIds.contains(paymentMethod.getId())).collect(Collectors.toList()); } diff --git a/proto/src/main/proto/pb.proto b/proto/src/main/proto/pb.proto index 45fe43415d..94ffb0447e 100644 --- a/proto/src/main/proto/pb.proto +++ b/proto/src/main/proto/pb.proto @@ -1904,6 +1904,7 @@ message PaymentAccountForm { VENMO = 18; PAYSAFE = 19; WECHAT_PAY = 20; + ALI_PAY = 21; } FormId id = 1; repeated PaymentAccountFormField fields = 2;