나는 Barclays ePDQ CPI 지불을 우리 앱에 통합하는 과정에있다.치킨과 에그 : 결제 게이트웨이로 진행하기 전에 모델을 저장 하시겠습니까? (레일즈)
지금까지 코딩 한 방법은 다음과 같습니다
이1. 사용자가 2.Model 세션에 저장되는 정보를 입력합니다 데이터베이스 (DB하지 않음) 3. 사용자가 지불 페이지로 전달됩니다. 4. 사용자가 지불 세부 사항을 입력하십시오. 5. eDPQ 서버는 컨트롤러에 의해 선택되어 포스트 백을 수행합니다. 그러면 주문 세부 사항을 저장하고 사용자 모델을 저장해야합니다. 6. 사용자가 CPI별로 결과 페이지로 리디렉션됩니다.
지불 내역 페이지를 보내기 전에 사용자 정보를 저장하고 싶지 않은 이유는 사용자가 잘못된 세부 정보를 입력하면 브라우저를 다시 누를 수 있고 양식을 다시 제출할 수 있기 때문입니다.
그러나 이제는 eDPQ 서버가 직접 포스트를 호출하기 때문에 세션이 없을 것입니다. 레퍼런스로 보내지는 지불 페이지에 order_id를 보낼 수 있습니다. 이제는 결제 페이지로 보내기 전에 사용자가 다시 돌아가므로 order_id에 참조를 보냅니다. 그런 다음 post_back 메소드를 사용하여 사용자를 찾아 등록 프로세스를 완료 할 수 있습니다.
하지만 다시 클릭하여 다시 제출하면 사용자가 이미 있으므로 오류가 발생합니다.
한 가지 방법은 사용자를위한 "새로운"페이지가 캐시되지 않도록하는 것입니다. 따라서 다시 클릭하면 실제로 "편집"페이지가 표시되며 "수정"페이지는 "새로운"페이지처럼 보입니다. 그러나 이것은 약간의 코딩 복잡성을 추가하는 것처럼 보입니다.
나는 누군가가 비슷한 것을 상대로 올라 왔기를 바라며, 여기에 조언을 해줄 수 있을지도 모른다.
읽어 주셔서 감사합니다.