2012-11-02 43 views
0

Hy!支付宝的春季Web流程

林整合Paypal付款在Spring Web Flow的。

该应用程序将请求转发给使用externalRedirect PayPal网站。(setExpresscheckout)用户登录到PayPal和支付该项目。一旦用户完成付款,paypal会将请求转发回流程。 一旦请求从PayPal返回,是否可以在流中输入特定的视图状态?

我尝试这样做,但不工作:

这是paypalcontroller,在这里我设置返回的URL的一部分,贝宝:

private void sessionmanager(RequestContext context) { 
HttpServletRequest request = (HttpServletRequest)context.getExternalContext().getNativeRequest(); 
//generate Spring Webflow return URL 
String url = request.getRequestURL()+";jsessionid="+ request.getSession().getId() + "?" + 
      request.getQueryString(); 
String paypalCancelUrl = url + "&_eventId=end-state"; 
String paypalApprovedUrl = url + "&_eventId=approved"; 
} 

flow.xml:

<view-state id="view-state-1" view="sampleflow/view-state-1"> 
    <transition on="success" to="view-state-2"/> 
    <transition on="cancel" to="end-state"/> 
    <transition on="approved" to="view-state-2"/> 
</view-state> 

这是由会话管理器代码生成的内容的URL,和PayPal重定向到它:

http://localhost:8080/testpaysys/sampleflow;jsessionid=D693C9D4A2681CA6FF18E7C7078EA971?null&_eventId=approved 

经批准EVENTID似乎不工作,我得到的流量,但到起始状态。(犯规重定向到状态2)

我失去了什么?

回答

1

,你将需要使用执行键。您应该在您的控制器中构建的返回URL中使用flowExecutionUrl
您可以通过context.getFlowExecutionUrl()

访问