From 80faa66fd6ff91f2f565110ae4a813a25f6c6d60 Mon Sep 17 00:00:00 2001 From: woodser <13068859+woodser@users.noreply.github.com> Date: Thu, 19 Jun 2025 09:15:12 -0400 Subject: [PATCH] support wechat pay grpc api --- .../java/haveno/core/api/model/PaymentAccountForm.java | 3 ++- .../main/java/haveno/core/payment/WeChatPayAccount.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 6b1b494047..239f17abd4 100644 --- a/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java +++ b/core/src/main/java/haveno/core/api/model/PaymentAccountForm.java @@ -78,7 +78,8 @@ public final class PaymentAccountForm implements PersistablePayload { CASH_APP, PAYPAL, VENMO, - PAYSAFE; + PAYSAFE, + WECHAT_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/WeChatPayAccount.java b/core/src/main/java/haveno/core/payment/WeChatPayAccount.java index 297968ef0c..9071aa7aea 100644 --- a/core/src/main/java/haveno/core/payment/WeChatPayAccount.java +++ b/core/src/main/java/haveno/core/payment/WeChatPayAccount.java @@ -38,6 +38,13 @@ public final class WeChatPayAccount extends PaymentAccount { new TraditionalCurrency("GBP") ); + 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 WeChatPayAccount() { super(PaymentMethod.WECHAT_PAY); } @@ -54,7 +61,7 @@ public final class WeChatPayAccount 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 4a8246fe78..e3830d8ddb 100644 --- a/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java +++ b/core/src/main/java/haveno/core/payment/payload/PaymentMethod.java @@ -369,7 +369,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 022031d08d..45fe43415d 100644 --- a/proto/src/main/proto/pb.proto +++ b/proto/src/main/proto/pb.proto @@ -1903,6 +1903,7 @@ message PaymentAccountForm { PAYPAL = 17; VENMO = 18; PAYSAFE = 19; + WECHAT_PAY = 20; } FormId id = 1; repeated PaymentAccountFormField fields = 2;