java - 使用 REST 获取 PayPal 账户历史

标签 java paypal paypal-ipn paypal-sandbox

我想使用 Java PayPal SDK 获取帐户历史记录。我试过这个简单的代码:

    public void randomDatabaseData() throws SQLException, FileNotFoundException, IOException, PayPalRESTException {
    String clientID = "test";
    String clientSecret = "test";

    String accessToken = null;
    try {
        Map<String, String> map = new HashMap<String, String>();
        map.put("mode", "live");
        try {
            accessToken = new OAuthTokenCredential(clientID, clientSecret, map).getAccessToken();
        } catch (Exception e) {
            e.printStackTrace();
        }
        System.out.println(accessToken);
        transactionSearch(accessToken);

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

public TransactionSearchResponseType transactionSearch(String accessToken) {

    TransactionSearchReq transactionSearchReq = new TransactionSearchReq();
    TransactionSearchRequestType transactionSearchRequest = new TransactionSearchRequestType(
            "2012-12-25T00:00:00+0530");
    transactionSearchReq.setTransactionSearchRequest(transactionSearchRequest);
    PayPalAPIInterfaceServiceService service = new PayPalAPIInterfaceServiceService();
    service.setTokenSecret(accessToken);

    TransactionSearchResponseType transactionSearchResponse = null;
    try {
        transactionSearchResponse = service.transactionSearch(transactionSearchReq);
    } catch (Exception e) {
        System.out.println("Error Message : " + e.getMessage());
    }
    if (transactionSearchResponse.getAck().getValue().equalsIgnoreCase("success")) {

        Iterator<PaymentTransactionSearchResultType> iterator = transactionSearchResponse
                .getPaymentTransactions().iterator();
        while (iterator.hasNext()) {
            PaymentTransactionSearchResultType searchResult = iterator.next();

            System.out.println("Transaction ID : " + searchResult.getTransactionID());
        }
    } else {
        List<ErrorType> errorList = transactionSearchResponse.getErrors();
        System.out.println("API Error Message : " + errorList.get(0).getLongMessage());
    }

    return transactionSearchResponse;
}

但是当我运行代码时我得到了他的错误堆栈:

    Error Message : configurationMap cannot be null
java.lang.NullPointerException
    at com.crm.web.tickets.GenearateTicketsTest.transactionSearch(GenearateTicketsTest.java:161)
    at com.crm.web.tickets.GenearateTicketsTest.randomDatabaseData(GenearateTicketsTest.java:139)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)

如何修复此代码?我在 PayPal 网站上配置了客户端 ID 和 key ,但仍然出现错误。

最佳答案

我建议您使用 TransactionSearch用于根据您的搜索日期范围获取付款历史记录的 API。

关于java - 使用 REST 获取 PayPal 账户历史,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/37511773/

相关文章:

ruby-on-rails - 如何按原始顺序获取 POST 参数(使用 Rails)?

django - 在 Django 应用程序中实现 PayPal IPN

java - boolean 分支语句

java - 最小化主面板后 JTable 单元格颜色发生变化

java - 机器小量

paypal - 我可以在没有购物车的情况下使用 PayPal Pro 在我的网站上处理信用卡吗?

python - PayPal:如何清理动态创建的加密网站支付按钮的字段值?

php - Paypal API,未收到 IPN 消息

java - 使用正则表达式查找字符串中至少一个重复字符

paypal - 如何验证 PayPal webhook JSON 消息?