Create Zuora HPM for Salesforce

How to create a new Zuora Hosted Payment Method to use in Limio for Salesforce

To take payments within Limio for Salesforce, you will need a payment gateway. Limio comes natively integrated with Zuora Hosted Payment Method (HPM) Pages. This guide will describe how you can set up a new Zuora Hosted Payment Method (HPM) Pages to use in Limio for Salesforce

A. Set up in Zuora

Below is a handy step-by-step guide. You can also refer to Zuora documentation ().

Set up of the Hosted Payment Method Page:

First, go to Settings > Payments > Setup Hosted Pages

  1. Create a HPM Page for use in the Salesforce tenant - e.g. go to

  2. Select the type, for example “Credit Card” or "Bank Transfer DirectDebitUK", then “Create new Hosted Page”

  3. Page Name: (we recommend a descriptive name such as 'Limio {paymentMethod} {environment name}', for example Limio Credit Card Sandbox'

  4. Hosted Domain: , for example

  5. Callback Path: , for example /callback

  6. Disable (Enable Captcha)

  7. Default Payment Gateway: "Test Gateway" (or the specific gateway provider)

  8. Deselect all Address Fields

  9. Click “Generate and save page”

Then, on the HPM home screen, click on “Show Page Id” and copy the ID.

Screenshot_2021-02-05_at_11.10.24.png

B. Set up in Salesforce

Before you can use the Zuora iFrame in Salesforce, you must set up Named Credentials. Make sure they are configured as described in the Integrate with the Zuora application step .

Next steps:

  1. Navigate to Setup by clicking on the gear icon in the top right-hand side of the screen

  2. In the search box on the left-hand side of the screen search, 'Metadata' and click the search result, "Custom Metadata Types"

  3. Click the 'Manage Records' link of 'icAssist Config'

  4. Click edit on 'Gateways'

  5. Click the edit button

  1. Find the config section. In the config section you have an array of objects. Each object in the array is different HPM page in Zuora.

  2. Copy one of the existing objects and replace the following fields:

    1. "paymentType":"CreditCard", >> NOTE: only possible values are CreditCard and DirectDebit, in this format

    2. "name":"Test"

    3. "gatewayType":"Zuora",

    4. "gatewayName":"The Page Name of the Hosted Page you set up in Zuora", >> this should match the Payment Gateway column name as per table in step A

    5. "availableRegions":["GB"], the regions and currency you want to set. "availableCurrencies":["GBP"],

    6. "allowPrefill":false,

    7. "sfInstanceUrl":"",

    8. "URL":"https://apisandbox.zuora.com/apps/PublicHostedPageLite.do",

    9. "PageId":"The Page ID of the Hosted Page you set up in Zuora",

    10. "namedCredential":"i42as__ZuoraRest_V3"

  3. The result should look some like this:

{
  "paymentGateways": [
    {
      "paymentType": "xxxx-creditCard/directDebit",
      "name": "xxxx",
      "gatewayType": "Zuora",
      "gatewayName": "xxxx-thegatewayname",
      "availableRegions": [
        "xxx-listofregions"
      ],
      "availableCurrencies": [
        "xxx-listofcurrencies"
      ],
      "allowPrefill": false,
      "sfInstanceUrl": "",
      "gatewayConfig": {
        "URL": "xxx-yourzuorainstance",
        "PageId": "xxx-thepageid",
        "credentials": {
          "namedCredential": "i42as__ZuoraRest_V3"
        }
      }
    }
  ]
}
  1. Then click save

  2. You're done ✨. You can add as many payment gateways as you want, but you'll need to make sure there is only one debit/credit card gateway for an individual country & currency.

Last updated

Was this helpful?