Working with Canadian Merchants

Before reading this section

Before reading this section, you should be familiar with create accounts for your users and charge a customer.
Please also review the legal obligations which you, the platform, must fulfill.

WePay supports your Canadian users that:

  • Have a Canadian tax ID
  • Have a Canadian bank account
  • Want to accept payments in Canadian dollars, and
  • Want to have funds settled to them in Canadian dollars

In addition, you as the platform owner can receive any app fees from Canadian merchants in Canadian dollars into a Canadian bank account.

Do you have users in both the US and Canada?

If your platform supports merchants in both countries, then app fees from transactions that are not in the same currency as your platform’s account will require special handling and will be paid out monthly.

Summary of changes for Canadian users

  1. Your application must be specially enabled for Canadian users.
  2. Indicate a user is Canadian by appropriate parameters in /user/register, /OAuth2, and /account/create.
  3. If using /user/register, incorporate Canadian debit card opt-in into your UI.
  4. On checkout, specify CAD for currency.
  5. When setting up their payment account, users will see Canadian versions of the setup screens.
  6. At this time, application fees collected for CAD transactions are settled out monthly to your app account with a minimum settlement amount of $1000.00 USD. We will make adjustments on the 25th of each month, and will include all items through the 24th. Wires will be sent within the same month.
  7. WePay will reach out if anything is needed to settle the wire.


  • The “pay with bank” option is not available - payers can pay with credit or debit cards (debit cards require opt-in).
  • An account setup for Canadian dollars can only accept payments in Canadian dollars, and an account setup in US dollars can only accept payments in US dollars.

Example Code for Canadian Users

Just want to see the new code? Here’s what you need to do:

Create users and accounts

If your platform uses /oauth2/authorize, include the parameter:

"user_country": "CA"

If your platform uses /user/register, include the parameter with an appropriate timestamp:

"tos_acceptance_time": 1209600

In either case, create a Canadian merchant account with /account/create, include the parameters:

"country": "CA",
"currencies": ["CAD"],
"country_options": {
    "debit_opt_in": true


In all calls where currency is an optional argument, include currency = CAD. This must be done in every call. For example, if you use /preapproval/create to create a preapproval based in CAD, the subsequent /checkout/create call referencing that preapproval must still explicitly set the currency to CAD.

Delayed payouts are supported in Canada as of API version 2016-05-04. In the /checkout/create call, set the auto_capture parameter to false.

Reference Guide for Canadian Merchants

Boarding Canadian Merchants

As with US users, your platform can create users using your own UI via the /user/register API, or via OAuth2 and redirecting to a WePay-supplied URI. There are additional requirements compared to US user signups. If your platform uses the OAuth2 method, these are handled for you by WePay’s UI. If your platform uses /user/register, your sign-up user experience must incorporate these requirements.

The additional requirements for Canadian users are:

  • Opt-in to debit cards: To comply with Canada’s Code of Conduct for the Credit and Debit Card Industry, your users must specifically opt-in to accept debit card transactions. If users do not opt-in, they will be limited to credit card payments only.
  • Accepting Terms of Service: The WePay TOS serves both US and Canada merchants.

Creating a Canadian user using OAuth2

The /oauth2/authorize will have a new field that is required for Canadian users.

Parameter Required Type Description
user_country No String The value "CA".

You may also use the wepay.v2.js library and call the WePay.OAuth2.button_init() function. The country parameter and the value “CA” will have the same effect as with /oauth2/authorize.

Creating Canadian users with /user/register

If your platform uses /user/register, then you must first ensure that your UI presents the opt-in for debit cards, similar to the way WePay does for /oauth/authorize as shown above.

Creating Canadian accounts with /account/create


At this time, a Canadian user can only have accounts with currency set to CAD, and a US user can only have accounts with currency set to USD.

Parameter Required Type Description
country Yes String (2 characters) The account's country of origin 2-letter ISO code (e.g. 'US'). Only 'US' is supported for US users, and 'CA' is supported for CA users.
currencies Yes String (255 characters) Array of supported currency strings for this account (e.g. ["USD"]). Only USD is supported for US users, and CAD is supported for CA users.
country_options Yes JSON Object Object of country specific options. For Canada you must pass {"debit_opt_in":true | false}

Example for Canadian Users

Taking Payments in Canadian Dollars

Every call that accepts a currency argument has been extended to accept “CAD” as a value. This value must be “CAD” whenever the associated account_id references an account that is setup for CAD.

Every call that includes currency in its response has also been extended to report back CAD or USD as appropriate.

The following calls have all been extended to support CAD:

  • /checkout
  • /checkout/find
  • /checkout/create
  • /preapproval
  • /preapproval/find
  • /preapproval/create

Canadian user payment account setup

We’ve updated payment account setup flows to account for Canadian tax and address differences.

Canadian KYC

Canadian bank accounts

Canadian bank accounts

Withdrawing funds via the API in Canadian Dollars

Similar to taking payments, the withdrawal API calls that accepts a currency argument have been extended to accept “CAD” as a value. This value must be “CAD” whenever the associated account_id references an account that is setup for CAD.

Every call that includes currency it its response has also been extended to report back CAD or USD as appropriate.

The extended calls are:

  • /withdrawal
  • /withdrawal/find
  • /withdrawal/create

Regulatory requirements in Canada

Canadian regulatory requirements outlined in Addendum I of the FCAC Code of Conduct require two additions to WePay’s merchant onboarding process.

1. Information Summary Box

The Information Summary Box is presented in the WePay Terms of Service. No partner action is required.

2. Fee Disclosure Box

Partners need to display the Fee Disclosure Box at the top of merchant agreements OR during onboarding presumably where fees are currently presented to the merchant. Below is a template for the Fee Disclosure Box. Note:

  • As required by FCAC, this exact template needs to be used.
  • The template is already pre-populated with the card types that partners accept in Canada as a function of using WePay, which is all Visa, MasterCard and Amex cards.
  • Partner needs to ensure the fees are correct. These are fees the merchant is charged for card payments. (These are not Partner’s or WePay’s costs for processing card payments.)
  • Even where fees are the same regardless of card product type, as in the example below, FCAC requirement is that all the card product types must be listed. Typically partners will have the same fees irrespective of card brand or type. Possible exception is that Amex cards may carry different fees and should be reflected accordingly in the box.

Please see our Platform Legal Obligations article for additional context.

Fees Disclosure Box

Payment Card Type

These are the most common domestically issued card types and processing methods. They do not represent all the possible fees and variations that are charged to the merchants.

Processing Method (Card Not Present)

Means that the card/device was not electronically read. Generally, the card information is manually key-entered, e.g. online payment)

American Express Cards 2.9% + $0.30 CAD
American Express Prepaid Cards 2.9% + $0.30 CAD
MasterCard Business Cards 2.9% + $0.30 CAD
MasterCard Core Cards 2.9% + $0.30 CAD
MasterCard Corporate Cards 2.9% + $0.30 CAD
MasterCard Debit Cards 2.9% + $0.30 CAD
MasterCard Prepaid Cards 2.9% + $0.30 CAD
MasterCard World Cards 2.9% + $0.30 CAD
MasterCard World Elite Cards 2.9% + $0.30 CAD
Visa Business Cards 2.9% + $0.30 CAD
Visa Infinite Business Cards 2.9% + $0.30 CAD
Visa Consumer Credit Cards 2.9% + $0.30 CAD
Visa Corporate Cards 2.9% + $0.30 CAD
Visa Debit Cards 2.9% + $0.30 CAD
Visa Infinite Cards 2.9% + $0.30 CAD
Visa Infinite Privilege Cards 2.9% + $0.30 CAD
Visa Prepaid Cards 2.9% + $0.30 CAD
Discover Cards 2.9% + $0.30 CAD
Other Fees
Chargebacks $15.00 CAD

Background Information

The FCAC Code of Conduct, consisting of 13 elements, is meant to help merchants understand and compare card accepting costs and easily switch payment providers. This went into effect on March 1st, 2017.

The FCAC requirement is that all merchant–acquirer agreements will include a cover page containing the following, and using the templates in Addendum I of FCAC Code of Conduct:

  1. Information summary box (CG-15) that provides key elements of the contract in a consolidated fashion, and
  2. Fee disclosure box (CG-16)

Visa Requirement

As of October 2018, Visa requires Canadian merchants to capture and pass Card Verification Value 2 (CVV2) in all e-commerce and mail order/telephone order authorization requests.