Может ли кто-нибудь помочь мне в получении шагов авторизации и Capture (код) с помощью Authorize.Net? Кажется, что каждый знает, как использовать оба в то же время, однако нет никаких объяснений, как мы можем это сделать в шагах со стрелками, сначала авторизации и Capture (используя trasactionID).Авторизовать, а затем Capture программно используя Authorize.Net в Magento
ответ
Операции CAPTURE требуют кода авторизации, который возвращается из вашей транзакции AUTH. Ключ x_auth_code должен быть установлен в значение кода авторизации из запроса AUTH. В разделительном ответе транзакции AUTH это поле №5.
См. Страницу 13 руководства по AIM. Также посмотрите на стр. 58 в Приложении B для минимально необходимых полей для каждого типа транзакции.
Удачи.
Выполните следующие действия для автоматического захвата ваших заказов после авторизации:
Настройка способа оплаты для авторизации (не прямая продажа)
Создание наблюдателя, который будет обрабатывать событие называется
sales_order_payment_place_end
с методом называетсяautomaticalyCaptureOrder
Используйте следующий код метода наблюдателя:
public function automaticalyCaptureOrder(Varien_Event_Observer $observer) { $payment = $observer->getEvent()->getPayment(); // Add additional check for payment method instance, // We need to be sure that only Authorize.Net payment will be captured if ($payment->getMethodInstance() instanceof Mage_Paygate_Model_Authorizenet) { $payment->capture(null); // null value tells Magento to create // an invoice automatically } }
Сядьте и расслабьтесь :)
Пожалуйста, дайте мне знать, если у вас есть какие-либо проблемы с этим раствором и я вернусь к вам.
UPDATE:
Для захвата оплаты заказа через определенный промежуток времени, вы должны загрузить объект заказа своим уникальным идентификатором, и выполнить аналогичные действия, как и раньше, но и вы должны сохранить объект заказа после вызова захвата метод:
$order->load($orderId); // Or $order->loadByIncrementId($incrementId);
$order->getPayment()->capture(null); // Capturing the payment
$order->save(); // Save updated information (transaction ids, order status)
Иван, спасибо за информацию, но как я разрешаю первый и, допустим, через 10 дней я могу захватить. Мне нужно авторизоваться, чтобы отправить предметы клиенту, и я запишу, как только судоходная компания сообщит мне, что клиент получил предметы. Где Magento хранит информацию о кредитной карте в базе данных? – Isy
Проверьте обновленный контент ответа. –
Ну, я не думаю, что вы прямо ответили на вопрос Изи, но информация, которую вы предоставили, является удивительной. Действительно полезно мне хотя бы! Благодарю. – shaune
Это может помочь http://scriptbaker.com/creating-magento-order-programmatically-and-charging-saved-credit-card/ –