Я работал с этим кодом некоторое время и до сих пор не могу понять, в чем проблема с ним.
Возможно, в некотором коде есть проблема, но Omnipay ничего не показывал как сообщение об ошибке.
Может ли кто-нибудь помочь мне узнать мои ошибки?
$gateway = Omnipay::create('Eway_RapidDirect');
write_log($gateway->getDefaultParameters());
$gateway->initialize([
'apiKey' => 'API KEY',
'password' => 'PASSWORD',
'testMode' => true
]);
$card = new CreditCard([
'number' => '4444333322221111',
'expiryMonth' => '6',
'expiryYear' => '2030',
'cvn' => '123'
]
);
$transaction = $gateway->purchase([
'amount' => '10.00',
'currency' => 'AUD',
'transactionId' => 'RAM0001',
'card' => $card,
]
);
$response = $transaction->send();
if ($response->isSuccessful()) {
write_log('success');
} else {
write_log('failed');
write_log($response->getMessage());
}
Код всегда печатать
[07-Aug-2018 09:07:01 UTC] failed
[07-Aug-2018 09:07:01 UTC]
Плагин GitHub: Omnipay Eway
Эта проблема была вызвана ошибкой в библиотеке OmniPay eWAY, где не были установлены заголовки аутентификации. Что еще хуже, ошибки аутентификации не обрабатываются корректно, что приводит к пустому сообщению об ошибке.
Версия 3.0.1 содержит исправление для отсутствующей аутентификации.
Других решений пока нет …