Details
diff --git a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
index 70fd6cb..a3fbf4e 100644
--- a/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
+++ b/account/src/main/java/com/ning/billing/account/api/DefaultAccount.java
@@ -18,7 +18,9 @@ package com.ning.billing.account.api;
import java.util.List;
import java.util.UUID;
+
import org.joda.time.DateTime;
+
import com.ning.billing.catalog.api.Currency;
public class DefaultAccount extends CustomizableEntityBase implements Account {
@@ -140,4 +142,10 @@ public class DefaultAccount extends CustomizableEntityBase implements Account {
public boolean processPayment() {
return tags.processPayment();
}
+
+ @Override
+ public String toString() {
+ return "DefaultAccount [externalKey=" + externalKey + ", email=" + email + ", name=" + name + ", firstNameLength=" + firstNameLength + ", phone=" + phone + ", currency=" + currency + ", billCycleDay=" + billCycleDay + ", paymentProviderName=" + paymentProviderName + ", tags=" + tags + "]";
+ }
+
}
diff --git a/api/src/main/java/com/ning/billing/payment/api/PaymentApi.java b/api/src/main/java/com/ning/billing/payment/api/PaymentApi.java
index 4a0e449..e54ee98 100644
--- a/api/src/main/java/com/ning/billing/payment/api/PaymentApi.java
+++ b/api/src/main/java/com/ning/billing/payment/api/PaymentApi.java
@@ -28,4 +28,6 @@ public interface PaymentApi {
Either<PaymentError, Void> updatePaymentGateway(String accountKey);
Either<PaymentError, PaymentProviderAccount> getPaymentProviderAccount(String accountKey);
+
+ Either<PaymentError, String> addPaypalPaymentMethod(@Nullable String accountId, PaypalPaymentMethodInfo paypalPaymentMethod);
}
diff --git a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java
index 3ca8aef..d7faf43 100644
--- a/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java
+++ b/payment/src/main/java/com/ning/billing/payment/api/DefaultPaymentApi.java
@@ -76,4 +76,10 @@ public class DefaultPaymentApi implements PaymentApi {
final PaymentProviderPlugin plugin = getPaymentProviderPlugin(accountKey);
return plugin.getPaymentProviderAccount(accountKey);
}
+
+ @Override
+ public Either<PaymentError, String> addPaypalPaymentMethod(@Nullable String accountId, PaypalPaymentMethodInfo paypalPaymentMethod) {
+ final PaymentProviderPlugin plugin = getPaymentProviderPlugin(accountId);
+ return plugin.addPaypalPaymentMethod(accountId, paypalPaymentMethod);
+ }
}
diff --git a/payment/src/main/java/com/ning/billing/payment/provider/PaymentProviderPlugin.java b/payment/src/main/java/com/ning/billing/payment/provider/PaymentProviderPlugin.java
index 5f11a7e..a6ef30f 100644
--- a/payment/src/main/java/com/ning/billing/payment/provider/PaymentProviderPlugin.java
+++ b/payment/src/main/java/com/ning/billing/payment/provider/PaymentProviderPlugin.java
@@ -21,16 +21,16 @@ import java.util.List;
import com.ning.billing.account.api.Account;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.payment.PaymentInfo;
-import com.ning.billing.payment.PaypalPaymentMethodInfo;
import com.ning.billing.payment.api.Either;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentMethodInfo;
import com.ning.billing.payment.api.PaymentProviderAccount;
+import com.ning.billing.payment.api.PaypalPaymentMethodInfo;
public interface PaymentProviderPlugin {
Either<PaymentError, PaymentInfo> processInvoice(Account account, Invoice invoice);
Either<PaymentError, PaymentProviderAccount> createPaymentProviderAccount(Account account);
- Either<PaymentError, PaypalPaymentMethodInfo> addPaypalPaymentMethod(Account account, PaypalPaymentMethodInfo paypalPaymentMethod);
+ Either<PaymentError, String> addPaypalPaymentMethod(String accountId, PaypalPaymentMethodInfo paypalPaymentMethod);
Either<PaymentError, PaymentInfo> getPaymentInfo(String paymentId);
Either<PaymentError, PaymentMethodInfo> getPaymentMethodInfo(String paymentMethodId);
diff --git a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java
index d52c1f6..7046f2e 100644
--- a/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java
+++ b/payment/src/test/java/com/ning/billing/payment/provider/MockPaymentProviderPlugin.java
@@ -24,11 +24,11 @@ import java.util.concurrent.ConcurrentHashMap;
import com.ning.billing.account.api.Account;
import com.ning.billing.invoice.api.Invoice;
import com.ning.billing.payment.PaymentInfo;
-import com.ning.billing.payment.PaypalPaymentMethodInfo;
import com.ning.billing.payment.api.Either;
import com.ning.billing.payment.api.PaymentError;
import com.ning.billing.payment.api.PaymentMethodInfo;
import com.ning.billing.payment.api.PaymentProviderAccount;
+import com.ning.billing.payment.api.PaypalPaymentMethodInfo;
public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
private final Map<String, PaymentInfo> payments = new ConcurrentHashMap<String, PaymentInfo>();