Hack 52 Display the Merchant Transaction ID on Your Return Page

figs/moderate.gif figs/hack52.gif

Because the transaction numbers issued to merchants and buyers are different, you need to provide the merchant ID to customers.

As a merchant on PayPal, you will undoubtedly have occasional post-sale questions from your customers. If your customers give you the transaction IDs they see in their PayPal account history, you will quickly realize they don't match the transaction IDs you see. This is because PayPal generates two unique transaction IDs: one for the merchant and one for the customer. This makes it difficult to track orders for your customers because they do not have the transaction ID you are using. Some simple scripting can head off this problem by giving your transaction ID to your customer.

5.9.1 The PayPal Button Code

To enable this hack, you'll need to employ the return variable in your purchase buttons. This variable specifies the URL of the page to which customers should be sent when they complete payment. Insert it into the standard PayPal-generated button code between the opening and closing <form> tags. Set the variable to the URL of the return page on your web site:

<form target="paypal" action="https://www.paypal.com/cgi-bin/webscr" 


<input type="hidden" name="business" value="youremail@yourisp.com">

<input type="hidden" name="item_name" value="Widget">

<input type="hidden" name="item_number" value="Wid-001">

<input type="hidden" name="amount" value="1.00">

<input type="hidden" name="no_note" value="1">

<input type="hidden" name="currency_code" value="USD">

<input type="image" src="https://www.paypal.com/en_US/i/btn/x-click-but22.gif" 

                border="0" name="submit">

<input type="hidden" name="add" value="1">

<input type="hidden" name="return" value=



Your customer sees a Continue button on the Payment Sent confirmation page after making the payment. Clicking the button takes the buyer to the return page.

5.9.2 Creating Your Return Page

The return page is where you display the merchant's transaction ID to the customer. You want to display your ID; if your customer needs to contact you, he can give you this ID, and you can use it to look up the transaction in your transaction history. This is the easiest way to know for certain which order the customer is talking about.

Your transaction ID is passed as the txn_id variable. Access it in the same way you access the values passed to any CGI. You can do this with whatever method works best with your server's operating system and scripting languages. Here is the ASP way:


Here is your transaction Id. Keep it for all future order questions: <%=Request.Form("txn_id")%>


And here's the PHP way:


Here is your transaction Id. Keep it for all future order questions:


echo $_GET['txn_id'];