Allow Guests To Check Order Status
If a customer checks out as a guest, they will not be able to login to your store and check their order status. Instead of having them call or email you every time they want a status update, you can easily create a page on their website for them to view their order status. This is done through the Magento API.
Example. Difficulty level: Easy. Installation time: 10-15 minutes. Tested on: Magento 1.3 & 1.4
First thing you have to do is add an API user with a role that has access to all Sales Order information. Generate an API key (any combination of letters and numbers at least 22 (128 bit) characters long) and copy it to Notepad or write it down. You will need it later.
Step 2, create a new CMS page that will contain our API code. We usually set the URL identifier to "order-status". Here is what goes in the Content of this new CMS page:
{{block type="core/template" template="cms/order-status-api.phtml"}}
Third, create the order-status-api.phtml file that will contain our API and HTML display code. This file needs to be created at /app/design/frontend/default/yourtheme/template/cms/order-status-api.phtml
Here is the code that goes in this file. IMPORTANT: You must change two lines in the code to match your settings. These are clearly commented starting at Line 72.
Save the changes you made and upload the file. You should now be able to access the file at http://www.yourdomain.com/order-status.
Here is a live example with an actual order status.
With a little tweaking, you can easily edit the contents of the order-status-api.phtml to fit your website's needs.
Let me know if this is useful. Any feedback, questions or problems, please post in the comments!
.orderStatusTable {
border:1px solid #CCCCCC;
font-size:11px;
}
.orderStatusTable td {
padding:8px;
}
.currentStatus {
font-size: 11px;
background-color: #eee;
padding: 10px;
margin: 0 0 15px 0;
line-height: 15px;
border: 1px solid #ccc;
color: #333;
}
.currentStatus span {
font-size: 14px;
line-height: 23px;
color: #000;
}
</style>
<div class="page-head">
<h3>Check My Order Status</h3>
</div>
<p>Please enter your order number and email address to see the status of your order.</p>
<form name="" action="/order-status/" method="get">
<table border="0" cellspacing="0" cellpadding="0" class="orderStatusTable">
<tr>
<td><strong>Order Number:</strong></td>
<td><input type="text" name="order_id" id="order_id" value="<?php echo (isset($_GET['order_id'])) ? $_GET['order_id'] : ''; ?>" /></td>
</tr>
<tr>
<td><strong>Email Address:</strong></td>
<td><input name="email_address" type="text" id="email_address" value="<?php echo (isset($_GET['email_address'])) ? $_GET['email_address'] : ''; ?>" size="30" /></td>
</tr>
<tr>
<td> </td>
<td><input type="submit" name="submit" value="Submit" /></td>
</tr>
</table>
</form>
<div class="divider"></div>
<?php
$live = true; //determines verbosity of errors
$error = '';
$statusMessage = '';
$trackingNumberMessage = '';
$shippingMessage = '';
$orderID = '';
$emailAddress = '';
if(isset($_GET['order_id'])) {
$orderID = trim(preg_replace('/[^0-9]*/', '', $_GET['order_id']));
$emailAddress = trim($_GET['email_address']);
try {
ini_set("soap.wsdl_cache", "0");
ini_set("soap.wsdl_cache_enabled", "0");
// new key: N77YoiOxq
$proxy = new SoapClient('http://www.stratashops.com/shop/api/soap/?wsdl');
$sessionId = $proxy->login('orderstatus', '7KAy30DK6gapi');
//find all orders related to this id
$orderById = $proxy->call($sessionId, 'sales_order.info', $orderID);
$items = $orderById['items'];
if($orderById['customer_email'] == $emailAddress) {
//we are setting this variable for use later
$orderLookup = "success";
if (strtolower($orderById['status']) == "holded") {
$orderById['status'] = "On Hold";
}
$statusMessage = '<span>Your order status is: <strong>'.ucwords(str_replace('_', ' ', $orderById['status'])).'</strong></span>';
if(ucwords(str_replace('_', ' ', $orderById['status'])) == "Processing"){
$statusMessage .= '<br/><br/><strong>What does this mean?</strong><br/>Processing Time is the time it takes from when you submit your order to when the product leaves the Distribution Center. The "Ships Within" timeframe listed with each of our products on the website applies to this timeframe. For example, if you order a product the reads "Ships Within: 2 Weeks", this means that the product typically leaves the warehouse within two weeks. If there will be any additional time required to process your order, we will notify you immediately to confirm the delivery period. This time is needed for products that are shipped to you directly from our manufacturers. The manufacturers need this time to fulfill your order and, in some cases, custom build the product.';
}
} else {
$orderLookup = "failure";
echo "We were unable to find your order information. Please verify your Order Number and Email Address are correct.";
}
//if the order status is complete we look up shipping information
if(strtolower($orderById['status']) == "complete" && $orderLookup == "success") {
//we look for all shipments related to this order id using internal magento order id
$findShipments = $proxy->call($sessionId, 'sales_order_shipment.list', array(array('order_id'=>array('like'=>$orderById['order_id']))));
if (count($findShipments) < 1) { //if $findShipments is not an array
echo "There was an unknown error and your shipment information could not be found. Please contact Customer Service to get the current status of your order.";
} else {
//we pull the increment id for the shipment
$thisShipmentID = $findShipments[0]['increment_id'];
//now we pull all shipment info that specific shipment id
$getShipmentInfo = $proxy->call($sessionId, 'sales_order_shipment.info', $thisShipmentID);
$allowedCarriers = $proxy->call($sessionId, 'sales_order_shipment.getCarriers', $thisShipmentID);
//set each variable
$shipDate = $getShipmentInfo['created_at'];
$service = $allowedCarriers[$getShipmentInfo['tracks'][0]['carrier_code']];
if($service == "Custom Value") $service = "Truck Freight";
$trackingNumber = $getShipmentInfo['tracks'][0]['number'];
$defaultTimeZone = date_default_timezone_get();
date_default_timezone_set('EST');
//print_r($getShipmentInfo);
if($service == "ups") {
$trackingNumberMessage = "Tracking Number: <strong><a href='http://wwwapps.ups.com/WebTracking/track?loc=en_US&trackNums=".$trackingNumber."' target='_blank'>".$trackingNumber."</a></strong>";
} else {
$trackingNumberMessage = "Tracking Number: <strong>".$trackingNumber."</strong>";
}
//and echo the data to screen
$shippingMessage = "Your order was shipped on " . date("l, F jS, Y \a\t g:i:s a T", strtotime($shipDate . ' ' . $defaultTimeZone)) . " via " . $service . ".<br/><br/>";
} //no errors
}
if($orderLookup != "failure"){
echo '<p class="currentStatus">'.$statusMessage.'<br/>'.$trackingNumberMessage.'</p>';
echo $shippingMessage;
echo "<h4>Products in your order:</h4><ul>";
foreach($items as $item){
echo "<li>".number_format($item['qty_invoiced'], 0) . " x <strong>" . strtoupper($item['sku']) . "</strong> " . $item['name'] . "</li>";
}
echo "</ul>";
}
} catch (SoapFault $fault) {
//this is a basic implementation of error checking. I am using try to stop the error from showing a nasty magento error page
if($fault->faultcode == "100") {
echo "That Order Number was not found in our system.";
} elseif ($fault->faultcode == "http") {
echo "Request timed out. Please try again later.";
} else {
//leave this on for testing so we can see SOAP status codes; turn off for live
if ($live == false) {
echo "Error $fault->faultcode: $fault->faultstring";
} else {
echo "There was an unknown error. Please try again later, or contact us.";
}
}
}
} // end if
?>
<p><br /><br /><em>For detailed information regarding the status of your order, please contact our helpful Customer Service Experts.</em></p>



July 30th, 2010 - 06:14
always show “There was an unknown error. Please try again later, or contact us.”
July 30th, 2010 - 13:03
Set $live = false on line 52 (affects the IF statement on line 173). This will allow the script to show the full error so you can troubleshoot.
September 9th, 2010 - 18:26
Hi,
I got the same error with magento v. 1.4.1.0. Here is the solution:
The problem is resolved by adding a closing curly brace “}” to the last ‘else’ block in the run() function, line 135 (before the “return $this”) at /app/code/core/Mage/Api/Model/Server/Adapter/Soap.php
The code should look like this:
} else {
$this->fault(’0′, ‘Unable to load Soap extension on the server’);
} // <— This one is missing, line 135
return $this;
}
Hope this help
August 25th, 2010 - 03:33
hi
can you tell me how to display the custom value title.
thanks!
August 25th, 2010 - 08:17
If you are using a custom shipping method you can set the title of your custom value on line 127.
Currently if($service == “Custom Value”) $service = “Truck Freight”;
You can just change “Truck Freight” to whatever you need.
You can then echo $service wherever you need to.
June 9th, 2011 - 12:30
Thank you.
I found that but if I use different custom shipping methods, not only one fixed, how can I get the title of them ?
September 4th, 2010 - 08:09
I’m trying to set this up, and i get Error 103: Requested order not exists. However, if the order is in processing status, it pulls up fine, but all the quantities are 0 because the order has not been invoiced. Any thoughts?
September 9th, 2010 - 15:21
I get following error:
Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.beljoto.com/api/soap/?wsdl‘ : Extra content at the end of the document
September 28th, 2010 - 14:08
I’m on 1.4.1.1 also getting the above SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www etc etc
Any suggestions?
September 28th, 2010 - 16:10
Okay I made some progress. I’m on 1.4.1.1 but you can try it if you want for other versions.
In the order-status-api.phtml file around line 76 where it says:
$proxy = new SoapClient(‘http://www.yourdomain.com/api/soap/?wsdl‘);
Change it to:
$proxy = new SoapClient(‘http://www.yourdomain.com/index.php/api/?wsdl‘);
In my case however, I didn’t put the WWW, so YMMV.
Also, to clarify more on adding an API User & Role:
[ Role ]
1) System > Web Services > Roles
2) [Add New Role]
Role name: API Sales Access
Roles Resources
Resource Access: Sales
1) Log into Admin
2) System > Web Services > Users
3) [Add New User]
User Name: API
First Name: api
Last Name: API
Email: api@api.com
Api Key: test123
Api Key Confirmation: test123
This account is: Active
User Role
select: API Sales Access
[Save User]
One last thing, the tutorial says to name it order-status-api.php but name it .phtml instead.
September 28th, 2010 - 16:23
I forgot:
Around Line 106 where it says:
if(strtolower($orderById['status']) == “complete” && $orderLookup == “success”) {
Change the complete to Complete
This fixed the order doesn’t exist.
Now I gotta figure out how to get it to show the tracking information. Right now it only shows Your order status is: Complete and the items in my order but not tracking.
February 16th, 2011 - 23:10
Ever figure out how to show tracking info?
May 22nd, 2011 - 22:34
The same question here.
The aim for the tracking is to let the customers trace their shipping info themselves.
When I submit shipping info, then the system will recongize it as completed, so how do cutomers know their order’s shipping info?
May 25th, 2011 - 09:04
Ace,
When you submit shipping info, the system should set it to Shipped, not Completed.
May 25th, 2011 - 23:07
Thanks for your reply.
What I want to show to the customer is, for example, EMS rd123456co http://www.ems.com . This is what I input in the admincp.
September 28th, 2010 - 22:45
Wow, this works great and it’s exactly what we were looking for! Do you know if it’s possible to do a similar style lookup for an order receipt?
September 29th, 2010 - 11:25
This allows you to track your order, and will show order status. You could simply change the name of the links and show additional variables to provide more order info. The script currently connects through the API and just pulls shipping info for the order. Through the API, you can pull just about any data from the order itself. Contact us if you would like us to custom program this for you, otherwise feel free to customize the code we have provided in this post to your liking!
October 15th, 2010 - 00:54
I’m not getting any errors but when the page loads, there isn’t a form or anything in the body of the page. Any ideas what’s going on?
October 29th, 2010 - 10:18
Hi, i tryed this but it i just get a blank Page.
I think it is not loading the “cms/order-status-api.phtml” File, but i realy dont know why.
October 30th, 2010 - 01:52
i got this problem
Fatal error: Class ‘SoapClient’ not found in /var/www/vhosts/nikon-mugs.com/httpdocs/app/design/frontend/default/default/template/cms/order-status-api.phtml on line 76
November 19th, 2010 - 13:28
May be this needs to noted for some users…
/app/design/frontend/default/yourtheme/cms/order-status-api.php
should be…
/app/design/frontend/default/default/template/cms/order-status-api.php
for 1.3 default theme
July 12th, 2011 - 19:33
Thanksss so much! This was soo helpful.
December 8th, 2010 - 16:12
I got the page working but I cant test it because it is located in http://mysite.com/store/order-status and that pulls up fine but when I hit submit it returns and redirects to http://mysite.com/order-status which gives me a 404. I couldnt figure out what needed to be changed. Any help?
Thanks this code is awesome it will be so useful
April 13th, 2011 - 07:22
Hi Cody,
I hope you have got the answer to your question. If not here it is. I just saw this article and tried to set it up on my server. It did work. However I faced the same issue as you have mentioned. To fix this go to app\design\frontend\default\yourtheme\template\cms and open the file order-status-api.phtml.
On line 30 you will find the code
Change it to and it will work for you too. Please let me know if it doesn’t.
June 9th, 2011 - 01:54
Yaba,
did you create the CMS page and set the url-key to order-status? Also, whenever you add cms pages or change them, be sure to refresh the cache under System > Cache Management. You may refresh only “Blocks HTML Output” or all of them.
Also, if you just copied and pasted the code, be sure to change the API login to match your system on line 78.
Let me know if this helped.
Hi there, when I enter the code + email address I 404. You are saying that I need to change the code on line 30. What dod I need to change there?
January 5th, 2011 - 19:52
I can’t get the forms to load properly. I just get a blank page.
Here is my page: http://staging.goldengadgets.com/order-status
i’m running 1.4.2
January 6th, 2011 - 14:11
couldn’t load because of the wysiwyg editor for the content in the new CMS page.
once I put the line:
{{block type=”core/template” template=”cms/order-status-api.phtml”}}
inside the “source” and not the wysiwyg window, everything worked as described.
fantastic extension. Exactly what i need since 50% of my customer requests are for order status updates.
ALSO pay attention to API user password…this needs to be 22 characters.
Gary
January 15th, 2011 - 04:47
Brilliant!
February 4th, 2011 - 23:53
Hi,
I am trying to use this in a 1.3 site and it shows the order-status-api.phtml code instead of executing it. Any idea?
February 18th, 2011 - 12:20
Great & very helpful. Thanks.
February 27th, 2011 - 12:16
hey i’m getting Error 2: Access denied. i’ve checked the password + username any help would be great!?
February 27th, 2011 - 12:20
ignore that! i hadn’t applied the role to the user! silly me….
March 2nd, 2011 - 18:33
If you’re getting error “Fatal error: Class ‘SoapClient’ not found in /home/user/public_html/app/design/frontend/base/default/template/cms/order-status-api.phtml on line 75″
That means Soap extension is not enabled in your PHP settings.
Open php.ini file and search for soap extension. The following soap extension should be enabled:-
extension=php_soap.dll
Thanks.
March 5th, 2011 - 21:16
Hello, i was wondering if anyone can help me! i have this set up on my site and it is all working fine but i would like to add the option for my customers to convert their guest account to an actual account by just pressing ‘Create Account’ button on this page, i know it is possible but can’t figure it out?!
even a nudge in the right direction would be great!
Thanks
Jimmy
P.S thanks alot for this tutorial, i edited it to add functionality for custom tracking numbers with some fun iframes and stuff, beware its disabled for ups as we only use royal mail so some editing may be required…
heres an example.
and the code hope it’s helpfull!
.orderStatusTable {
border:1px solid #CCCCCC;
font-size:11px;
}
.orderStatusTable td {
padding:8px;
}
.currentStatus {
font-size: 11px;
background-color: #eee;
padding: 10px;
margin: 0 0 15px 0;
line-height: 15px;
border: 1px solid #ccc;
color: #333;
}
.currentStatus span {
font-size: 14px;
line-height: 23px;
color: #000;
}
Check My Order Status
Please enter your order number and email address to see the status of your order.
Order Number:
<input type="text" name="order_id" id="order_id" value="” />
Email Address:
<input name="email_address" type="text" id="email_address" value="” size=”30″ />
login(‘apiusername’, ‘apikey’);
//******************************************************************/
//find all orders related to this id
$orderById = $proxy->call($sessionId, ‘sales_order.info’, $orderID);
$items = $orderById['items'];
if($orderById['customer_email'] == $emailAddress) {
//we are setting this variable for use later
$orderLookup = “success”;
if (strtolower($orderById['status']) == “holded”) {
$orderById['status'] = “On Hold”;
}
$statusMessage = ‘Your order status is: ‘.ucwords(str_replace(‘_’, ‘ ‘, $orderById['status'])).’‘;
if(ucwords(str_replace(‘_’, ‘ ‘, $orderById['status'])) == “Processing”){
$statusMessage .= ‘What does this mean?Processing Time is the time it takes from when you submit your order to when that order is completed.’;
}
} else {
$orderLookup = “failure”;
echo “We were unable to find your order information. Please verify your Order Number and Email Address are correct.”;
}
//if the order status is complete we look up shipping information
if(/*strtolower($orderById['status']) == “complete” && */$orderLookup == “success”) {
//we look for all shipments related to this order id using internal magento order id
$findShipments = $proxy->call($sessionId, ‘sales_order_shipment.list’, array(array(‘order_id’=>array(‘like’=>$orderById['order_id']))));
if (count($findShipments) < 1) { //if $findShipments is not an array
echo '’.$statusMessage.”.$trackingNumberMessage.”;
} else {
if (count($findShipments) > 0) { //if $findShipments is not an array
echo ”.$statusMessage.”.$trackingNumberMessage.”;
} else {
//we pull the increment id for the shipment
$thisShipmentID = $findShipments[0]['increment_id'];
//now we pull all shipment info that specific shipment id
$getShipmentInfo = $proxy->call($sessionId, ‘sales_order_shipment.info’, $thisShipmentID);
$allowedCarriers = $proxy->call($sessionId, ‘sales_order_shipment.getCarriers’, $thisShipmentID);
//set each variable
$shipDate = $getShipmentInfo['created_at'];
// $service = $allowedCarriers[$getShipmentInfo['tracks'][0]['carrier_code']];
// if ($service == “Custom Value”) { $service = “Royal Mail”; }
$trackingNumber = $getShipmentInfo['tracks'][0]['number'];
// $trackingNumberArray =
$defaultTimeZone = date_default_timezone_get();
date_default_timezone_set(‘GMT’);
//print_r($getShipmentInfo);
/*
if($service == “ups”) {
$trackingNumberMessage = “Tracking Number: “.$trackingNumber.”“;
} else {
$trackingNumberMessage = “Tracking Number: “.$trackingNumber.”“;
}
*/
//and echo the data to screen
// $shippingMessage = “Your order was shipped on ” . date(“l, F jS, Y \\a\\t g:i:s a T”, strtotime($shipDate . ‘ ‘ . $defaultTimeZone)) . ” via ” . $orderById['shipping_description'] . “.”;
} }//no errors
}
if($orderLookup != “failure”){
echo “You ordered:”;
foreach($items as $item){
echo “”.number_format($item['qty_ordered'], 0) . ” x ” . strtoupper($item['sku']) . “ ” . $item['name'] . “”;
}
echo “”;
echo “”;
if (count($findShipments) > 0) {
echo “The following items have been shipped:”;
for($s = 0; $s < count($findShipments); $s++ ) {
//for($x = 0; $x call($sessionId, ‘sales_order_shipment.info’, $thisShipmentID);
$trackingNumber = $getShipmentInfo['tracks'][0]['number'];
$n = $s+1;
echo “Shipment #”.$n. “”;
echo “” . $trackingNumberMessage = “Tracking Number: “.$trackingNumber.”” . “”;
foreach($getShipmentInfo['items'] as $item) {
echo “”.number_format($item['qty'], 0) . ” x ” . strtoupper($item['sku']) . “ ” . $item['name'] . “”;
}
$shipDate = $getShipmentInfo['created_at'];
$defaultTimeZone = date_default_timezone_get();
date_default_timezone_set(‘GMT’);
$shippingMessage = “These items were shipped on ” . date(“l, F jS, Y \\a\\t g:i:s a T”, strtotime($shipDate . ‘ ‘ . $defaultTimeZone)) . ” via ” . $getShipmentInfo['tracks'][0]['title'] . “.”;
echo $shippingMessage;
echo “”;
}
}
}
} catch (SoapFault $fault) {
// end try begin error catch
//this is a basic implementation of error checking. I am using try to stop the error from showing a nasty magento error page
if($fault->faultcode == “100″) {
echo “That Order Number was not found in our system.”;
} elseif ($fault->faultcode == “http”) {
echo “Request timed out. Please try again later.”;
} else {
//leave this on for testing so we can see SOAP status codes; turn off for live
if ($live == false) {
echo “Error $fault->faultcode: $fault->faultstring”;
} else {
echo “There was an unknown error. Please try again later, or contact us.”;
}
}
}
} // top last first bottom end if
?>
For detailed information regarding the status of your order, please contact our helpful Customer Service Experts.
March 10th, 2011 - 00:36
hey jimmy
can you email me phtml file?
i will take a look
thanks
jeannie28@naver.com
March 5th, 2011 - 22:06
Magento 1.5.0.1
Added API User & Role..
Keep getting error
Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.XXXXXXXX.com/api/soap/?wsdl‘ : Premature end of data in tag html line 1
March 31st, 2011 - 16:50
Hello, I’m getting this error:
Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.xxx.com/api/soap/?wsdl‘ : failed to load external entity “http://www.xxx.com/api/soap/?wsdl”
(with xxx being my domain name)
My “soap.php” looks different and the curly braces trick didn’t work:
else
{
try {
$this->_instantiateServer();
$this->getController()->getResponse()
->clearHeaders()
->setHeader(‘Content-Type’,'text/xml; charset=’.$apiConfigCharset)
->setBody(
preg_replace(
‘/]+)>/i’,
”,
$this->_soap->handle()
)
);
} catch( Zend_Soap_Server_Exception $e ) {
$this->fault( $e->getCode(), $e->getMessage() );
} catch( Exception $e ) {
$this->fault( $e->getCode(), $e->getMessage() );
}
}
return $this;
}
April 1st, 2011 - 15:48
I solved my problem, I had the extension Offline Maintenance on and when I turned it off, I could retrieve order status.
April 6th, 2011 - 07:06
Very Good Article.
Thanks
BharatMatrimony
April 13th, 2011 - 07:29
This is a very good article and helps add a very useful feature on the store.
Just one correction I would like to suggest:
In the instructions to change the order-status-api.phtml file please also include the instruction to edit the code in line 30.
If the site is running from a folder inside the main domain, this won’t work. You will need to instruct the user to change this to
Thanks for the great code.
May 4th, 2011 - 01:26
I am getting this error:
Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.domain.com.au/api/soap/?wsdl‘ : failed to load external entity “http://www.domain.com.au/api/soap/?wsdl”
None of the above fixes are working for me… i am running 1.4.2 and soap.php seems to be fixed. Any ideas anyone?
May 4th, 2011 - 08:47
Justin,
does your store use index.php in the URL or are you omitting it in .htaccess?
If you do use index.php, you need to include that in the soap call URL: http://www.domain.com.au/index.php/api/soap/?wsdl.
May 5th, 2011 - 21:20
This dosent work for me..I got a blank
May 12th, 2011 - 07:23
hi iam a new bee , getting this error(The requested URL /order-status/ was not found on this server) after submitting the form , i followed the steps which are given above , but not able tot got the solution, please help me out of this, i think in line 30 i made a mistake i.e. the form action , i just copied the code and pasted accroding to the post.
please help me out,
with regards,
Yaba
May 12th, 2011 - 08:18
Yaba,
did you create the CMS page and set the url-key to order-status? Also, whenever you add cms pages or change them, be sure to refresh the cache under System > Cache Management. You may refresh only “Blocks HTML Output” or all of them.
Also, if you just copied and pasted the code, be sure to change the API login to match your system on line 78.
Let me know if this helped.
May 13th, 2011 - 07:49
thank you very much Dave for your quick reply..so kind of you..
Actually what i did is once again i followed the whole process in new installation and got the result, thank u you very much once again..
with best regards
Yaba
May 18th, 2011 - 18:32
Hi Guys,
I tried it on Magento ver. 1.5.1.0, every time when I click at the submit button , it leads to ‘Page Not Found’ , I also notice the address has been changed from http://mydomain.co.uk/shop/order-status-check to http://phomax.co.uk/order-status-check..
Please help..
May 18th, 2011 - 19:36
Now I get the Error message as
Error WSDL: SOAP-ERROR: Parsing WSDL: Couldn’t load from ‘http://www.mydomain.co.uk/shop/api/soap/?wsdl‘ : Start tag expected, ‘<' not found
Please help
May 24th, 2011 - 16:26
Anyone know how to make it so that you only need the order number and no email address is required?
May 26th, 2011 - 07:29
Super solution.
Just followed the instructions and VOILA !!! there it was… working perfectly as desired
Thankx
June 1st, 2011 - 09:55
Glad to hear it worked so easily for you Manoj!
June 8th, 2011 - 23:40
Thanks for your great great hack!
However can you tell me how to show more information to the customer than only “Processing” or “Complete”?
When I input shipping information in the admincp, I’ll put the Tracking number and website for them to track, so I want this information to be shown also, so how can I do that?
Please help me on this, thank you in advanced!
Neo
June 9th, 2011 - 02:43
Hi there, I have everything installed, the order-status page works fine http://www.mrdigitalcameras.com.au/order-status.html, however when i add order number and email address and click enter I get error 404. Any suggestions would be really appreciated.
Thanks
June 9th, 2011 - 07:27
Hi there, when I enter order number and email address I get error 404. Any idea why? http://www.mrdigitalcameras.com.au/order-status.html
June 9th, 2011 - 11:34
Gary,
It looks like your form action is incorrect. Currently it is /order-status/” when it should be ‘/order-status.html’. The idea is to submit the form to the current page.
June 10th, 2011 - 11:47
David, thank you so much for your help!!! It works now!! I was going crazy last night. The problem was that in SEF URL Identifier i put order-status.html and it was not working, I removed the html part and it works great. Now I need to buy something from your store, to repay you
July 14th, 2011 - 17:46
Hi there,
Great mod – got it working and looking the way that I like. I do have a question though – how can I add more details about the order? Is it possible to use shortcodes( {{}} ) like in the email templates? It would be nice to have the Order Date present…
Thanks!
July 20th, 2011 - 02:50
i guess its not working on 1.5x
the cms page loads fine without 404 error, but its blank.. looks like its not able to locate the .phtml file.
I noticed there was no /cms folder in my template folders on all the themes. so I created and saved the .phtml file but it didnt work.
I then save it in page folder and changed the location from cms/order-status-api.phtml -> page/order-status-api.phtml.
didnt work.. I dont know what m i doing wrong but its of no help
July 31st, 2011 - 18:48
Hiya!
We had this working for a while, but now, the only response we get is “That Order Number was not found in our system”, even though the order numbers we are testing are definitely in the system.
Can you provide any troubleshooting tips?
Thanks,
Doug
August 1st, 2011 - 06:41
did anyone manage to get this working in 1.5.x?
I think the way magento is handling the layout/template files have slightly changed or something, its just rendering the CMS blank :/
August 1st, 2011 - 08:40
I realize it should be possible to at least load the submit form.. Would it be possible for anyone to help out alittle? I am developing on localhost right now, and under magento folder.
Running two websites because of some weird reason:..
First site
base URL: http://127.0.0.1/magento/
base link URL: http://127.0.0.1/magento/product/
For some reason I am unable to use cms/order-status-api.phtml…as the CMS just appears totally blank :/ I have already created the cms page with url as order-status as well.