PayPal Express Checkout

The Express Checkout with Paypal provides your customer an easy and fast checkout experience that allows them to use their bank account, credit card or PayPal balance to pay without sharing any confidential information on your site. In ChargeMonk, you can offer an extra payment mode to your customers with PayPal Express Checkout.


  • Get in touch with to facilitate PayPal as a payment method for your ChargeMonk site through Braintree.
  • In case Multicurrency is facilitating in your ChargeMonk site, make sure that the currencies setup in your ChargeMonk site are also configured in your PayPal Merchant account. ChargeMonk will spot this invoice as 'void' in case the customer uses a currency to make a payment, which is not configured in your ChargeMonk site.

The PayPal Express Checkout experience

To use PayPal as a payment mode, you have to configure PayPal Express Checkout as your payment mode in ChargeMonk. Information about setting up PayPal in ChargeMonk is given in the later sections.

If users pick this mode to pay during checkout, they are forwarded to the PayPal sign-in page. Once they confirm their PayPal account, they are redirected to the checkout page to confirm their Billing details and complete orders. The details of Paypal Checkout Experience are given in later sections.

Excluding the checkout pages, customers are allowed to pick PayPal as a payment mode through the customer portal and secure Hosted Update Payment Method page of ChargeMonk.

Subscriptions using PayPal Express Checkout with ChargeMonk

Once a customer subscribes for a product/service for the first time from your website and picks to pay by using PayPal Express Checkout, then a PayPal Billing Agreement is formed with a Billing Agreement ID (BAID). After that ChargeMonk will link this Billing Agreement ID (BAID) with that customer. The Billing Agreement enables ChargeMonk to automatically charge your customers without having them to carry out any activity like approving the transaction and logging into PayPal during each renewal. It can also be used to pay one-time charges. Unless the customer cancels the Billing Agreement, it does not expire till then.


The default payment method is used by ChargeMonk in the PayPal account of customer to charge them.

Prerequisites - ChargeMonk's Test Site


The permission that PayPal gives merchants to collect the recurring payment from their customer is ‘Reference transactions'. Therefore, it is compulsory that the reference transactions are enabled in your PayPal Live Account. By default this feature will not be enabled in your PayPal Sandbox Account. For enabling this feature, contact PayPal support and specify the business account in which you want this feature to be enabled. If it doesn’t get enabled by you, contact

Ensure that you have the following requirements in place to test PayPal Express Checkout in ChargeMonk's Test Site:

1. Have a PayPal Sandbox Business Account

The Test site of ChargeMonk uses PayPal Sandbox Business Account. Information regarding testing your PayPal Sandbox Business Account in Test site of ChargeMonk is given in later sections.

2. Make sure that the Reference Transaction is activated in your PayPal Sandbox Business Account

3. Activate Auto filling for Billing Address

This is applicable if you would want ChargeMonk to copy billing address of customers from their PayPal accounts and pre-fill it in their checkout pages. To allow ChargeMonk to copy the Billing Address from PayPal, you should have the PayPal Billing Address Request feature enabled in your PayPal Sandbox Account. To enable this feature in your sandbox account, contact PayPal's Merchant Technical Support and specify the test business account in which you would want this feature to be enabled.

4. Configure Supported Currencies

Make sure that you have set up the same currency list in both your ChargeMonk Test Site and PayPal Sandbox Account. Get a list of currencies supported by both ChargeMonk and PayPal here.

Prerequisites - ChargeMonk's Live Site

Make sure that you have the below given requirements in place for accepting payments via PayPal Express Checkout with ChargeMonk.

1. Have a PayPal Business Account

Consider that your PayPal Personal Account is not the same as PayPal Business Account. Get more info on the PayPal accounts types here.

2. Make sure that the Reference Transaction is activated in your PayPal Sandbox Business Account

It is compulsory that you have enabled reference transactions in your PayPal Business Account. To enable this in your live account, you need to reach out to PayPal Customer Support and raise a request. Consider that to enable reference transactions in your business account, PayPal has an approval process and this process takes some time usually.

3. Enable Billing Address Feature

In case you want ChargeMonk to copy customer’s billing address from their PayPal accounts and pre-fill it in their checkout pages. So to permit the ChargeMonk to copy the Billing Address from PayPal account, you need to have the PayPal Billing Address Request option turned on in your PayPal Business Account. Contact PayPal Customer Support, to allow this option in your live account.

4. Configure Supported Currencies

Make sure that you have set up the same currency list in both your ChargeMonk Test Site and PayPal Business Account. Get a list of currencies supported by both ChargeMonk and PayPal here.

configure PayPal Express Checkout in ChargeMonk

To configure PayPal Express Checkout, navigate to Settings > Configure ChargeMonk > Payment Gateways and click Add a Gateway. Choose PayPal Express Checkout from the drop down list, this will redirect you to the configuration page.

Once you are on the configuration page, follow these steps to setup the PayPal Express Checkout.

Step 1: Associate your PayPal Business Account by setting up API credentials

Submit the API Username, Password and the Signature from this list into ChargeMonk.

Step 2: Provide Billing Agreement Description

Give a short description of your service or product in this section. This description will be appearing in the Transaction Details section of the PayPal account of your customer. E.g. In case comic book subscriptions are sold by your company Honey Comics, its description could be Honey Comics - Comic Book Subscriptions. In this way it will be helpful for your customers to identify the transactions regarding your company in their PayPal accounts easily.

Configuring Instant Payment Notifications

Instant Payment Notification (IPN) is PayPal’s message service send notifications to merchants about events regarding PayPal transactions automatically.

This service updates various events regarding PayPal transactions to the notification URL that is configured in the PayPal. When the notification URL given by the ChargeMonk is set up, it perceives for this transaction allied events. However ChargeMonk gets notifications regarding all events, it reacts to the Billing Agreement canceled event only, and by spotting the method of PayPal Payment linked with the customer as INVALID; subscription upon renewal is cancelled. Other operations executed in your PayPal account directly like refunds, will not be revealed in ChargeMonk.

Assume that your customers cancel their Billing Agreement in their PayPal account; this message will get notified to ChargeMonk as an IPN message via a notification URL and will the corresponding billing agreement will get removed automatically. Though, the customers have to update their payment method so that the subscription will be continued.

To set up IPN in dashboard of ChargeMonk, navigate to Settings > Configure ChargeMonk > Payment Gateways > PayPal Express Checkout and copy the Notification URL.

In your Business account of PayPal, navigate to My Account > Profile > My Setting Tools > Instant payment notifications > Update > Choose IPN Settings, paste the notification URL here and enable the feature Receive IPN messages. In addition to this, you have to make sure that PayPal encodes the details it forwards across the ChargeMonk in the manner that ChargeMonk can understand i.e. UTF-8. In case the encoding differs, you will receive errors whenever using your IPN. To ensure that you are using UTF-8 encoding, go to My Account > Profile > My Setting Tools > PayPal button language encoding > More Options and pick UTF-8 from the drop down list.


  • In case you are using test site of ChargeMonk then from your test site copy the notification URL and set up it in your PayPal SandBox Business Account.
  • In case you have various live sites set up in ChargeMonk and all the live sites are plotted to the same PayPal Business Account, there will be various notification URLs in all your sites. Though, in your PayPal Business Account, only a single IPN URL will get configured. In these cases, it will be sufficient if, in your PayPal Business Account you configure any one of the notification URLs (from any ChargeMonk live site). ChargeMonk outlines the IPN messages smartly from all of your ChargeMonk live sites to your PayPal Business Account. Same is applicable to your test sites as well.

The PayPal Checkout Experience

If you have activated PayPal Express Checkout for your customers as a payment method, while checking out it will be accessible as a payment option, in the hosted pages.

Once they select the PayPal option, and select Checkout with PayPal, they will be forwarded to the PayPal sign in page

When they sign in to PayPal, customers can see their PayPal account information being shown along with the Billing Agreement Description that was setup in the earlier steps. Once they click on Agree and Continue button, they will be forwarded to their ChargeMonk’s Order Summary Page. Now they can confirm their Orders and edit their Billing/ Shipping Addresses as well if required. The edited Billing/ Shipping Addresses will be stored with ChargeMonk only and will not influence the ones stored in the PayPal account of customer.

The section of Payment Information is shown at the bottom of the checkout page. It includes the email address of customer linked with PayPal and has a link also that allows them to amend their Payment Method if required.

PayPal Express Checkout with API of ChargeMonk

To accept the payments through PayPal Express Checkout by using your custom checkout page, below given is the process to be followed:

  1. your site with PayPal Express Checkout. Learn more.
  2. Setup PayPal Express Checkout in ChargeMonk. Learn more.
  3. Push details to ChargeMonk every time a customer updates/ adds their method of payment. Push the Billing Agreement id got from PayPal, to ChargeMonk. Learn more.


Hosted Pages of ChargeMonk can still help you in case you'd want to skip the association directly with PayPal and start accepting the payments through PayPal quickly.

Integrating with PayPal Express Checkout

For capturing recurring payments, ChargeMonk uses PayPal Express Checkout (Reference transactions).

As per PayPal's documentation, configuring a reference transaction using Express Checkout needs:

  1. Configuring the payment authorization.
  2. Forwarding the customer to PayPal for authorization
  3. Generating the billing agreement once customers authorize payment through PayPal.
  4. Detaining future payments.

ChargeMonk takes on from Step 4 (Detaining future payments) from the process above. In your website, configure PayPal Express Checkout by following Steps 1, 2, and 3 as given in this document.

Once you finish Step 3, you will get a Billing Agreement id that needs to be forwarded to ChargeMonk.

Pushing details to ChargeMonk - Billing Agreement id

Whenever a customer approves a payment for the first time through PayPal, a billing agreement is generated. This creates a unique billing agreement id by which customers can get charged for every future transaction.

The Billing Agreement id can be forwarded to ChargeMonk with the payment_method[reference_id] parameter, using any of the below given APIs:

After that ChargeMonk will send this billing agreement id for validation to PayPal. The Billing Agreement id is saved at the end of ChargeMonk and is used to charge customer for their future payments, after validation.

Refer here for more information.


Although generating a subscription for a current customer, the feature to identify the payment method details is not available. This is due to the payment method details integrated to customers and not the subscriptions.

Testing in ChargeMonk's Test Site

It is suggested that you configure the PayPal Express Checkout in Test site of ChargeMonk prior to configuring it in the Live Account.

PayPal SandBox Account

"The PayPal Sandbox represents the features found in the PayPal production servers with trivial limitations. Through the test accounts of fictitious Sandbox and their allied authentication records in your PayPal API calls, you can debug and test your application without noting any live PayPal accounts or real PayPal users." Get more info regarding your PayPal SandBox here .

PayPal SandBox environment offers the virtual PayPal accounts for testing purposes.

They are of below given types:

Business Account:

It symbolizes the merchant and mirrors the PayPal Business account’s functionalities.

Personal Account:

It symbolizes the customer and mirrors the PayPal Business account’s functionalities.

Accessing PayPal SandBox Accounts

For accessing Account of PayPal SandBox, follow the given below steps,

Step 1: Sign-in to the PayPal Developer Site by your PayPal Live Business Account details.

Step 2: Visit Dashboard and select Accounts under SandBox.

Step 3: PayPal generates two test accounts - one business test account and buyer test account by default. If required, you can generate various business and buyer accounts, by selecting "Create Account" as shown below:

Step 4: Sign-in to the test accounts generated by the PayPal Sandbox Site. You can find the details to be used under the Profile column of the corresponding account as given below:

Supported Currencies

Both ChargeMonk and PayPal support the following currencies:

  • AUD - Australian Dollar
  • CAD - Canadian Dollar
  • CHF - Swiss Franc
  • CZK - Czech Koruna
  • DKK - Danish Krone
  • EUR - Euro
  • GBP - British Pound Sterling
  • HKD - Hong Kong Dollar
  • HUF - Hungarian Forint
  • ILS - Israeli New Sheqel
  • MXN - Mexican Peso
  • NOK - Norwegian Krone
  • NZD - New Zealand Dollar
  • PHP - Philippine Peso
  • PLN - Polish Zloty
  • RUB - Russian Ruble
  • SGD - Singapore Dollar
  • SEK - Swedish Krona
  • THB - Thai Baht
  • TWD - New Taiwan Dollar
  • USD - U.S. Dollar

In addition to this, the below given currencies are supported only if you have a PayPal account in the consequent country as given:

  • BRL - Brazilian Real
  • MYR - Malaysian Ringgit
  • TRY - Turkish Lira


  • PayPal Express Checkout is supported only on the hosted pages once used with the Elegant, Inspire or Minimal themes. It does not work with the Rhapsody theme of ChargeMonk.
  • As the customers are forwarded to PayPal while using the PayPal Express Checkout, the feature of entrenching into an iFrame is not supported by hosted pages.


If you want to migrate to subscription details of ChargeMonk, get in touch with Please emphasize that Paypal needs a Billing Agreement ID to shift the methods of payment from Paypal to the third party tool like ChargeMonk. At the time of migration, help us with the Billing Agreement ID. Methods of payment of the customers without the Billing Agreement ID cannot be shifted.


1. I got an email from the PayPal titled: "PayPal Instant Payment Notification Warning". What to do about it?

Each IPN message that PayPal sent has to be recognized by ChargeMonk. In case PayPal does not get this acknowledgement, it treats the IPN as a failure and forwards this email.

Ensure in case you've set up the PayPal IPN as per the instructions here and reach out to the with info, for further guidance.

2. How is the waiting period for refund managed in ChargeMonk, in case there is a delay?

ChargeMonk holds for until 3-8 business days to verify the refund status. In the meantime, the refund status in ChargeMonk will be in progress.

When the refund from PayPal is processed successfully, ChargeMonk mends the status of refund from in progress to success and the allied Credit Note will be labeled as Refunded.