We have an client who uses two payment gateways - they have a requirement that some types of payments (contributions) use one payment gateway, and other types of contributions use another payment gateway. The resulting invoices will need a different header and contact information.

Has anyone achieved something like this before?

2 Answers 2


For a client with different payment gateways we sidestepped the issue by having different Contribution pages for each - since one was for a c4 and one for a c3 entity and used

{if $contributionPageId == X}
  • Either that - or create distinct FinancialTypes to be invoiced differently; For sure FinancialTypes are available in the template Commented Jul 4, 2018 at 22:19

The invoice templates are at Administer > Communications > Message Templates in the System Workflow Messages tab.

They use smarty so can have some fairly complex logic, although I don't know whether Payment Processor is passed to the templates. You could try some smarty debugging to see what is available.

  • 1
    What I have done in a project is to retrieve the missing data with api calls in the template. Documentation on how to use the api in smarty is here: docs.civicrm.org/dev/en/latest/api/usage/#smarty Commented Jun 6, 2018 at 8:51
  • Good point @JaapJansma-CiviCooP - I've also done that and it works well.
    – Aidan
    Commented Jun 6, 2018 at 10:54

Your Answer

By clicking “Post Your Answer”, you agree to our terms of service and acknowledge you have read our privacy policy.

Not the answer you're looking for? Browse other questions tagged or ask your own question.