|
Free Open Book
PayPal Hacks. 100 Industrial-Strength Tips and Tools |
Hack 57 Build an Order-Tracking Page
Keep your customers informed of order status using an automated system. The Internet sped up everything, including your customers' expectations. Once you have the code in place to display the merchant transaction ID on your return page [Hack #52] and insert payment details into a database [Hack #82], it's easy to create a page that enables customers to check on the status of an order. You need to place two new pages on your system: a query page that allows your customers to ask the question and a results page that gives them the answer. Figure 5-11 shows a completed results page. Figure 5-11. A completed order-tracking page![]() An order-tracking page like this one is easy to implement and goes a long way in placating customers. 5.14.1 Asking the QuestionThe query page can be quite simple. All you need is a form that allows your customer to enter the transaction ID you previously provided. Once the customer clicks Submit, the results page takes over. <html><body> Enter the transaction ID corresponding to the order you wish to look up: <form action="order_tracking.asp" method="post"> <input type="text" name="txn_id"> <input type="button" value="submit" name="submit"> </form> </body></html> The form is only the beginning. Obviously, the preferred method is to display a list of all relevant transaction IDs, from which the customer can select one to view the transaction details. See [Hack #22] for more information, as well as [Hack #94] for a way to get this information using the PayPal API. 5.14.2 Getting the AnswerThis example (especially the tblOrders table) assumes a database structure similar to the structure used in [Hack #82] . Any web scripting language will work for this task. This example uses ASP: <%
'Read back customers input
Dim txn_id
Txn_id = Request ("txn_id")
'Connect to database and create recordset
connStore = "DRIVER={Microsoft Access Driver (*.mdb)};DBQ=
"C:/InetPub/wwwroot/database/dbPayPal.mdb")
set rsOrder = Server.CreateObject("ADODB.Recordset")
rsOrder.ActiveConnection = connStore
rsOrder.Source = SELECT payer_email, payer_id, payment_status, txn_id,
mc_gross, mc_fee, payment_date FROM tblOrders WHERE txn_id = '" &
txn_id &"'"
rsOrder.Open( )
%>
<!-- Check to see if the order information can be found; if so, display it.-->
<% If NOT rsOrder.EOF OR NOT rsOrder.BOF Then %>
Here are the details of your order:
<p>
Customer Email: <%=rsOrder("payer_email")%>
<br>Customer ID: <%=rsOrder("payer_id") %>
<br>Payment Status: <%=rsOrder("payment_status") %>
<br>Transaction ID: <%=rsOrder("txn_id") %>
<br>Payment Gross: <%=rsOrder("mc_gross") %>
<br>Payment Date: <%=rsOrder("payment_date") %>
<% Else %>
No matching Record Found. Please search again.
<% End If %>5.14.3 Hacking the HackHere are a few ways you can extend this hack:
|
Main Menu |
| 500 Juegos Gratis | 500 Giochi Gratis | 500 Jeux Gratuits | 500 Jogos Gratis | 500 Kostenlose Spiele |