Package epayment.adapters

Source Code of epayment.adapters.ABCGatewayAdapter

package epayment.adapters;

import epayment.adapters.*;

import epayment.framework.IGatewayAdapter;
import epayment.framework.IPaymentRequest;
import epayment.framework.IPaymentResponse;
import epayment.framework.PaymentException;
import epayment.response.PaymentResponse;

/**
* The <code>ABCGatewayAdapter</code> class is an
* <code>IGatewayAdapter</code> which adapts
* to a vendor-specific epayment package.
* <p>
* This class is strictly an example.
*
* @author <a href="mailto:mike@clarkware.com">Mike Clark</a>
* @author <a href="http://www.clarkware.com">Clarkware Consulting</a>
*/
public class ABCGatewayAdapter implements IGatewayAdapter {

  //
  // Vendor-specific proxy class.
  //
  //private ABCProxy _proxy;
 
  /**
   * Constructs an <code>ABCGatewayAdapter</code> instance.
   */
  public ABCGatewayAdapter() {
    //_proxy = new ABCProxy();
  }
 
  /**
   * Sets the payment gateway host.
   *
   * @param host Gateway host.
   */
  public void setHost(String host) {
    //_proxy.setGatewayHostName(host);   
  }
 
  /**
   * Performs an authorize for the specified payment request
   * information and returns a payment response.
   *
   * @param request Payment request.
   * @return Payment response.
   * @throws PaymentException If an error occurs.
   */
  public IPaymentResponse authorize(IPaymentRequest request)
    throws PaymentException {
   
    PaymentResponse response = new PaymentResponse();
   
    //
    // Adapt the request information to the
    // vendor-specific proxy API.
    //
    /*
    _proxy.setAction("authorize");
    _proxy.setUserId(request.getUserId());
    _proxy.setPassword(request.getUserPassword());   
    _proxy.setAccountHolderName(request.getAccountName());
    _proxy.setAccountHolderNumber(request.getAccountNumber());
    _proxy.setUserDefinedField1(request.getComment());
    _proxy.setTransactionAmount(request.getAmount());
    */
   
    //
    // Perform the transaction against
    // the vendor-specific API.
    //
    /* 
    boolean success = false;
    try {
   
      success = _proxy.performTransaction();
   
    } catch (Exception e) {
      throw new PaymentException(e.getMessage());
    }
    */
   
    //
    // Adapt the vendor-specific response information
    // to the generic response API.
    //   
    /*
    if (success) {
   
      response.setResponseMessage(_proxy.getResult());
      response.setProcessedDate(_proxy.getDate());
 
    } else {
      throw new PaymentException(_proxy.getResult());
    }
    */

    return response;
  }
 
  /**
   * Performs a capture for the specified payment
   * request information and returns a payment response.
   *
   * @param request Payment request.
   * @return Payment response.
   * @throws PaymentException If an error occurs.
   */
  public IPaymentResponse capture(IPaymentRequest request)
    throws PaymentException {
   
    // similar to authorize()
   
    return new PaymentResponse();
  }
 
  /**
   * Performs a sale (authorize and capture) for the specified
   * payment request information and returns a payment response.
   *
   * @param request Payment request.
   * @return Payment response.
   * @throws PaymentException If an error occurs.
   */
  public IPaymentResponse sale(IPaymentRequest request)
    throws PaymentException {
   
    // similar to authorize()
   
    return new PaymentResponse();
  }
 
  /**
   * Performs a credit for the specified payment request
   * information and returns a payment response.
   *
   * @param request Payment request.
   * @return Payment response.
   * @throws PaymentException If an error occurs.
   */
  public IPaymentResponse credit(IPaymentRequest request)
    throws PaymentException {
   
    // similar to authorize()
   
    return new PaymentResponse();
  }
 
  /**
   * Performs a void for the specified payment request
   * information and returns a payment response.
   *
   * @param request Payment request.
   * @return Payment response.
   * @throws PaymentException If an error occurs.
   */
  public IPaymentResponse voidSale(IPaymentRequest request)
    throws PaymentException {
   
    // similar to authorize()
   
    return new PaymentResponse();
  }
}
TOP

Related Classes of epayment.adapters.ABCGatewayAdapter

TOP
Copyright © 2018 www.massapi.com. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.