Итак, я написал метод контроллера PayPal Checkout, настроил его на кнопку, и когда вы нажимаете кнопку на веб-сайте, он загружается на сайт Checkout PayPal, вы можете войти и оплатить, и он работает нормально, дает мне деньги и отдают им свои купленные вещи. Но через день он не работает, и после нажатия кнопки он будет перенаправлен на URL-адрес по умолчанию, и я понятия не имею, почему.
Я уже пытался изменить способ отправки идентификатора методу post, но когда я печатаю на входящие идентификаторы консоли, он всегда дает правильные значения.
@RequestMapping(method = RequestMethod.POST, value = "/pay/")
public String pay(ModelAndView modelAndView, HttpServletRequest request, @RequestParam(name = "id") int id){
String cancelUrl = "https://realmlands.com" + "/" + PAYPAL_CANCEL_URL;
String successUrl = "https://realmlands.com" + "/" + PAYPAL_SUCCESS_URL;
try {
if (id == 2) {
Payment payment = paypalService.createPayment(
49.99,
"USD",
PaypalPaymentMethod.paypal,
PaypalPaymentIntent.sale,
"added founder pack to your account.",
cancelUrl,
successUrl);
for(Links links : payment.getLinks()){
if(links.getRel().equals("approval_url")){
return "redirect:" + links.getHref();
}
}
} else {
Payment payment = paypalService.createPayment(
9.99,
"USD",
PaypalPaymentMethod.paypal,
PaypalPaymentIntent.sale,
"adds 31 days of premium time.",
cancelUrl,
successUrl);
for(Links links : payment.getLinks()){
if(links.getRel().equals("approval_url")){
return "redirect:" + links.getHref();
}
}
}
} catch (PayPalRESTException e) {
modelAndView.addObject("errorMessage", e.getDetails().getMessage());
log.error(e.getMessage());
}
return "redirect:/dashboard/store";
}
кажется, что он пытается обойти мою попытку и выполняет только перенаправление возврата
return "redirect:/dashboard/store";
предполагается, что он загружает PayPal Checkout, как и раньше, но вместо этого перенаправляет обратно в магазин.