2012-11-02 50 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()

訪問