How to connect PayPal to ChartMogul

Important: Before you begin
PayPal offers a number of separate subscription services:

Due to the design of these services, ChartMogul can only support integrations that use the PayPal Payments REST API.

If you’re using Payment Buttons or Express Checkout and are sending data through the HTML “form action” method: You will NOT be able to push your subscriptions to ChartMogul.

As an alternative, you could import your PayPal Customers using our CSV upload feature, or through our API. Manually-imported customers will not be linked to your PayPal account, but they will be included in your ChartMogul metrics in the same way.

If you’re using the Payments REST API: That’s great! You can continue with the steps below.

Connecting your PayPal account to ChartMogul

You will need to have an admin account in both ChartMogul and PayPal to complete the following steps. 
  1. Click the data platform icon on the left menu to navigate to the Data platform tab. Alternatively, you can click the link mentioned below to directly move to the data platform tab -
  2. Add a data source by clicking Add a data source button in the Home section
  3. In the popup, select "PayPal"
  4. Once you select your data source type, enter a name for your data source and click on NextScreenshot_2020-03-24_at_22.20.45.png

Create a new App in your PayPal account

  1. Log in to and click Create App, choose a name (e.g. ChartMogul connector) and click Create App.
  2. Switch to Live mode and from the 'LIVE API CREDENTIALS' section, copy and paste the 'Client ID' and 'Secret' into the fields provided in this section and click Save.


Add an IPN to your PayPal account

PayPal only supports a single IPN per account. If you're already using the IPN for another service, you can set up a relay to forward the notifications to ChartMogul.

Import historic data from PayPal

You should be able to find the Billing Agreement IDs of your active and inactive customers in the PayPal Billing Agreement Report. If you can't find them here, they may also be stored in your database. You should export your billing agreement IDs (A.K.A. Profile IDs) from this report in CSV format.
If this report contains no customers (you might see 'No data available'), your Billing Agreement IDs will be stored in your database. You will probably need a developer to help you access this data. A Billing Agreement ID has the format "I-123450XX". 

Next, upload both files (one for your active and one for your inactive customers) to ChartMogul by clicking Import Data. You will need to remove any blank rows from the CSV file, including any title rows (e.g. "Active customers", but do not remove the headers "Profile ID, Description" etc.).
If your IPN is configured correctly (see "Add an IPN to your Paypal account" section above) you only need to do this once. Going forward we'll add all new billing agreement IDs to the table automatically.

Click ‘Import Data’

This will start your historical data import and connect your IPN. The import can take some time. Once the import has been completed, you’ll see your PayPal data in the ChartMogul dashboard. If you had setup your IPN, ChartMogul will update automatically with any activity from your PayPal account.

What you need to know:

  • Basic subscription button profile IDs are not supported, instead, we use Billing Agreements API.
  • There is a lag of approximately 3 hours for importing data from PayPal into ChartMogul due to limitations in the PayPal API.
  • Paypal API has a 3-year retention limit and hence we cannot import data older than three years. You will also lose data older than three years if you do a reimport.
  • It is not recommended to perform a bulk importing or reimport between 0-5 AM UTC. Some transactions might not be available yet on the side of PayPal and this will result in missing transactions in your ChartMogul account.
  • Our PayPal integration supports tracking refunds. However, since PayPal doesn't send the date when the refund happened, the refund date will be the same as the date of the transaction being refunded.
  • Partial refunds are not supported.
  • Our PayPal integration only supports IPN transaction types with the `recurring_` prefix. You can check what these transaction types are here
  • Taxes billed through PayPal do not follow ChartMogul's default tax handling behaviour. Tax will not be broken out into a separate line item in ChartMogul and will be included in your recurring revenue metrics, including MRR, ARR, MRR movements, Average revenue per account, and Average sale price. Tax will not be excluded from your Cash flow metrics, such as Net cash flow and Non-recurring revenue. You can learn more about tax handling in ChartMogul here.
  • PayPal allows each Billing Plan in its system to have several Payment Definitions. This means that each PayPal Billing Plan will be imported as several ChartMogul Plans - one for each Payment Definition within the Billing Plan.
  • Our PayPal integration will import failed transactions. However, these will not generate any MRR for the customer.