MoneyOrderPayment.java
Home
/
sm-core /
src /
main /
java /
com /
salesmanager /
core /
modules /
integration /
payment /
impl /
MoneyOrderPayment.java
package com.salesmanager.core.modules.integration.payment.impl;
import java.math.BigDecimal;
import java.util.ArrayList;
import java.util.Date;
import java.util.List;
import java.util.Map;
import org.apache.commons.lang3.StringUtils;
import com.salesmanager.core.business.customer.model.Customer;
import com.salesmanager.core.business.merchant.model.MerchantStore;
import com.salesmanager.core.business.order.model.Order;
import com.salesmanager.core.business.payments.model.Payment;
import com.salesmanager.core.business.payments.model.PaymentType;
import com.salesmanager.core.business.payments.model.Transaction;
import com.salesmanager.core.business.payments.model.TransactionType;
import com.salesmanager.core.business.shoppingcart.model.ShoppingCartItem;
import com.salesmanager.core.business.system.model.IntegrationConfiguration;
import com.salesmanager.core.business.system.model.IntegrationModule;
import com.salesmanager.core.modules.integration.IntegrationException;
import com.salesmanager.core.modules.integration.payment.model.PaymentModule;
public class MoneyOrderPayment implements PaymentModule {
@Override
public void validateModuleConfiguration(
IntegrationConfiguration integrationConfiguration,
MerchantStore store) throws IntegrationException {
List<String> errorFields = null;
Map<String,String> keys = integrationConfiguration.getIntegrationKeys();
//validate integrationKeys['address']
if(keys==null || StringUtils.isBlank(keys.get("address"))) {
errorFields = new ArrayList<String>();
errorFields.add("address");
}
if(errorFields!=null) {
IntegrationException ex = new IntegrationException(IntegrationException.ERROR_VALIDATION_SAVE);
ex.setErrorFields(errorFields);
throw ex;
}
return;
}
@Override
public Transaction initTransaction(MerchantStore store, Customer customer,
BigDecimal amount, Payment payment,
IntegrationConfiguration configuration, IntegrationModule module)
throws IntegrationException {
//NOT REQUIRED
return null;
}
@Override
public Transaction authorize(MerchantStore store, Customer customer,
List<ShoppingCartItem> items, BigDecimal amount, Payment payment,
IntegrationConfiguration configuration, IntegrationModule module)
throws IntegrationException {
//NOT REQUIRED
return null;
}
/* @Override
public Transaction capture(MerchantStore store, Customer customer,
List<ShoppingCartItem> items, BigDecimal amount, Payment payment, Transaction transaction,
IntegrationConfiguration configuration, IntegrationModule module)
throws IntegrationException {
//NOT REQUIRED
return null;
}*/
@Override
public Transaction authorizeAndCapture(MerchantStore store, Customer customer,
List<ShoppingCartItem> items, BigDecimal amount, Payment payment,
IntegrationConfiguration configuration, IntegrationModule module)
throws IntegrationException {
Transaction transaction = new Transaction();
transaction.setAmount(amount);
transaction.setTransactionDate(new Date());
transaction.setTransactionType(TransactionType.AUTHORIZECAPTURE);
transaction.setPaymentType(PaymentType.MONEYORDER);
return transaction;
}
@Override
public Transaction refund(boolean partial, MerchantStore store, Transaction transaction,
Order order, BigDecimal amount,
IntegrationConfiguration configuration, IntegrationModule module)
throws IntegrationException {
throw new IntegrationException("Transaction not supported");
}
@Override
public Transaction capture(MerchantStore store, Customer customer,
Order order, Transaction capturableTransaction,
IntegrationConfiguration configuration, IntegrationModule module)
throws IntegrationException {
// TODO Auto-generated method stub
return null;
}
}