gpt4 book ai didi

android - Paypal refund api 给出错误 NO API ACCESS TO RECEIVER

转载 作者:行者123 更新时间:2023-11-29 00:30:36 27 4
gpt4 key购买 nike

我正在使用来自自适应支付 API 的预批准和延迟链式支​​付。

我从中使用 api 的测试业务帐户也是主要接收方帐户。

在使用预批准启动延迟付款后,我得到了生成的付款码。主要收款人准确地收到钱款。我的应用程序现在有一个场景,必须将钱从主要接收方退还给购买者。当尝试使用 paykey 执行此退款并指定接收者并设置主要接收者标志时,我收到错误 NO_API_ACCESS_TO_RECEIVER。

这会阻止我的应用程序发布并且是一个严重的问题。你能不能尽快给我解封。

这是我的代码:

RefundRequest refundRequest = new RefundRequest();
refundRequest.setPayKey(payKey);
refundRequest.setCurrencyCode(KeyConstants.CURRENCY_USD_CODE);
refundRequest.setRequestEnvelope(ClientInfoUtil.getMyAppRequestEnvelope());

ReceiverList receiverList = new ReceiverList();
Receiver receiver = new Receiver();
receiver.setEmail(businessAccountPaypalEmail);
receiver.setPrimary(true);

double truncatedAmount = NumberUtil.getDoubleTruncate(amount, KeyConstants.TWO_DECIMAL_FORMAT);
BigDecimal trunBigDecimal = new BigDecimal(truncatedAmount);
receiver.setAmount(trunBigDecimal.setScale(2, RoundingMode.HALF_UP));

receiverList.getReceiver().add(receiver);

refundRequest.setReceiverList(receiverList);

try {
AdaptivePayments adaptivePayments = new AdaptivePayments();
RefundResponse refundResponse = adaptivePayments.refund(refundRequest);
ResponseEnvelope responseEnvelope = refundResponse.getResponseEnvelope();
AckCode ackCode = responseEnvelope.getAck();
if(ackCode == AckCode.SUCCESS || ackCode == AckCode.SUCCESS_WITH_WARNING){
Logger.getLogger(PayPalSessionBean.class.getName()).log(Level.INFO, "Refund success for the pay key {0} and messsage {1}",
new Object[]{payKey});
System.out.println("Ack code is " + ackCode);
RefundInfoList refundInfoList = refundResponse.getRefundInfoList();
List<RefundInfo> refundInfos = refundInfoList.getRefundInfo();
for (Iterator iterator = refundInfos.iterator(); iterator
.hasNext();) {
RefundInfo refundInfo = (RefundInfo) iterator.next();

System.out.println(refundInfo.getReceiver().getEmail() + "\t" + refundInfo.getRefundTransactionStatus() + "\t" +
refundInfo.getRefundGrossAmount() + '\t' + refundInfo.getRefundStatus() + '\t');

ErrorList errorList = refundInfo.getErrorList();
List<ErrorData> errs = errorList.getError();
for (Iterator iterator2 = errs.iterator(); iterator2
.hasNext();) {
ErrorData errorData = (ErrorData) iterator2.next();
System.out.println(errorData.getMessage());
}
}
return true;
}

在上面的代码 fragment 中,返回的 ACK 代码是成功的,但是当我打印 RefundInfo 对象的退款状态时,它显示 NO_API_ACCESS_TO_RECEIVER。我已经从主帐户的 paypal 面板向 api 调用者授予权限。

我这边是不是少了什么?请帮帮我!

最佳答案

如果您只是从主要(您自己)退款给发件人并且您想要全额退款,那么您不需要指定任何收款人。否则,我将需要某种类型的 PayKey 或关联 ID 来查找我这边的请求。

关于android - Paypal refund api 给出错误 NO API ACCESS TO RECEIVER,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/16014567/

27 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com