3

我正在尝试在我的应用程序上设置条带连接(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={}}

有人可以让我知道我做错了什么,或者推荐一种更好的通话方法(最好有一个例子)?

提前致谢

4

0 回答 0