Я получаю эту ошибку от моста omnipay каждый раз, когда пытаюсь зафиксировать платеж по кредитной карте:
Credit card details has to be set explicitly or there has to be an action that supports ObtainCreditCard request.
Вот мой код:
//...
$payum = (new PayumBuilder())
->addDefaultStorages()
->addGateway('paymentexpress_pxpost', ['factory' => 'omnipay_paymentexpress_pxpost', 'username' => 'some_username', 'password'=>'some_password'])
->getPayum();
$card = [
'number' => $request->input('cc_number'),
'expiryMonth' => $request->input('expiry_month'),
'expiryYear' => $request->input('expiry_year'),
'cvv' => $request->input('cvv'),
'name' => $request->input('card_name')
];
$payment = new ArrayObject(['amount' => '1.00', 'currency' => 'AUD', 'card' => $card]);
if ($reply = $payum->getGateway('paymentexpress_pxpost')->execute(new Capture($payment), true)) {
// convert reply to http response
}
//...
Функция ->execute()
выдает ошибку. Я также сослался на ту же проблему из Ошибка: данные кредитной карты должны быть указаны явно или должно быть действие, поддерживающее запрос ObtainCreditCard.