#c# #asp.net-mvc #paypal #httpclient #paypal-subscriptions
#c# #asp.net-mvc #paypal #httpclient #paypal-подписки
Вопрос:
Я следил за этим документом PayPal https://developer.paypal.com/docs/api/subscriptions/v1 для API подписки. Я хочу вызвать этот API https://api.sandbox.paypal.com/v1/billing/subscriptions /${SubscriberID} с использованием ASP.ЧИСТЫЙ MVC. Для этого API требуется токен авторизации с использованием идентификатора клиента PayPal и идентификатора secretID, который я успешно создал, но у меня проблема с вызовом API подписки.
curl -v -X GET
https://api.sandbox.paypal.com/v1/billing/subscriptions/I-BW452GLLEP1G
-H "Content-Type: application/json"
-H "Authorization: Bearer Access-Token"
Кроме того, я только что вызвал этот API, используя react JS, и я получаю желаемый результат. Но в ASP.NET MVC как вызвать этот API подписки?
Реагировать на JS-код:
async function checkPayPalPaymentStatus(subscriberId, access_token) {
var token = `Bearer ${access_token}`;
return await fetch(
`https://api.sandbox.paypal.com/v1/billing/subscriptions/${subscriberId}`,
{
method: "GET",
headers: {
Accept: "application/json",
"Content-Type": "application/json",
Authorization: token,
},
}
).then((response) => response.json());
}
ASP .ЧИСТЫЙ код MVC:
[HttpGet]
[Route("api/paypal/checkPayPalPaymentStatus")]
public async Task<object> CheckPayPalPaymentStatus(string accessToken)
{
try
{
//
string url = "https://api.sandbox.paypal.com/v1/billing/subscriptions/" "I-BW452GLLEP1G";
HttpWebRequest request = (HttpWebRequest)WebRequest.Create(url);
request.Headers["Authorization"] = "Bearer " Convert.ToBase64String(Encoding.Default.GetBytes(accessToken));
request.Accept = "application/json";
request.Method = "GET";
request.ContentType = "application/json";
HttpWebResponse response = (HttpWebResponse)request.GetResponse();
Stream streamResponse = response.GetResponseStream();
StreamReader streamRead = new StreamReader(streamResponse);
string responseString = streamRead.ReadToEnd();
JObject jsonConvertedResponseString = JObject.Parse(responseString);
return new
{
Success = true,
Message = "",
Data = jsonConvertedResponseString
};
}
catch (Exception ex)
{
return new
{
Success = false,
Message = ex.Message,
Data = DBNull.Value
};
}
}