2012-10-15 2 views
2

페이팔 MVC3 통합

시나리오 사용자 정의 쇼핑 카트 MVC 응용 프로그램 :-) 저와 유래에 내 첫 번째 게시물 그래서 베어입니다. 쇼핑 카트는 PayPal과 통합되어 고객 정보, 제품 품목 및 가격 (각 품목 및 총 가격)과 같은 판매 데이터를 전달하지만 신용 카드 또는 페이팔 정보는 전달하지 않습니다. 이것은 페이팔에 설정됩니다. https://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_cart_upload#id09BLDK0007Q 을하지만, 작업을 수행하는 방법에 대한 약간의 세부 사항이있다 :

문제 페이팔 여기에 사용자 정의 쇼핑 카트와 통합 카트 업로드를 사용하는 방법에 대해 설명합니다.

는 잠시 후 나는 MVC-페이팔의 상호 작용을 수행하는 방법의 예를 발견 (카트 업로드 아니더라도를하지만, 구성의 교인입니다) 여기 : http://www.arunrana.net/2012/01/paypal-integration-in-mvc3-and-razor.html

이 솔루션의 문제이다 몇 가지 보안 문제가있는 것으로 보입니다. 민감한 데이터는보기로 설정되고 숨겨진 필드에서 클라이언트로 전송되며 게시물은 자바 스크립트에 의해 설정되므로 허용 할 수없는 수준으로 설정됩니까? 아니면 내가 잘못 본 건가? 솔루션 의도

  1. 사용자는 쇼핑 차를보고 myserver.com/Controller/Action 이름, 주소와 같은 클라이언트 데이터를 전달
  2. 받는 게시물을 유발, 체크 아웃 버튼을 클릭 컨트롤러 조치 myserver.com/Controller/Action은 고객 포스트 데이터 정보를 가격 및 페이팔 판매자 정보와 같은보다 민감한 정보를 추가하고 페이팔 또는 인보이스 페이팔 웹 서비스에 대한 요청을 추가하여 사후 서버 측을 만듭니다.
  3. 페이팔은 토큰 또는 기타 정보를 반환하며 myserver.com/Controller/Action은 결제를 위해 클라이언트를 페이팔로 리디렉션합니다.

질문 내 의도 솔루션은 가능합니까? 어떻게하면 클라이언트의 게시물에 대한 응답으로 컨트롤러에서 일부 처리를하고, 처리/처리 결과로 게시/호출하고 궁극적으로 Paypal과 직접 상호 작용할 수있는 클라이언트에게 paypals 응답을 전달할 수 있습니까? 그렇지 않으면 나는 그것이 "안전 할"수 있던 방법 볼 수 없다. 반드시 누군가가 비슷한 일을하고 난 일종의 당신이 여기서 뭘하려는 이해

답변

0

:-) 올바른 방향으로 날 지점 수 있고, 내가 그 질문에 대답 할 수 있다고 생각하지 않으면

. 이것이 의미가 없다면 알려주십시오 ...

고객이 귀하의 리소스 인 mysite.com/Cart/Checkout에 부딪혔습니다. 컨트롤러는 모델을 인스턴스화 한 다음 뷰에 객체를 전달합니다. 여기서 뷰는 값을 적절히 바인딩합니다.

고객이 'PayPal로 결제'를 클릭하고 mysite.com/Cart/ExpressCheckout으로 리디렉션됩니다. 컨트롤러가 모델을 인스턴스화하고 모델이 카트 세션 데이터 (항목, 수량 등)를 사용하여 SetExpressCheckout 호출을 처리 한 다음 모델 (또는 컨트롤러,이 부분이 다소 모호합니다)이 고객을 pp.com/ cgi-bin/webscr?cmd = _express-checkout & 토큰 = EC-12345566788

고객이 모든 것을 다 기입하고 완료되면 mtsite.com/Cart/ConfirmOrder로 리디렉션됩니다. 이 리소스에서 Model은 GetExpressCheckoutDetails 호출을 처리하고 반환 된 모든 데이터에 대한 속성을 설정합니다. 컨트롤러는 개체를보기로 전달하여보기가 적절하게 바인딩됩니다.

이것이 안전하지 않은 이유가 있습니까? 이것은 안전해야하며 Microsoft MVC3의 모든 표준을 준수해야합니다. 리디렉션을 수행하는 부분을 제외하고는 의미 상으로는 컨트롤러 또는 모델에서이 작업이 수행 될지 확실하지 않습니다. 나는 그것이 컨트롤러 일 것이라고 생각한다.