Parallel Payments in One Transaction

Problem:
They needed an online donation “shopping cart” where users could donate to two separate charitable organizations in one transaction. The old way was to have to go through one PayPal donation for the PTA and then do it all over again for the EEF. Many people would donate to one and not the other.

 

Solution:

After much research I built the shopping cart using PayPal’s parallel payment Express Checkout APIs. PayPal has a lot of explanation and tutorials, almost too much. It can take a while to sift through all the information to find exactly that you need. And once you find it, for Pete’s sake, bookmark it so you don’t have to sift through again. I learned that the hard way 🙁 Here is a link to the API calls I found helpful:  https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECParallelPaymens/

Corrections I made after the first launch:

  • Collect donation data after you get confirmation from PayPal – Initially I wrote it to collect the name and donation amounts right before it went to PayPal to collect payment. The problem was some people backed out before going through with the payment, so it would collect their info even if they didn’t donate. To solve this I wrote an IPN listener to record the donation information only when payment confirmation was received from PayPal.