Package com.softwaremill.common.paypal.servlet

Source Code of com.softwaremill.common.paypal.servlet.IPNServlet

package com.softwaremill.common.paypal.servlet;

import com.softwaremill.common.paypal.process.PayPalErrorHandler;
import com.softwaremill.common.paypal.process.RequestParameters;
import com.softwaremill.common.paypal.process.processors.PayPalProcessorsFactory;
import com.softwaremill.common.paypal.process.status.PayPalStatus;
import com.softwaremill.common.paypal.service.PayPalVerificationService;

import javax.servlet.ServletConfig;
import javax.servlet.ServletException;
import javax.servlet.http.HttpServlet;
import javax.servlet.http.HttpServletRequest;
import javax.servlet.http.HttpServletResponse;
import java.io.IOException;

/**
* Servlet for handling paypal requests
* <p/>
* User: szimano
*/
public abstract class IPNServlet extends HttpServlet {

    private static final String SANDBOX_PAYPAL_ADDRESS = "https://www.sandbox.paypal.com/cgi-bin/webscr";
    private static final String PAYPAL_ADDRESS = "https://www.paypal.com/cgi-bin/webscr";

    private String usedPaypalAddress;

    @Override
    public void init(ServletConfig config) throws ServletException {
        super.init(config);

        checkIfInSandbox(config);
    }

    protected void checkIfInSandbox(ServletConfig config) {
        setPaypalAddress(config.getInitParameter("paypal.sandbox").toLowerCase().equals("true"));
    }

    protected void setPaypalAddress(boolean sandbox) {
        if (sandbox) {
            usedPaypalAddress = SANDBOX_PAYPAL_ADDRESS;
        } else {
            usedPaypalAddress = PAYPAL_ADDRESS;
        }
    }

    //******************************************************************************

    protected abstract PayPalErrorHandler getPayPalErrorProcessor();

    protected abstract PayPalProcessorsFactory getPayPalProcessorsFactory();

    //******************************************************************************

    @Override
    protected void doPost(HttpServletRequest request, HttpServletResponse response)
            throws ServletException, IOException {
        PayPalVerificationService payPalVerificationService = new PayPalVerificationService(usedPaypalAddress,
                getPayPalProcessorsFactory(),
                getPayPalErrorProcessor());
        PayPalStatus verify = payPalVerificationService.verify(new RequestParameters(request));
    }

    @Override
    protected void doGet(HttpServletRequest req, HttpServletResponse resp) throws ServletException, IOException {
        resp.sendError(500, "GET not supported");
    }

}
TOP

Related Classes of com.softwaremill.common.paypal.servlet.IPNServlet

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.