【发布时间】: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>
我在授权配置中缺少什么? 请指导。
【问题讨论】: