我正在尝试在我的应用程序上设置条带连接(https://stripe.com/docs/connect/standalone-accounts),但我未能设置平台和独立帐户之间的链接。它提供了一个 curl 代码来执行,以及 ruby、python、PHP 和 node 中的示例;但没有java。
curl调用如下:
curl https://connect.stripe.com/oauth/token \
-d client_secret=sk_test_IgHHUgcqKmxA8Yyai9ocqpZR \
-d code=AUTHORIZATION_CODE \
-d grant_type=authorization_code
它看起来很简单,但我不知道它是如何工作的。我一直在环顾四周,试图弄清楚如何在 java 中进行此调用,但到目前为止我还无法做到。使用我在 oltu 的某个地方找到的代码并在此基础上进行构建,我得出以下结论:
OAuthClientRequest exchangeRequest = OAuthClientRequest
.tokenLocation("https://connect.stripe.com/oauth/token")
.setGrantType(GrantType.AUTHORIZATION_CODE)
.setParameter("client_secret", project.getPartnerStripeSecretAPIKey())
.setCode(authorizationCode)
.buildBodyMessage();
Map<String,String> headers =new HashMap<String, String>();
exchangeRequest.setHeaders(headers);
OAuthClient oAuthClient = new OAuthClient(new URLConnectionClient());
GitHubTokenResponse oAuthResponse = oAuthClient.accessToken(exchangeRequest, GitHubTokenResponse.class);
log.info("Stripe response: "+oAuthResponse.toString());
String accessToken = oAuthResponse.getAccessToken();
但它只是失败并出现以下错误:
OAuthProblemException{error='invalid_request', description='Missing parameters: access_token', uri='null', state='null', scope='null', redirectUri='null', responseStatus=0, parameters={}}
有人可以让我知道我做错了什么,或者推荐一种更好的通话方法(最好有一个例子)?
提前致谢