Logo Questions Linux Laravel Mysql Ubuntu Git Menu
 

How do I test Paypal subscription buttons with sandbox?

after 5 hours of research and reading outdated paypal documentation I finally give up!

I need to test a simple paypal subscription button with the paypal sandbox.

Button Code:

<form action="https://www.sandbox.paypal.com/us/cgi-bin/webscr" method="post">      <input type="hidden" name="cmd" value="_s-xclick">      <input type="hidden" name="hosted_button_id" value="34CXHXVU2J8BY">      <input type="image"              src="https://www.paypalobjects.com/en_US/GB/i/btn/btn_subscribeCC_LG.gif"              border="0" name="submit"              alt="PayPal — The safer, easier way to pay online."              style="border:none;padding:0;height:auto;width:auto">      <img alt="" border="0"            src="https://www.paypalobjects.com/de_DE/i/scr/pixel.gif"            width="1" height="1"> </form> 

But when I try to send the form, I get this error on the paypal website:

http://i.stack.imgur.com/AVuTz.png

Thanks in Advance, Phillip

like image 926
stdclass Avatar asked Dec 30 '11 19:12

stdclass


People also ask

How do I enable test mode in PayPal?

To begin your test payment, fill out the form with the Personal test email listed in your PayPal Developer account. After you submit the form, you'll be redirected to PayPal's site. Here, you'll need to log in using the same Personal test email you entered in the form as well as the password you created for it earlier.

How do I create a subscription plan in PayPal sandbox?

Use the sandbox business account information from the Developer Dashboard to log in to https://www.sandbox.paypal.com/billing/subscriptions. This URL takes you to the subscriptions management page in the sandbox business account. Confirm the subscription made by the test buyer appears on the Subscriptions tab.

How do I test WooCommerce with PayPal sandbox?

On your WordPress dashboard, hover over WooCommerce and click Settings. Next, click the Payments tab and click Manage next to PayPal. Under Advanced Options, find “PayPal sandbox” and click “Enable PayPal sandbox”.


2 Answers

The problem is that you've generated a 'hosted' PayPal button in the live PayPal website, but you're sending this data to the Sandbox.
Since the hosted_button_id isn't recognized in the Sandbox, it returns an error.

You'd need to either:

  • Create a non-hosted button, and change the 'action' and 'business' parameters to match Sandbox details
  • Create a new 'hosted' button in Sandbox via www.sandbox.paypal.com > Profile > PayPal Buttons.

TL;DR: Sandbox is 100% separated from the Live PayPal website. A hosted button generated in Live, doesn't work in Sandbox.

like image 55
Robert Avatar answered Oct 08 '22 18:10

Robert


Just a short add how to make the hosted button in the sandbox:

  1. Create and log in to your sandbox account on https://developer.paypal.com/
  2. Choose "Test Accounts".
  3. Create a "Preconfigured" test account for a seller, make sure you remember the password, and make sure the password contain numbers or you will not be able to log in with it.
  4. Click the yellow button "Enter Sandbox Test Site".
  5. My Account >> Profile >> Selling Preferences >> My Saved Buttons
  6. Edit your button. (There are 3 "saved" pre-made buttons there.) Make sure you dont dwell too long, it logged me out without telling me so and I got a blank code field first time I fiddled with my button.

Hopefully this saved you some time :)

like image 41
Paul Avatar answered Oct 08 '22 18:10

Paul