Add Stripe support for Hong Kong

This commit is contained in:
Jenni Nurmi 2018-12-07 09:07:26 +02:00
parent fe0102034a
commit a137773b82
3 changed files with 38 additions and 0 deletions

View file

@ -10,6 +10,10 @@ export const BSB = 'bsb';
export const INSTITUTION_NUMBER = 'institutionNumber';
// Needed for creating full routing number in Canada
export const TRANSIT_NUMBER = 'transitNumber';
// Needed for creating full routing number in Hong Kong
export const CLEARING_CODE = 'clearingCode';
// Needed for creating full routing number in Hong Kong
export const BRANCH_CODE = 'branchCode';
// International bank account number (e.g. EU countries use this)
export const IBAN = 'iban';
// Routing number to separate bank account in different areas
@ -23,6 +27,8 @@ export const BANK_ACCOUNT_INPUTS = [
BSB,
TRANSIT_NUMBER,
INSTITUTION_NUMBER,
CLEARING_CODE,
BRANCH_CODE,
SORT_CODE,
ROUTING_NUMBER,
ACCOUNT_NUMBER,
@ -184,6 +190,14 @@ export const mapInputsToStripeAccountKeys = (country, values) => {
routing_number: cleanedString(values[ROUTING_NUMBER]),
account_number: cleanedString(values[ACCOUNT_NUMBER]),
};
case 'HK':
return {
routing_number: cleanedString(values[CLEARING_CODE]).concat(
'-',
cleanedString(values[BRANCH_CODE])
),
account_number: cleanedString(values[ACCOUNT_NUMBER]),
};
default:
throw new Error(`Not supported country (${country}) given to validator`);

View file

@ -195,6 +195,21 @@ const stripeSupportedCountries = [
iban: true,
},
},
{
// Hong Kong
code: 'HK',
currency: 'HKD',
addressConfig: {
addressLine: true,
city: true,
},
accountConfig: {
clearingCode: true,
branchCode: true,
accountNumber: true,
},
personalIdNumberRequired: true,
},
{
// Ireland
code: 'IE',

View file

@ -476,6 +476,7 @@
"PayoutDetailsForm.countryNames.FI": "Finland",
"PayoutDetailsForm.countryNames.FR": "France",
"PayoutDetailsForm.countryNames.GB": "United Kingdom",
"PayoutDetailsForm.countryNames.HK": "Hong Kong",
"PayoutDetailsForm.countryNames.IE": "Ireland",
"PayoutDetailsForm.countryNames.IT": "Italy",
"PayoutDetailsForm.countryNames.LU": "Luxembourg",
@ -657,10 +658,18 @@
"StripeBankAccountTokenInputField.accountNumber.placeholder": "Type in bank account number…",
"StripeBankAccountTokenInputField.accountNumber.required": "Bank account number is required",
"StripeBankAccountTokenInputField.andBeforeLastItemInAList": " and",
"StripeBankAccountTokenInputField.branchCode.inline": "Branch code",
"StripeBankAccountTokenInputField.branchCode.label": "Branch code",
"StripeBankAccountTokenInputField.branchCode.placeholder": "Type in branch code…",
"StripeBankAccountTokenInputField.branchCode.required": "Branch code is required",
"StripeBankAccountTokenInputField.bsb.inline": "BSB",
"StripeBankAccountTokenInputField.bsb.label": "BSB",
"StripeBankAccountTokenInputField.bsb.placeholder": "Type in BSB…",
"StripeBankAccountTokenInputField.bsb.required": "BSB is required",
"StripeBankAccountTokenInputField.clearingCode.inline": "Clearing code",
"StripeBankAccountTokenInputField.clearingCode.label": "Clearing code",
"StripeBankAccountTokenInputField.clearingCode.placeholder": "Type in clearing code…",
"StripeBankAccountTokenInputField.clearingCode.required": "Clearing code is required",
"StripeBankAccountTokenInputField.genericStripeError": "Could not connect account number. Please double-check that your {inputs} are valid in {country}",
"StripeBankAccountTokenInputField.genericStripeErrorIban": "Could not connect account number. Please double-check that your account number is valid in {country}",
"StripeBankAccountTokenInputField.iban.inline": "IBAN",