使用 Omnipay 进行密码支付

Posted

技术标签:

【中文标题】使用 Omnipay 进行密码支付【英文标题】:Using Omnipay for Pin Payments 【发布时间】:2013-10-28 19:22:07 【问题描述】:

我正在尝试使用Omnipay 来处理 Pin 支付交易,并拥有以下代码(与 example on the Pin website 几乎完全相同,并且包含我的秘密 API 密钥而不是“密钥”):

require_once __DIR__.'/vendor/autoload.php';
use Omnipay\Common\GatewayFactory;

$gateway = GatewayFactory::create('Pin');
$gateway->setApiKey('key');
$gateway->purchase([
    'email'       => 'customer@email.com',
    'description' => 'Widgets',
    'amount'      => '49.99',
    'currency'    => 'USD',
    'card_token'  => 'card_nytGw7koRg23EEp9NTmz9w',
    'ip_address'  => '1.2.3.4'
])->send();

并得到以下错误:

致命错误:调用未定义的方法 Omnipay\Pin\Gateway::setApiKey()

我需要合法的“card_token”吗?这里的一个来自网站的示例 - 我只是希望它仍能在沙盒环境中处理交易。

【问题讨论】:

php 告诉你 Gateway 类没有名称为 setApiKey 的方法 【参考方案1】:

查看Omnipay's Pin-gateway implementation 表明该方法实际上被称为setSecretKey()(而不是setApiKey())。

所以$gateway->setSecretKey('key'); 应该可以解决问题。

【讨论】:

太棒了,非常感谢!我正在寻找替代方法名称,但正在寻找使用“Api”而不是“key”的东西哈哈。再次感谢!

以上是关于使用 Omnipay 进行密码支付的主要内容,如果未能解决你的问题,请参考以下文章

如何使用omnipay通过CodeIgniter实现在线支付?

支付宝快速结账的 Omnipay 错误,您的最后一个操作无法完成

如何使用 Omnipay/手册

Omnipay 代币计费不适用于条带

Omnipay和Payum之间的区别

Omnipay 如何添加新网关