在Spring mvc控制器中,我创建了payPalIpnListener()方法,用于在接受或拒绝付款时获取交易详细信息,但在执行此操作时遇到问题,因为我已使用IPN paytabs功能来实现此功能。
下面的ipn listener配置和示例代码来获取事务详细信息:
@RequestMapping(value = {“payPalIpnListener”},method = RequestMethod.POST)
public String payPalIpnListener(ModelMap modelMap, HttpServletRequest httpServletRequest) throws Exception {
try {
Enumeration<String> parameterNames = httpServletRequest.getParameterNames();
Long paymentRef = Long.parseLong(httpServletRequest.getParameter("payment_reference"));
while (parameterNames.hasMoreElements()) {
String paramName = parameterNames.nextElement();
String[] paramValues = httpServletRequest.getParameterValues(paramName);
for (String paramValue : paramValues) {
System.out.println("paramName : " + paramName + ",paramValue : " + paramValue);
}
}
}
有人可以帮助在paytabs中配置IPN Listener,以及如何在spring控制器中获取事务详细信息。
我已经搜索了很多paytabs IPN功能的帖子,并且知道IPN将无法使用本地主机IPN侦听器URL,因此我们需要使用公共IP配置您的IPN侦听器。
错误的IPN侦听器URL = https://127.0.0.1:9090/UNI_VAT/payPalIpnListener
正确的IPN侦听器URL = https://www.example.com/payPalIpnListener
您不能使用本地IP进行IPN,您应该使用公共IP或域,网络外的任何人都可以访问。
如果您没有域名或托管,可以使用在线webhook https://webhook.site