我配置了paypal自动返回,但它返回的null对象但是当自动返回关闭时它工作正常意味着当用户点击按钮“返回我的网站”时它给了我所有可用于保存订单详细信息的值
以下是我发布到paypal sendbox的表格
<form action="https://www.sandbox.paypal.com/cgi-bin/webscr" method="post">
<input type="hidden" name="cmd" value="_xclick-subscriptions">
<input type="hidden" name="cmd" value="_notify-synch">
<input type="hidden" name="business" value="${paypalAccount}">
<input type="hidden" name="item_name" value="OPP Plan">
<input type="hidden" name="item_number" value="${pid}">
<input type="hidden" name="groupId" value="1">
<input type="hidden" name="no_shipping" value="1">
<input type="hidden" name="return" value="${returnURL}">
<input type="hidden" name="rm" value="2">
<input type="hidden" name="cancel_return" value="${cancelURL}">
<input type="hidden" name="currency_code" value="USD">
<input type="hidden" name="a3" value="${price}.00">
<input type="hidden" name="p3" value="1">
<input type="hidden" name="t3" value="M">
<input type="hidden" name="src" value="1">
<input type="hidden" name="sra" value="1">
<input type="submit" value="Choose plan">
在我的控制器中,我正在读取像
这样的值 @RequestMapping(value = "/confirmPayment")
public ModelAndView showPaymentDetail(Model model,
@ModelAttribute PaypalBean paypalBean) {
UserDetailedBean userLoggedIn = (UserDetailedBean) userService.getUserDetailFromSpringSecurity();
if (paypalBean != null && paypalBean.getPayer_status().equalsIgnoreCase("verified")){
//reading values here
}
如果需要其他任何内容,请告诉我。
答案 0 :(得分:1)
当您启用自动返回时,您是否还启用了付款数据传输(PDT)?启用PDT后,付款完成后返回您网站的信息将是GET。
在提供的代码中,您有rm=2
,这意味着您希望返回POST信息。如果这是您所期望的,那么在启用PDT的情况下您将无法获得它。
当您使用自动返回功能进行测试时,您是否在等待重定向完成或点击临时页面上的链接?