Magento:success page order details issue in magento 2?
-
15-04-2021 - |
Question
When i go through cash on delivery process then success page get all order details on success page But when i go through paytm or other payment getway through its show error
Is there any solution for this type of issue in Magento 2?
succss.phtml
$objectManager = \Magento\Framework\App\ObjectManager::getInstance();
$orderData = $objectManager->create('Magento\Sales\Model\Order')->loadByIncrementId($block->getOrderId());
$ProductRepository = $objectManager->create('Magento\Catalog\Model\ProductRepository');
$timefc = $objectManager->create('\Magento\Framework\Stdlib\DateTime\TimezoneInterface');
$categoryFactory = $objectManager->get('\Magento\Catalog\Model\CategoryFactory');
$paymentdetails = $orderData->getPayment()->getData();
$orderItems = $orderData->getAllVisibleItems();
$order2 = $orderData->getData();
$orderbilling2 = $orderData->getBillingAddress()->getData();
$ordershipping2 = $orderData->getShippingAddress()->getData();
$mainarray['order_data']['order_id'] = $order2['increment_id'];
$mainarray['order_data']['purchase_date'] = $dateAsString;
$mainarray['order_data']['status'] = $order2['status'];
$mainarray['order_data']['grand_total'] = $order2['grand_total'];
$mainarray['order_data']['sub_total'] = $order2['base_subtotal'];
$mainarray['order_data']['payment_method'] = $paymentdetails['additional_information']['method_title'];
$mainarray['order_data']['delivery_charges'] = 0;
if ($paymentdetails['method']=='phoenix_cashondelivery') {
$mainarray['order_data']['delivery_charges'] = $order2['cod_fee'];
}
$mainarray['order_data']['coupon_code']= $order2['coupon_code'] ? $order2['coupon_code'] : "";
if ($order2['discount_amount']){
$mainarray['order_data']['coupon_discount'] = abs($order2['discount_amount']);
}
$userType = $order2['customer_is_guest'];
if ($userType!=1)
{
$customer_id = $order2['customer_id'];
$mainarray['customer_data']['customer_id'] = $customer_id;
$mainarray['customer_data']['customer_type'] = "Customer";
}
else
{
$mainarray['customer_data']['customer_type'] = "Guest Customer";
$mainarray['customer_data']['customer_id'] = 0;
}
//address
$mainarray['customer_data']['customer_groupid'] = $order2['customer_group_id'];
$mainarray['customer_data']['billing_firstname'] = $orderbilling2['firstname'];
$mainarray['customer_data']['billing_lastname'] = $orderbilling2['lastname'];
$mainarray['customer_data']['billing_email'] = $orderbilling2['email'];
$mainarray['customer_data']['billing_mobile'] = $orderbilling2['telephone'];
$mainarray['customer_data']['billing_city'] = $orderbilling2['city'];
$mainarray['customer_data']['billing_state'] = $orderbilling2['region'];
$mainarray['customer_data']['billing_pincode'] = $orderbilling2['postcode'];
$mainarray['customer_data']['billing_address'] = $orderbilling2['street'];
//shipping
$mainarray['customer_data']['shipping_name'] = $ordershipping2['firstname']." ".$ordershipping2['lastname'];
// $mainarray['customer_data']['shipping_lastname'] = ;
$mainarray['customer_data']['shipping_email'] = $ordershipping2['email'];
$mainarray['customer_data']['shipping_mobile'] = $ordershipping2['telephone'];
$mainarray['customer_data']['shipping_city'] = $ordershipping2['city'];
$mainarray['customer_data']['shipping_state'] = $ordershipping2['region'];
$mainarray['customer_data']['shipping_pincode'] = $ordershipping2['postcode'];
$mainarray['customer_data']['shipping_address'] = $ordershipping2['street'];
$productArr = [];
$result = [];
$type = array();
$mainarray['product_data'][] = array();
foreach ($orderItems as $key => $item1) {
if ($item1)
{
$_product = $objectManager->create('Magento\Catalog\Model\Product')->load($item1->getProductId());
$categoryIds = $_product->getCategoryIds();
//echo '<pre>'; print_r($categoryIds); die();
if ($categoryIds)
{
$category_name="";
foreach ($categoryIds as $category) {
$category = $categoryFactory->create()->load($category);
$category_name = $category->getName();
if($category_name){
break;
}
}
//$categoryall = implode(',', $category_name);
}
$options = $item1->getProductOptions();
$optionsData = array();
if (isset($options['options']) && !empty($options['options'])) {
foreach ($options['options'] as $option) {
$optionsData[$option['label']] = $option['value'];
}
}
$additionaloptionsData = '';
$additional_option_array=[];
if (isset($options['attributes_info']) && !empty($options['attributes_info'])) {
foreach ($options['attributes_info'] as $option) {
$additional_option_array[$option['label']]= $option['value'];
}
}
if(isset($options['additional_options'])){
foreach($options['additional_options'] as $customoption){
if($customoption['label']=='Women Size'){
$additional_option_array['Women Size']=$customoption['value'];
}
if($customoption['label']=='Custom Mask'){
$additional_option_array['Add Mask']=$customoption['value'];
}
}
}
$mainarray['product_data'][] = array(
'name' => $item1->getName(),
'sku' => $item1->getSku(),
'qty' => (int)$item1->getQtyOrdered(),
'price' => $item1->getPrice(),
'category_name' => $category_name,
'options' => $optionsData,
'additional_options' => $additional_option_array
);
}
}
No correct solution
Licensed under: CC-BY-SA with attribution
Not affiliated with magento.stackexchange