с использованием последней версии Magento 2.3.0, в которой у меня есть пользовательский модуль, который создает заказ программно с помощью вызова API.
Все работает, и до сих пор я просто установил payment method
(для тестирования / dev) я не добавил никаких данных кредитной карты.
Теперь я имитирую платеж кредитной картой, который проходит через Authorize.net.Настроил администратора Mage 2 с правильными настройками учетной записи песочницы и добавил данные кредитной карты к заказу в пользовательском модуле, но транзакция не отображается в моей учетной записи песочницы Auth.net - это только для Authorization
, но не дляЗахват / заряд.
При ближайшем рассмотрении я предполагаю, что подробные данные не добавляются в заказ (только в предложение), следовательно, заказ при отправке не разрешает транзакцию ... (это мое предположение)
вот код, который я использую для добавления подробностей о cc в цитату:
$quote->getPayment()->importData(
[
'method' => "authorizenet_directpost",
'cc_type' => $orderData['cc_data']['cc_type'],
'cc_owner' => $orderData['cc_data']['cc_holder'],
'cc_last_4' => substr($orderData['cc_data']['cc_num'], -4),
'cc_number' => $orderData['cc_data']['cc_num'],
'cc_cid' => $orderData['cc_data']['cc_ccv'],
'cc_exp_month' => $orderData['cc_data']['cc_exp_month'],
'cc_exp_year' => $orderData['cc_data']['cc_exp_year']
]
);
первые вопросы:
(1) Это правильные имена полей дляcc детали?(2) Обязательны ли все эти поля (например, cc_type)?
Затем кавычка преобразуется в заказ:
$quote->collectTotals()->save();
$order = $this->quoteManagement->submit($quote);
$this->orderSender->send($order);
Опять же, заказ создается без любой ошибки,и в подробном представлении заказа администратора я могу видеть Платежную информацию как Credit Card Direct Post (Authorize.net)
, но без информации о копиях вообще.
В таблице quote_payment
db есть данные о копиях.
Заключительные вопросы:
(3) Почему детали заказа не добавляются в заказ должным образом и авторизация не выполняется?(4) Нужно ли мне вместо этого добавлять к объекту заказа детали cc?
Примечание: когда я пытаюсь выставить счет-фактуру на эти тестовые заказы, происходит сбой w / Gateway error: Credit card number is required.
, поэтому ясно, что ccдетали отсутствуют в заказе ...
Спасибо!