Skip to main content

WePay payment gateway integration


WePay payment gateway integration

WePay, a Chase company, is a payment service provider that enables you to accept payments instantly and easily. Zuora integrates with the WePay payment gateway to provide a gateway integration called WePay.

Supported payment methods

Zuora's WePay gateway integration supports the following payment methods:

  • Credit cards, including:
    • Visa
    • Mastercard
    • American Express
    • Discover
    • Diners Club
    • JCB

Supported payment operations

The following payment operations are supported:

  • Validation
  • Payment
  • Refund
  • Payment cancelation

Configure WePay payment gateway

Take the following steps to configure WePay:

  1. Navigate to Payments Settings > Setup Payment Gateway
  2. Select WePay from the Gateway Type dropdown list.
  3. Click create gateway
  4. Complete the field settings. See common configuration fields and additional configuration fields.
  5. Click save gateway information.

Common Configuration Fields

The following are the common configuration fields you must specify for all gateways. See Setting Up Payment Gateways for the general information about setting up a payment gateway and specifying the values for the common fields: 

  • Name
  • Use Gateway Test Environment
  • Cards Accepted
  • Default Authorization Amount
  • Verify new payment method (optional)
  • Verify updated payment method (optional)

In addition to the common fields, you must provide the following field values that are specific to the WePay gateway.

Additional Configuration Fields

The following settings are the additional fields specific to WePay:

  • App Token - The app token generated for your WePay merchant account. 
  • App Id - The app ID assigned to you by WePay.
  • Account Id - The account ID assigned to you by WePay. This will also be used as the default account ID in the custom field hierarchy.
  • Enable Custom Account ID Hierarchy - If this checkbox is selected, the gateway will use the Custom Account ID Hierarchy. If the following API names are invalid or left blank, the value for the Account Id field is passed in the request.
  • Payment Custom Fields - WePay ID - The API name of the custom field on the Payment object. This field is applicable only if you have enabled the Custom Account ID Hierarchy.
  • Account Custom Field - WePay ID - The API name of the custom field on the Account object. This field is applicable only if you have enabled the Custom Account ID Hierarchy.

Custom Account ID Hierarchy

With the Custom Field Account Hierarchy enabled, you can specify custom fields on the payment and account in Zuora. The following fields will be used to select the WePay account to use for each payment:

Object Fields
Payment Custom fields: WePay MID, wePayMID__c
Account Custom fields: WePay  MID, wePayMID__c
Payment Gateway Account Id 

You can specify the custom fields on the Account and Payment objects in the Payment Custom Fields - WePay ID and Account Custom Field - WePay ID fields respectively in the gateway configuration page. If these API names are invalid or left blank, the value for the Account Id field is passed in the requests.

Testing Your Configuration

We recommend that you test your payment gateway using both your payment gateway's test and production (live) environments.  Once you have completed testing in the gateway's test environment, it is recommended that you perform a test in your live production environment with a real credit card. If there are any differences in the configuration of your testing and production accounts, testing in production ensures your production merchant account is set up properly and can successfully connect to the production environment.

You can use the test card information and testing scenarios provided by the gateway vendor to test your integration. See WePay's documentation for details.


Payment Methods

  • WePay does not support non-referenced refunds.
  • WePay only supports the payment with an amount greater than 0.99 in any currency.
  • Currently, WePay does not support the 3DS2 framework.


WePay allows 30 API calls every 10 seconds by default. Contact your WePay representative to increase this limit if you need to.

Delayed Capture

For the Delayed Capture flow (authorize, capture payment, and cancel authorization API calls), the Merchant ID must be used in API calls as the gwOptions_merchantId gateway option field to ensure successful transactions. You must ensure that the same Merchant ID value from the authorize call is used for payment capture and void authorization calls as well. See Create authorization for more information.