Details
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 6d03a61..97678c2 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
@@ -21,7 +21,9 @@ import java.util.List;
import javax.annotation.Nullable;
public interface PaymentApi {
- Either<PaymentError, PaymentMethodInfo> getPaymentMethod(@Nullable String accountId, String paymentMethodId);
+ Either<PaymentError, PaymentMethodInfo> getPaymentMethod(@Nullable String accountKey, String paymentMethodId);
- Either<PaymentError, List<PaymentMethodInfo>> getPaymentMethods(String accountId);
+ Either<PaymentError, List<PaymentMethodInfo>> getPaymentMethods(String accountKey);
+
+ Either<PaymentError, Void> updatePaymentGateway(String accountKey);
}
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 e997a9b..c0640d2 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
@@ -40,31 +40,34 @@ public class DefaultPaymentApi implements PaymentApi {
@Override
public Either<PaymentError, PaymentMethodInfo> getPaymentMethod(@Nullable String accountId, String paymentMethodId) {
+ final PaymentProviderPlugin plugin = getPaymentProviderPlugin(accountId);
+ return plugin.getPaymentMethodInfo(paymentMethodId);
+ }
+
+ private PaymentProviderPlugin getPaymentProviderPlugin(String accountKey) {
final String paymentProviderName;
- if (accountId == null) {
+ if (accountKey == null) {
// TODO: get provider name from config to support null
paymentProviderName = null;
}
else {
- final IAccount account = accountUserApi.getAccountFromId(UUID.fromString(accountId));
+ final IAccount account = accountUserApi.getAccountFromId(UUID.fromString(accountKey));
paymentProviderName = account.getFieldValue(RequestProcessor.PAYMENT_PROVIDER_KEY);
}
- final PaymentProviderPlugin plugin = pluginRegistry.getPlugin(paymentProviderName);
- return plugin.getPaymentMethodInfo(paymentMethodId);
+ return pluginRegistry.getPlugin(paymentProviderName);
}
@Override
public Either<PaymentError, List<PaymentMethodInfo>> getPaymentMethods(String accountKey) {
- final String paymentProviderName;
- paymentProviderName = null;
-
-// final IAccount account = accountUserApi.getAccountByKey(accountKey);
-// paymentProviderName = account.getFieldValue(RequestProcessor.PAYMENT_PROVIDER_KEY);
-
- final PaymentProviderPlugin plugin = pluginRegistry.getPlugin(paymentProviderName);
-
+ final PaymentProviderPlugin plugin = getPaymentProviderPlugin(accountKey);
return plugin.getPaymentMethods(accountKey);
}
+
+ @Override
+ public Either<PaymentError, Void> updatePaymentGateway(String accountKey) {
+ final PaymentProviderPlugin plugin = getPaymentProviderPlugin(accountKey);
+ return plugin.updatePaymentGateway(accountKey);
+ }
}
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 0579119..d3e92d2 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
@@ -34,5 +34,6 @@ public interface PaymentProviderPlugin {
Either<PaymentError, PaymentMethodInfo> getPaymentMethodInfo(String paymentMethodId);
Either<PaymentError, List<PaymentMethodInfo>> getPaymentMethods(String screenName);
Either<PaymentError, PaypalPaymentMethodInfo> addPaypalPaymentMethod(IAccount account, PaypalPaymentMethodInfo paypalPaymentMethod);
+ Either<PaymentError, Void> updatePaymentGateway(String accountKey);
}
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 37a35ad..39724b4 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
@@ -55,25 +55,31 @@ public class MockPaymentProviderPlugin implements PaymentProviderPlugin {
@Override
public Either<PaymentError, PaymentProviderAccount> createPaymentProviderAccount(IAccount account) {
- // TODO Auto-generated method stub
- return null;
+ // TODO
+ return Either.left(new PaymentError("unknown", "Not implemented"));
}
@Override
public Either<PaymentError, PaymentMethodInfo> getPaymentMethodInfo(String paymentMethodId) {
- // TODO Auto-generated method stub
- return null;
+ // TODO
+ return Either.left(new PaymentError("unknown", "Not implemented"));
}
@Override
public Either<PaymentError, List<PaymentMethodInfo>> getPaymentMethods(String accountId) {
- // TODO Auto-generated method stub
- return null;
+ // TODO
+ return Either.left(new PaymentError("unknown", "Not implemented"));
}
@Override
public Either<PaymentError, PaypalPaymentMethodInfo> addPaypalPaymentMethod(IAccount account, PaypalPaymentMethodInfo paypalPaymentMethod) {
- // TODO Auto-generated method stub
- return null;
+ // TODO
+ return Either.left(new PaymentError("unknown", "Not implemented"));
+ }
+
+ @Override
+ public Either<PaymentError, Void> updatePaymentGateway(String accountKey) {
+ // TODO
+ return Either.left(new PaymentError("unknown", "Not implemented"));
}
}