
History
I’ve been using PayPal Payments Pro for a few years on my sites. Payments Pro allows you to access a PayPal API so that you can accept credit card payments directly on your site without your users visiting, or even knowing that you use, PayPal. The API is pretty cool and very easy to use. PayPal’s documentation is also very good. I’ve got it set up on our PHP sites and we accept payments, submit refunds, and send money all through the API.
Problem
The problem that I’ve run into is that PayPal only allows you to submit one business name on your credit card transactions. If you run multiple sites through the same API / PayPal account they will all show the same name. And I will tell you that no matter what you do, you will get phone calls asking who you are and why you charged customers’ credit cards. We had notices on the site, the buttons actually read “make payment to 32nd Degree”, and we explained that the credit card statement would show “32nd Degree” as the payee in the email receipt, but people still forget. This can also lead to increased credit card chargebacks, which are a pain. You cannot create multiple PayPal accounts linked to your business bank account, so you can’t simply open new accounts for each website.
I called PayPal about two years ago and was told that there was simply no solution for running multiple websites and having each website name on credit card statements, at least not with only one business bank account to move money to. I recently Googled my problem and found on a forum that PayPal had finally come up with a solution to this problem.
Solution
You can request a parent-child relationship between two or more accounts with PayPal. You can create a pay@childwebsite.com account that links to pay@parentcompany.com. The money will be “swept” each night from the child account into the parent account. For some reason PayPal also sets the parent account to automatically transfer your parent account balance to your bank account each night. I requested this to be turned off on my account today, hopefully it works. You will have to apply and pay for Payments Pro on the child accounts, for whatever reason. I was told by PayPal that I would be paying the Payments Pro fee on each child account I wanted to create. From what I’ve seen, though, only my parent account has been charged this fee, just like before I created the child accounts.
The Catch
Now here’s the catch. PayPal doesn’t allow you to open up multiple accounts with the same credit card (the “funding source”). I only have one business credit card. But, once you set up a child account, and use a personal credit card as the funding source, you can remove that credit card if the account is linked to a parent account. This account will adopt the parents funding source, so that your Payments Pro payments can still go through successfully. But, you’re forced to register with a unique credit card, there is no way around this.
So the steps to set up a child account are:
- Create a new account with something like pay@childwebsite.com
- Apply for Payments Pro – be sure to enter your child account info in the line for the credit card statement so that your website name shows up on people’s credit card statements. You can enter your business name up top, but at the bottom of the form be sure to put your website name.
- Once you are approved for Payments Pro, you will get an email, call PayPal and ask for them to set up a parent-child relationship for your two accounts. You’ll be transferred a few times before you get to the right group that can do this. Actually they can only submit the request for you. You will receive an (vague) email once the accounts are linked. Try to get the person’s contact info who submits your request, you might need to contact them later.
- When the account is linked you can remove the credit card from your child account. You’ll want to do this if you want to use this credit card on another child account registration.
- Sign up for your API usage within your PayPal account and change your website code to use the new username / password / certificate.
Another Catch
Something to consider, since your child accounts will be sweeping their funds to the parent account each night your child accounts will be empty, or barely funded, most of the time. For me this affected my API code for issuing refunds – since when I ran the code the accounts were empty. Since in my case I did not have multiple credit cards for the same bank account sitting around my child accounts had no funding source after I deleted the card I used to get registered. But, I was able to instantly transfer funds from the parent account through the API and then make the refund (I had to put in a 30 second wait between transfer and refund). Now I just have to modify all of my refund code to make this transfer first.