Мне нужна помощь с интеграцией PayPal.Прошел другие аналогичные вопросы по stackoverflow, но не нашел и не ответил.
Мы интегрировали PayPal, используя бета-версию SDK для .net Core .Процесс оплаты работает хорошо, мы можем создать платеж, получить ссылку для оплаты и оплатить тестовый счет покупателя.
Но после оплаты на адрес URL не отправляется сообщение IPN, указанное в учетной записи посредника, а также история IPN учетной записи посредника магазина пуста.
URL-адрес для слушателя правильный (провереноэто с почтальоном и IPN Simulator - работает как положено).Чего нам не хватает?Почему IPN не запускается после оплаты тестовым пользователем?Также не поступило денег на тестовый счет продавца, хотя оплата прошла успешно.
Код выполнения платежа ниже:
var environment = new PayPalEnvironment(_options.ClientId, options.SecretKey, _options.BaseUrl, _options.WebUrl);
var client = new PayPalHttpClient(environment);
PaymentCreateRequest request = new PaymentCreateRequest();
request.RequestBody(payment);
HttpResponse response = await client.Execute(request);
Payment createdPayment = response.Result<Payment>();
return GetApprovalUrlFrom(createdPayment);
Код для IPN:
[HttpPost]
[Route("Receive")]
public IActionResult Receive()
{
IPNContextDTO ipnContext = new IPNContextDTO()
{
IPNRequest = Request
};
using (StreamReader reader = new StreamReader(ipnContext.IPNRequest.Body, Encoding.ASCII))
{
ipnContext.RequestBody = reader.ReadToEnd();
}
_logger.LogInformation("IPN request body:" + ipnContext.RequestBody + "\n Recieved at " + DateTime.Now);
_ipnService.VerifyTask(ipnContext);
return Ok();
}