Answers.Body: <p>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</p>
  
  <pre><code>{if $contributionPageId == X}
  </code></pre>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-04T22:19:12.630Z
Answers.Text: Either that - or create distinct FinancialTypes to be invoiced differently; For sure FinancialTypes are available in the template
Answers.UserDisplayName: KarinG - Semper IT
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-07-04T22:02:06.080Z
Answers.LastActivityDate: 2018-07-04T22:02:06.080Z
Answers.UserDisplayName: petednz - fuzion
Answers.Body: <p>The invoice templates are at <code>Administer &gt; Communications &gt; Message Templates</code> in the <code>System Workflow Messages</code> tab.</p>
  
  <p>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 <a href="https://docs.civicrm.org/dev/en/latest/tools/debugging/#in-smarty-template-files" rel="nofollow noreferrer">smarty debugging</a> to see what is available.</p>
  
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-06T08:51:31.573Z
Answers.Text: 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: https://docs.civicrm.org/dev/en/latest/api/usage/#smarty
Answers.UserDisplayName: Jaap Jansma - CiviCooP
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-06T10:54:18.120Z
Answers.Text: Good point @JaapJansma-CiviCooP - I've also done that and it works well.
Answers.UserDisplayName: Aidan
Answers.ContentLicense: CC BY-SA 4.0
Answers.CreationDate: 2018-06-04T19:54:54.177Z
Answers.LastActivityDate: 2018-06-04T19:54:54.177Z
Answers.UserDisplayName: Aidan
Body: <p>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.</p>
  
  <p>Has anyone achieved something like this before? </p>
  
Tags: <civicontribute><invoice>
Title: Different invoice template depending on payment gateway?
ThreadText: # Different invoice template depending on payment gateway?
  
  (Asked by: username_0 on 2018-06-04)
  
  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?
  
  **Tags:** civicontribute, invoice
  
  
  ---
  
  ## 2 answers
  
  ### Answer by username_1 on 2018-07-04. Score: 2 | Accepted answer
  
  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}
  
  ```
  
  > **Comments:**
  > **username_2**: Either that - or create distinct FinancialTypes to be invoiced differently; For sure FinancialTypes are available in the template  
  
  ---
  
  ### Answer by username_3 on 2018-06-04. Score: 0
  
  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](https://docs.civicrm.org/dev/en/latest/tools/debugging/#in-smarty-template-files) to see what is available.
  
  > **Comments:**
  > **username_4**: 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: https://docs.civicrm.org/dev/en/latest/api/usage/#smarty  
  > **username_3**: Good point @JaapJansma-username_4 - I've also done that and it works well.  
  
  ---
  
  