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
- Your application must be specially enabled for Canadian users.
- Indicate a user is Canadian by appropriate parameters in /user/register, /OAuth2, and /account/create.
- If using /user/register, incorporate Canadian debit card opt-in into your UI.
- On checkout, specify CAD for currency.
- When setting up their payment account, users will see Canadian versions of the setup screens.
- 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.
- WePay will reach out if anything is needed to settle the wire.
Limitations
- 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
}
Checkout
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
Tip
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 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:
- Information summary box (CG-15) that provides key elements of the contract in a consolidated fashion, and
- 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.