PHP - 接受多个支付网关
Posted
技术标签:
【中文标题】PHP - 接受多个支付网关【英文标题】:PHP - accepting multiple payment gateways 【发布时间】:2012-04-19 06:26:36 【问题描述】:我正在创建一个网站,我将在其中销售单件商品,并希望能够通过 Paypal、Google Checkout 和亚马逊接受付款,但不想只为一件商品使用一些繁重的电子商务软件。
我正在寻找一个好的 php 解决方案,它可以轻松实现所有 3 个,例如 Django-Merchant for Django。
谢谢
【问题讨论】:
你不能自己实现这些吗?这样你就可以避免更多的“沉重”:) 上述所有供应商都将有 PHP 的示例代码及其 SDK 下载。 您将为每个支付网关设置一个控制器,然后使用用户选择的支付网关控制器。 【参考方案1】:如果您期待有关解决方案架构设计的建议,
首先,您需要创建一个接口,其中包含所有网关所必需的所有方法
interface PaymentGateway
public function processPayment();
public function authorize();
然后为每个支付网关创建具体的类
public class GoogleCheckoutGateway extends PaymentGateway
public function processPayment()
//Code to process google checkout payment
//Same like other payment gateways like paypal
public class PaypalCheckoutGateway extends PaymentGateway
public function processPayment()
//Code to process paypal payment
然后创建一个业务逻辑方法通过处理不同的网关来处理支付
public class PaymentProcessor
public function processPayment(string gateway)
//Create the respective object depending upon gateway
$gateway = getGateway(type);
$response = $gateway->processPayment();
此设计将帮助您稍后添加其他网关
【讨论】:
不能扩展接口。你可以实现它。【参考方案2】:在可预见的未来单品?这些第 3 方结帐替代方案中的每一个(只是区分术语“网关”,它在信用卡支付方面具有不同的含义)都提供了一个 API 和示例代码/SDK。
我认为查找它们是一种很好的做法,这样您就可以“第一手”了解每项工作的工作原理,这将进一步帮助您在需要一些软件包时继续前进 - 回复:您可以修改您的需求和/或知道如何处理问题,如果/何时发生。
您可能还发现,每个提供的任何“订单管理界面”都是您真正需要使用的(re: 单个项目) - 被抓的经典案例在开发者和企业主之间(知道你真正想做和/或完成的事情)。
【讨论】:
以上是关于PHP - 接受多个支付网关的主要内容,如果未能解决你的问题,请参考以下文章