killbill-aplcache
Changes
.idea/modules.xml 3(+3 -0)
beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueBase.java 2(+1 -1)
beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueIntegration.java 2(+1 -1)
beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationInvoiceWithRepairLogic.java 9(+5 -4)
payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java 15(+9 -6)
payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java 5(+4 -1)
payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentMethodPlugin.java 60(+0 -60)
payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentProviderPlugin.java 12(+3 -9)
payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java 8(+5 -3)
payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java 6(+3 -3)
payment/src/main/java/org/killbill/billing/payment/retry/DefaultPriorPaymentControlResult.java 2(+1 -1)
payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorNoDB.java 6(+3 -3)
payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorRefreshWithDB.java 6(+3 -3)
payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java 8(+5 -3)
payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java 12(+3 -9)
payment/src/test/java/org/killbill/billing/payment/provider/TestExternalPaymentProviderPlugin.java 2(+1 -1)
profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java 6(+2 -4)
Details
.idea/modules.xml 3(+3 -0)
diff --git a/.idea/modules.xml b/.idea/modules.xml
index c733a45..6c6229d 100644
--- a/.idea/modules.xml
+++ b/.idea/modules.xml
@@ -15,8 +15,11 @@
<module fileurl="file://$PROJECT_DIR$/overdue/killbill-overdue.iml" filepath="$PROJECT_DIR$/overdue/killbill-overdue.iml" />
<module fileurl="file://$PROJECT_DIR$/payment/killbill-payment.iml" filepath="$PROJECT_DIR$/payment/killbill-payment.iml" />
<module fileurl="file://$PROJECT_DIR$/profiles/killbill-profiles.iml" filepath="$PROJECT_DIR$/profiles/killbill-profiles.iml" />
+ <module fileurl="file://$PROJECT_DIR$/profiles/killbill-profiles.iml" filepath="$PROJECT_DIR$/profiles/killbill-profiles.iml" />
+ <module fileurl="file://$PROJECT_DIR$/profiles/killbill/killbill-profiles-killbill.iml" filepath="$PROJECT_DIR$/profiles/killbill/killbill-profiles-killbill.iml" />
<module fileurl="file://$PROJECT_DIR$/profiles/killbill/killbill-profiles-killbill.iml" filepath="$PROJECT_DIR$/profiles/killbill/killbill-profiles-killbill.iml" />
<module fileurl="file://$PROJECT_DIR$/profiles/killpay/killbill-profiles-killpay.iml" filepath="$PROJECT_DIR$/profiles/killpay/killbill-profiles-killpay.iml" />
+ <module fileurl="file://$PROJECT_DIR$/profiles/killpay/killbill-profiles-killpay.iml" filepath="$PROJECT_DIR$/profiles/killpay/killbill-profiles-killpay.iml" />
<module fileurl="file://$PROJECT_DIR$/subscription/killbill-subscription.iml" filepath="$PROJECT_DIR$/subscription/killbill-subscription.iml" />
<module fileurl="file://$PROJECT_DIR$/tenant/killbill-tenant.iml" filepath="$PROJECT_DIR$/tenant/killbill-tenant.iml" />
<module fileurl="file://$PROJECT_DIR$/usage/killbill-usage.iml" filepath="$PROJECT_DIR$/usage/killbill-usage.iml" />
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueBase.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueBase.java
index d4df753..e473ec6 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueBase.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueBase.java
@@ -63,7 +63,7 @@ public abstract class TestOverdueBase extends TestIntegrationBase {
account = createAccountWithNonOsgiPaymentMethod(getAccountData(0));
assertNotNull(account);
- paymentApi.addPaymentMethod(BeatrixIntegrationModule.NON_OSGI_PLUGIN_NAME, account, true, paymentMethodPlugin, PLUGIN_PROPERTIES, callContext);
+ paymentApi.addPaymentMethod(account, BeatrixIntegrationModule.NON_OSGI_PLUGIN_NAME, true, paymentMethodPlugin, PLUGIN_PROPERTIES, callContext);
productName = "Shotgun";
term = BillingPeriod.MONTHLY;
paymentPlugin.clear();
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueIntegration.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueIntegration.java
index 5217e26..00cc687 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueIntegration.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/overdue/TestOverdueIntegration.java
@@ -636,7 +636,7 @@ public class TestOverdueIntegration extends TestOverdueBase {
checkChangePlanWithOverdueState(baseEntitlement, true, true);
// Add a payment method and set it as default
- paymentApi.addPaymentMethod(BeatrixIntegrationModule.NON_OSGI_PLUGIN_NAME, account, true, paymentMethodPlugin, PLUGIN_PROPERTIES, callContext);
+ paymentApi.addPaymentMethod(account, BeatrixIntegrationModule.NON_OSGI_PLUGIN_NAME, true, paymentMethodPlugin, PLUGIN_PROPERTIES, callContext);
allowPaymentsAndResetOverdueToClearByPayingAllUnpaidInvoices(false);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationBase.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationBase.java
index 6f3e42e..3dfa194 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationBase.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationBase.java
@@ -72,8 +72,7 @@ import org.killbill.billing.osgi.config.OSGIConfig;
import org.killbill.billing.overdue.OverdueUserApi;
import org.killbill.billing.overdue.wrapper.OverdueWrapperFactory;
import org.killbill.billing.payment.api.DirectPayment;
-import org.killbill.billing.payment.api.PaymentApi;
-import org.killbill.billing.payment.api.PaymentApiException;
+import org.killbill.billing.payment.api.DirectPaymentApi;
import org.killbill.billing.payment.api.PaymentMethodPlugin;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TestPaymentMethodPluginBase;
@@ -154,7 +153,7 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
protected BlockingInternalApi blockingApi;
@Inject
- protected PaymentApi paymentApi;
+ protected DirectPaymentApi paymentApi;
@Inject
protected EntitlementApi entitlementApi;
@@ -307,7 +306,7 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
final PaymentMethodPlugin info = createPaymentMethodPlugin();
- paymentApi.addPaymentMethod(paymentPluginName, account, true, info, PLUGIN_PROPERTIES, callContext);
+ paymentApi.addPaymentMethod(account, paymentPluginName, true, info, PLUGIN_PROPERTIES, callContext);
return accountUserApi.getAccountById(account.getId(), callContext);
}
@@ -381,11 +380,13 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
doCallAndCheckForCompletion(new Function<Void, Void>() {
@Override
public Void apply(@Nullable final Void input) {
+ /*
try {
- paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), PLUGIN_PROPERTIES, callContext);
+ STEPH paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), PLUGIN_PROPERTIES, callContext);
} catch (final PaymentApiException e) {
fail(e.toString());
}
+ */
return null;
}
}, events);
@@ -395,11 +396,14 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
doCallAndCheckForCompletion(new Function<Void, Void>() {
@Override
public Void apply(@Nullable final Void input) {
+ /*
+ STEPH
try {
paymentApi.createExternalPayment(account, invoice.getId(), invoice.getBalance(), callContext);
} catch (final PaymentApiException e) {
fail(e.toString());
}
+ */
return null;
}
}, events);
@@ -409,11 +413,14 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
doCallAndCheckForCompletion(new Function<Void, Void>() {
@Override
public Void apply(@Nullable final Void input) {
+ /*
+ STEPH
try {
- paymentApi.createRefund(account, payment.getId(), payment.getCapturedAmount() /* TODO [PAYMENT] payment.getPaidAmount() */, PLUGIN_PROPERTIES, callContext);
+ paymentApi.createRefund(account, payment.getId(), payment.getCapturedAmount() TODO [PAYMENT] payment.getPaidAmount() , PLUGIN_PROPERTIES, callContext);
} catch (final PaymentApiException e) {
fail(e.toString());
}
+ */
return null;
}
}, events);
@@ -423,11 +430,14 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
doCallAndCheckForCompletion(new Function<Void, Void>() {
@Override
public Void apply(@Nullable final Void input) {
+ /*
+ STEPH
try {
- paymentApi.createRefundWithAdjustment(account, payment.getId(), payment.getCapturedAmount() /* TODO [PAYMENT] payment.getPaidAmount() */, PLUGIN_PROPERTIES, callContext);
+ paymentApi.createRefundWithAdjustment(account, payment.getId(), payment.getCapturedAmount() TODO [PAYMENT] payment.getPaidAmount() , PLUGIN_PROPERTIES, callContext);
} catch (final PaymentApiException e) {
fail(e.toString());
}
+ */
return null;
}
}, events);
@@ -437,11 +447,14 @@ public class TestIntegrationBase extends BeatrixTestSuiteWithEmbeddedDB {
doCallAndCheckForCompletion(new Function<Void, Void>() {
@Override
public Void apply(@Nullable final Void input) {
+ /*
+ STEPH
try {
paymentApi.createRefundWithItemsAdjustments(account, payment.getId(), invoiceItems, PLUGIN_PROPERTIES, callContext);
} catch (final PaymentApiException e) {
fail(e.toString());
}
+ */
return null;
}
}, events);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationInvoiceWithRepairLogic.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationInvoiceWithRepairLogic.java
index 003ca9c..682a288 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationInvoiceWithRepairLogic.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestIntegrationInvoiceWithRepairLogic.java
@@ -41,6 +41,7 @@ import org.killbill.billing.invoice.api.Invoice;
import org.killbill.billing.invoice.api.InvoiceItemType;
import org.killbill.billing.payment.api.DirectPayment;
import org.killbill.billing.payment.api.PaymentStatus;
+import org.killbill.billing.payment.api.PluginProperty;
import org.testng.annotations.AfterMethod;
import org.testng.annotations.Test;
@@ -539,14 +540,14 @@ public class TestIntegrationInvoiceWithRepairLogic extends TestIntegrationBase {
// ITEM ADJUSTMENT PRIOR TO DOING THE REPAIR
//
final Invoice invoice1 = invoices.get(1);
- final List<DirectPayment> payments = paymentApi.getAccountPayments(account.getId(), callContext);
+ final List<DirectPayment> payments = paymentApi.getAccountPayments(account.getId(), false, ImmutableList.<PluginProperty>of(), callContext);
final ExpectedPaymentCheck expectedPaymentCheck = new ExpectedPaymentCheck(clock.getUTCNow().toLocalDate(), new BigDecimal("2399.95"), PaymentStatus.SUCCESS, invoice1.getId(), Currency.USD);
final DirectPayment payment1 = payments.get(0);
final Map<UUID, BigDecimal> iias = new HashMap<UUID, BigDecimal>();
iias.put(invoice1.getInvoiceItems().get(0).getId(), new BigDecimal("197.26"));
busHandler.pushExpectedEvents(NextEvent.INVOICE_ADJUSTMENT);
- paymentApi.createRefundWithItemsAdjustments(account, payment1.getId(), iias, PLUGIN_PROPERTIES, callContext);
+ // STEPH paymentApi.createRefundWithItemsAdjustments(account, payment1.getId(), iias, PLUGIN_PROPERTIES, callContext);
assertListenerStatus();
checkNoMoreInvoiceToGenerate(account);
@@ -610,14 +611,14 @@ public class TestIntegrationInvoiceWithRepairLogic extends TestIntegrationBase {
// ITEM ADJUSTMENT PRIOR TO DOING THE REPAIR
//
final Invoice invoice1 = invoices.get(1);
- final List<DirectPayment> payments = paymentApi.getAccountPayments(account.getId(), callContext);
+ final List<DirectPayment> payments = paymentApi.getAccountPayments(account.getId(), false, ImmutableList.<PluginProperty>of(), callContext);
final ExpectedPaymentCheck expectedPaymentCheck = new ExpectedPaymentCheck(clock.getUTCNow().toLocalDate(), new BigDecimal("2399.95"), PaymentStatus.SUCCESS, invoice1.getId(), Currency.USD);
final DirectPayment payment1 = payments.get(0);
final Map<UUID, BigDecimal> iias = new HashMap<UUID, BigDecimal>();
iias.put(invoice1.getInvoiceItems().get(0).getId(), new BigDecimal("100.00"));
busHandler.pushExpectedEvents(NextEvent.INVOICE_ADJUSTMENT);
- paymentApi.createRefundWithItemsAdjustments(account, payment1.getId(), iias, PLUGIN_PROPERTIES, callContext);
+ // STEPH paymentApi.createRefundWithItemsAdjustments(account, payment1.getId(), iias, PLUGIN_PROPERTIES, callContext);
assertListenerStatus();
checkNoMoreInvoiceToGenerate(account);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestPayment.java b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestPayment.java
index 01aee48..39ab3a9 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestPayment.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/integration/TestPayment.java
@@ -54,7 +54,7 @@ public class TestPayment extends TestIntegrationBase {
assertListenerStatus();
busHandler.pushExpectedEvents(NextEvent.PAYMENT);
- final DirectPayment payment1 = paymentApi.createPayment(account, item1.getInvoiceId(), new BigDecimal("4.00"), PLUGIN_PROPERTIES, callContext);
+ final DirectPayment payment1 = null; // STEPH paymentApi.createPurchase(account, item1.getInvoiceId(), new BigDecimal("4.00"), PLUGIN_PROPERTIES, callContext);
assertListenerStatus();
Invoice invoice1 = invoiceUserApi.getInvoice(item1.getInvoiceId(), callContext);
@@ -66,7 +66,7 @@ public class TestPayment extends TestIntegrationBase {
assertTrue(accountBalance.compareTo(new BigDecimal("6.00")) == 0);
busHandler.pushExpectedEvents(NextEvent.PAYMENT);
- final DirectPayment payment2 = paymentApi.createPayment(account, item1.getInvoiceId(), new BigDecimal("6.00"), PLUGIN_PROPERTIES, callContext);
+ final DirectPayment payment2 = null; // STEPH paymentApi.createPayment(account, item1.getInvoiceId(), new BigDecimal("6.00"), PLUGIN_PROPERTIES, callContext);
assertListenerStatus();
invoice1 = invoiceUserApi.getInvoice(item1.getInvoiceId(), callContext);
@@ -91,7 +91,7 @@ public class TestPayment extends TestIntegrationBase {
*/
// And then issue refund with item adjustment on first invoice/item
- paymentApi.createRefund(account, payment2.getId(), new BigDecimal("5.00"), PLUGIN_PROPERTIES, callContext);
+ // STEPH paymentApi.createRefund(account, payment2.getId(), new BigDecimal("5.00"), PLUGIN_PROPERTIES, callContext);
invoice1 = invoiceUserApi.getInvoice(item1.getInvoiceId(), callContext);
assertTrue(invoice1.getBalance().compareTo(new BigDecimal("5.00")) == 0);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/util/PaymentChecker.java b/beatrix/src/test/java/org/killbill/billing/beatrix/util/PaymentChecker.java
index a1eb39e..3bcd448 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/util/PaymentChecker.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/util/PaymentChecker.java
@@ -25,10 +25,11 @@ import java.util.UUID;
import org.joda.time.LocalDate;
import org.killbill.billing.catalog.api.Currency;
import org.killbill.billing.payment.api.DirectPayment;
+import org.killbill.billing.payment.api.DirectPaymentApi;
import org.killbill.billing.payment.api.DirectPaymentTransaction;
-import org.killbill.billing.payment.api.PaymentApi;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentStatus;
+import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.util.callcontext.CallContext;
import org.slf4j.Logger;
@@ -36,6 +37,7 @@ import org.slf4j.LoggerFactory;
import org.testng.Assert;
import com.google.common.base.Predicate;
+import com.google.common.collect.ImmutableList;
import com.google.common.collect.Iterables;
import com.google.inject.Inject;
@@ -43,17 +45,17 @@ public class PaymentChecker {
private static final Logger log = LoggerFactory.getLogger(PaymentChecker.class);
- private final PaymentApi paymentApi;
+ private final DirectPaymentApi paymentApi;
private final AuditChecker auditChecker;
@Inject
- public PaymentChecker(final PaymentApi paymentApi, final AuditChecker auditChecker) {
+ public PaymentChecker(final DirectPaymentApi paymentApi, final AuditChecker auditChecker) {
this.paymentApi = paymentApi;
this.auditChecker = auditChecker;
}
public DirectPayment checkPayment(final UUID accountId, final int paymentOrderingNumber, final CallContext context, ExpectedPaymentCheck expected) throws PaymentApiException {
- final List<DirectPayment> payments = paymentApi.getAccountPayments(accountId, context);
+ final List<DirectPayment> payments = paymentApi.getAccountPayments(accountId, false, ImmutableList.<PluginProperty>of(), context);
Assert.assertEquals(payments.size(), paymentOrderingNumber);
final DirectPayment payment = payments.get(paymentOrderingNumber - 1);
final DirectPaymentTransaction transaction = getPurchaseTransaction(payment);
diff --git a/beatrix/src/test/java/org/killbill/billing/beatrix/util/RefundChecker.java b/beatrix/src/test/java/org/killbill/billing/beatrix/util/RefundChecker.java
index 479ca93..a5b56c7 100644
--- a/beatrix/src/test/java/org/killbill/billing/beatrix/util/RefundChecker.java
+++ b/beatrix/src/test/java/org/killbill/billing/beatrix/util/RefundChecker.java
@@ -32,8 +32,8 @@ import org.killbill.billing.invoice.api.InvoicePaymentApi;
import org.killbill.billing.invoice.api.InvoicePaymentType;
import org.killbill.billing.invoice.api.InvoiceUserApi;
import org.killbill.billing.payment.api.DirectPayment;
+import org.killbill.billing.payment.api.DirectPaymentApi;
import org.killbill.billing.payment.api.DirectPaymentTransaction;
-import org.killbill.billing.payment.api.PaymentApi;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.util.callcontext.CallContext;
@@ -50,13 +50,13 @@ public class RefundChecker {
private static final Logger log = LoggerFactory.getLogger(RefundChecker.class);
- private final PaymentApi paymentApi;
+ private final DirectPaymentApi paymentApi;
private final InvoicePaymentApi invoicePaymentApi;
private final AuditChecker auditChecker;
private final InvoiceUserApi invoiceUserApi;
@Inject
- public RefundChecker(final PaymentApi paymentApi, final InvoicePaymentApi invoicePaymentApi, final InvoiceUserApi invoiceApi, final AuditChecker auditChecker) {
+ public RefundChecker(final DirectPaymentApi paymentApi, final InvoicePaymentApi invoicePaymentApi, final InvoiceUserApi invoiceApi, final AuditChecker auditChecker) {
this.paymentApi = paymentApi;
this.invoicePaymentApi = invoicePaymentApi;
this.auditChecker = auditChecker;
@@ -65,7 +65,9 @@ public class RefundChecker {
public DirectPayment checkRefund(final UUID paymentId, final CallContext context, ExpectedRefundCheck expected) throws PaymentApiException {
- final List<DirectPayment> refunds = paymentApi.getPaymentRefunds(paymentId, context);
+
+ final DirectPayment payment = null; // STEPH paymentApi.getPaymentRefunds(paymentId, context);
+ final List<DirectPayment> refunds = null; // STEPH paymentApi.getPaymentRefunds(paymentId, context);
Assert.assertEquals(refunds.size(), 1);
final InvoicePayment refundInvoicePayment = getInvoicePaymentEntry(paymentId, InvoicePaymentType.REFUND, context);
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountTimelineJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountTimelineJson.java
index 2cf5f78..f55e605 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountTimelineJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/AccountTimelineJson.java
@@ -125,7 +125,7 @@ public class AccountTimelineJson {
for (final DirectPayment refund : refundsByPayment.get(payment.getId())) {
final List<AuditLog> auditLogs = accountAuditLogs.getAuditLogsForRefund(refund.getId());
// TODO add adjusted invoice items?
- refunds.add(new RefundJson(refund, null, auditLogs));
+ // STEPH refunds.add(new RefundJson(refund, null, auditLogs));
}
final List<ChargebackJson> chargebacks = new ArrayList<ChargebackJson>();
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PaymentMethodJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PaymentMethodJson.java
index 9acf598..e2f057c 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PaymentMethodJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/PaymentMethodJson.java
@@ -76,18 +76,6 @@ public class PaymentMethodJson extends JsonBase {
}
pluginDetailJson = new PaymentMethodPluginDetailJson(pluginDetail.getExternalPaymentMethodId(),
pluginDetail.isDefaultPaymentMethod(),
- pluginDetail.getType(),
- pluginDetail.getCCName(),
- pluginDetail.getCCType(),
- pluginDetail.getCCExpirationMonth(),
- pluginDetail.getCCExpirationYear(),
- pluginDetail.getCCLast4(),
- pluginDetail.getAddress1(),
- pluginDetail.getAddress2(),
- pluginDetail.getCity(),
- pluginDetail.getState(),
- pluginDetail.getZip(),
- pluginDetail.getCountry(),
properties);
}
return new PaymentMethodJson(in.getId().toString(), account.getId().toString(), isDefault, in.getPluginName(),
@@ -139,79 +127,6 @@ public class PaymentMethodJson extends JsonBase {
// N/A
return false;
}
-
- @Override
- public String getType() {
- // N/A
- return null;
- }
-
- @Override
- public String getCCName() {
- // N/A
- return null;
- }
-
- @Override
- public String getCCType() {
- // N/A
- return null;
- }
-
- @Override
- public String getCCExpirationMonth() {
- // N/A
- return null;
- }
-
- @Override
- public String getCCExpirationYear() {
- // N/A
- return null;
- }
-
- @Override
- public String getCCLast4() {
- // N/A
- return null;
- }
-
- @Override
- public String getAddress1() {
- // N/A
- return null;
- }
-
- @Override
- public String getAddress2() {
- // N/A
- return null;
- }
-
- @Override
- public String getCity() {
- // N/A
- return null;
- }
-
- @Override
- public String getState() {
- // N/A
- return null;
- }
-
- @Override
- public String getZip() {
- // N/A
- return null;
- }
-
- @Override
- public String getCountry() {
- // N/A
- return null;
- }
-
@Override
public String getExternalPaymentMethodId() {
return pluginInfo.getExternalPaymentId();
@@ -310,50 +225,14 @@ public class PaymentMethodJson extends JsonBase {
private final String externalPaymentId;
private final Boolean isDefaultPaymentMethod;
- private final String type;
- private final String ccName;
- private final String ccType;
- private final String ccExpirationMonth;
- private final String ccExpirationYear;
- private final String ccLast4;
- private final String address1;
- private final String address2;
- private final String city;
- private final String state;
- private final String zip;
- private final String country;
private final List<PluginPropertyJson> properties;
@JsonCreator
public PaymentMethodPluginDetailJson(@JsonProperty("externalPaymentId") final String externalPaymentId,
@JsonProperty("isDefaultPaymentMethod") final Boolean isDefaultPaymentMethod,
- @JsonProperty("type") final String type,
- @JsonProperty("ccName") final String ccName,
- @JsonProperty("ccType") final String ccType,
- @JsonProperty("ccExpirationMonth") final String ccExpirationMonth,
- @JsonProperty("ccExpirationYear") final String ccExpirationYear,
- @JsonProperty("ccLast4") final String ccLast4,
- @JsonProperty("address1") final String address1,
- @JsonProperty("address2") final String address2,
- @JsonProperty("city") final String city,
- @JsonProperty("state") final String state,
- @JsonProperty("zip") final String zip,
- @JsonProperty("country") final String country,
@JsonProperty("properties") final List<PluginPropertyJson> properties) {
this.externalPaymentId = externalPaymentId;
this.isDefaultPaymentMethod = isDefaultPaymentMethod;
- this.type = type;
- this.ccName = ccName;
- this.ccType = ccType;
- this.ccExpirationMonth = ccExpirationMonth;
- this.ccExpirationYear = ccExpirationYear;
- this.ccLast4 = ccLast4;
- this.address1 = address1;
- this.address2 = address2;
- this.city = city;
- this.state = state;
- this.zip = zip;
- this.country = country;
this.properties = properties;
}
@@ -365,54 +244,6 @@ public class PaymentMethodJson extends JsonBase {
return isDefaultPaymentMethod;
}
- public String getType() {
- return type;
- }
-
- public String getCcName() {
- return ccName;
- }
-
- public String getCcType() {
- return ccType;
- }
-
- public String getCcExpirationMonth() {
- return ccExpirationMonth;
- }
-
- public String getCcExpirationYear() {
- return ccExpirationYear;
- }
-
- public String getCcLast4() {
- return ccLast4;
- }
-
- public String getAddress1() {
- return address1;
- }
-
- public String getAddress2() {
- return address2;
- }
-
- public String getCity() {
- return city;
- }
-
- public String getState() {
- return state;
- }
-
- public String getZip() {
- return zip;
- }
-
- public String getCountry() {
- return country;
- }
-
public List<PluginPropertyJson> getProperties() {
return properties;
}
@@ -422,18 +253,6 @@ public class PaymentMethodJson extends JsonBase {
final StringBuilder sb = new StringBuilder("PaymentMethodPluginDetailJson{");
sb.append("externalPaymentId='").append(externalPaymentId).append('\'');
sb.append(", isDefaultPaymentMethod=").append(isDefaultPaymentMethod);
- sb.append(", type='").append(type).append('\'');
- sb.append(", ccName='").append(ccName).append('\'');
- sb.append(", ccType='").append(ccType).append('\'');
- sb.append(", ccExpirationMonth='").append(ccExpirationMonth).append('\'');
- sb.append(", ccExpirationYear='").append(ccExpirationYear).append('\'');
- sb.append(", ccLast4='").append(ccLast4).append('\'');
- sb.append(", address1='").append(address1).append('\'');
- sb.append(", address2='").append(address2).append('\'');
- sb.append(", city='").append(city).append('\'');
- sb.append(", state='").append(state).append('\'');
- sb.append(", zip='").append(zip).append('\'');
- sb.append(", country='").append(country).append('\'');
sb.append(", properties=").append(properties);
sb.append('}');
return sb.toString();
@@ -450,33 +269,6 @@ public class PaymentMethodJson extends JsonBase {
final PaymentMethodPluginDetailJson that = (PaymentMethodPluginDetailJson) o;
- if (address1 != null ? !address1.equals(that.address1) : that.address1 != null) {
- return false;
- }
- if (address2 != null ? !address2.equals(that.address2) : that.address2 != null) {
- return false;
- }
- if (ccExpirationMonth != null ? !ccExpirationMonth.equals(that.ccExpirationMonth) : that.ccExpirationMonth != null) {
- return false;
- }
- if (ccExpirationYear != null ? !ccExpirationYear.equals(that.ccExpirationYear) : that.ccExpirationYear != null) {
- return false;
- }
- if (ccLast4 != null ? !ccLast4.equals(that.ccLast4) : that.ccLast4 != null) {
- return false;
- }
- if (ccName != null ? !ccName.equals(that.ccName) : that.ccName != null) {
- return false;
- }
- if (ccType != null ? !ccType.equals(that.ccType) : that.ccType != null) {
- return false;
- }
- if (city != null ? !city.equals(that.city) : that.city != null) {
- return false;
- }
- if (country != null ? !country.equals(that.country) : that.country != null) {
- return false;
- }
if (externalPaymentId != null ? !externalPaymentId.equals(that.externalPaymentId) : that.externalPaymentId != null) {
return false;
}
@@ -486,16 +278,6 @@ public class PaymentMethodJson extends JsonBase {
if (properties != null ? !properties.equals(that.properties) : that.properties != null) {
return false;
}
- if (state != null ? !state.equals(that.state) : that.state != null) {
- return false;
- }
- if (type != null ? !type.equals(that.type) : that.type != null) {
- return false;
- }
- if (zip != null ? !zip.equals(that.zip) : that.zip != null) {
- return false;
- }
-
return true;
}
@@ -503,18 +285,6 @@ public class PaymentMethodJson extends JsonBase {
public int hashCode() {
int result = externalPaymentId != null ? externalPaymentId.hashCode() : 0;
result = 31 * result + (isDefaultPaymentMethod != null ? isDefaultPaymentMethod.hashCode() : 0);
- result = 31 * result + (type != null ? type.hashCode() : 0);
- result = 31 * result + (ccName != null ? ccName.hashCode() : 0);
- result = 31 * result + (ccType != null ? ccType.hashCode() : 0);
- result = 31 * result + (ccExpirationMonth != null ? ccExpirationMonth.hashCode() : 0);
- result = 31 * result + (ccExpirationYear != null ? ccExpirationYear.hashCode() : 0);
- result = 31 * result + (ccLast4 != null ? ccLast4.hashCode() : 0);
- result = 31 * result + (address1 != null ? address1.hashCode() : 0);
- result = 31 * result + (address2 != null ? address2.hashCode() : 0);
- result = 31 * result + (city != null ? city.hashCode() : 0);
- result = 31 * result + (state != null ? state.hashCode() : 0);
- result = 31 * result + (zip != null ? zip.hashCode() : 0);
- result = 31 * result + (country != null ? country.hashCode() : 0);
result = 31 * result + (properties != null ? properties.hashCode() : 0);
return result;
}
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/RefundJson.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/RefundJson.java
index 340f153..0489afd 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/RefundJson.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/json/RefundJson.java
@@ -26,6 +26,7 @@ import javax.annotation.Nullable;
import org.joda.time.DateTime;
import org.killbill.billing.invoice.api.InvoiceItem;
import org.killbill.billing.payment.api.DirectPayment;
+import org.killbill.billing.payment.api.DirectPaymentTransaction;
import org.killbill.billing.util.audit.AuditLog;
import com.fasterxml.jackson.annotation.JsonCreator;
@@ -69,12 +70,12 @@ public class RefundJson extends JsonBase {
this.adjustments = adjustments;
}
- public RefundJson(final DirectPayment refund) {
+ public RefundJson(final DirectPaymentTransaction refund) {
this(refund, null, null);
}
- public RefundJson(final DirectPayment refund, @Nullable final List<InvoiceItem> adjustments, @Nullable final List<AuditLog> auditLogs) {
- this(refund.getId().toString(), refund.getId().toString(), refund.getRefundedAmount(), refund.getCurrency().toString(),
+ public RefundJson(final DirectPaymentTransaction refund, @Nullable final List<InvoiceItem> adjustments, @Nullable final List<AuditLog> auditLogs) {
+ this(refund.getId().toString(), refund.getDirectPaymentId().toString(), refund.getAmount(), refund.getCurrency().toString(),
null /* TODO [PAYMENT] refund.getRefundStatus().toString() */, false /* TODO [PAYMENT] refund.isAdjusted() */, refund.getCreatedDate(), refund.getCreatedDate(),
adjustments == null ? null : ImmutableList.<InvoiceItemJson>copyOf(Collections2.transform(adjustments, new Function<InvoiceItem, InvoiceItemJson>() {
@Override
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
index 6ba9c6f..9fdff77 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/AccountResource.java
@@ -82,11 +82,9 @@ import org.killbill.billing.overdue.OverdueUserApi;
import org.killbill.billing.overdue.config.api.OverdueException;
import org.killbill.billing.payment.api.DirectPayment;
import org.killbill.billing.payment.api.DirectPaymentApi;
-import org.killbill.billing.payment.api.PaymentApi;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentMethod;
import org.killbill.billing.payment.api.PluginProperty;
-import org.killbill.billing.payment.api.Refund;
import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.util.api.AuditLevel;
import org.killbill.billing.util.api.AuditUserApi;
@@ -124,7 +122,7 @@ public class AccountResource extends JaxRsResourceBase {
private final SubscriptionApi subscriptionApi;
private final InvoiceUserApi invoiceApi;
private final InvoicePaymentApi invoicePaymentApi;
- private final PaymentApi paymentApi;
+ private final DirectPaymentApi paymentApi;
private final DirectPaymentApi directPaymentApi;
private final OverdueUserApi overdueApi;
@@ -133,7 +131,7 @@ public class AccountResource extends JaxRsResourceBase {
final AccountUserApi accountApi,
final InvoiceUserApi invoiceApi,
final InvoicePaymentApi invoicePaymentApi,
- final PaymentApi paymentApi,
+ final DirectPaymentApi paymentApi,
final DirectPaymentApi directPaymentApi,
final TagUserApi tagUserApi,
final AuditUserApi auditUserApi,
@@ -335,10 +333,10 @@ public class AccountResource extends JaxRsResourceBase {
final List<Invoice> invoices = invoiceApi.getInvoicesByAccount(account.getId(), tenantContext);
// Get the payments
- final List<DirectPayment> payments = paymentApi.getAccountPayments(accountId, tenantContext);
+ final List<DirectPayment> payments = paymentApi.getAccountPayments(accountId, false, ImmutableList.<PluginProperty>of(), tenantContext);
// Get the refunds
- final List<DirectPayment> refunds = paymentApi.getAccountRefunds(account, tenantContext);
+ final List<DirectPayment> refunds = null; // STEPH paymentApi.getAccountRefunds(account, tenantContext);
final Multimap<UUID, DirectPayment> refundsByPayment = ArrayListMultimap.<UUID, DirectPayment>create();
for (final DirectPayment refund : refunds) {
refundsByPayment.put(refund.getId(), refund);
@@ -461,8 +459,9 @@ public class AccountResource extends JaxRsResourceBase {
@Path("/{accountId:" + UUID_PATTERN + "}/" + PAYMENTS)
@Produces(APPLICATION_JSON)
public Response getPayments(@PathParam("accountId") final String accountId,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException {
- final List<DirectPayment> payments = paymentApi.getAccountPayments(UUID.fromString(accountId), context.createContext(request));
+ final List<DirectPayment> payments = paymentApi.getAccountPayments(UUID.fromString(accountId), withPluginInfo, ImmutableList.<PluginProperty>of(), context.createContext(request));
final List<PaymentJson> result = new ArrayList<PaymentJson>(payments.size());
for (final DirectPayment payment : payments) {
result.add(new PaymentJson(payment, null));
@@ -501,9 +500,9 @@ public class AccountResource extends JaxRsResourceBase {
invoice.getBalance() : remainingRequestPayment;
if (amountToPay.compareTo(BigDecimal.ZERO) > 0) {
if (externalPayment) {
- paymentApi.createExternalPayment(account, invoice.getId(), amountToPay, callContext);
+ // STEPH paymentApi.createExternalPayment(account, invoice.getId(), amountToPay, callContext);
} else {
- paymentApi.createPayment(account, invoice.getId(), amountToPay, pluginProperties, callContext);
+ // STEPH paymentApi.createPayment(account, invoice.getId(), amountToPay, pluginProperties, callContext);
}
}
remainingRequestPayment = remainingRequestPayment.subtract(amountToPay);
@@ -548,10 +547,10 @@ public class AccountResource extends JaxRsResourceBase {
return Response.status(Status.BAD_REQUEST).build();
}
- final UUID paymentMethodId = paymentApi.addPaymentMethod(data.getPluginName(), account, isDefault, data.getPluginDetail(), pluginProperties, callContext);
+ final UUID paymentMethodId = paymentApi.addPaymentMethod(account, data.getPluginName(), isDefault, data.getPluginDetail(), pluginProperties, callContext);
if (payAllUnpaidInvoices && unpaidInvoices.size() > 0) {
for (final Invoice invoice : unpaidInvoices) {
- paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), pluginProperties, callContext);
+ // STEPH paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), pluginProperties, callContext);
}
}
return uriBuilder.buildResponse(PaymentMethodResource.class, "getPaymentMethod", paymentMethodId, uriInfo.getBaseUri().toString());
@@ -569,7 +568,7 @@ public class AccountResource extends JaxRsResourceBase {
final TenantContext tenantContext = context.createContext(request);
final Account account = accountUserApi.getAccountById(UUID.fromString(accountId), tenantContext);
- final List<PaymentMethod> methods = paymentApi.getPaymentMethods(account, withPluginInfo, pluginProperties, tenantContext);
+ final List<PaymentMethod> methods = paymentApi.getAccountPaymentMethods(account.getId(), withPluginInfo, pluginProperties, tenantContext);
final AccountAuditLogs accountAuditLogs = auditUserApi.getAccountAuditLogs(account.getId(), auditMode.getLevel(), tenantContext);
final List<PaymentMethodJson> json = new ArrayList<PaymentMethodJson>(Collections2.transform(methods, new Function<PaymentMethod, PaymentMethodJson>() {
@Override
@@ -602,7 +601,7 @@ public class AccountResource extends JaxRsResourceBase {
if (payAllUnpaidInvoices) {
final Collection<Invoice> unpaidInvoices = invoiceApi.getUnpaidInvoicesByAccountId(account.getId(), clock.getUTCToday(), callContext);
for (final Invoice invoice : unpaidInvoices) {
- paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), pluginProperties, callContext);
+ // STEPH paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), pluginProperties, callContext);
}
}
return Response.status(Status.OK).build();
@@ -616,10 +615,11 @@ public class AccountResource extends JaxRsResourceBase {
@Produces(APPLICATION_JSON)
public Response getDirectPaymentsForAccount(@PathParam("accountId") final String accountIdStr,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException {
final UUID accountId = UUID.fromString(accountIdStr);
final TenantContext tenantContext = context.createContext(request);
- final List<DirectPayment> payments = directPaymentApi.getAccountPayments(accountId, tenantContext);
+ final List<DirectPayment> payments = directPaymentApi.getAccountPayments(accountId, withPluginInfo, ImmutableList.<PluginProperty>of(), tenantContext);
final AccountAuditLogs accountAuditLogs = auditUserApi.getAccountAuditLogs(accountId, auditMode.getLevel(), tenantContext);
final List<DirectPaymentJson> result = ImmutableList.copyOf(Iterables.transform(payments, new Function<DirectPayment, DirectPaymentJson>() {
@Override
@@ -703,12 +703,12 @@ public class AccountResource extends JaxRsResourceBase {
final TenantContext tenantContext = context.createContext(request);
final Account account = accountUserApi.getAccountById(UUID.fromString(accountId), tenantContext);
- final List<DirectPayment> refunds = paymentApi.getAccountRefunds(account, tenantContext);
+ final List<DirectPayment> refunds = null; // STEPH paymentApi.getAccountRefunds(account, tenantContext);
final List<RefundJson> result = new ArrayList<RefundJson>(Collections2.transform(refunds, new Function<DirectPayment, RefundJson>() {
@Override
public RefundJson apply(final DirectPayment input) {
// TODO Return adjusted items and audits
- return new RefundJson(input, null, null);
+ return null; // STEPH new RefundJson(input, null, null);
}
}));
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/DirectPaymentResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/DirectPaymentResource.java
index 94531df..8651604 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/DirectPaymentResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/DirectPaymentResource.java
@@ -110,15 +110,16 @@ public class DirectPaymentResource extends JaxRsResourceBase {
@QueryParam(QUERY_PAYMENT_PLUGIN_NAME) final String pluginName,
@QueryParam(QUERY_PLUGIN_PROPERTY) final List<String> pluginPropertiesString,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException {
final Iterable<PluginProperty> pluginProperties = extractPluginProperties(pluginPropertiesString);
final TenantContext tenantContext = context.createContext(request);
final Pagination<DirectPayment> directPayments;
if (Strings.isNullOrEmpty(pluginName)) {
- directPayments = directPaymentApi.getPayments(offset, limit, pluginProperties, tenantContext);
+ directPayments = directPaymentApi.getPayments(offset, limit, withPluginInfo, pluginProperties, tenantContext);
} else {
- directPayments = directPaymentApi.getPayments(offset, limit, pluginName, pluginProperties, tenantContext);
+ directPayments = directPaymentApi.getPayments(offset, limit, pluginName, withPluginInfo, pluginProperties, tenantContext);
}
final URI nextPageUri = uriBuilder.nextPage(DirectPaymentResource.class, "getDirectPayments", directPayments.getNextOffset(), limit, ImmutableMap.<String, String>of(QUERY_PAYMENT_METHOD_PLUGIN_NAME, Strings.nullToEmpty(pluginName),
@@ -150,6 +151,7 @@ public class DirectPaymentResource extends JaxRsResourceBase {
@QueryParam(QUERY_PAYMENT_PLUGIN_NAME) final String pluginName,
@QueryParam(QUERY_PLUGIN_PROPERTY) final List<String> pluginPropertiesString,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException {
final Iterable<PluginProperty> pluginProperties = extractPluginProperties(pluginPropertiesString);
final TenantContext tenantContext = context.createContext(request);
@@ -157,9 +159,9 @@ public class DirectPaymentResource extends JaxRsResourceBase {
// Search the plugin(s)
final Pagination<DirectPayment> directPayments;
if (Strings.isNullOrEmpty(pluginName)) {
- directPayments = directPaymentApi.searchPayments(searchKey, offset, limit, pluginProperties, tenantContext);
+ directPayments = directPaymentApi.searchPayments(searchKey, offset, limit, withPluginInfo, pluginProperties, tenantContext);
} else {
- directPayments = directPaymentApi.searchPayments(searchKey, offset, limit, pluginName, pluginProperties, tenantContext);
+ directPayments = directPaymentApi.searchPayments(searchKey, offset, limit, pluginName, withPluginInfo, pluginProperties, tenantContext);
}
final URI nextPageUri = uriBuilder.nextPage(DirectPaymentResource.class, "searchDirectPayments", directPayments.getNextOffset(), limit, ImmutableMap.<String, String>of("searchKey", searchKey,
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
index 4991f05..e12f232 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/InvoiceResource.java
@@ -65,7 +65,7 @@ import org.killbill.billing.jaxrs.json.PaymentJson;
import org.killbill.billing.jaxrs.util.Context;
import org.killbill.billing.jaxrs.util.JaxrsUriBuilder;
import org.killbill.billing.payment.api.DirectPayment;
-import org.killbill.billing.payment.api.PaymentApi;
+import org.killbill.billing.payment.api.DirectPaymentApi;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.util.api.AuditUserApi;
@@ -100,13 +100,13 @@ public class InvoiceResource extends JaxRsResourceBase {
private static final String ID_PARAM_NAME = "invoiceId";
private final InvoiceUserApi invoiceApi;
- private final PaymentApi paymentApi;
+ private final DirectPaymentApi paymentApi;
private final InvoiceNotifier invoiceNotifier;
@Inject
public InvoiceResource(final AccountUserApi accountUserApi,
final InvoiceUserApi invoiceApi,
- final PaymentApi paymentApi,
+ final DirectPaymentApi paymentApi,
final InvoiceNotifier invoiceNotifier,
final Clock clock,
final JaxrsUriBuilder uriBuilder,
@@ -357,7 +357,7 @@ public class InvoiceResource extends JaxRsResourceBase {
paidInvoices.add(externalCharge.getInvoiceId());
final Invoice invoice = invoiceApi.getInvoice(externalCharge.getInvoiceId(), callContext);
- paymentApi.createPayment(account, invoice.getId(), invoice.getBalance(), pluginProperties, callContext);
+ // STEPH paymentApi.createPurchaseWithPaymentControl(account, invoice.getId(), invoice.getBalance(), pluginProperties, callContext);
}
}
}
@@ -380,7 +380,7 @@ public class InvoiceResource extends JaxRsResourceBase {
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException {
final TenantContext tenantContext = context.createContext(request);
- final List<DirectPayment> payments = paymentApi.getInvoicePayments(UUID.fromString(invoiceId), tenantContext);
+ final List<DirectPayment> payments = null; // STEPH paymentApi.getInvoicePayments(UUID.fromString(invoiceId), tenantContext);
final List<PaymentJson> result = new ArrayList<PaymentJson>(payments.size());
if (payments.size() == 0) {
return Response.status(Status.OK).entity(result).build();
@@ -417,9 +417,9 @@ public class InvoiceResource extends JaxRsResourceBase {
final UUID invoiceId = UUID.fromString(payment.getInvoiceId());
if (externalPayment) {
- paymentApi.createExternalPayment(account, invoiceId, payment.getAmount(), callContext);
+ // STEPH paymentApi.createExternalPayment(account, invoiceId, payment.getAmount(), callContext);
} else {
- paymentApi.createPayment(account, invoiceId, payment.getAmount(), pluginProperties, callContext);
+ // STEPH paymentApi.createPayment(account, invoiceId, payment.getAmount(), pluginProperties, callContext);
}
return uriBuilder.buildResponse(uriInfo, InvoiceResource.class, "getPayments", payment.getInvoiceId());
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
index 37b2de7..0243355 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/JaxrsResource.java
@@ -139,7 +139,7 @@ public interface JaxrsResource {
public static final String CHARGES = "charges";
public static final String CHARGES_PATH = PREFIX + "/" + INVOICES + "/" + CHARGES;
- public static final String PAYMENTS = "payments";
+ public static final String PAYMENTS = "invoicePayments";
public static final String PAYMENTS_PATH = PREFIX + "/" + PAYMENTS;
public static final String DIRECT_PAYMENTS = "directPayments";
diff --git a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java
index 53b16e5..aad539a 100644
--- a/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java
+++ b/jaxrs/src/main/java/org/killbill/billing/jaxrs/resources/PaymentMethodResource.java
@@ -44,7 +44,7 @@ import org.killbill.billing.account.api.AccountUserApi;
import org.killbill.billing.jaxrs.json.PaymentMethodJson;
import org.killbill.billing.jaxrs.util.Context;
import org.killbill.billing.jaxrs.util.JaxrsUriBuilder;
-import org.killbill.billing.payment.api.PaymentApi;
+import org.killbill.billing.payment.api.DirectPaymentApi;
import org.killbill.billing.payment.api.PaymentApiException;
import org.killbill.billing.payment.api.PaymentMethod;
import org.killbill.billing.payment.api.PluginProperty;
@@ -69,10 +69,10 @@ import static javax.ws.rs.core.MediaType.APPLICATION_JSON;
@Path(JaxrsResource.PAYMENT_METHODS_PATH)
public class PaymentMethodResource extends JaxRsResourceBase {
- private final PaymentApi paymentApi;
+ private final DirectPaymentApi paymentApi;
@Inject
- public PaymentMethodResource(final PaymentApi paymentApi,
+ public PaymentMethodResource(final DirectPaymentApi paymentApi,
final AccountUserApi accountUserApi,
final JaxrsUriBuilder uriBuilder,
final TagUserApi tagUserApi,
@@ -88,9 +88,9 @@ public class PaymentMethodResource extends JaxRsResourceBase {
@Path("/{paymentMethodId:" + UUID_PATTERN + "}")
@Produces(APPLICATION_JSON)
public Response getPaymentMethod(@PathParam("paymentMethodId") final String paymentMethodId,
- @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@QueryParam(QUERY_PLUGIN_PROPERTY) final List<String> pluginPropertiesString,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws AccountApiException, PaymentApiException {
final Iterable<PluginProperty> pluginProperties = extractPluginProperties(pluginPropertiesString);
final TenantContext tenantContext = context.createContext(request);
@@ -111,15 +111,16 @@ public class PaymentMethodResource extends JaxRsResourceBase {
@QueryParam(QUERY_PAYMENT_METHOD_PLUGIN_NAME) final String pluginName,
@QueryParam(QUERY_PLUGIN_PROPERTY) final List<String> pluginPropertiesString,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException {
final Iterable<PluginProperty> pluginProperties = extractPluginProperties(pluginPropertiesString);
final TenantContext tenantContext = context.createContext(request);
final Pagination<PaymentMethod> paymentMethods;
if (Strings.isNullOrEmpty(pluginName)) {
- paymentMethods = paymentApi.getPaymentMethods(offset, limit, pluginProperties, tenantContext);
+ paymentMethods = paymentApi.getPaymentMethods(offset, limit, withPluginInfo, pluginProperties, tenantContext);
} else {
- paymentMethods = paymentApi.getPaymentMethods(offset, limit, pluginName, pluginProperties, tenantContext);
+ paymentMethods = paymentApi.getPaymentMethods(offset, limit, pluginName, withPluginInfo, pluginProperties, tenantContext);
}
final URI nextPageUri = uriBuilder.nextPage(PaymentMethodResource.class, "getPaymentMethods", paymentMethods.getNextOffset(), limit, ImmutableMap.<String, String>of(QUERY_PAYMENT_METHOD_PLUGIN_NAME, Strings.nullToEmpty(pluginName),
@@ -164,6 +165,7 @@ public class PaymentMethodResource extends JaxRsResourceBase {
@QueryParam(QUERY_PAYMENT_METHOD_PLUGIN_NAME) final String pluginName,
@QueryParam(QUERY_PLUGIN_PROPERTY) final List<String> pluginPropertiesString,
@QueryParam(QUERY_AUDIT) @DefaultValue("NONE") final AuditMode auditMode,
+ @QueryParam(QUERY_WITH_PLUGIN_INFO) @DefaultValue("false") final Boolean withPluginInfo,
@javax.ws.rs.core.Context final HttpServletRequest request) throws PaymentApiException, AccountApiException {
final Iterable<PluginProperty> pluginProperties = extractPluginProperties(pluginPropertiesString);
final TenantContext tenantContext = context.createContext(request);
@@ -171,9 +173,9 @@ public class PaymentMethodResource extends JaxRsResourceBase {
// Search the plugin(s)
final Pagination<PaymentMethod> paymentMethods;
if (Strings.isNullOrEmpty(pluginName)) {
- paymentMethods = paymentApi.searchPaymentMethods(searchKey, offset, limit, pluginProperties, tenantContext);
+ paymentMethods = paymentApi.searchPaymentMethods(searchKey, offset, limit, withPluginInfo, pluginProperties, tenantContext);
} else {
- paymentMethods = paymentApi.searchPaymentMethods(searchKey, offset, limit, pluginName, pluginProperties, tenantContext);
+ paymentMethods = paymentApi.searchPaymentMethods(searchKey, offset, limit, pluginName, withPluginInfo, pluginProperties, tenantContext);
}
final URI nextPageUri = uriBuilder.nextPage(PaymentMethodResource.class, "searchPaymentMethods", paymentMethods.getNextOffset(), limit, ImmutableMap.<String, String>of("searchKey", searchKey,
@@ -226,7 +228,7 @@ public class PaymentMethodResource extends JaxRsResourceBase {
final PaymentMethod paymentMethod = paymentApi.getPaymentMethodById(UUID.fromString(paymentMethodId), false, false, pluginProperties, callContext);
final Account account = accountUserApi.getAccountById(paymentMethod.getAccountId(), callContext);
- paymentApi.deletedPaymentMethod(account, UUID.fromString(paymentMethodId), deleteDefaultPaymentMethodWithAutoPayOff, pluginProperties, callContext);
+ paymentApi.deletePaymentMethod(account, UUID.fromString(paymentMethodId), deleteDefaultPaymentMethodWithAutoPayOff, pluginProperties, callContext);
return Response.status(Status.OK).build();
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/api/DefaultDirectPaymentApi.java b/payment/src/main/java/org/killbill/billing/payment/api/DefaultDirectPaymentApi.java
index 29ba0da..1094f22 100644
--- a/payment/src/main/java/org/killbill/billing/payment/api/DefaultDirectPaymentApi.java
+++ b/payment/src/main/java/org/killbill/billing/payment/api/DefaultDirectPaymentApi.java
@@ -133,33 +133,30 @@ public class DefaultDirectPaymentApi implements DirectPaymentApi {
}
- // STEPH API: should we only pass transactionExternalKey ? (notification may keep only one key; should we use kbTransactionId or externalKey ?)
- // DO we need to pass account (i guess this helps for context)
@Override
- public void notifyPendingPaymentOfStateChanged(final Account account, String transactionExternalKey, final boolean isSuccess, final CallContext callContext) throws PaymentApiException {
+ public void notifyPendingTransactionOfStateChanged(final Account account, final UUID directPaymentTransactionId, final boolean isSuccess, final CallContext callContext) throws PaymentApiException {
final InternalCallContext internalCallContext = internalCallContextFactory.createInternalCallContext(account.getId(), callContext);
- directPaymentProcessor.notifyPendingPaymentOfStateChanged(account, transactionExternalKey, isSuccess, callContext, internalCallContext);
+ directPaymentProcessor.notifyPendingPaymentOfStateChanged(account, directPaymentTransactionId, isSuccess, callContext, internalCallContext);
}
- // STEPH API Is chargeback against a payment or transaction?; do we want to provide a new transactionExternalKey (probably) ?
@Override
- public void notifyPaymentPaymentOfChargeback(final Account account, String paymentExternalKey, String chargebackExternalKey, BigDecimal amount, Currency currency, final CallContext callContext) throws PaymentApiException {
+ public void notifyChargeback(final Account account, final UUID directPaymentTransactionId, final String chargebackTransactionExternalKey, final BigDecimal amount, final Currency currency, final CallContext callContext) throws PaymentApiException {
final InternalCallContext internalCallContext = internalCallContextFactory.createInternalCallContext(account.getId(), callContext);
- directPaymentProcessor.notifyPaymentPaymentOfChargeback(account, paymentExternalKey, chargebackExternalKey, amount, currency, callContext, internalCallContext);
+ directPaymentProcessor.notifyPaymentPaymentOfChargeback(account, directPaymentTransactionId, chargebackTransactionExternalKey, amount, currency, callContext, internalCallContext);
}
@Override
- public List<DirectPayment> getAccountPayments(final UUID accountId, final TenantContext tenantContext) throws PaymentApiException {
+ public List<DirectPayment> getAccountPayments(final UUID accountId, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext) throws PaymentApiException {
return directPaymentProcessor.getAccountPayments(accountId, internalCallContextFactory.createInternalTenantContext(accountId, tenantContext));
}
@Override
- public Pagination<DirectPayment> getPayments(final Long offset, final Long limit, final Iterable<PluginProperty> properties, final TenantContext context) {
+ public Pagination<DirectPayment> getPayments(final Long offset, final Long limit, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) {
return directPaymentProcessor.getPayments(offset, limit, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
- public Pagination<DirectPayment> getPayments(final Long offset, final Long limit, final String pluginName, final Iterable<PluginProperty> properties, final TenantContext tenantContext) throws PaymentApiException {
+ public Pagination<DirectPayment> getPayments(final Long offset, final Long limit, final String pluginName, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext) throws PaymentApiException {
return directPaymentProcessor.getPayments(offset, limit, pluginName, properties, tenantContext, internalCallContextFactory.createInternalTenantContext(tenantContext));
}
@@ -173,28 +170,25 @@ public class DefaultDirectPaymentApi implements DirectPaymentApi {
}
@Override
- public DirectPayment getPaymentByExternalKey(String paymentExternalKey, final boolean withPluginInfo, Iterable<PluginProperty> properties, TenantContext tenantContext)
+ public DirectPayment getPaymentByExternalKey(final String paymentExternalKey, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext)
throws PaymentApiException {
return directPaymentProcessor.getPaymentByExternalKey(paymentExternalKey, withPluginInfo, properties, tenantContext, internalCallContextFactory.createInternalTenantContext(tenantContext));
}
+ // STEPH TODO withPluginInfo needs to be honored...
@Override
- public Pagination<DirectPayment> searchPayments(final String searchKey, final Long offset, final Long limit, final Iterable<PluginProperty> properties, final TenantContext context) {
+ public Pagination<DirectPayment> searchPayments(final String searchKey, final Long offset, final Long limit, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) {
return directPaymentProcessor.searchPayments(searchKey, offset, limit, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
- public Pagination<DirectPayment> searchPayments(final String searchKey, final Long offset, final Long limit, final String pluginName, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentApiException {
+ public Pagination<DirectPayment> searchPayments(final String searchKey, final Long offset, final Long limit, final String pluginName, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentApiException {
return directPaymentProcessor.searchPayments(searchKey, offset, limit, pluginName, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
- @Override
- public Set<String> getAvailablePlugins() {
- return paymentMethodProcessor.getAvailablePlugins();
- }
@Override
- public UUID addPaymentMethod(final String pluginName, final Account account,
+ public UUID addPaymentMethod(final Account account, final String pluginName,
final boolean setDefault, final PaymentMethodPlugin paymentMethodInfo,
final Iterable<PluginProperty> properties, final CallContext context)
throws PaymentApiException {
@@ -203,9 +197,9 @@ public class DefaultDirectPaymentApi implements DirectPaymentApi {
}
@Override
- public List<PaymentMethod> getPaymentMethods(final Account account, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context)
+ public List<PaymentMethod> getAccountPaymentMethods(final UUID accountId, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context)
throws PaymentApiException {
- return paymentMethodProcessor.getPaymentMethods(account, withPluginInfo, properties, context, internalCallContextFactory.createInternalTenantContext(context));
+ return paymentMethodProcessor.getPaymentMethods(accountId, withPluginInfo, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
@@ -215,27 +209,27 @@ public class DefaultDirectPaymentApi implements DirectPaymentApi {
}
@Override
- public Pagination<PaymentMethod> getPaymentMethods(final Long offset, final Long limit, final Iterable<PluginProperty> properties, final TenantContext context) {
+ public Pagination<PaymentMethod> getPaymentMethods(final Long offset, final Long limit, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) {
return paymentMethodProcessor.getPaymentMethods(offset, limit, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
- public Pagination<PaymentMethod> getPaymentMethods(final Long offset, final Long limit, final String pluginName, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentApiException {
+ public Pagination<PaymentMethod> getPaymentMethods(final Long offset, final Long limit, final String pluginName, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentApiException {
return paymentMethodProcessor.getPaymentMethods(offset, limit, pluginName, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
- public Pagination<PaymentMethod> searchPaymentMethods(final String searchKey, final Long offset, final Long limit, final Iterable<PluginProperty> properties, final TenantContext context) {
+ public Pagination<PaymentMethod> searchPaymentMethods(final String searchKey, final Long offset, final Long limit, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) {
return paymentMethodProcessor.searchPaymentMethods(searchKey, offset, limit, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
- public Pagination<PaymentMethod> searchPaymentMethods(final String searchKey, final Long offset, final Long limit, final String pluginName, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentApiException {
+ public Pagination<PaymentMethod> searchPaymentMethods(final String searchKey, final Long offset, final Long limit, final String pluginName, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentApiException {
return paymentMethodProcessor.searchPaymentMethods(searchKey, offset, limit, pluginName, properties, context, internalCallContextFactory.createInternalTenantContext(context));
}
@Override
- public void deletedPaymentMethod(final Account account, final UUID paymentMethodId, final boolean deleteDefaultPaymentMethodWithAutoPayOff, final Iterable<PluginProperty> properties, final CallContext context)
+ public void deletePaymentMethod(final Account account, final UUID paymentMethodId, final boolean deleteDefaultPaymentMethodWithAutoPayOff, final Iterable<PluginProperty> properties, final CallContext context)
throws PaymentApiException {
paymentMethodProcessor.deletedPaymentMethod(account, paymentMethodId, deleteDefaultPaymentMethodWithAutoPayOff, properties, context, internalCallContextFactory.createInternalCallContext(account.getId(), context));
}
@@ -247,7 +241,7 @@ public class DefaultDirectPaymentApi implements DirectPaymentApi {
}
@Override
- public List<PaymentMethod> refreshPaymentMethods(final String pluginName, final Account account, final Iterable<PluginProperty> properties, final CallContext context)
+ public List<PaymentMethod> refreshPaymentMethods(final Account account, final String pluginName, final Iterable<PluginProperty> properties, final CallContext context)
throws PaymentApiException {
return paymentMethodProcessor.refreshPaymentMethods(pluginName, account, properties, context, internalCallContextFactory.createInternalCallContext(account.getId(), context));
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java b/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java
index 880e625..28d7c45 100644
--- a/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java
+++ b/payment/src/main/java/org/killbill/billing/payment/control/InvoicePaymentControlPluginApi.java
@@ -47,8 +47,11 @@ import org.killbill.billing.payment.glue.PaymentModule;
import org.killbill.billing.payment.retry.BaseRetryService.RetryServiceScheduler;
import org.killbill.billing.payment.retry.DefaultFailureCallResult;
import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
+import org.killbill.billing.retry.plugin.api.FailureCallResult;
import org.killbill.billing.retry.plugin.api.PaymentControlApiException;
+import org.killbill.billing.retry.plugin.api.PaymentControlContext;
import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi;
+import org.killbill.billing.retry.plugin.api.PriorPaymentControlResult;
import org.killbill.billing.util.api.TagUserApi;
import org.killbill.billing.util.callcontext.CallContext;
import org.killbill.billing.util.callcontext.InternalCallContextFactory;
@@ -112,7 +115,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
return new DefaultPriorPaymentControlResult(true);
}
- final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccount().getId(), paymentControlContext);
+ final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccountId(), paymentControlContext);
if (transactionType == TransactionType.PURCHASE) {
return getPluginPurchaseResult(paymentControlContext, internalContext);
} else /* TransactionType.REFUND */ {
@@ -121,10 +124,10 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
}
@Override
- public void onCompletionCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+ public void onSuccessCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
final UUID invoiceId = UUID.fromString(paymentControlContext.getPaymentExternalKey());
- final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccount().getId(), paymentControlContext);
+ final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccountId(), paymentControlContext);
try {
invoiceApi.notifyOfPayment(invoiceId,
paymentControlContext.getAmount(),
@@ -142,7 +145,7 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
@Override
public FailureCallResult onFailureCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
- final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccount().getId(), paymentControlContext);
+ final InternalCallContext internalContext = internalCallContextFactory.createInternalCallContext(paymentControlContext.getAccountId(), paymentControlContext);
switch (paymentControlContext.getTransactionType()) {
case PURCHASE:
final DateTime nextRetryDate = computeNextRetryDate(paymentControlContext.getPaymentExternalKey(), paymentControlContext.isApiPayment(), internalContext);
@@ -377,10 +380,10 @@ public final class InvoicePaymentControlPluginApi implements PaymentControlPlugi
}
private boolean insert_AUTO_PAY_OFF_ifRequired(final PaymentControlContext paymentControlContext) {
- if (!isAccountAutoPayOff(paymentControlContext.getAccount().getId(), paymentControlContext)) {
+ if (!isAccountAutoPayOff(paymentControlContext.getAccountId(), paymentControlContext)) {
return false;
}
- final PluginAutoPayOffModelDao data = new PluginAutoPayOffModelDao(paymentControlContext.getPaymentExternalKey(), paymentControlContext.getTransactionExternalKey(), paymentControlContext.getAccount().getId(), PLUGIN_NAME,
+ final PluginAutoPayOffModelDao data = new PluginAutoPayOffModelDao(paymentControlContext.getPaymentExternalKey(), paymentControlContext.getTransactionExternalKey(), paymentControlContext.getAccountId(), PLUGIN_NAME,
paymentControlContext.getPaymentId(), paymentControlContext.getPaymentMethodId(), paymentControlContext.getAmount(), paymentControlContext.getCurrency(), CREATED_BY, clock.getUTCNow());
controlDao.insertAutoPayOff(data);
return true;
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java b/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java
index 62e2199..adbaa16 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/DirectPaymentProcessor.java
@@ -236,9 +236,9 @@ public class DirectPaymentProcessor extends ProcessorBase {
);
}
- public void notifyPendingPaymentOfStateChanged(final Account account, String transactionExternalKey, final boolean isSuccess, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+ public void notifyPendingPaymentOfStateChanged(final Account account, UUID transactionId, final boolean isSuccess, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
- final DirectPaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransactionByExternalKey(transactionExternalKey, internalCallContext);
+ final DirectPaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransaction(transactionId, internalCallContext);
if (transactionModelDao.getPaymentStatus() != PaymentStatus.PENDING) {
throw new PaymentApiException(ErrorCode.PAYMENT_NO_SUCH_SUCCESS_PAYMENT, transactionModelDao.getDirectPaymentId());
@@ -255,20 +255,19 @@ public class DirectPaymentProcessor extends ProcessorBase {
transactionModelDao.getGatewayErrorCode(), transactionModelDao.getGatewayErrorMsg(), internalCallContext);
}
- public void notifyPaymentPaymentOfChargeback(final Account account, final String paymentExternalKey, final String chargebackExternalKey, BigDecimal amount, Currency currency, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
- final DirectPaymentModelDao paymentModelDao = paymentDao.getDirectPaymentByExternalKey(paymentExternalKey, internalCallContext);
- Preconditions.checkState(paymentModelDao != null);
+ public void notifyPaymentPaymentOfChargeback(final Account account, final UUID transactionId, final String chargebackTransactionExternalKey, final BigDecimal amount, final Currency currency, final CallContext callContext, final InternalCallContext internalCallContext) throws PaymentApiException {
+ final DirectPaymentTransactionModelDao transactionModelDao = paymentDao.getDirectPaymentTransaction(transactionId, internalCallContext);
+ Preconditions.checkState(transactionModelDao != null);
final DateTime utcNow = clock.getUTCNow();
-
- final DirectPaymentTransactionModelDao chargebackTransaction = new DirectPaymentTransactionModelDao(utcNow, utcNow, chargebackExternalKey, paymentModelDao.getId(),
+ final DirectPaymentTransactionModelDao chargebackTransaction = new DirectPaymentTransactionModelDao(utcNow, utcNow, chargebackTransactionExternalKey, transactionModelDao.getId(),
TransactionType.CHARGEBACK, utcNow, PaymentStatus.SUCCESS, amount, currency, null, null);
final State currentPaymentState = directPaymentAutomatonRunner.fetchNextState("CHARGEBACK_INIT", true);
// TODO STEPH we could create a DAO operation to do both steps at once
- paymentDao.updateDirectPaymentWithNewTransaction(paymentModelDao.getId(), chargebackTransaction, internalCallContext);
- paymentDao.updateDirectPaymentAndTransactionOnCompletion(paymentModelDao.getId(), currentPaymentState.getName(), chargebackTransaction.getId(), PaymentStatus.SUCCESS,
+ paymentDao.updateDirectPaymentWithNewTransaction(transactionModelDao.getId(), chargebackTransaction, internalCallContext);
+ paymentDao.updateDirectPaymentAndTransactionOnCompletion(transactionModelDao.getId(), currentPaymentState.getName(), chargebackTransaction.getId(), PaymentStatus.SUCCESS,
chargebackTransaction.getAmount(), chargebackTransaction.getCurrency(),
chargebackTransaction.getGatewayErrorCode(), chargebackTransaction.getGatewayErrorMsg(), internalCallContext);
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/PaymentMethodProcessor.java b/payment/src/main/java/org/killbill/billing/payment/core/PaymentMethodProcessor.java
index 409cfd1..fe62885 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/PaymentMethodProcessor.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/PaymentMethodProcessor.java
@@ -125,12 +125,12 @@ public class PaymentMethodProcessor extends ProcessorBase {
}
}
- public List<PaymentMethod> getPaymentMethods(final Account account, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final InternalTenantContext context) throws PaymentApiException {
- return getPaymentMethods(account, withPluginInfo, properties, buildTenantContext(context), context);
+ public List<PaymentMethod> getPaymentMethods(final UUID accountId, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final InternalTenantContext context) throws PaymentApiException {
+ return getPaymentMethods(accountId, withPluginInfo, properties, buildTenantContext(context), context);
}
- public List<PaymentMethod> getPaymentMethods(final Account account, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext, final InternalTenantContext context) throws PaymentApiException {
- final List<PaymentMethodModelDao> paymentMethodModels = paymentDao.getPaymentMethods(account.getId(), context);
+ public List<PaymentMethod> getPaymentMethods(final UUID accountId, final boolean withPluginInfo, final Iterable<PluginProperty> properties, final TenantContext tenantContext, final InternalTenantContext context) throws PaymentApiException {
+ final List<PaymentMethodModelDao> paymentMethodModels = paymentDao.getPaymentMethods(accountId, context);
if (paymentMethodModels.size() == 0) {
return Collections.emptyList();
}
@@ -259,8 +259,8 @@ public class PaymentMethodProcessor extends ProcessorBase {
);
}
- public PaymentMethod getExternalPaymentMethod(final Account account, final Iterable<PluginProperty> properties, final TenantContext tenantContext, final InternalTenantContext context) throws PaymentApiException {
- final List<PaymentMethod> paymentMethods = getPaymentMethods(account, false, properties, tenantContext, context);
+ public PaymentMethod getExternalPaymentMethod(final UUID accountId, final Iterable<PluginProperty> properties, final TenantContext tenantContext, final InternalTenantContext context) throws PaymentApiException {
+ final List<PaymentMethod> paymentMethods = getPaymentMethods(accountId, false, properties, tenantContext, context);
for (final PaymentMethod paymentMethod : paymentMethods) {
if (ExternalPaymentProviderPlugin.PLUGIN_NAME.equals(paymentMethod.getPluginName())) {
return paymentMethod;
@@ -273,7 +273,7 @@ public class PaymentMethodProcessor extends ProcessorBase {
public UUID createOrGetExternalPaymentMethod(final Account account, final Iterable<PluginProperty> properties, final CallContext callContext, final InternalCallContext context) throws PaymentApiException {
// Check if this account has already used the external payment plugin
// If not, it's the first time - add a payment method for it
- PaymentMethod externalPaymentMethod = getExternalPaymentMethod(account, properties, callContext, context);
+ PaymentMethod externalPaymentMethod = getExternalPaymentMethod(account.getId(), properties, callContext, context);
if (externalPaymentMethod != null) {
return externalPaymentMethod.getId();
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java
index 04e0f29..2fe96fc 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/PurchaseOperation.java
@@ -39,7 +39,7 @@ public class PurchaseOperation extends DirectPaymentOperation {
@Override
protected PaymentTransactionInfoPlugin doPluginOperation() throws PaymentPluginApiException {
logger.debug("Starting PURCHASE for payment {} ({} {})", directPaymentStateContext.getDirectPaymentId(), directPaymentStateContext.getAmount(), directPaymentStateContext.getCurrency());
- return plugin.processPayment(directPaymentStateContext.getAccount().getId(),
+ return plugin.purchasePayment(directPaymentStateContext.getAccount().getId(),
directPaymentStateContext.getDirectPaymentId(),
directPaymentStateContext.getTransactionPaymentId(),
directPaymentStateContext.getPaymentMethodId(),
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RefundOperation.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RefundOperation.java
index 7d9be71..6161f11 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RefundOperation.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RefundOperation.java
@@ -39,9 +39,10 @@ public class RefundOperation extends DirectPaymentOperation {
@Override
protected PaymentTransactionInfoPlugin doPluginOperation() throws PaymentPluginApiException {
logger.debug("Starting REFUND for payment {} ({} {})", directPaymentStateContext.getDirectPaymentId(), directPaymentStateContext.getAmount(), directPaymentStateContext.getCurrency());
- return plugin.processRefund(directPaymentStateContext.getAccount().getId(),
+ return plugin.refundPayment(directPaymentStateContext.getAccount().getId(),
directPaymentStateContext.getDirectPaymentId(),
directPaymentStateContext.getTransactionPaymentId(),
+ directPaymentStateContext.getPaymentMethodId(),
directPaymentStateContext.getAmount(),
directPaymentStateContext.getCurrency(),
directPaymentStateContext.getProperties(),
diff --git a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java
index 7d9bc41..57eaa3d 100644
--- a/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java
+++ b/payment/src/main/java/org/killbill/billing/payment/core/sm/RetryOperationCallback.java
@@ -39,11 +39,11 @@ import org.killbill.billing.payment.api.TransactionType;
import org.killbill.billing.payment.core.DirectPaymentProcessor;
import org.killbill.billing.payment.core.ProcessorBase.WithAccountLockCallback;
import org.killbill.billing.payment.dispatcher.PluginDispatcher;
+import org.killbill.billing.retry.plugin.api.FailureCallResult;
import org.killbill.billing.retry.plugin.api.PaymentControlApiException;
+import org.killbill.billing.retry.plugin.api.PaymentControlContext;
import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi;
-import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi.FailureCallResult;
-import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi.PaymentControlContext;
-import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi.PriorPaymentControlResult;
+import org.killbill.billing.retry.plugin.api.PriorPaymentControlResult;
import org.killbill.billing.util.callcontext.CallContext;
import org.killbill.commons.locker.GlobalLocker;
import org.slf4j.Logger;
@@ -83,7 +83,7 @@ public abstract class RetryOperationCallback extends PluginOperation implements
private void onCompletion(final String pluginName, final PaymentControlContext paymentControlContext) {
final PaymentControlPluginApi plugin = paymentControlPluginRegistry.getServiceForName(pluginName);
try {
- plugin.onCompletionCall(paymentControlContext);
+ plugin.onSuccessCall(paymentControlContext);
} catch (PaymentControlApiException e) {
logger.warn("Plugin " + pluginName + " failed to complete onCompletion call for " + paymentControlContext.getPaymentExternalKey(), e);
}
@@ -221,8 +221,8 @@ public abstract class RetryOperationCallback extends PluginOperation implements
}
@Override
- public Account getAccount() {
- return account;
+ public UUID getAccountId() {
+ return account.getId();
}
@Override
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java
index 5ea4606..33ddf53 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentControlProviderPlugin.java
@@ -19,8 +19,11 @@ package org.killbill.billing.payment.provider;
import org.joda.time.DateTime;
import org.killbill.billing.payment.retry.DefaultFailureCallResult;
import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
+import org.killbill.billing.retry.plugin.api.FailureCallResult;
import org.killbill.billing.retry.plugin.api.PaymentControlApiException;
+import org.killbill.billing.retry.plugin.api.PaymentControlContext;
import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi;
+import org.killbill.billing.retry.plugin.api.PriorPaymentControlResult;
public class DefaultNoOpPaymentControlProviderPlugin implements PaymentControlPluginApi {
@@ -34,7 +37,7 @@ public class DefaultNoOpPaymentControlProviderPlugin implements PaymentControlPl
}
@Override
- public void onCompletionCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+ public void onSuccessCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
}
@Override
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentMethodPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentMethodPlugin.java
index 3982880..ca5ce3a 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentMethodPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentMethodPlugin.java
@@ -83,66 +83,6 @@ public class DefaultNoOpPaymentMethodPlugin implements PaymentMethodPlugin {
}
@Override
- public String getType() {
- return "noop";
- }
-
- @Override
- public String getCCName() {
- return null;
- }
-
- @Override
- public String getCCType() {
- return null;
- }
-
- @Override
- public String getCCExpirationMonth() {
- return null;
- }
-
- @Override
- public String getCCExpirationYear() {
- return null;
- }
-
- @Override
- public String getCCLast4() {
- return null;
- }
-
- @Override
- public String getAddress1() {
- return null;
- }
-
- @Override
- public String getAddress2() {
- return null;
- }
-
- @Override
- public String getCity() {
- return null;
- }
-
- @Override
- public String getState() {
- return null;
- }
-
- @Override
- public String getZip() {
- return null;
- }
-
- @Override
- public String getCountry() {
- return null;
- }
-
- @Override
public String toString() {
final StringBuilder sb = new StringBuilder();
sb.append("DefaultNoOpPaymentMethodPlugin");
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentProviderPlugin.java
index 427402e..2908799 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultNoOpPaymentProviderPlugin.java
@@ -105,7 +105,7 @@ public class DefaultNoOpPaymentProviderPlugin implements NoOpPaymentPluginApi {
}
@Override
- public PaymentTransactionInfoPlugin processPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
+ public PaymentTransactionInfoPlugin purchasePayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
return getInternalNoopPaymentInfoResult(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, currency);
}
@@ -208,13 +208,7 @@ public class DefaultNoOpPaymentProviderPlugin implements NoOpPaymentPluginApi {
final ImmutableList<PaymentMethodPlugin> allResults = ImmutableList.<PaymentMethodPlugin>copyOf(Iterables.<PaymentMethodPlugin>filter(Iterables.<PaymentMethodPlugin>concat(paymentMethods.values()), new Predicate<PaymentMethodPlugin>() {
@Override
public boolean apply(final PaymentMethodPlugin input) {
- return (input.getAddress1() != null && input.getAddress1().contains(searchKey)) ||
- (input.getAddress2() != null && input.getAddress2().contains(searchKey)) ||
- (input.getCCLast4() != null && input.getCCLast4().contains(searchKey)) ||
- (input.getCCName() != null && input.getCCName().contains(searchKey)) ||
- (input.getCity() != null && input.getCity().contains(searchKey)) ||
- (input.getState() != null && input.getState().contains(searchKey)) ||
- (input.getCountry() != null && input.getCountry().contains(searchKey));
+ return input.getKbPaymentMethodId().toString().equals(searchKey);
}
}));
@@ -245,7 +239,7 @@ public class DefaultNoOpPaymentProviderPlugin implements NoOpPaymentPluginApi {
}
@Override
- public PaymentTransactionInfoPlugin processRefund(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
+ public PaymentTransactionInfoPlugin refundPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
final List<PaymentTransactionInfoPlugin> transactions = getPaymentInfo(kbAccountId, kbPaymentId, properties, context);
if (transactions == null || transactions.size() == 0) {
throw new PaymentPluginApiException("", String.format("No payment found for payment id %s (plugin %s)", kbPaymentId.toString(), PLUGIN_NAME));
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java
index d3c973e..575c1e5 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/DefaultPaymentControlProviderPlugin.java
@@ -18,21 +18,23 @@ package org.killbill.billing.payment.provider;
import org.killbill.billing.payment.retry.DefaultFailureCallResult;
import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
+import org.killbill.billing.retry.plugin.api.FailureCallResult;
import org.killbill.billing.retry.plugin.api.PaymentControlApiException;
+import org.killbill.billing.retry.plugin.api.PaymentControlContext;
import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi;
-import org.killbill.billing.retry.plugin.api.UnknownEntryException;
+import org.killbill.billing.retry.plugin.api.PriorPaymentControlResult;
public class DefaultPaymentControlProviderPlugin implements PaymentControlPluginApi {
public static final String PLUGIN_NAME = "__DEFAULT_PAYMENT_CONTROL__";
@Override
- public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException, UnknownEntryException {
+ public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
return new DefaultPriorPaymentControlResult(false, null);
}
@Override
- public void onCompletionCall(final PaymentControlContext paymentControlContext) {
+ public void onSuccessCall(final PaymentControlContext paymentControlContext) {
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java b/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
index 10f4cdb..a6167a8 100644
--- a/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
+++ b/payment/src/main/java/org/killbill/billing/payment/provider/ExternalPaymentProviderPlugin.java
@@ -72,7 +72,7 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
}
@Override
- public PaymentTransactionInfoPlugin processPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
+ public PaymentTransactionInfoPlugin purchasePayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
}
@@ -88,7 +88,7 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
@Override
public List<PaymentTransactionInfoPlugin> getPaymentInfo(final UUID kbAccountId, final UUID kbPaymentId, final Iterable<PluginProperty> properties, final TenantContext context) throws PaymentPluginApiException {
- // STEPH broken...
+ // TODO broken...
return ImmutableList.of();
}
@@ -98,7 +98,7 @@ public class ExternalPaymentProviderPlugin implements PaymentPluginApi {
}
@Override
- public PaymentTransactionInfoPlugin processRefund(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
+ public PaymentTransactionInfoPlugin refundPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
return new DefaultNoOpPaymentInfoPlugin(kbPaymentId, kbTransactionId, TransactionType.REFUND, BigDecimal.ZERO, currency, clock.getUTCNow(), clock.getUTCNow(), PaymentPluginStatus.PROCESSED, null);
}
diff --git a/payment/src/main/java/org/killbill/billing/payment/retry/DefaultFailureCallResult.java b/payment/src/main/java/org/killbill/billing/payment/retry/DefaultFailureCallResult.java
index ab03dfa..6fad9f9 100644
--- a/payment/src/main/java/org/killbill/billing/payment/retry/DefaultFailureCallResult.java
+++ b/payment/src/main/java/org/killbill/billing/payment/retry/DefaultFailureCallResult.java
@@ -17,7 +17,7 @@
package org.killbill.billing.payment.retry;
import org.joda.time.DateTime;
-import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi.FailureCallResult;
+import org.killbill.billing.retry.plugin.api.FailureCallResult;
public class DefaultFailureCallResult implements FailureCallResult {
diff --git a/payment/src/main/java/org/killbill/billing/payment/retry/DefaultPriorPaymentControlResult.java b/payment/src/main/java/org/killbill/billing/payment/retry/DefaultPriorPaymentControlResult.java
index 02269d8..dc2e457 100644
--- a/payment/src/main/java/org/killbill/billing/payment/retry/DefaultPriorPaymentControlResult.java
+++ b/payment/src/main/java/org/killbill/billing/payment/retry/DefaultPriorPaymentControlResult.java
@@ -18,7 +18,7 @@ package org.killbill.billing.payment.retry;
import java.math.BigDecimal;
-import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi.PriorPaymentControlResult;
+import org.killbill.billing.retry.plugin.api.PriorPaymentControlResult;
public class DefaultPriorPaymentControlResult implements PriorPaymentControlResult {
diff --git a/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java b/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java
index 8a487a7..7c1c2ef 100644
--- a/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java
+++ b/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApi.java
@@ -436,11 +436,12 @@ public class TestPaymentApi extends PaymentTestSuiteWithEmbeddedDB {
final String paymentExternalKey = "couic";
final String transactionExternalKey = "couac";
final String transactionExternalKey2 = "couyc";
+ final UUID transactionId = UUID.randomUUID();
final DirectPayment payment = paymentApi.createPurchase(account, account.getPaymentMethodId(), null, requestedAmount, Currency.AED, paymentExternalKey, transactionExternalKey,
ImmutableList.<PluginProperty>of(), callContext);
- paymentApi.notifyPaymentPaymentOfChargeback(account, payment.getExternalKey(), transactionExternalKey2, requestedAmount, Currency.AED, callContext);
+ paymentApi.notifyPendingTransactionOfStateChanged(account, transactionId, false, callContext);
final DirectPayment payment2 = paymentApi.getPayment(payment.getId(), false, ImmutableList.<PluginProperty>of(), callContext);
diff --git a/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApiNoDB.java b/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApiNoDB.java
index 21e463e..ef42757 100644
--- a/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApiNoDB.java
+++ b/payment/src/test/java/org/killbill/billing/payment/api/TestPaymentApiNoDB.java
@@ -157,37 +157,37 @@ public class TestPaymentApiNoDB extends PaymentTestSuiteNoDB {
@Test(groups = "fast")
public void testPaymentMethods() throws Exception {
- List<PaymentMethod> methods = paymentApi.getPaymentMethods(account, false, PLUGIN_PROPERTIES, callContext);
+ List<PaymentMethod> methods = paymentApi.getAccountPaymentMethods(account.getId(), false, PLUGIN_PROPERTIES, callContext);
assertEquals(methods.size(), 1);
final PaymentMethod initDefaultMethod = methods.get(0);
assertEquals(initDefaultMethod.getId(), account.getPaymentMethodId());
final PaymentMethodPlugin newPaymenrMethod = new DefaultNoOpPaymentMethodPlugin(UUID.randomUUID().toString(), true, null);
- final UUID newPaymentMethodId = paymentApi.addPaymentMethod(MockPaymentProviderPlugin.PLUGIN_NAME, account, true, newPaymenrMethod, PLUGIN_PROPERTIES, callContext);
+ final UUID newPaymentMethodId = paymentApi.addPaymentMethod(account, MockPaymentProviderPlugin.PLUGIN_NAME, true, newPaymenrMethod, PLUGIN_PROPERTIES, callContext);
Mockito.when(account.getPaymentMethodId()).thenReturn(newPaymentMethodId);
- methods = paymentApi.getPaymentMethods(account, false, PLUGIN_PROPERTIES, callContext);
+ methods = paymentApi.getAccountPaymentMethods(account.getId(), false, PLUGIN_PROPERTIES, callContext);
assertEquals(methods.size(), 2);
assertEquals(newPaymentMethodId, account.getPaymentMethodId());
boolean failed = false;
try {
- paymentApi.deletedPaymentMethod(account, newPaymentMethodId, false, PLUGIN_PROPERTIES, callContext);
+ paymentApi.deletePaymentMethod(account, newPaymentMethodId, false, PLUGIN_PROPERTIES, callContext);
} catch (final PaymentApiException e) {
failed = true;
}
assertTrue(failed);
- paymentApi.deletedPaymentMethod(account, initDefaultMethod.getId(), true, PLUGIN_PROPERTIES, callContext);
- methods = paymentApi.getPaymentMethods(account, false, PLUGIN_PROPERTIES, callContext);
+ paymentApi.deletePaymentMethod(account, initDefaultMethod.getId(), true, PLUGIN_PROPERTIES, callContext);
+ methods = paymentApi.getAccountPaymentMethods(account.getId(), false, PLUGIN_PROPERTIES, callContext);
assertEquals(methods.size(), 1);
// NOW retry with default payment method with special flag
- paymentApi.deletedPaymentMethod(account, newPaymentMethodId, true, PLUGIN_PROPERTIES, callContext);
+ paymentApi.deletePaymentMethod(account, newPaymentMethodId, true, PLUGIN_PROPERTIES, callContext);
- methods = paymentApi.getPaymentMethods(account, false, PLUGIN_PROPERTIES, callContext);
+ methods = paymentApi.getAccountPaymentMethods(account.getId(), false, PLUGIN_PROPERTIES, callContext);
assertEquals(methods.size(), 0);
}
}
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorNoDB.java b/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorNoDB.java
index b1dc65e..1630d98 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorNoDB.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorNoDB.java
@@ -42,11 +42,11 @@ public class TestPaymentMethodProcessorNoDB extends PaymentTestSuiteNoDB {
Mockito.when(account.getId()).thenReturn(accountId);
Mockito.when(account.getExternalKey()).thenReturn(accountId.toString());
- Assert.assertEquals(paymentMethodProcessor.getPaymentMethods(account, false, properties, internalCallContext).size(), 0);
+ Assert.assertEquals(paymentMethodProcessor.getPaymentMethods(account.getId(), false, properties, internalCallContext).size(), 0);
// The first call should create the payment method
final ExternalPaymentProviderPlugin providerPlugin = paymentMethodProcessor.createPaymentMethodAndGetExternalPaymentProviderPlugin(account, properties, callContext, internalCallContext);
- final List<PaymentMethod> paymentMethods = paymentMethodProcessor.getPaymentMethods(account, false, properties, internalCallContext);
+ final List<PaymentMethod> paymentMethods = paymentMethodProcessor.getPaymentMethods(account.getId(), false, properties, internalCallContext);
Assert.assertEquals(paymentMethods.size(), 1);
Assert.assertEquals(paymentMethods.get(0).getPluginName(), ExternalPaymentProviderPlugin.PLUGIN_NAME);
Assert.assertEquals(paymentMethods.get(0).getAccountId(), account.getId());
@@ -57,7 +57,7 @@ public class TestPaymentMethodProcessorNoDB extends PaymentTestSuiteNoDB {
final ExternalPaymentProviderPlugin foundProviderPlugin = paymentMethodProcessor.createPaymentMethodAndGetExternalPaymentProviderPlugin(account, properties, callContext, internalCallContext);
Assert.assertNotNull(foundProviderPlugin);
- final List<PaymentMethod> foundPaymentMethods = paymentMethodProcessor.getPaymentMethods(account, false, properties, internalCallContext);
+ final List<PaymentMethod> foundPaymentMethods = paymentMethodProcessor.getPaymentMethods(account.getId(), false, properties, internalCallContext);
Assert.assertEquals(foundPaymentMethods.size(), 1);
Assert.assertEquals(foundPaymentMethods.get(0).getPluginName(), ExternalPaymentProviderPlugin.PLUGIN_NAME);
Assert.assertEquals(foundPaymentMethods.get(0).getAccountId(), account.getId());
diff --git a/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorRefreshWithDB.java b/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorRefreshWithDB.java
index 771f29c..eac353c 100644
--- a/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorRefreshWithDB.java
+++ b/payment/src/test/java/org/killbill/billing/payment/core/TestPaymentMethodProcessorRefreshWithDB.java
@@ -68,14 +68,14 @@ public class TestPaymentMethodProcessorRefreshWithDB extends PaymentTestSuiteWit
Assert.assertEquals(getPluginApi().getPaymentMethods(account.getId(), true, PLUGIN_PROPERTIES, callContext).size(), 1);
final UUID firstPmId = account.getPaymentMethodId();
- final UUID secondPmId = paymentApi.addPaymentMethod(MockPaymentProviderPlugin.PLUGIN_NAME, account, true, new DefaultNoOpPaymentMethodPlugin(UUID.randomUUID().toString(), false, null), PLUGIN_PROPERTIES, callContext);
+ final UUID secondPmId = paymentApi.addPaymentMethod(account, MockPaymentProviderPlugin.PLUGIN_NAME, true, new DefaultNoOpPaymentMethodPlugin(UUID.randomUUID().toString(), false, null), PLUGIN_PROPERTIES, callContext);
Assert.assertEquals(getPluginApi().getPaymentMethods(account.getId(), true, PLUGIN_PROPERTIES, callContext).size(), 2);
- Assert.assertEquals(paymentApi.getPaymentMethods(account, false, PLUGIN_PROPERTIES, callContext).size(), 2);
+ Assert.assertEquals(paymentApi.getAccountPaymentMethods(account.getId(), false, PLUGIN_PROPERTIES, callContext).size(), 2);
// Remove second PM from plugin
getPluginApi().deletePaymentMethod(account.getId(), secondPmId, PLUGIN_PROPERTIES, callContext);
Assert.assertEquals(getPluginApi().getPaymentMethods(account.getId(), true, PLUGIN_PROPERTIES, callContext).size(), 1);
- Assert.assertEquals(paymentApi.getPaymentMethods(account, false, PLUGIN_PROPERTIES, callContext).size(), 2);
+ Assert.assertEquals(paymentApi.getAccountPaymentMethods(account.getId(), false, PLUGIN_PROPERTIES, callContext).size(), 2);
// Verify that the refresh sees that PM as being deleted now
final List<PaymentMethod> methods = paymentMethodProcessor.refreshPaymentMethods(MockPaymentProviderPlugin.PLUGIN_NAME, account, PLUGIN_PROPERTIES, callContext, internalCallContext);
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java
index a5b7cf4..fc0b8a3 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentControlProviderPlugin.java
@@ -19,9 +19,11 @@ package org.killbill.billing.payment.provider;
import org.joda.time.DateTime;
import org.killbill.billing.payment.retry.DefaultFailureCallResult;
import org.killbill.billing.payment.retry.DefaultPriorPaymentControlResult;
+import org.killbill.billing.retry.plugin.api.FailureCallResult;
import org.killbill.billing.retry.plugin.api.PaymentControlApiException;
+import org.killbill.billing.retry.plugin.api.PaymentControlContext;
import org.killbill.billing.retry.plugin.api.PaymentControlPluginApi;
-import org.killbill.billing.retry.plugin.api.UnknownEntryException;
+import org.killbill.billing.retry.plugin.api.PriorPaymentControlResult;
public class MockPaymentControlProviderPlugin implements PaymentControlPluginApi {
@@ -41,12 +43,12 @@ public class MockPaymentControlProviderPlugin implements PaymentControlPluginApi
}
@Override
- public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException, UnknownEntryException {
+ public PriorPaymentControlResult priorCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException{
return new DefaultPriorPaymentControlResult(isAborted, null);
}
@Override
- public void onCompletionCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
+ public void onSuccessCall(final PaymentControlContext paymentControlContext) throws PaymentControlApiException {
}
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
index 222ccc0..18c3649 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/MockPaymentProviderPlugin.java
@@ -211,7 +211,7 @@ public class MockPaymentProviderPlugin implements NoOpPaymentPluginApi {
}
@Override
- public PaymentTransactionInfoPlugin processPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
+ public PaymentTransactionInfoPlugin purchasePayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final UUID kbPaymentMethodId, final BigDecimal amount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
return getPaymentTransactionInfoPluginResult(kbPaymentId, kbTransactionId, TransactionType.PURCHASE, amount, currency);
}
@@ -291,13 +291,7 @@ public class MockPaymentProviderPlugin implements NoOpPaymentPluginApi {
final ImmutableList<PaymentMethodPlugin> results = ImmutableList.<PaymentMethodPlugin>copyOf(Iterables.<PaymentMethodPlugin>filter(paymentMethods.values(), new Predicate<PaymentMethodPlugin>() {
@Override
public boolean apply(final PaymentMethodPlugin input) {
- return (input.getAddress1() != null && input.getAddress1().contains(searchKey)) ||
- (input.getAddress2() != null && input.getAddress2().contains(searchKey)) ||
- (input.getCCLast4() != null && input.getCCLast4().contains(searchKey)) ||
- (input.getCCName() != null && input.getCCName().contains(searchKey)) ||
- (input.getCity() != null && input.getCity().contains(searchKey)) ||
- (input.getState() != null && input.getState().contains(searchKey)) ||
- (input.getCountry() != null && input.getCountry().contains(searchKey));
+ return (input.getKbPaymentMethodId().toString().equals(searchKey));
}
}));
return DefaultPagination.<PaymentMethodPlugin>build(offset, limit, results);
@@ -324,7 +318,7 @@ public class MockPaymentProviderPlugin implements NoOpPaymentPluginApi {
}
@Override
- public PaymentTransactionInfoPlugin processRefund(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbTransactionId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
+ public PaymentTransactionInfoPlugin refundPayment(final UUID kbAccountId, final UUID kbPaymentId, final UUID kbPaymentMethodId, final UUID kbTransactionId, final BigDecimal refundAmount, final Currency currency, final Iterable<PluginProperty> properties, final CallContext context) throws PaymentPluginApiException {
final InternalPaymentInfo info = payments.get(kbPaymentId.toString());
if (info == null) {
diff --git a/payment/src/test/java/org/killbill/billing/payment/provider/TestExternalPaymentProviderPlugin.java b/payment/src/test/java/org/killbill/billing/payment/provider/TestExternalPaymentProviderPlugin.java
index 87783cb..65d9791 100644
--- a/payment/src/test/java/org/killbill/billing/payment/provider/TestExternalPaymentProviderPlugin.java
+++ b/payment/src/test/java/org/killbill/billing/payment/provider/TestExternalPaymentProviderPlugin.java
@@ -56,7 +56,7 @@ public class TestExternalPaymentProviderPlugin extends PaymentTestSuiteNoDB {
final UUID kbTransactionId = UUID.randomUUID();
final UUID paymentMethodId = UUID.randomUUID();
final BigDecimal amount = BigDecimal.TEN;
- final PaymentTransactionInfoPlugin paymentInfoPlugin = plugin.processPayment(accountId, paymentId, kbTransactionId, paymentMethodId, amount, Currency.BRL, properties, callContext);
+ final PaymentTransactionInfoPlugin paymentInfoPlugin = plugin.purchasePayment(accountId, paymentId, kbTransactionId, paymentMethodId, amount, Currency.BRL, properties, callContext);
Assert.assertEquals(paymentInfoPlugin.getAmount(), amount);
Assert.assertNull(paymentInfoPlugin.getGatewayError());
diff --git a/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java b/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java
index d5e0481..e663cdc 100644
--- a/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java
+++ b/payment/src/test/java/org/killbill/billing/payment/TestPaymentHelper.java
@@ -32,14 +32,10 @@ import org.killbill.billing.invoice.api.InvoiceApiException;
import org.killbill.billing.invoice.api.InvoiceInternalApi;
import org.killbill.billing.invoice.api.InvoiceItem;
import org.killbill.billing.payment.api.DirectPaymentApi;
-import org.killbill.billing.payment.api.PaymentApi;
import org.killbill.billing.payment.api.PaymentMethodPlugin;
import org.killbill.billing.payment.api.PluginProperty;
import org.killbill.billing.payment.provider.DefaultNoOpPaymentMethodPlugin;
import org.killbill.billing.payment.provider.MockPaymentProviderPlugin;
-import org.killbill.billing.util.cache.Cachable.CacheType;
-import org.killbill.billing.util.cache.CacheController;
-import org.killbill.billing.util.cache.CacheControllerDispatcher;
import org.killbill.billing.util.callcontext.CallContext;
import org.killbill.bus.api.PersistentBus;
import org.killbill.bus.api.PersistentBus.EventBusException;
@@ -134,7 +130,7 @@ public class TestPaymentHelper {
}
public void addTestPaymentMethod(final Account account, final PaymentMethodPlugin paymentMethodInfo) throws Exception {
- final UUID paymentMethodId = paymentApi.addPaymentMethod(MockPaymentProviderPlugin.PLUGIN_NAME, account, true, paymentMethodInfo, ImmutableList.<PluginProperty>of(), context);
+ final UUID paymentMethodId = paymentApi.addPaymentMethod(account, MockPaymentProviderPlugin.PLUGIN_NAME, true, paymentMethodInfo, ImmutableList.<PluginProperty>of(), context);
Mockito.when(account.getPaymentMethodId()).thenReturn(paymentMethodId);
}
}
diff --git a/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java b/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
index bf23f34..ff726a8 100644
--- a/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
+++ b/profiles/killbill/src/main/java/org/killbill/billing/server/modules/KillbillServerModule.java
@@ -31,11 +31,10 @@ import org.killbill.billing.jaxrs.resources.BundleResource;
import org.killbill.billing.jaxrs.resources.CatalogResource;
import org.killbill.billing.jaxrs.resources.CustomFieldResource;
import org.killbill.billing.jaxrs.resources.ExportResource;
+import org.killbill.billing.jaxrs.resources.InvoicePaymentResource;
import org.killbill.billing.jaxrs.resources.InvoiceResource;
import org.killbill.billing.jaxrs.resources.PaymentMethodResource;
-import org.killbill.billing.jaxrs.resources.PaymentResource;
import org.killbill.billing.jaxrs.resources.PluginResource;
-import org.killbill.billing.jaxrs.resources.RefundResource;
import org.killbill.billing.jaxrs.resources.SubscriptionResource;
import org.killbill.billing.jaxrs.resources.TagDefinitionResource;
import org.killbill.billing.jaxrs.resources.TagResource;
@@ -152,10 +151,9 @@ public class KillbillServerModule extends KillbillPlatformModule {
bind(InvoiceResource.class).asEagerSingleton();
bind(KillbillEventHandler.class).asEagerSingleton();
bind(PaymentMethodResource.class).asEagerSingleton();
- bind(PaymentResource.class).asEagerSingleton();
+ bind(InvoicePaymentResource.class).asEagerSingleton();
bind(PluginResource.class).asEagerSingleton();
bind(PluginResource.class).asEagerSingleton();
- bind(RefundResource.class).asEagerSingleton();
bind(SubscriptionResource.class).asEagerSingleton();
bind(TagDefinitionResource.class).asEagerSingleton();
bind(TagResource.class).asEagerSingleton();
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestEntitlement.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestEntitlement.java
index f7631f2..2cdc2c6 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestEntitlement.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestEntitlement.java
@@ -67,7 +67,7 @@ public class TestEntitlement extends TestJaxrsBase {
newInput.setProductName(newProductName);
newInput.setBillingPeriod(entitlementJson.getBillingPeriod());
newInput.setPriceList(entitlementJson.getPriceList());
- objFromJson = killBillClient.updateSubscription(newInput, CALL_COMPLETION_TIMEOUT_SEC, createdBy, reason, comment);
+ objFromJson = null; // STEPH killBillClient.updateSubscription(newInput, CALL_COMPLETION_TIMEOUT_SEC, createdBy, reason, comment);
Assert.assertNotNull(objFromJson);
// MOVE AFTER TRIAL
diff --git a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java
index abbe591..041463c 100644
--- a/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java
+++ b/profiles/killbill/src/test/java/org/killbill/billing/jaxrs/TestInvoice.java
@@ -51,7 +51,7 @@ public class TestInvoice extends TestJaxrsBase {
final Account accountJson = createAccountWithPMBundleAndSubscriptionAndWaitForFirstInvoice();
- final List<Invoice> invoices = killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, AuditLevel.FULL);
+ final List<Invoice> invoices = null; // STEPH killBillClient.getInvoicesForAccount(accountJson.getAccountId(), true, AuditLevel.FULL);
assertEquals(invoices.size(), 2);
for (final Invoice invoiceJson : invoices) {
Assert.assertEquals(invoiceJson.getAuditLogs().size(), 1);
diff --git a/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java b/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java
index 2c4e51d..20d3457 100644
--- a/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java
+++ b/profiles/killpay/src/main/java/org/killbill/billing/server/modules/KillpayServerModule.java
@@ -28,10 +28,9 @@ import org.killbill.billing.invoice.glue.DefaultInvoiceModule;
import org.killbill.billing.jaxrs.resources.AccountResource;
import org.killbill.billing.jaxrs.resources.CustomFieldResource;
import org.killbill.billing.jaxrs.resources.ExportResource;
+import org.killbill.billing.jaxrs.resources.InvoicePaymentResource;
import org.killbill.billing.jaxrs.resources.PaymentMethodResource;
-import org.killbill.billing.jaxrs.resources.PaymentResource;
import org.killbill.billing.jaxrs.resources.PluginResource;
-import org.killbill.billing.jaxrs.resources.RefundResource;
import org.killbill.billing.jaxrs.resources.TagDefinitionResource;
import org.killbill.billing.jaxrs.resources.TagResource;
import org.killbill.billing.jaxrs.resources.TenantResource;
@@ -100,10 +99,9 @@ public class KillpayServerModule extends KillbillServerModule {
bind(ExportResource.class).asEagerSingleton();
bind(KillbillEventHandler.class).asEagerSingleton();
bind(PaymentMethodResource.class).asEagerSingleton();
- bind(PaymentResource.class).asEagerSingleton();
+ bind(InvoicePaymentResource.class).asEagerSingleton();
bind(PluginResource.class).asEagerSingleton();
bind(PluginResource.class).asEagerSingleton();
- bind(RefundResource.class).asEagerSingleton();
bind(TagDefinitionResource.class).asEagerSingleton();
bind(TagResource.class).asEagerSingleton();
bind(TenantResource.class).asEagerSingleton();
diff --git a/util/src/test/java/org/killbill/billing/mock/glue/MockPaymentModule.java b/util/src/test/java/org/killbill/billing/mock/glue/MockPaymentModule.java
index 1175270..645b8db 100644
--- a/util/src/test/java/org/killbill/billing/mock/glue/MockPaymentModule.java
+++ b/util/src/test/java/org/killbill/billing/mock/glue/MockPaymentModule.java
@@ -18,7 +18,7 @@
package org.killbill.billing.mock.glue;
-import org.killbill.billing.payment.api.PaymentApi;
+import org.killbill.billing.payment.api.DirectPaymentApi;
import org.killbill.billing.payment.api.PaymentInternalApi;
import org.killbill.billing.platform.api.KillbillConfigSource;
import org.killbill.billing.util.glue.KillBillModule;
@@ -32,7 +32,7 @@ public class MockPaymentModule extends KillBillModule {
@Override
protected void configure() {
- bind(PaymentApi.class).toInstance(Mockito.mock(PaymentApi.class));
+ bind(DirectPaymentApi.class).toInstance(Mockito.mock(DirectPaymentApi.class));
bind(PaymentInternalApi.class).toInstance(Mockito.mock(PaymentInternalApi.class));
}
}
diff --git a/util/src/test/java/org/killbill/billing/payment/api/TestPaymentMethodPluginBase.java b/util/src/test/java/org/killbill/billing/payment/api/TestPaymentMethodPluginBase.java
index 4515bb9..37948af 100644
--- a/util/src/test/java/org/killbill/billing/payment/api/TestPaymentMethodPluginBase.java
+++ b/util/src/test/java/org/killbill/billing/payment/api/TestPaymentMethodPluginBase.java
@@ -41,66 +41,6 @@ public class TestPaymentMethodPluginBase implements PaymentMethodPlugin {
}
@Override
- public String getType() {
- return "CreditCard";
- }
-
- @Override
- public String getCCName() {
- return "Bozo";
- }
-
- @Override
- public String getCCType() {
- return "Visa";
- }
-
- @Override
- public String getCCExpirationMonth() {
- return "12";
- }
-
- @Override
- public String getCCExpirationYear() {
- return "2013";
- }
-
- @Override
- public String getCCLast4() {
- return "4365";
- }
-
- @Override
- public String getAddress1() {
- return "34, street Foo";
- }
-
- @Override
- public String getAddress2() {
- return null;
- }
-
- @Override
- public String getCity() {
- return "SF";
- }
-
- @Override
- public String getState() {
- return "CA";
- }
-
- @Override
- public String getZip() {
- return "95321";
- }
-
- @Override
- public String getCountry() {
- return "Zimbawe";
- }
-
- @Override
public List<PluginProperty> getProperties() {
return ImmutableList.<PluginProperty>of();
}