PayPal is offering two variants for recurring payments:
- Adaptive Payments and
- Reference Transactions
You have to choose between one of the two options, to use PayPal as a payment service provider.
Where is the main difference between 'Reference Transactions' and 'Adaptive Payments'?
For 'Adaptive Payments', it is sufficient to have an PayPal merchant account. This method is bound to some limitations. The authorization for recurring payments is limited to one year and for this time period there is a payment limit to a total of 1400 $ (respectively the equivalent amount in Euro). This amount can vary on the current exchange rate.
After exceeding one of the limitations, the customer has to grant a new authorization - similar to the validation of a credit card.
Another disadvantage might be the unaccustomed checkout process, which is different to the PayPal standard checkout.
PayPal separates it white-label- and black-label checkout. The main difference between white- and black-label checkout is, billwerk will be displayed as the executing organization at the black-label checkout in the PayPal process. In most of the times, this is not favoured.
To use the white-label checkout, a 'Application Key' has to be submitted at PayPal. Given that this is certified manually by PayPal, this can take some time. Additionally you have to set some rights inside the PayPal settings regarding API access rights.
If you choose black-label checkout the access management is not applicable and you can start directly with your PayPal account.
Important: Adaptive Payments is now strictly limited by PayPal. Please see https://developer.paypal.com/docs/classic/products/adaptive-payments/ for further information.
'Reference Transactions' is more pleasant for recurring payments, because there are no time limitations and no limitations on the total amount of money. The customer has to authorize the payments inside the PayPal standard checkout and from this moment, recurring payments can be disposed from the customer PayPal account.
'Reference Transactions' has to be submitted at PayPal. PayPal will check your application to protect reference transactions from misuse. Requirements for Reference Transactions are evidence to your customer information and an existing business activity.
For further information regarding Reference Transactions and the approval procedure, please contact PayPal directly.
Important: Reference transactions is deprecated. For further information go to https://developer.paypal.com/docs/classic/express-checkout/integration-guide/ECReferenceTxns/
1. Setting up a testaccount on PayPal sandbox
You can find all the information how to set up the PayPal sandbox on the PayPal developer website. After receiving testaccount data for a merchant and a customer, you can save the merchant account data in your billwerk sandbox account.
After setting in billwerk for PayPal "PayPal Server: Sandbox", billwerk communicates at all times with this server. In this case, you have to set the test merchants API data (username, password and signature), which you can find at developer.paypal.com in section 'Sandbox/Accounts'.
Please consider in both test account settings to set the country on "DE".
For further information please see the PayPal documentation: https://developer.paypal.com/developer/accounts. Non-US developers can find a different procedure.
Remember, that you can only use customer accounts which are registered on the PayPal sandbox. Genuine accounts don't work in this environment.
Later, when you want to test live PayPal payments during the integration process, you have to configure in your billwerk account the PayPal settings to "PayPal Server: Live" and save your API live account data.
2. Configuration inside your billwerk account
You can find paypal settings inside billwerk in "Settings > Payment settings > PayPal".
Following data are necessary and can be found inside your PayPal account:
for Reference Transactions:
- API username
- API password
- API signature
for Adaptive Payments:
- account email
- AppId (only for white-label mode)
- the preferred method
Only for 'Adaptive Payments' in white-label mode:
PayPal uses in sandbox mode a global AppId: APP-80W284485P519543T. For live modus you have to apply the AppId here: https://www.paypal-apps.com
After storing all your data, please save the changings. Now you can activate PayPal as a payment method in the payment settings. Please save this changing equally.
PayPal is now activated in your billwerk account.
3. Configuration of your PayPal accounts
When using Adaptive Payments, a few more steps are necessary, so billwerk is able to use all the functions. This has to be configurated separately in your PayPal sandbox account and in your live accounts.
1. Log in to your account at: sandbox.paypal.com (not developer.paypal.com !) respectivley at: paypal.com
2. Select: My profile / My selling tools / API access
3. Click 'Add or edit API permissions', then 'Add new third party'
4. Enter following username:
sandbox.paypal.com (Testaccount) --> paypal-facilitator_api1.pactas.com
paypal.com (Liveaccount) --> paypal_api1.pactas.com
5. Set following authorities:
- Issue a refund for a specific transaction.
- Process your customers credit or debit card payments.
- Authorize and capture your PayPal transactions.
- Obtain information about a single transaction.
- Charge an existing customer based on a prior transaction.
- Obtain authorization for pre-approved payments and initiate pre-approved transactions.
- Accept or deny a pending transaction.
- Issue a refund for any prior transaction.
The authorities should look like this:
At the end confirm your settings.