这是我在stackoverflow上的第一篇文章,对我来说很简单: - )
方案 MVC应用程序与自定义购物车。购物车与PayPal集成,传递销售数据,如客户信息,产品项目和价格(每个项目和总价格),但不传递信用卡或PayPal信息。这将在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
此解决方案中的问题是它似乎存在一些安全问题。敏感数据设置为视图并在隐藏字段中发送到客户端,并通过javascript设置发布,这使得这个不可接受吗?或者我看到了这个错误?
预期解决方案
问题 我的预期解决方案可行吗?我如何响应客户的帖子,在控制器中进行一些处理,使用该处理的结果发布/调用Paypal,并最终将paypals响应传递给客户,以便他直接与Paypal进行交互? 否则我看不出它是如何“安全”的。
如果没有,肯定有人做了类似的事情,可以指出我正确的方向: - )
答案 0 :(得分:0)
我理解你在这里尝试做什么,我想我可以回答这个问题。让我知道这是否有意义......
因此,您的客户会点击您的资源mysite.com/Cart/Checkout。控制器实例化模型,然后将对象传递到视图中,其中视图适当地绑定值。
客户点击“使用PayPal付款”并重定向到mysite.com/Cart/ExpressCheckout。控制器实例化模型,模型将使用购物车会话数据(项目,金额等)处理SetExpressCheckout调用,然后模型(或控制器,这部分有点模糊)将客户重定向到pp.com/的cgi-bin / webscr CMD = _express结账&安培;标记= EC-12345566788
客户会填写所有内容,一旦完成,他们将被重定向到mtsite.com/Cart/ConfirmOrder。在此资源中,Model将处理GetExpressCheckoutDetails调用,为返回的所有数据设置属性等。控制器将对象传递到视图中,视图将适当地绑定。
这是不安全的原因吗?这应该是安全的,并遵循Microsoft MVC3的所有标准。除了您进行重定向的部分,从语义上讲,我不确定这是在控制器还是模型中完成的。我认为这将是控制器。