How do I use the "rm" variable for Website Payments?
When sending the return URL you set in a button's code, the rm (return method) variable switches the action PayPal uses between POST and GET, based on two factors:
- The value of rm:
- rm = 1 is a GET
- rm = 2 is a POST
- Whether or not the account has Instant Payment Notification (IPN) enabled within the profile:
- If IPN is enabled in the profile:
- The default return method (no rm at all) is a POST.
- If IPN is enabled and points to a script URL in your account profile, the default action to call the return_url is a POST. This means that if your return_url is a script, you don't have to set rm = 2, as that is the default.
- If IPN is disabled in the profile:
- The default return method (no rm) is a GET.
- If IPN is disabled in the profile, the default action to call the return_url is a GET. This means that if your return_url is a script, you must set rm = 2 in order to have the IPN variable POSTed to that URL.
- If you're using Auto Return, rm is irrelevant, as Auto Return is always a GET.
- If your return_url page is a static webpage and IPN is on within the profile, you must set rm = 1 in the button code so that the return_url page can be called through a GET. If you don't set it, your users will get HTTP 405 errors when they try to go to the return page because a static webpage can't accept a POST.
- If you want to pass your own custom parameters with a query string, such as
return=http://yoursite.com/somescript.php?name=value, PayPal will generate HTML forms that prompt the buyer to click a Submit button to go to your success page.
PayPal checkout page variables