Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/java/346.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/selenium/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
使用Java在Web应用程序中集成Paypal_Java_Paypal - Fatal编程技术网

使用Java在Web应用程序中集成Paypal

使用Java在Web应用程序中集成Paypal,java,paypal,Java,Paypal,我想将paypal集成到我的web应用程序中。我正在使用RESTEasy API进行restful请求。我想知道如何将paypal集成到我的应用程序中。我已经从他们的网站上下载了paypal java sdk,但是现在我没有好的应用程序可以帮助我将paypal集成到我的应用程序中。有人能推荐任何一个在网站上显示paypal一步一步不平等的网站吗?或者简单易懂的网站吗?paypal提供了一些甚至是一个可以生成代码的网站 在前面的链接离线后,从这个小教程开始:我们必须按照以下步骤在java web应

我想将paypal集成到我的web应用程序中。我正在使用RESTEasy API进行restful请求。我想知道如何将paypal集成到我的应用程序中。我已经从他们的网站上下载了paypal java sdk,但是现在我没有好的应用程序可以帮助我将paypal集成到我的应用程序中。有人能推荐任何一个在网站上显示paypal一步一步不平等的网站吗?或者简单易懂的网站吗?

paypal提供了一些甚至是一个可以生成代码的网站


在前面的链接离线后,从这个小教程开始:

我们必须按照以下步骤在java web应用程序中配置paypal。这里我展示了paypal到paypal和信用卡到paypal支付的配置

1.创建一个沙盒帐户。
2.创建web应用程序。
3.将下面的struts2操作与您的代码集成。如果您想与任何其他操作一起使用,只需使用方法并直接使用即可

public class PaypalAction extends ActionSupport implements SessionAware {


    private static final long serialVersionUID = 1L;
    private String resultString;
    private String token;

    @SuppressWarnings("rawtypes")
    private Map finalMap = new HashMap();

    public void paypalPay() {
        HttpServletRequest request = ServletActionContext.getRequest();
        HttpServletResponse response = ServletActionContext.getResponse();
        Integer payPercent = 10;     
        Map result = new HashMap();
        String data1 = "";

        try {
            data1 = URLEncoder.encode("USER", "UTF-8") + "="+ URLEncoder.encode("Sandbox UserName","UTF-8");
            data1 += "&" + URLEncoder.encode("PWD", "UTF-8") + "="+ URLEncoder.encode("Sandbox Password", "UTF-8");
            data1 += "&" + URLEncoder.encode("SIGNATURE", "UTF-8") + "="+ URLEncoder.encode("Sandbox Signature","UTF-8");
            data1 += "&" + URLEncoder.encode("METHOD", "UTF-8") + "="+ URLEncoder.encode("SetExpressCheckout", "UTF-8");

            data1 += "&" + URLEncoder.encode("RETURNURL", "UTF-8") + "=" + URLEncoder.encode(request.getRequestURL().toString().replaceAll(request.getServletPath(), "") + "/successPage","UTF-8");
            data1 += "&" + URLEncoder.encode("CANCELURL", "UTF-8") + "="+ URLEncoder.encode(request.getRequestURL().toString().replaceAll(request.getServletPath(), "") + "/failurePage",   "UTF-8");

            data1 += "&" + URLEncoder.encode("VERSION", "UTF-8") + "="+ URLEncoder.encode("104.0", "UTF-8");            
            data1 += "&" + URLEncoder.encode("AMT", "UTF-8")+ "=" + URLEncoder.encode("10", "UTF-8");                       
            data1 += "&" + URLEncoder.encode("CURRENCYCODE", "UTF-8") + "=" + URLEncoder.encode("USD", "UTF-8");            
            data1 += "&" + URLEncoder.encode("L_NAME0", "UTF-8") + "=" + URLEncoder.encode("Sample Test", "UTF-8");
            data1 += "&" + URLEncoder.encode("L_AMT0", "UTF-8") + "=" + URLEncoder.encode("10", "UTF-8");                   
            data1 += "&" + URLEncoder.encode("CUSTOM", "UTF-8") + "="+ URLEncoder.encode("Thank You For business","UTF-8");         
            data1 += "&" + URLEncoder.encode("DESC", "UTF-8") + "=" + URLEncoder.encode("Product Details", "UTF-8");                    
            data1 += "&" + URLEncoder.encode("NOSHIPPING", "UTF-8") + "="+ URLEncoder.encode("1", "UTF-8");


        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }
        result = post(data1);



        Iterator<?> iter = result.entrySet().iterator();

        while (iter.hasNext()) {
            Map.Entry mEntry = (Map.Entry) iter.next();

        }

        if(result!=null){

            token = (String) result.get("TOKEN");
            String url = "https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express"+ "-" + "checkout&token=" + (String) result.get("TOKEN");
            try {
                response.sendRedirect(url);
            } catch (IOException e) {

                e.printStackTrace();
            }

        }


    }

    public String successPage() {
        HttpServletRequest request = ServletActionContext.getRequest();

        String payerID = request.getParameter("PayerID");
        String token=request.getParameter("token");
        doPaypalPayment(payerID,token);
        return "success";
    }


    public String failurePage()
    {

        return "failurePage";
    }


    public void doPaypalPayment(String payerID, String token2) {
        Map result = new HashMap();
        String data = "";
        try {

            data1 = URLEncoder.encode("USER", "UTF-8") + "="+ URLEncoder.encode("Sandbox UserName","UTF-8");
            data1 += "&" + URLEncoder.encode("PWD", "UTF-8") + "="+ URLEncoder.encode("Sandbox Password", "UTF-8");
            data1 += "&" + URLEncoder.encode("SIGNATURE", "UTF-8") + "="+ URLEncoder.encode("Sandbox Signature","UTF-8");

            data += "&" + URLEncoder.encode("METHOD", "UTF-8") + "="+ URLEncoder.encode("DoExpressCheckoutPayment", "UTF-8");
            data += "&" + URLEncoder.encode("PAYERID", "UTF-8") + "="+ URLEncoder.encode(payerID, "UTF-8");
            data += "&" + URLEncoder.encode("PAYMENTACTION", "UTF-8") + "="+ URLEncoder.encode("Sale", "UTF-8");
            data += "&" + URLEncoder.encode("TOKEN", "UTF-8") + "="+ URLEncoder.encode(token2, "UTF-8");
            data += "&" + URLEncoder.encode("AMT", "UTF-8") + "="+ URLEncoder.encode("10", "UTF-8");
            data += "&" + URLEncoder.encode("VERSION", "UTF-8") + "="+ URLEncoder.encode("104.0", "UTF-8");
            data += "&" + URLEncoder.encode("CURRENCYCODE", "UTF-8") + "="+ URLEncoder.encode("USD", "UTF-8");

        } catch (UnsupportedEncodingException e) {
            e.printStackTrace();
        }

        result = post(data);    
    }


     public void deformatNVP()
        {   
            try
            {
                String delims = "[&]";
                String equals = "[=]";
                String[] tokens = this.resultString.split(delims);

                for(int i = 0; i < tokens.length; i++)
                {
                    String[] newTokens = tokens[i].split(equals);
                    this.finalMap.put(URLDecoder.decode(newTokens[0], "UTF-8"), URLDecoder.decode(newTokens[1], "UTF-8"));
                }

            } catch (Exception e) {
                System.out.println(e.toString());
            }
            //return finalMap;
        }

        public Map post(String data)
        {
            try
            {
                //Connect to the url
                URL url = new URL("https://api-3t.sandbox.paypal.com/nvp");
                URLConnection conn = url.openConnection();
                conn.setDoOutput(true);
                OutputStreamWriter wr = new OutputStreamWriter(conn.getOutputStream());
                //Post the data
                wr.write(data);
                wr.flush();

                // Get the response
                BufferedReader rd = new BufferedReader(new InputStreamReader(conn.getInputStream()));
                this.resultString = rd.readLine();
                deformatNVP();
                wr.close();
                rd.close();

            } catch (Exception e) {
                System.out.println(e.toString());
            }
            return finalMap;  
        }





        @Override
        public void setSession(Map<String, Object> arg0) {
            // TODO Auto-generated method stub

        }


         public void doPaypalPaymentWithCreditCard() {
                try 
                {
                    //Load the caller service

                    //Create a new map to hold the result
                    Map result = new HashMap();

                    // Construct data request string
                   String data1 = URLEncoder.encode("USER", "UTF-8") + "="+ URLEncoder.encode("Sandbox UserName","UTF-8");
                   data1 += "&" + URLEncoder.encode("PWD", "UTF-8") + "="+ URLEncoder.encode("Sandbox Password", "UTF-8");
                   data1 += "&" + URLEncoder.encode("SIGNATURE", "UTF-8") + "="+ URLEncoder.encode("Sandbox Signature","UTF-8");                    data += "&" + URLEncoder.encode("METHOD", "UTF-8") + "=" + URLEncoder.encode("DoDirectPayment", "UTF-8");
                    data += "&" + URLEncoder.encode("AMT", "UTF-8") + "=" + URLEncoder.encode("20.10", "UTF-8");
                    data += "&" + URLEncoder.encode("VERSION", "UTF-8") + "=" + URLEncoder.encode("80.0", "UTF-8");
                    data += "&" + URLEncoder.encode("IPADDRESS", "UTF-8") + "=" + URLEncoder.encode("192.168.1.0", "UTF-8");
                    data += "&" + URLEncoder.encode("PAYMENTACTION", "UTF-8") + "=" + URLEncoder.encode("Sale", "UTF-8");
                    data += "&" + URLEncoder.encode("CREDITCARDTYPE", "UTF-8") + "=" + URLEncoder.encode("Visa", "UTF-8");
                    data += "&" + URLEncoder.encode("ACCT", "UTF-8") + "=" + URLEncoder.encode("4532513511140817", "UTF-8");
                    data += "&" + URLEncoder.encode("EXPDATE", "UTF-8") + "=" + URLEncoder.encode("102014", "UTF-8");
                    data += "&" + URLEncoder.encode("CVV2", "UTF-8") + "=" + URLEncoder.encode("123", "UTF-8");
                    data += "&" + URLEncoder.encode("FIRSTNAME", "UTF-8") + "=" + URLEncoder.encode("Jason", "UTF-8");
                    data += "&" + URLEncoder.encode("LASTNAME", "UTF-8") + "=" + URLEncoder.encode("Michels", "UTF-8");
                    data += "&" + URLEncoder.encode("STREET", "UTF-8") + "=" + URLEncoder.encode("123", "UTF-8");
                    data += "&" + URLEncoder.encode("CITY", "UTF-8") + "=" + URLEncoder.encode("Papillion", "UTF-8");
                    data += "&" + URLEncoder.encode("STATE", "UTF-8") + "=" + URLEncoder.encode("NE", "UTF-8");
                    data += "&" + URLEncoder.encode("ZIP", "UTF-8") + "=" + URLEncoder.encode("68046", "UTF-8");
                    data += "&" + URLEncoder.encode("COUNTRYCODE", "UTF-8") + "=" + URLEncoder.encode("US", "UTF-8");


                    result = post(data);

                    //This will iterate through the entire response map
                    Iterator iter = result.entrySet().iterator();
                    while (iter.hasNext()) {
                            Map.Entry mEntry = (Map.Entry) iter.next();
                            System.out.println(mEntry.getKey() + " : " + mEntry.getValue());
                    }

                    //Now that you have a response check to see if it is a success
                    String ack = "" + result.get("ACK");
                    if("Success".equals(ack))
                    {
                        System.out.println("Congratulations your transaction was a success");
                    }
                    else
                    {
                        System.out.println("There was an error with your request.");
                    }
                } 
                catch (Exception e) 
                {
                    System.out.println(e.toString());
                }
            }//end of main function




}
公共类PaypalAction扩展ActionSupport实现SessionAware{
私有静态最终长serialVersionUID=1L;
私有字符串resultString;
私有字符串令牌;
@抑制警告(“原始类型”)
private-Map finalMap=new-HashMap();
公众假期{
HttpServletRequest=ServletActionContext.getRequest();
HttpServletResponse=ServletActionContext.getResponse();
整数百分比=10;
映射结果=新的HashMap();
字符串data1=“”;
试一试{
data1=URLEncoder.encode(“用户”、“UTF-8”)+“=”+URLEncoder.encode(“沙盒用户名”、“UTF-8”);
data1+=“&”+urlcoder.encode(“PWD”、“UTF-8”)+“=”+urlcoder.encode(“沙盒密码”、“UTF-8”);
data1+=“&”+URLEncoder.encode(“签名”、“UTF-8”)+“=”+URLEncoder.encode(“沙盒签名”、“UTF-8”);
data1+=“&”+urlcoder.encode(“方法”,“UTF-8”)+“=”+urlcoder.encode(“SetExpressCheckout”,“UTF-8”);
data1++“&”+URLEncoder.encode(“RETURNURL”、“UTF-8”)++“+URLEncoder.encode(request.getRequestURL().toString().replaceAll(request.getServletPath(),”)+“/successPage”,“UTF-8”);
data1++“&”+URLEncoder.encode(“取消URL”,“UTF-8”)++“+URLEncoder.encode(request.getRequestURL().toString().replaceAll(request.getServletPath(),”)+“/failurePage”,“UTF-8”);
data1+=“&”+urlcoder.encode(“版本”,“UTF-8”)+“=”+urlcoder.encode(“104.0”,“UTF-8”);
数据1+=“&”+URLEncoder.encode(“AMT”、“UTF-8”)+“=”+URLEncoder.encode(“10”、“UTF-8”);
数据1+=“&”+urlcoder.encode(“CURRENCYCODE”,“UTF-8”)+“=”+urlcoder.encode(“USD”,“UTF-8”);
data1+=“&”+urlcoder.encode(“L_NAME0”,“UTF-8”)+“=”+urlcoder.encode(“样本测试”,“UTF-8”);
数据1+=“&”+URLEncoder.encode(“L_AMT0”,“UTF-8”)+“=”+URLEncoder.encode(“10”,“UTF-8”);
data1+=“&”+URLEncoder.encode(“自定义”、“UTF-8”)+“=”+URLEncoder.encode(“感谢您的业务”、“UTF-8”);
数据1+=“&”+URLEncoder.encode(“描述”、“UTF-8”)+“=”+URLEncoder.encode(“产品详细信息”、“UTF-8”);
data1+=“&”+urlcoder.encode(“无提示”、“UTF-8”)+“=”+urlcoder.encode(“1”、“UTF-8”);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
结果=post(数据1);
迭代器iter=result.entrySet().Iterator();
while(iter.hasNext()){
Map.Entry mEntry=(Map.Entry)iter.next();
}
如果(结果!=null){
token=(字符串)result.get(“token”);
字符串url=”https://www.sandbox.paypal.com/cgi-bin/webscr?cmd=_express“+”-“+”签出和令牌=“+(字符串)结果。获取(“令牌”);
试一试{
sendRedirect(url);
}捕获(IOE异常){
e、 printStackTrace();
}
}
}
公共字符串successPage(){
HttpServletRequest=ServletActionContext.getRequest();
字符串payerID=request.getParameter(“payerID”);
字符串令牌=request.getParameter(“令牌”);
doPaypalPayment(payerID,代币);
返回“成功”;
}
公共字符串失败页面()
{
返回“failurePage”;
}
公共作废doPaypalPayment(字符串PayRid,字符串token2){
映射结果=新的HashMap();
字符串数据=”;
试一试{
data1=URLEncoder.encode(“用户”、“UTF-8”)+“=”+URLEncoder.encode(“沙盒用户名”、“UTF-8”);
data1+=“&”+urlcoder.encode(“PWD”、“UTF-8”)+“=”+urlcoder.encode(“沙盒密码”、“UTF-8”);
data1+=“&”+URLEncoder.encode(“签名”、“UTF-8”)+“=”+URLEncoder.encode(“沙盒签名”、“UTF-8”);
数据+=“&”+URLEncoder.encode(“方法”,“UTF-8”)+“=”+URLEncoder.encode(“DoExpressCheckoutPayment”,“UTF-8”);
数据+=“&”+URLEncoder.encode(“PAYERID”,“UTF-8”)+“=”+URLEncoder.encode(PAYERID,“UTF-8”);
数据+=“&”+URLCoder.encode(“PAYMENTACTION”,“UTF-8”)+“=”+URLCoder.encode(“销售”,“UTF-8”);
数据+=“&”+URLEncoder.encode(“令牌”,“UTF-8”)+“=”+URLEncoder.encode(令牌2,“UTF-8”);
数据+=“&”+URLCoder.encode(“AMT”、“UTF-8”)+“=”+URLCoder.encode(“10”、“UTF-8”);
数据+=“&”+URLEncoder.encode(“版本”,“UTF-8”)+“=”+URLEncoder.encode(“104.0”,“UTF-8”);
数据+=“&”+URLCoder.encode(“CURRENCYCODE”,“UTF-8”)+“=”+URLCoder.encode(“USD”,“UTF-8”);
}捕获(不支持的编码异常e){
e、 printStackTrace();
}
结果=post(数据);
}
公共void deformatNVP()
{   
尝试
{
字符串delims=“[&]”;
字符串等于=“[=]”;
斯特林