![]() |
|
|
PayPal Sandbox IPN ScriptThe PayPal Sandbox is PayPal's test environment that lets you test your Instant Payment Notification script. You'll need to set up a PayPal developer account before you can create test accounts. Once you have an account setup you can create two test accounts, a personal account and a business account which allows you to replicate the purchaser and seller scenario. Below is an example of an Instant PayMent Notification (IPN) script that has been setup to work with PayPal's Sandbox. The only difference with the standard PayPal IPN script is that the script below posts back to the Sandbox rather than standard URL.
<%@LANGUAGE="VBScript"%>
<% Dim Item_name, Item_number, Payment_status, Payment_amount Dim Txn_id, Receiver_email, Payer_email Dim objHttp, str 'read post from PayPal system and add 'cmd' str = Request.Form & "&cmd=_notify-validate" 'post back to PayPal system to validate 'PayPal Sandbox settings set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP") 'set objHttp = Server.CreateObject("Msxml2.ServerXMLHTTP.4.0") 'set objHttp = Server.CreateObject("Microsoft.XMLHTTP") 'PayPal Sandbox settings objHTTP.Open "POST", "https://www.sandbox.paypal.com/cgi-bin/webscr" , false objHTTP.setRequestHeader "Host", "www.sandbox.paypal.com" objHttp.setRequestHeader "Content-type", "application/x-www-form-urlencoded" objHttp.Send str 'assign posted variables to local variables Item_name = Request.Form("item_name") Item_number = Request.Form("item_number") Payment_status = Request.Form("payment_status") Payment_amount = Request.Form("mc_gross") Payment_currency = Request.Form("mc_currency") Txn_id = Request.Form("txn_id") Receiver_email = Request.Form("receiver_email") Payer_email = Request.Form("payer_email") 'Check notification validation if (objHttp.status <> 200 ) then 'HTTP error handling elseif (objHttp.responseText = "VERIFIED") then 'check that Payment_status=Completed 'check that Txn_id has not been previously processed 'check that Receiver_email is your Primary PayPal email 'check that Payment_amount/Payment_currency are correct 'process payment elseif (objHttp.responseText = "INVALID") then 'log for manual investigation else 'error end if Set objHttp = nothing %> Check out our page for a more detailed explanation of how PayPal Instant Payment Notification (IPN) works. If you have any code snippets to share with full credit given then send an email to Codesnippets - You'll receive full credit and a link back to your site. Site developed by Michael Wall - Web Design Belfast N.Ireland. |
|