PayPal 与 java 的集成

Posted

技术标签:

【中文标题】PayPal 与 java 的集成【英文标题】:PayPal Integration with java 【发布时间】:2016-01-22 23:04:08 【问题描述】:

我正在尝试使用以下代码集与Paypal 连接,但是当我运行此代码时出现以下错误-。

]

它正在与谷歌等其他 URL 一起使用。

线程“主”javax.net.ssl.SSLHandshakeException 中的异常:sun.security.validator.ValidatorException:PKIX 路径构建失败:sun.security.provider.certpath.SunCertPathBuilderException:无法找到请求目标的有效证书路径

代码:

import java.io.BufferedReader;
import java.io.IOException;
import java.io.InputStreamReader;
import org.apache.http.HttpResponse;
import org.apache.http.client.HttpClient;
import org.apache.http.client.methods.HttpGet;
import org.apache.http.impl.client.DefaultHttpClient;
@SuppressWarnings( "deprecation" )
public class HttpURLConnectionExample 
    public static void main(String[] args) throws UnsupportedOperationException, IOException 
        @SuppressWarnings("unused")
        final String USER_AGENT = "Mozilla/5.0";

        boolean test = true;
        String url = "";
        url += (test)? "https://www.sandbox.paypal.com/cgi-bin/webscr?" : "https://www.paypal.com/cgi-bin/webscr?";
        String ownerEmail="mail2nkmishra-facilitator-1@gmail.com";
        url += "business=" + ownerEmail + "&";
        url += "cmd=" + "_xclick" + "&";
        url += "amount=" + "20.00" + "&";
        url += "item_name=" + "user_signup" + "&";
        url += "item_number=" + "item_number" + "&";
        url += "quantity=" + "1" + "&";
        url += "currency_code=" + "USD" + "&";
        url += "no_shipping=" + "1" + "&";
        url += "rm=" + "2";
            HttpClient client = new DefaultHttpClient();
            HttpGet request = new HttpGet(url);
            // add request header
            request.addHeader("User-Agent", "Mozilla/5.0");
            HttpResponse response = client.execute(request);
            System.out.println("\nSending 'GET' request to URL : " + url);
            System.out.println("Response Code : " + 
                           response.getStatusLine().getStatusCode());
            BufferedReader rd = new BufferedReader(
                           new InputStreamReader(response.getEntity().getContent()));
            StringBuffer result = new StringBuffer();
            String line = "";
            while ((line = rd.readLine()) != null) 
                result.append(line);
            
            System.out.println(result.toString());
        

    

【问题讨论】:

【参考方案1】:

您遇到的问题是您的 Web 服务器(如 apache、weblogic 等)没有安装 paypal 的证书,就像您的 Web 浏览器安装了证书一样。 即在 weblogic 中,您使用 keytool 安装证书,您可以在此站点中验证您的签名算法sslLabs

这是scan 结果

【讨论】:

我使用的是apache tomcat,请告诉我如何安装证书 这个答案对你有帮助吗?不要忘记给问题打分

以上是关于PayPal 与 java 的集成的主要内容,如果未能解决你的问题,请参考以下文章

Paypal 集成与 java 包错误

PayPal:IPN/REST/Webhooks 与 Java 程序的集成

与 Paypal 集成的 Java Web 应用程序

Java Paypal 集成 SOAP JAX-WS - SSL 握手异常

网站集成paypal问题

哪个支付系统与 Java 有很好的集成?