当前位置: 首页 > 知识库问答 >
问题:

如何通过REST SDK获取已执行PayPal支付的销售Id

爱琪
2023-03-14

我正在使用PayPal的REST SDK for Java:https://github.com/paypal/paypal-java-sdk

首先,我使用payment.get(APIContext,PaymentId)方法获取支付的详细信息。

然后,要执行退款,我需要销售ID。因此,我通过以下调用从前一步中检索的payment对象中检索此内容:

字符串saleId=ppPayment.GetTransactions().Get(0).GetRelatedResources().Get(0).GetSale().GetID();

对于这两个列表,是否有方法确保列表中的元素是与您相关的元素?在什么情况下,返回的列表中有多个relatedresource元素?

谢谢

共有1个答案

公孙弘深
2023-03-14

你可以做这样的事。

String saleId = "";
         try{
             Payment payment = Payment.get(apiContext, paymentId);
             List<Transaction> transactions = payment.getTransactions();

             for(Transaction transaction : transactions){
                 List<RelatedResources> resources = transaction.getRelatedResources();

                 for(RelatedResources resource : resources){
                     Sale sale = resource.getSale();
                     if(sale != null){
                         saleId = sale.getId();
                         break;
                     }

                 }
             }

             System.out.println(saleId);

         }catch(PayPalRESTException e){
             System.err.println(e.getDetails());
         }

我不确定Transaction对象,但RelatedResources对象将在返回的列表中有多个元素,如果您已完成的付款(即销售)已经退款。在这种情况下,您的支付对象的事务中的RelatedResources将有多个元素,其中一个是sale,另一个是recurn。

 类似资料:
  • 我正在使用PHP中的PayPal API来创建交易,既可以使用信用卡,也可以通过PayPal本身。此外,我需要能够退款这些交易。我使用的代码(大部分是直接来自PayPal API示例)对于信用卡交易很好,但对于PayPal交易却失败了。具体地说,我正在尝试通过Payment对象向下钻取该销售的ID。通过信用卡支付的对象包含一个RelatedResources对象,该对象又包含带有ID的Sale对象

  • 我正在使用新的Paypal同步Api来获取一段时间内的所有交易。我也需要能够退款。由于我们所有的交易总是销售,我需要销售ID来退款交易,正如https://developer.paypal.com/docs/integration/direct/payments/recharnet-payments/#set-up-your-development-environment中所述,不幸的是,我在交易

  • 我正在考虑实施产品。基本原因是“离站支付”(即我们不希望付款被捕获在我们自己的网站,但在贝宝自己的支付页面通过重定向)。

  • 我正在尝试使用PayPal REST API来处理使用银行帐户和路由号码的银行交易。 以下是我用于测试的 api 的引用:https://api.sandbox.paypal.com/v1/payments/payment 这是我的JSON: 以下是调用的响应:“{\”name\":\"NOT_IMPLEMENTED\"、\"消息\":\"NOT_IMPLEMENTED\"、\"informati

  • 我正在尝试将Papal与我的SpringWeb服务集成。我指的是高级服务器集成,并使用此SDK创建支付示例。 这是我的客户端代码 这是我的网络服务 当我点击Paypal结账按钮时。它弹出Paypal登录屏幕,授权工作正常。之后,我尝试使用我的API执行付款。但是当我呼叫

  • 如何使用 PHP 自动PayPal付款? 我有我的PayPal企业帐户的电子邮件,收件人的PayPal电子邮件和要转移的金额。有没有办法在没有我互动的情况下进行汇款?(付款来自我的帐户) 当然我会手动运行PHP脚本