【发布时间】:2011-07-08 13:30:36
【问题描述】:
我有一个 CommerceService 模块来帮助处理常见的订单功能,其中包括通过 Authorize.net、Paypal 和 Google Checkout 等提供商的付款授权等功能。它提供了一个简单的接口,例如 placeOrder(Order) 并完成繁重的工作。
本地支付提供商的操作很简单,但 Paypal 和 Google 提供远程支付服务,因此以 Paypal 为例,用户可以离开您的网站,在那里付款,Paypal 将发送 Http 通知以连接您的订单流程.
我的问题是处理这些通知。理想情况下,将 HttpRequest 对象传递给服务层并让服务使用 handleRemoteOrder(Request, Response) 来完成订单是最简单的,而不是强迫前端担心任何这些。但是将请求和响应传递给服务层在直觉上似乎是错误的。
我曾考虑将请求参数提取到 Map 并简单地传递它,但 google checkout java sdk 明确地在请求和响应对象上工作,因此不使用 sdk 来解决这个问题会很麻烦。
这么远传递 HttpRequest 是否令人不悦?如果是这样,是否应该有前端逻辑来处理这个问题?或者这是一个毫无根据的担心,我不应该考虑这么多?
【问题讨论】:
-
有什么大不了的?把事情简单化。以简单的名义引入了多少复杂性?
标签: java architecture servlets paypal-ipn