.Net Core PayPal:客户端身份验证失败

时间:2021-07-24 07:07:22

标签: paypal-sandbox asp.net-core-3.1 paypal-rest-sdk

我开始使用 PayPal 进行 .net Core 付款。我创建了一个沙盒应用程序并检查了客户端 ID 和密码。我在 content

出现错误 <块引用>

"{"error":"invalid_client","error_description":"客户端验证失败"}"

代码:

private async Task<PayPalAccessToken> GetPayPalAccessTokenAsync(HttpClient httpClient)
    {
        byte[] bytes = Encoding.GetEncoding("iso-8859-1")
            .GetBytes($"{_configuration["PayPal:clientId"]} : {_configuration["PayPal:secret"]}");

        HttpRequestMessage requestMessage = new HttpRequestMessage(HttpMethod.Post, "/v1/oauth2/token");
        requestMessage.Headers.Authorization =
            new AuthenticationHeaderValue("Basic", Convert.ToBase64String(bytes));

        var form = new Dictionary<string, string>
        {
            ["grant_type"] = "client_credentials"
        };

        requestMessage.Content = new FormUrlEncodedContent(form);

        HttpResponseMessage responseMessage = await httpClient.SendAsync(requestMessage);

        string content = await responseMessage.Content.ReadAsStringAsync();
        PayPalAccessToken accessToken = JsonConvert.DeserializeObject<PayPalAccessToken>(content);
        return accessToken;
    }

设置:

"PayPal": {
    "clientId": "xxx",
    "secret": "xxx",
    "urlAPI": "https://api-m.sandbox.paypal.com",
    "returnUrl": "https://localhost:44370/cart/success",
    "cancelUrl": "https://localhost:44370/cart/cancel"
}

这是我遵循的代码https://gist.github.com/jakejscott/1b829ca1c9449e4788710867f346e90f

完整我的代码https://paste.mod.gg/ayoqinotis.csharp

我面临的问题是什么?

0 个答案:

没有答案