【问题标题】:Using Omnipay in Laravel project在 Laravel 项目中使用 Omnipay
【发布时间】:2017-04-21 14:16:46
【问题描述】:

我必须在 PHP 中为在线支付系统实现 Omnipay 库。我已经阅读了 Omnipay 文档,但我不知道它是如何工作的。

// Setup payment gateway
$gateway = Omnipay::create('Stripe');
$gateway->setApiKey('abc123');

create() 方法应该传递什么,setApiKey 的目的是什么。

我应该在哪里调用这些方法?

【问题讨论】:

    标签: laravel omnipay


    【解决方案1】:

    Omnipay 是一个与网关无关的库,因此在使用 Omnipay::create() 创建网关对象时,您需要指定要使用的支付网关,在您的示例中,网关是 Stripe (omnipay-stripe),因此您通过create('Stripe') 方法中的网关名称。

    您可以在 php 联盟网站 (official/third party) 上找到支持的网关列表。

    每个支付网关都有不同的凭据要求,Stripe 需要一个 API 密钥,您可以在 Stripe 帐户设置中找到该密钥,并根据您的示例通过网关对象的 setApiKey() 方法传递给 Omnipay。

    作为另一个示例Paypal (omnipay-paypal) 需要您需要在网关对象上设置的用户名、密码、签名和 paypal 帐户 ID:

    $gateway = Omnipay::create('PayPal_Express');
    $gateway->setUsername(USERNAME);
    $gateway->setPassword(PASSWORD);
    $gateway->setSignature(SIGNATURE);
    $gateway->setSellerPaypalAccountId(SELLERPAYPALACCOUNTID);
    

    找出特定网关可用的方法的简单方法是查看它的 Gateway.php 文件; Omnipay\Stripe\Gateway, Omnipay\PayPal\ProGateway

    【讨论】:

      猜你喜欢
      • 2016-05-08
      • 2016-03-18
      • 2014-10-11
      • 2016-05-23
      • 2018-07-19
      • 2017-03-25
      • 2014-03-29
      • 2016-03-18
      • 2014-12-07
      相关资源
      最近更新 更多