【问题标题】:Paypal MassPayout getting 403 errorPaypal MassPayout 收到 403 错误
【发布时间】:2018-05-28 05:18:38
【问题描述】:

我正在尝试使用 paypal 进行批量支付,在执行此波纹管时出现 403 错误。

@Autowired
private APIContext apiContext;
------------------------
------------------------
// ###Create Batch Payout 
PayoutBatch batch = payout.create(apiContext, new HashMap<String, String>());

看看这是我的配置类 PaypalConfig.java

@Configuration
public class PaypalConfig {

    @Value("${paypal.client.app}")
    private String clientId;
    @Value("${paypal.client.secret}")
    private String clientSecret;
    @Value("${paypal.mode}")
    private String mode;

    @Bean
    public Map<String, String> paypalSdkConfig(){
        Map<String, String> sdkConfig = new HashMap<>();
        sdkConfig.put("mode", mode);
        return sdkConfig;
    }

    @Bean
    public OAuthTokenCredential authTokenCredential(){
        return new OAuthTokenCredential(clientId, clientSecret, paypalSdkConfig());
    }

    @Bean
    public APIContext apiContext() throws PayPalRESTException{
        APIContext apiContext = new APIContext(authTokenCredential().getAccessToken());
        apiContext.setConfigurationMap(paypalSdkConfig());
        return apiContext;
    }
}

这是我得到的例外。

com.paypal.base.rest.PayPalRESTException: Response code: 403    Error response: {"name":"AUTHORIZATION_ERROR","message":"Authorization error occurred","debug_id":"b11d9b5d1aea7","information_link":"https://developer.paypal.com/docs/api/payments.payouts-batch/#errors"}
    at com.paypal.base.rest.PayPalRESTException.createFromHttpErrorException(PayPalRESTException.java:72)
    at com.paypal.base.rest.PayPalResource.execute(PayPalResource.java:431)
    at com.paypal.base.rest.PayPalResource.configureAndExecute(PayPalResource.java:295)
    at com.paypal.base.rest.PayPalResource.configureAndExecute(PayPalResource.java:228)
    at com.paypal.api.payments.Payout.create(Payout.java:118)
    at com.paypal.service.impl.PaypalServiceImpl.massPayout(PaypalServiceImpl.java:56)
    at com.paypal.controller.PaypalController.massPayout(PaypalController.java:30)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)

Maven

<dependency>
   <groupId>com.paypal.sdk</groupId>
   <artifactId>rest-api-sdk</artifactId>
   <version>1.13.1</version>
</dependency>

我在授权配置中缺少什么? 请指导。

【问题讨论】:

    标签: java spring paypal


    【解决方案1】:

    Http 错误 403 是“禁止的”,这通常意味着您无权执行您正在尝试执行的操作。这与未经过身份验证不同,因为那样您会期望 401“未经授权”。

    我建议您参考 api 文档以查看是否需要发送更多数据,或者是否缺少其他配置。

    【讨论】:

    • 我知道 403 错误,我的问题是我在这里缺少什么。
    【解决方案2】:

    我尝试使用美国帐户,它会工作。

    我从这里找到答案:https://github.com/paypal/PayPal-PHP-SDK/issues/793

    【讨论】:

    • 我看到你采纳了我的建议并查看了 api 文档
    猜你喜欢
    • 2015-11-30
    • 2011-11-11
    • 1970-01-01
    • 2014-04-06
    • 2018-05-11
    • 1970-01-01
    • 2013-06-27
    • 2011-02-15
    • 2017-03-07
    相关资源
    最近更新 更多