2

带有自定义购物车的场景MVC 应用程序。购物车与 PayPal 集成,传递销售数据,如客户信息、产品项目和价格(每个项目和总价),但不传递信用卡或贝宝信息。这将在贝宝上设置。

问题 Paypal 在此处描述了如何使用购物车上传与自定义购物车集成: https ://cms.paypal.com/us/cgi-bin/?cmd=_render-content&content_ID=developer/e_howto_html_cart_upload#id09BLDK0007Q 但是很少详细说明如何做到这一点。

过了一会儿,我在这里找到了一个如何进行 MVC-Paypal 交互的示例(即使不是购物车上传,但它是一个配置问题): http ://www.arunrana.net/2012/01/paypal-integration -in-mvc3-and-razor.html

这个解决方案的问题是它似乎存在一些安全问题。敏感数据设置为视图并在隐藏字段中发送到客户端,而 post 由 javascript 设置,这不可接受吗?还是我看错了?

预期解决方案

  1. 用户看到购物车并单击结帐按钮,导致向myserver.com/Controller/Action发送帖子,传递客户数据,如姓名、地址等。
  2. 控制器动作myserver.com/Controller/Action构建一个发布服务器端,添加客户端发布数据信息更敏感的信息,如价格和贝宝商家特定信息以及向贝宝发布请求或调用贝宝网络服务。
  3. Paypal 返回一个令牌或其他一些信息,myserver.com /Controller/Action将客户端重定向到 Paypal 以进行付款。

问题 我的预期解决方案可能吗?我如何响应来自客户端的帖子,在控制器中进行一些处理,使用该处理的结果发布/调用 Paypal,并最终将 paypals 响应传递给客户端,以便他直接与 Paypal 交互?否则我看不出它怎么可能是“安全的”。

如果没有,肯定有人做过类似的事情,可以为我指明正确的方向:-)

4

1 回答 1

0

我有点理解你想在这里做什么,我想我可以回答这个问题。让我知道这是否完全没有意义......

因此,您的客户点击了您的资源 mysite.com/Cart/Checkout。控制器实例化模型,然后将对象传递到视图中,视图在视图中适当地绑定值。

客户单击“使用 PayPal 付款”并被重定向到 mysite.com/Cart/ExpressCheckout。控制器实例化模型,模型将利用购物车会话数据(项目、金额等)处理 SetExpressCheckout 调用,然后模型(或控制器,这部分有点模糊)将客户重定向到 pp.com/ cgi-bin/webscr?cmd=_express-checkout&token=EC-12345566788

客户将填写所有内容,一旦完成,他们将被重定向到 mtsite.com/Cart/ConfirmOrder。在此资源中,模型将处理 GetExpressCheckoutDetails 调用,为所有返回的数据设置属性等。控制器会将对象传递到视图中,并且视图将适当地绑定。

这是不安全的原因吗?这应该是安全的并遵循 ​​Microsoft MVC3 的所有标准。除了在语义上进行重定向的部分之外,我不确定这是否会在控制器或模型中完成。我认为这将是控制器。

于 2013-02-13T19:02:37.030 回答