0

我配置了贝宝自动返回,但它返回空对象,但当自动返回关闭时它工作正常意味着当用户单击“返回我的网站”按钮时,它会为我提供所有可用于保存订单详细信息的值。

以下是我发布到贝宝发件箱的表格

 <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

}

请让我知道是否需要其他任何内容。

4

1 回答 1

1

当您打开自动退货时,您是否还启用了支付数据传输 (PDT)?启用 PDT 后,付款完成后返回到您网站的信息将是 GET。

在您提供的代码中,rm=2这意味着您希望返回 POST 信息。如果这是您所期望的,那么在启用 PDT 的情况下您将无法获得它。

当您使用 Auto-Return 进行测试时,您是在等待重定向完成还是单击临时页面上的链接?

于 2013-05-29T16:46:35.217 回答