Setting up Paypal Adaptive Payments for JTicketing or JGive

Note- You can no longer sign up for PayPal adaptive. It will work only if you have an existing approved app.

The Paypal Adaptive payments plugin allows you to make split payments to the Event/Campaign owner & Admin with the admin getting his or her fees & the Event/Campaign owner getting their ticket/donation fees. It basically automates the system completely without the admin having to manage payouts. Here's how you can set it up. 

Paypal Adaptive payments need you to set up a 'Paypal App' that the Paypal guys need to test & approve. In order to create this 'Live Paypal Application, you need to have your site setup with their Sandbox. So lets first see how you set up your site in Test or Sandbox mode. 

A. Setup the Sandbox Testing Mode

  1. Enable & configure the Paypal Adaptive Payment plugin.
  2. In the Plugin tab, you need to enter the "Paypal Admin Email" Note that this should be a Pay Business Account. Make sure you setup a Business account in your paypal sandbox for this. To know how to use Paypal Sandbox & how to sign up & create accounts with it, please read our blog here
    adaptive payment step1
  3. Next you will need to get the API Username & API Password from your Paypal Business account. You can get this from your Paypal Sandbox. Login to the Sandbox site, go to Applications. Expand the Business account you are using for testing & click on the Profile link. This will open a modal popup which has a tab called API Credentials. Get the API username, API password & API Signature from there. Make sure you use these details from the same Business account that you configured in the Plugin tab. 
  4. Setup the Sandbox test App ID : APP-80W284485P519543T . This is fixed for all sandbox applications. 
    adaptive payment step2

B. Configure JTicketing or JGive

Go to the JTicketing/JGive Configuration section & configure it as below

  1. Set Send Payments Directly to Campaign promoter without charging any commissions ( works only with the regalr Paypal Payment Gateway ) to 'No' 
  2. Set the Commission fee value (in percent) 
  3. Set the Fixed Commission (flat)S
  4. Select Payment Gateway(s)=> adaptive paypal. 

C. Testing your setup in Sandbox mode

Setup the event/campaign with the paypal Sandbox id for the event/campaign owner

To test the application, first create a new paid event or campaign & setup as you do regularly. When you setup the Paid event or campaign, make sure you enter your Paypal Sandbox address for event/campaign owner. This address can be a Personal or a business account. Now that the event/campaign is setup, logout. Make sure the account you use to make the payment has balance !

Buy the Tickets or Donate as a Guest / Registered user

To actually purchase tickets or donate, you will need another Paypal Sandbox account for you to act as a buyer/donor. Make sure this is different from the Paypal Business ID & the Event/campaign owner ids you have used till now. Proceed to regular checkout & pay on the Sandbox paypal site with this new testing account. If all went well, the fees you paid should be split between the Admin & the Event/Campaign owner as configured by you in JTicketing/JGive. Note that the response from paypal to the site where you have setup JTicketing/JGive can be delayed. So it might take some time for the Payout to show up in the Payouts sections. 

* Note Please test your setup on a live domain accessible to the internet & not on localhost. It will not work on localhost. 

D. Create Your Live Paypal Application from your Regular Paypal account & Submit for approval

Now that you have everything working in sandbox mode, you need to create a 'Live' Paypal app & submit it for approval. This is needed for you to start accepting actual payments. We have blogged about this in detail. You can read the same here

E. Configuring the Plugin for Live Use

You just need to change the following from Sandbox Credentials you did in Step A to live credentials

  1. In the Plugin tab, you need to enter the "Paypal Admin Email" Note that this should be a live Pay Business Account. 
  2. The API Credentials for the live account need to be used here.  Official documentation from Paypal for the same can be obtained here
  3. Use the live App ID you obtained in step E to configure the App ID part. 

Reference Links