Paypal (article)

Susana Moleón Moya
Susana Moleón Moya
  • Updated

What kind of PayPal account do I need?

Website Payments Standard account will enable you do use TourCMS documentation tokens for payments (for example sending out confirmation emails with "Pay now via PayPal" type links). 

If you want to integrate a payment step in the online booking engine you will need an Website Payments Pro account.

Examples (Use cases)

Option 1: Take payment (deposit or full) during online booking

  1. Customer starts making a booking, chooses their desired products and enters their contact details
  2. Customer is directed to the PayPal website where they enter their PayPal details (or create a new PayPal account).
  3. Customer is directed back to the TourCMS booking engine, they check all of their details, agree to any terms and conditions and confirm their booking.
  4. TourCMS tells PayPal that the booking has been completed and PayPal takes the payment, the money is available in your PayPal account
  5. PayPal sends a message via IPN to TourCMS telling TourCMS whether the payment was successful or not
  6. TourCMS adds the new payment to the booking and reduces the remaining balance (automatically), if there is any problem with the payment (e.g. insufficient funds) this is reflected on the booking
  7. If you have set that adding a payment changes the booking status, the booking will change to confirmed and the confirmed booking email will send

Option 2: Take payment (deposit or full) post booking

  1. Customer completes a booking using the online booking engine
  2. TourCMS sends the customer a New booking email that includes a PayPal link requesting the correct deposit / full amount, possibly also giving other options such as cheque or paying via telephone.
  3. The customer clicks the link and is taken to a PayPal page where they can either enter their PayPal details, create a new PayPal account or pay via credit card without creating a PayPal account. (Alternatively Customer could be offered the choice of paying over the phone, at which point a staff member could enter their card details into PayPal Virtual Terminal).
  4. PayPal takes the payment. The money is available in your PayPal account
  5. PayPal sends a message via IPN to TourCMS
  6. TourCMS adds the new payment to the booking and reduces the remaining balance (automatically), if configured the booking status will also be changed and a Provisional booking email or Confirmed booking email sent

This process could also be run by staff checking the TourCMS balance reports section. On noticing a customer with an overdue balance they could manually send an email using on a template that automatically fills in all the correct information. It can also be useful in cases where you would like to manually check the contents of bookings prior to taking payment, for example Tailor made tours.

Staff can optionally, every so often, review recently received payments. They can mark a payment as "reconciled" within TourCMS to confirm they have checked the payment against a bank statement or similar.

Initial setup

  1. Sign up for a Paypal account (Standard or Pro) taking note of the email address you have used associated with your PayPal account
  2. In TourCMSConfiguration & Setup > Credit card payments. Create a new Paypal payment gateway. 
  3. Add the email address you used for your PayPal account


5. In PayPal, in the Profile section, Selling preferences go to Instant Payment Notification (IPN). Add the IPN URL that TourCMS gives you (that you can see in the credit card configuration, in TourCMS, by doing a right click on the 'IPN callback URL' button).

6. Activate Instant Payment Notifications for your PayPal account. Copy the IPN Pingback URL and paste it into your Paypal IPN settings.

Configuration > System & Setup > Credit card payments

(You only need to complete this step if you want the TourCMS online booking engine to request payments at the time of booking). In PayPal, in the Profile section, go to API access. Request API credentials. Place those API credentials in TourCMS (in the TourCMS payments section)

Adding payments using the PayPal Virtual Terminal

The PayPal virtual terminal enables you to charge a customer's credit card yourself (for example if you have taken payment details over the phone or via paper booking form / fax).

TourCMS will handle payments made by the PayPal virtual terminal.... however first you need to determine what kind of virtual terminal you are using (and configure it appropriately in TourCMS credit card payment section).

Payflow Pro - UK merchant accounts use Payflow Pro. Put the TourCMS Booking ID in the Customer first name field. (You can put the full customer name in the customer surname field if you wish)

PayPal Pro - Most US merchant accounts use PayPal Pro. Put the TourCMS Booking ID in the Item name/Service field when making a virtual terminal payment. Alternatively, if present, put the TourCMS Booking ID in the Invoice field

Other notes

  • TourCMS will only "match" a payment to a booking where the currency paid in PayPal matches the sale currency of the TourCMS booking
  • Payments will come through as having been made by the lead customer
  • A second PayPal email address can be configured within TourCMS. This can be used to assist moving between one PayPal account and another - or for companies with multiple PayPal accounts. A second set of document tokens exists with this second address used in place of the primary one (see documentation manual for details)
  • Financial data is transmitted to TourCMS via the PayPal IPN system. There can be a short delay between the customer making a payment and the TourCMS sales ledger being updated
  • Refunds should be made within Paypal and then manually recorded in TourCMS

Known issues

  • Occassionally Paypal will FAIL to take a payment (in the online booking engine). No payment will be recorded in TourCMS. You can tell this has happened by looking in the booking audit trail - where there will be an explanation. If this happens, double check your Paypal account that you don't actually have the money - then, if not, please ask the customer to pay again (probably using the email system, as this is easy for you to collect a subsequent payment on an existing booking)
  • Paypal works in a slightly different way to other payment gateways (within TourCMS). We wait until the payment data is received before adding the payment to the sales ledger (and changing the booking status). Therefore the confirmed booking email should be set as your primary email to send when a payment is successful. The new booking email should be used only as an acknowledgement that you have their booking.