PHP - 接受多个支付网关

时间:2012-04-05 13:50:20

标签: php paypal e-commerce payment-gateway google-checkout

我正在创建一个网站,我将销售单个商品,并希望能够通过Paypal,Google Checkout和亚马逊接受付款,但不想仅使用一些重型电子商务软件。

我正在寻找一个很好的PHP解决方案,可以很容易地实现所有3,就像Django的Django-Merchant。

由于

2 个答案:

答案 0 :(得分: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();
     }
}

此设计将帮助您稍后添加附加网关

答案 1 :(得分:0)

可预见的未来单品?每个第三方结账备选方案(仅区分术语“网关”,在信用卡支付方面具有不同含义)提供API和示例代码/ SDK。

我认为这是一个很好的练习,让你查看它们,这样你就可以“掌握”每一项工作的“第一手”知识,这些知识将进一步帮助你顺利完成一些软件包 - re:你可以修补一下您的需求和/或知道如果/何时发生问题如何处理。

可能也会发现每个提供的“订单管理界面”都是您真正需要使用的(re:单项) - 被抓住的经典案例在开发人员和企业主之间(知道你真正想做和/或完成的事情)。