我正在尝试使用Omnipay处理Pin付款交易并拥有以下代码(几乎与example on the Pin website完全相同,并且包含我的秘密API密钥而不是'密钥'):< / p>
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'吗?这里的一个来自网站的例子 - 我只是希望它仍然可以在沙箱环境中处理交易。
答案 0 :(得分:3)
查看Omnipay's Pin-gateway implementation表示该方法实际上称为setSecretKey()
(不是setApiKey()
)。
所以$gateway->setSecretKey('key');
应该做到这一点。