@adyen/kyc-components 2.21.0 → 2.22.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -230,7 +230,7 @@ const submitFailed = "Submit failed";
230
230
  const submitReviewOfYourData = "Submit review of your data";
231
231
  const completeReview = "Complete review";
232
232
  const submitReview = "Submit review";
233
- const undoWithTimer = "Undo %{secondsLeft}";
233
+ const undoWithTimer = "Undo... %{secondsLeft}";
234
234
  const removing = "Removing...";
235
235
  const cantSetUpAcccount = "You can’t set up an account";
236
236
  const accountCantBeSetUp = "Your account can’t be set up as your information couldn’t be verified. To find out more, reach out to customer support.";
@@ -360,7 +360,7 @@ const businessAccountDetailsDescription = "To prepare your account, we need info
360
360
  const businessAccountDetailsDescriptionReview = "In order to ensure your data is up-to-date, please verify the following details. If necessary, please adjust any data that is no longer accurate.";
361
361
  const documentAddressedToName = "The document has to be addressed to %{name}";
362
362
  const showAddressStateCountry = "Shows address, state, and country of residence";
363
- const dateOnDocumentNoOlderThanXMonths = "The date on the document is no older than %{numberOfMonths} months";
363
+ const dateOnDocumentNoOlderThanXMonths = "Date on the document is no older than %{numberOfMonths} months";
364
364
  const fullDocumentVisibleWithReadableText = "The full document needs to be visible, with all text readable";
365
365
  const documentCannotBeDamaged = "The document cannot be damaged";
366
366
  const verify = "Verify";
@@ -392,12 +392,13 @@ const bankAccountVerification = "Bank account verification";
392
392
  const bankStatementDocument = "Bank statement";
393
393
  const bankStatementDocumentTypeLabel = "Upload a document to confirm your bank account information. We need to see this document so we can set up your payouts.";
394
394
  const requirements = "Requirements:";
395
- const accountHolderNameMatchesWithBusinessOrTradingName = "The account holder name on the document has to match the legal business or trading name of your company";
396
- const accountNumberOrIbanVisible = "The account number or IBAN needs to be visible";
395
+ const accountHolderNameMatchesWithBusinessOrTradingName = "Account holder name on the document has to match the legal business or trading name of your company";
396
+ const accountNumberOrIbanVisible = "Visible account number or IBAN";
397
397
  const accountNumberVisible = "The account number needs to be visible";
398
398
  const routingNumberVisible = "The routing number should be visible";
399
399
  const showsCountryOfBankAccount = "Shows the country where the bank account is located (for banks in the EU, the country is included in the IBAN)";
400
- const hasToBeOfficialDocumentFromBank = "It has to be official document from a bank, demonstrated by a bank logo, the bank name, or a bank-specific font";
400
+ const hasToBeOfficialDocumentFromBank = "Must be an official bank document that shows the bank logo, the bank name, or a bank-specific font";
401
+ const hasBankStampOrBankSignature = "Must have a bank stamp or bank signature";
401
402
  const ifDocumentMoreThan12months = "If your document is older than 12 months, then it should contain a statement with the company’s assets and liabilities. You will need to have it signed and dated by someone with decision-making or signing power within the company. Make sure the date, title, and legal entity name are included.";
402
403
  const whyDoINeedToFillInThisInformation = "Why do I need to fill in this information?";
403
404
  const reasonForFillingCompanyRegistrationDetails = "We have to make sure the businesses using our services will not be misusing the funds or causing harm. To do that, we’ll check all of this information against official records. This is a part of the financial regulations that we have to follow as a payments provider.";
@@ -597,6 +598,8 @@ const documentShowsTaxIdOfCompany = "The document shows the tax ID number of the
597
598
  const issuedByTheTaxAuthority = "Issued by the tax authority or government of the country where the company is registered";
598
599
  const providePageWithPhotoAndCode = "Provide the page with the photo, including the code on the bottom";
599
600
  const constitutionalDocument = "Constitutional document";
601
+ const constitutionalDocument__header = "Upload a constitutional document";
602
+ const constitutionalDocument__headerDescription = "This helps to verify your sole proprietorship details.";
600
603
  const solePropDetails = "Sole proprietor details";
601
604
  const soleProprietorDetails = "Sole proprietor details";
602
605
  const soleProprietorshipDetails = "Sole proprietorship details";
@@ -716,10 +719,16 @@ const canNotCompleteInstantVerification = "Can not complete instant verification
716
719
  const goBackAndProvideDocumentScans = "Go back and provide document scans";
717
720
  const identityCard = "Identity card";
718
721
  const uploadOneOfTheFollowing = "Upload one of the following so we can verify your information:";
719
- const documentIssuedWithinLastYear = "Note! The document needs to be issued within the last year. If it is older, make sure it contains a signature and a state of affair not older than a year.";
722
+ const uploadOneOfTheseDocuments = "Upload one of these documents:";
723
+ const documentIssuedWithinLastYear = "The document must be issued in the last 12 months. If it is older, make sure it contains a signature and a statement of affairs from the last 12 months.";
720
724
  const learnMore = "Learn more";
721
- const doingBusinessAsNameFiling = "Doing business as-name filling";
722
- const taxFiling = "Tax-filling";
725
+ const doingBusinessAsNameFiling = "Doing business as (DBA) filing";
726
+ const doingBusinessAsNameFiling__FR = "Trading name filing";
727
+ const doingBusinessAsNameFiling__US = "Doing business as (DBA) filing, such as your articles of incorporation";
728
+ const businessRegistrationDocument__FR = "Business registration document, such as a KBIS extract or situation au répertoire sirene";
729
+ const taxFiling = "Tax filing";
730
+ const taxFiling__US = "Tax filing, such as a Form W-9 or Schedule SE (Form 1040)";
731
+ const einVerificationLetter = "Employer identification number (EIN) verification letter, also known as a CP 575 or 147c letter";
723
732
  const areYouACompany = "Are you a company?";
724
733
  const singingUpAsIndividualButLooksLikeYouAreACompany = "You’re now signing up as an individual. But it looks like you’re a company that uses a company bank account to receive payouts.";
725
734
  const wouldYouLikeToSignUpAsCompanyInstead = "Would you like to sign up as a company instead? (You’ll have to re-enter some information from before.)";
@@ -1527,6 +1536,7 @@ const defaultTrans = {
1527
1536
  routingNumberVisible,
1528
1537
  showsCountryOfBankAccount,
1529
1538
  hasToBeOfficialDocumentFromBank,
1539
+ hasBankStampOrBankSignature,
1530
1540
  ifDocumentMoreThan12months,
1531
1541
  whyDoINeedToFillInThisInformation,
1532
1542
  reasonForFillingCompanyRegistrationDetails,
@@ -1731,6 +1741,8 @@ const defaultTrans = {
1731
1741
  issuedByTheTaxAuthority,
1732
1742
  providePageWithPhotoAndCode,
1733
1743
  constitutionalDocument,
1744
+ constitutionalDocument__header,
1745
+ constitutionalDocument__headerDescription,
1734
1746
  solePropDetails,
1735
1747
  soleProprietorDetails,
1736
1748
  soleProprietorshipDetails,
@@ -1859,10 +1871,16 @@ const defaultTrans = {
1859
1871
  goBackAndProvideDocumentScans,
1860
1872
  identityCard,
1861
1873
  uploadOneOfTheFollowing,
1874
+ uploadOneOfTheseDocuments,
1862
1875
  documentIssuedWithinLastYear,
1863
1876
  learnMore,
1864
1877
  doingBusinessAsNameFiling,
1878
+ doingBusinessAsNameFiling__FR,
1879
+ doingBusinessAsNameFiling__US,
1880
+ businessRegistrationDocument__FR,
1865
1881
  taxFiling,
1882
+ taxFiling__US,
1883
+ einVerificationLetter,
1866
1884
  areYouACompany,
1867
1885
  singingUpAsIndividualButLooksLikeYouAreACompany,
1868
1886
  wouldYouLikeToSignUpAsCompanyInstead,
@@ -8965,7 +8983,7 @@ function AccountHolder(props) {
8965
8983
  isExperimentEnabled
8966
8984
  } = useExperimentsContext();
8967
8985
  const isChangeToMyNameAllowed = !(capabilities == null ? void 0 : capabilities.map((c) => c.replace("Commercial", "").replace("Consumer", "")).some((c) => capabilitiesToPreventTypeChange.includes(c)));
8968
- const accountHolderOptions = getAvailableAccountHolderOptions(props.legalEntityType, isSettingEnabled(SettingNames.AllowLegalEntityTypeChange), isExperimentEnabled("EnableTrustFlow") && TRUST_COUNTRIES.includes(props.country), SOLE_PROP_COUNTRIES.includes(props.country), isChangeToMyNameAllowed).map((accountHolderOption) => ({
8986
+ const accountHolderOptions = getAvailableAccountHolderOptions(props.legalEntityType, isSettingEnabled(SettingNames.AllowLegalEntityTypeChange), TRUST_COUNTRIES.includes(props.country), SOLE_PROP_COUNTRIES.includes(props.country), isChangeToMyNameAllowed).map((accountHolderOption) => ({
8969
8987
  id: accountHolderOption,
8970
8988
  name: i18n.get(accountHolderOption),
8971
8989
  description: i18n.get(`${accountHolderOption}Description`)
@@ -9189,12 +9207,14 @@ function CompanyTypeComponent(props) {
9189
9207
  const {
9190
9208
  i18n
9191
9209
  } = useI18nContext();
9210
+ const isNewEntryFlowEnabled = useEnableNewEntryFlow();
9192
9211
  const stateRef = useRef({
9193
9212
  setState: null
9194
9213
  });
9195
9214
  const {
9196
9215
  id: COMPANY_TYPE_ID,
9197
- requiredFields
9216
+ requiredFields,
9217
+ country: country2
9198
9218
  } = props;
9199
9219
  const requiredFieldsForForm = requiredFields || companyTypeFields;
9200
9220
  const {
@@ -9258,11 +9278,11 @@ function CompanyTypeComponent(props) {
9258
9278
  "aria-label": formUtils.getLabel("entityType", "whatTypeOfCompanyDoYouHave"),
9259
9279
  "aria-invalid": !valid.entityType
9260
9280
  })
9261
- }), formUtils.isRequiredField("accountHolder") && props.country && jsx(AccountHolder, {
9281
+ }), !isNewEntryFlowEnabled && formUtils.isRequiredField("accountHolder") && country2 && jsx(AccountHolder, {
9262
9282
  ...accountHolderProps,
9263
9283
  dataStoreId: COMPANY_TYPE_ID,
9264
9284
  legalEntityType: LegalEntityType.ORGANIZATION,
9265
- country: props.country
9285
+ country: country2
9266
9286
  })]
9267
9287
  })]
9268
9288
  });
@@ -9825,7 +9845,8 @@ function DocumentUploadComponent({
9825
9845
  owner: props.id,
9826
9846
  stateRef
9827
9847
  }), jsx(FormHeader, {
9828
- heading: props.heading
9848
+ heading: props.heading,
9849
+ description: props.description
9829
9850
  }), jsx(ErrorPanel, {
9830
9851
  verificationErrors: props == null ? void 0 : props.formVerificationErrors,
9831
9852
  validationErrors: props == null ? void 0 : props.fieldValidationErrors,
@@ -11798,6 +11819,7 @@ const solePropBaseMapping = {
11798
11819
  "solePropRegistrationDetails.vatAbsenceReason": "soleProprietorship.vatAbsenceReason",
11799
11820
  "solePropRegistrationDetails.exemptedFromTax": "soleProprietorship.taxAbsent",
11800
11821
  "solePropRegistrationDetails.registrationNumber": "soleProprietorship.registrationNumber",
11822
+ "solePropRegistrationDetails.dateOfIncorporation": "soleProprietorship.dateOfIncorporation",
11801
11823
  "solePropRegistrationAddress.registrationAddress.city": "soleProprietorship.registeredAddress.city",
11802
11824
  "solePropRegistrationAddress.registrationAddress.country": "soleProprietorship.registeredAddress.country",
11803
11825
  "solePropRegistrationAddress.registrationAddress.postalCode": "soleProprietorship.registeredAddress.postalCode",
@@ -15920,6 +15942,14 @@ function IndividualComponent(props) {
15920
15942
  }
15921
15943
  const PayoutDetails = "";
15922
15944
  const BankVerification$2 = "";
15945
+ const AuthContext = createContext(void 0);
15946
+ const useAuthContext = () => {
15947
+ const authContext = useContext(AuthContext);
15948
+ if (!authContext) {
15949
+ throw new Error("Cannot use authContext without <AuthProvider>");
15950
+ }
15951
+ return authContext;
15952
+ };
15923
15953
  const _actionBar_component = "";
15924
15954
  const ActionBar = ({
15925
15955
  onNext,
@@ -15960,6 +15990,7 @@ const ActionBar = ({
15960
15990
  })]
15961
15991
  });
15962
15992
  var Currency = /* @__PURE__ */ ((Currency2) => {
15993
+ Currency2["AED"] = "AED";
15963
15994
  Currency2["AUD"] = "AUD";
15964
15995
  Currency2["BGN"] = "BGN";
15965
15996
  Currency2["BRL"] = "BRL";
@@ -15970,14 +16001,16 @@ var Currency = /* @__PURE__ */ ((Currency2) => {
15970
16001
  Currency2["EUR"] = "EUR";
15971
16002
  Currency2["GBP"] = "GBP";
15972
16003
  Currency2["HKD"] = "HKD";
15973
- Currency2["HUF"] = "HUF";
15974
16004
  Currency2["HRK"] = "HRK";
15975
- Currency2["PLN"] = "PLN";
16005
+ Currency2["HUF"] = "HUF";
16006
+ Currency2["MXN"] = "MXN";
16007
+ Currency2["MYR"] = "MYR";
15976
16008
  Currency2["NOK"] = "NOK";
15977
16009
  Currency2["NZD"] = "NZD";
16010
+ Currency2["PLN"] = "PLN";
15978
16011
  Currency2["RON"] = "RON";
15979
- Currency2["SGD"] = "SGD";
15980
16012
  Currency2["SEK"] = "SEK";
16013
+ Currency2["SGD"] = "SGD";
15981
16014
  Currency2["USD"] = "USD";
15982
16015
  return Currency2;
15983
16016
  })(Currency || {});
@@ -16009,7 +16042,9 @@ const currencyByCountry = {
16009
16042
  [CountryCodes.Liechtenstein]: [Currency.CHF, Currency.EUR],
16010
16043
  [CountryCodes.Lithuania]: [Currency.EUR],
16011
16044
  [CountryCodes.Luxembourg]: [Currency.EUR],
16045
+ [CountryCodes.Malaysia]: [Currency.MYR],
16012
16046
  [CountryCodes.Malta]: [Currency.EUR],
16047
+ [CountryCodes.Mexico]: [Currency.MXN],
16013
16048
  [CountryCodes.Monaco]: [Currency.EUR],
16014
16049
  [CountryCodes.Netherlands]: [Currency.EUR],
16015
16050
  [CountryCodes.NewZealand]: [Currency.NZD],
@@ -16024,6 +16059,7 @@ const currencyByCountry = {
16024
16059
  [CountryCodes.Spain]: [Currency.EUR],
16025
16060
  [CountryCodes.Sweden]: [Currency.SEK, Currency.EUR],
16026
16061
  [CountryCodes.Switzerland]: [Currency.CHF, Currency.EUR],
16062
+ [CountryCodes.UnitedArabEmirates]: [Currency.AED],
16027
16063
  [CountryCodes.UnitedKingdom]: [Currency.GBP, Currency.EUR],
16028
16064
  [CountryCodes.UnitedStates]: [Currency.USD]
16029
16065
  };
@@ -16055,14 +16091,6 @@ const bankVerificationValidationRules = {
16055
16091
  }
16056
16092
  };
16057
16093
  const BankVerificationWidget$1 = "";
16058
- const AuthContext = createContext(void 0);
16059
- const useAuthContext = () => {
16060
- const authContext = useContext(AuthContext);
16061
- if (!authContext) {
16062
- throw new Error("Cannot use authContext without <AuthProvider>");
16063
- }
16064
- return authContext;
16065
- };
16066
16094
  class AdyenKycSdkError extends Error {
16067
16095
  constructor(message, sourceError) {
16068
16096
  super(message);
@@ -16696,6 +16724,9 @@ function BankVerification(props) {
16696
16724
  const {
16697
16725
  i18n
16698
16726
  } = useI18nContext();
16727
+ const {
16728
+ isEmbeddedDropin
16729
+ } = useAuthContext();
16699
16730
  const ACCOUNT_VERIFICATION = props.id;
16700
16731
  const schema = accountVerificationFields;
16701
16732
  const stateRef = useRef({
@@ -16772,7 +16803,9 @@ function BankVerification(props) {
16772
16803
  })]
16773
16804
  })]
16774
16805
  }), typeof getBankVerificationVendors === "function" && formIsActive && !bankInfoValidated && jsx("div", {
16775
- className: "adyen-kyc-bank-verification-container",
16806
+ className: cx("adyen-kyc-bank-verification-container", {
16807
+ "adyen-kyc-bank-verification-container__fixed": !isEmbeddedDropin
16808
+ }),
16776
16809
  children: jsx(InstantBankVerification, {
16777
16810
  getBankVerificationVendors,
16778
16811
  retrieveBankAccountInfo,
@@ -16789,51 +16822,49 @@ const BankVerification$1 = memo(BankVerification);
16789
16822
  const PayoutAccount$1 = "";
16790
16823
  const countriesWithMultipleCurrencies = /* @__PURE__ */ new Set([CountryCodes.Bulgaria, CountryCodes.Canada, CountryCodes.Croatia, CountryCodes.CzechRepublic, CountryCodes.Hungary, CountryCodes.Romania, CountryCodes.Switzerland]);
16791
16824
  const countriesWithLocalFormat = /* @__PURE__ */ new Set([CountryCodes.Denmark, CountryCodes.Norway, CountryCodes.Poland, CountryCodes.Sweden, CountryCodes.UnitedKingdom]);
16825
+ const payoutCurrencySupport = {
16826
+ [CountryCodes.Sweden]: {
16827
+ local: [Currency.SEK],
16828
+ iban: [Currency.EUR]
16829
+ },
16830
+ [CountryCodes.Canada]: {
16831
+ local: [Currency.CAD, Currency.USD],
16832
+ iban: [Currency.CAD, Currency.USD]
16833
+ }
16834
+ };
16792
16835
  const shouldShowPayoutAccountFormatSelector = (country2) => countriesWithLocalFormat.has(country2);
16793
16836
  const shouldShowPayoutAlert = (country2) => shouldShowPayoutAccountFormatSelector(country2) || countriesWithMultipleCurrencies.has(country2);
16794
16837
  const getSupportedCurrencyGuidance = (i18n, country2, requiredFields) => {
16795
- var _a;
16796
- if (shouldShowPayoutAlert(country2)) {
16797
- if (country2 === CountryCodes.Sweden) {
16798
- if (requiredFields.includes("iban")) {
16799
- return i18n.get("payoutInOnly_", {
16800
- values: {
16801
- currency: Currency.EUR
16802
- }
16803
- });
16804
- }
16805
- return i18n.get("payoutInOnly_", {
16806
- values: {
16807
- currency: Currency.SEK
16808
- }
16809
- });
16838
+ const format = requiredFields.includes("iban") ? "iban" : "local";
16839
+ if (!shouldShowPayoutAlert(country2)) {
16840
+ return;
16841
+ }
16842
+ const supportedCurrencies = getSupportedCurrenciesPerFormat(country2, format);
16843
+ if (!supportedCurrencies) {
16844
+ return;
16845
+ }
16846
+ return supportedCurrencies.length > 1 ? i18n.get("payoutIn_Or_", {
16847
+ values: {
16848
+ currencyOne: supportedCurrencies[0],
16849
+ currencyTwo: supportedCurrencies[1]
16810
16850
  }
16811
- if (country2 === CountryCodes.Canada) {
16812
- return i18n.get("payoutIn_Or_", {
16813
- values: {
16814
- currencyOne: Currency.CAD,
16815
- currencyTwo: Currency.USD
16816
- }
16817
- });
16851
+ }) : i18n.get("payoutInOnly_", {
16852
+ values: {
16853
+ currency: supportedCurrencies[0]
16818
16854
  }
16855
+ });
16856
+ };
16857
+ const getSupportedCurrenciesPerFormat = (country2, format) => {
16858
+ var _a;
16859
+ const supportedCurrencies = payoutCurrencySupport[country2];
16860
+ if (!supportedCurrencies) {
16819
16861
  const defaultCurrency = (_a = currencyByCountry[country2]) == null ? void 0 : _a[0];
16820
16862
  if (!defaultCurrency) {
16821
16863
  return;
16822
16864
  }
16823
- if (requiredFields.includes("iban")) {
16824
- return i18n.get("payoutIn_Or_", {
16825
- values: {
16826
- currencyOne: Currency.EUR,
16827
- currencyTwo: defaultCurrency
16828
- }
16829
- });
16830
- }
16831
- return i18n.get("payoutInOnly_", {
16832
- values: {
16833
- currency: defaultCurrency
16834
- }
16835
- });
16865
+ return format === "iban" ? [Currency.EUR, defaultCurrency] : [defaultCurrency];
16836
16866
  }
16867
+ return supportedCurrencies[format];
16837
16868
  };
16838
16869
  function BankAccountFormat(props) {
16839
16870
  const {
@@ -16869,7 +16900,6 @@ function BankAccountFormat(props) {
16869
16900
  });
16870
16901
  }
16871
16902
  var ExperimentNames = /* @__PURE__ */ ((ExperimentNames2) => {
16872
- ExperimentNames2["EnableTrustFlow"] = "EnableTrustFlow";
16873
16903
  ExperimentNames2["OnlyAllowAlphanumericBankAccountNumbers"] = "OnlyAllowAlphanumericBankAccountNumbers";
16874
16904
  ExperimentNames2["EnableNewEntryFlow"] = "EnableNewEntryFlow";
16875
16905
  ExperimentNames2["AllowOrganizationSettlorWithExemptionReason"] = "AllowOrganizationSettlorWithExemptionReason";
@@ -17763,12 +17793,31 @@ var BankDocumentRequirement = /* @__PURE__ */ ((BankDocumentRequirement2) => {
17763
17793
  BankDocumentRequirement2["DATE_ON_DOCUMENT"] = "dateOnDocumentNoOlderThanXMonths";
17764
17794
  BankDocumentRequirement2["COUNTRY_OF_BANK"] = "showsCountryOfBankAccount";
17765
17795
  BankDocumentRequirement2["OFFICIAL_DOCUMENT"] = "hasToBeOfficialDocumentFromBank";
17796
+ BankDocumentRequirement2["STAMP_OR_SIGNATURE"] = "hasBankStampOrBankSignature";
17766
17797
  return BankDocumentRequirement2;
17767
17798
  })(BankDocumentRequirement || {});
17768
- const getBankDocumentRequirements = (country2) => {
17799
+ const getBankDocumentRequirements = (country2, documentType2) => {
17800
+ const requireStampOrSignature = documentType2 === BankDocumentTypes.DEPOSIT_TICKET || documentType2 === BankDocumentTypes.OFFICIAL_EMAIL;
17769
17801
  switch (country2) {
17770
17802
  case CountryCodes.UnitedStates:
17771
- return [{
17803
+ return requireStampOrSignature ? [{
17804
+ key: BankDocumentRequirement.ACCOUNT_HOLDER
17805
+ }, {
17806
+ key: BankDocumentRequirement.ACCOUNT_NUMBER
17807
+ }, {
17808
+ key: BankDocumentRequirement.ROUTING_NUMBER
17809
+ }, {
17810
+ key: BankDocumentRequirement.DATE_ON_DOCUMENT,
17811
+ options: {
17812
+ values: {
17813
+ numberOfMonths: 12
17814
+ }
17815
+ }
17816
+ }, {
17817
+ key: BankDocumentRequirement.OFFICIAL_DOCUMENT
17818
+ }, {
17819
+ key: BankDocumentRequirement.STAMP_OR_SIGNATURE
17820
+ }] : [{
17772
17821
  key: BankDocumentRequirement.ACCOUNT_HOLDER
17773
17822
  }, {
17774
17823
  key: BankDocumentRequirement.ACCOUNT_NUMBER
@@ -17785,7 +17834,24 @@ const getBankDocumentRequirements = (country2) => {
17785
17834
  key: BankDocumentRequirement.OFFICIAL_DOCUMENT
17786
17835
  }];
17787
17836
  default:
17788
- return [{
17837
+ return requireStampOrSignature ? [{
17838
+ key: BankDocumentRequirement.ACCOUNT_HOLDER
17839
+ }, {
17840
+ key: BankDocumentRequirement.ACCOUNT_NUMBER_OR_IBAN
17841
+ }, {
17842
+ key: BankDocumentRequirement.DATE_ON_DOCUMENT,
17843
+ options: {
17844
+ values: {
17845
+ numberOfMonths: 12
17846
+ }
17847
+ }
17848
+ }, {
17849
+ key: BankDocumentRequirement.COUNTRY_OF_BANK
17850
+ }, {
17851
+ key: BankDocumentRequirement.OFFICIAL_DOCUMENT
17852
+ }, {
17853
+ key: BankDocumentRequirement.STAMP_OR_SIGNATURE
17854
+ }] : [{
17789
17855
  key: BankDocumentRequirement.ACCOUNT_HOLDER
17790
17856
  }, {
17791
17857
  key: BankDocumentRequirement.ACCOUNT_NUMBER_OR_IBAN
@@ -17804,7 +17870,8 @@ const getBankDocumentRequirements = (country2) => {
17804
17870
  }
17805
17871
  };
17806
17872
  const BankDocumentRequirements = ({
17807
- country: country2
17873
+ country: country2,
17874
+ documentType: documentType2
17808
17875
  }) => {
17809
17876
  const {
17810
17877
  i18n
@@ -17815,7 +17882,7 @@ const BankDocumentRequirements = ({
17815
17882
  children: [" ", i18n.get("requirements")]
17816
17883
  }), jsx(List, {
17817
17884
  className: "adyen-kyc-upload-field__requirements",
17818
- children: getBankDocumentRequirements(country2).map(({
17885
+ children: getBankDocumentRequirements(country2, documentType2).map(({
17819
17886
  key,
17820
17887
  options
17821
17888
  }) => jsx(ListItem, {
@@ -17946,7 +18013,8 @@ function PayoutBankStatementComponent(props) {
17946
18013
  })
17947
18014
  }), documentType2 ? jsxs(Fragment, {
17948
18015
  children: [country2 ? jsx(BankDocumentRequirements, {
17949
- country: country2
18016
+ country: country2,
18017
+ documentType: documentType2
17950
18018
  }) : void 0, jsx(DocumentGuidance, {
17951
18019
  type: DocumentType.BANK_STATEMENT,
17952
18020
  className: "adl-u-margin-y-24"
@@ -18421,27 +18489,58 @@ function PayoutDetailsComponent(props) {
18421
18489
  var ConstitutionalDocumentTypes = /* @__PURE__ */ ((ConstitutionalDocumentTypes2) => {
18422
18490
  ConstitutionalDocumentTypes2["BUSINESS_NAME_FILING"] = "doingBusinessAsNameFiling";
18423
18491
  ConstitutionalDocumentTypes2["TAX_FILING"] = "taxFiling";
18492
+ ConstitutionalDocumentTypes2["EMPLOYER_IDENTIFICATION_NUMBER_VERIFICATION_LETTER"] = "einVerificationLetter";
18493
+ ConstitutionalDocumentTypes2["BUSINESS_REGISTRATION_DOCUMENT"] = "businessRegistrationDocument";
18424
18494
  ConstitutionalDocumentTypes2["TRUST_DEED"] = "trustDeed";
18425
18495
  ConstitutionalDocumentTypes2["TRUST_INSTRUMENT"] = "trustInstrument";
18426
18496
  return ConstitutionalDocumentTypes2;
18427
18497
  })(ConstitutionalDocumentTypes || {});
18428
- const ConstitutionDocumentTypeOptionsMapping = {
18429
- [LegalEntityType.SOLE_PROPRIETORSHIP]: [{
18430
- id: ConstitutionalDocumentTypes.BUSINESS_NAME_FILING,
18431
- name: "doingBusinessAsNameFiling"
18432
- }, {
18433
- id: ConstitutionalDocumentTypes.TAX_FILING,
18434
- name: "taxFiling"
18435
- }],
18436
- [LegalEntityType.TRUST]: [{
18437
- id: ConstitutionalDocumentTypes.TRUST_DEED,
18438
- name: "trustDeed"
18439
- }, {
18440
- id: ConstitutionalDocumentTypes.TRUST_INSTRUMENT,
18441
- name: "trustInstrument"
18442
- }]
18498
+ const getConstitutionDocumentTypeOptionsMapping = (legalEntityType, country2) => {
18499
+ switch (legalEntityType) {
18500
+ case LegalEntityType.SOLE_PROPRIETORSHIP:
18501
+ switch (country2) {
18502
+ case "FR":
18503
+ return [{
18504
+ id: ConstitutionalDocumentTypes.BUSINESS_NAME_FILING,
18505
+ name: "doingBusinessAsNameFiling__FR"
18506
+ }, {
18507
+ id: ConstitutionalDocumentTypes.TAX_FILING,
18508
+ name: "taxFiling"
18509
+ }, {
18510
+ id: ConstitutionalDocumentTypes.BUSINESS_REGISTRATION_DOCUMENT,
18511
+ name: "businessRegistrationDocument__FR"
18512
+ }];
18513
+ case "US":
18514
+ return [{
18515
+ id: ConstitutionalDocumentTypes.BUSINESS_NAME_FILING,
18516
+ name: "doingBusinessAsNameFiling__US"
18517
+ }, {
18518
+ id: ConstitutionalDocumentTypes.TAX_FILING,
18519
+ name: "taxFiling__US"
18520
+ }, {
18521
+ id: ConstitutionalDocumentTypes.EMPLOYER_IDENTIFICATION_NUMBER_VERIFICATION_LETTER,
18522
+ name: "einVerificationLetter"
18523
+ }];
18524
+ default:
18525
+ return [{
18526
+ id: ConstitutionalDocumentTypes.BUSINESS_NAME_FILING,
18527
+ name: "doingBusinessAsNameFiling"
18528
+ }, {
18529
+ id: ConstitutionalDocumentTypes.TAX_FILING,
18530
+ name: "taxFiling"
18531
+ }];
18532
+ }
18533
+ default:
18534
+ return [{
18535
+ id: ConstitutionalDocumentTypes.TRUST_DEED,
18536
+ name: "trustDeed"
18537
+ }, {
18538
+ id: ConstitutionalDocumentTypes.TRUST_INSTRUMENT,
18539
+ name: "trustInstrument"
18540
+ }];
18541
+ }
18443
18542
  };
18444
- function ConstitutionalDocumentComponent({
18543
+ function ConstitutionalDocumentUpload({
18445
18544
  id: id2,
18446
18545
  legalEntityType,
18447
18546
  ...props
@@ -18450,27 +18549,24 @@ function ConstitutionalDocumentComponent({
18450
18549
  const {
18451
18550
  i18n
18452
18551
  } = useI18nContext();
18453
- const guidanceContent = jsxs(Fragment, {
18454
- children: [jsx("div", {
18552
+ const guidanceContent = jsxs("div", {
18553
+ className: "adyen-kyc-upload-field__guidance",
18554
+ children: [jsx("strong", {
18455
18555
  className: "adyen-kyc-upload-field__subtitle",
18456
- children: i18n.get("uploadOneOfTheFollowing")
18556
+ children: i18n.get("uploadOneOfTheseDocuments")
18457
18557
  }), jsx(List, {
18458
18558
  className: "adl-u-margin-left-8",
18459
- children: (_a = ConstitutionDocumentTypeOptionsMapping[legalEntityType]) == null ? void 0 : _a.map(({
18559
+ children: (_a = getConstitutionDocumentTypeOptionsMapping(legalEntityType, props.country)) == null ? void 0 : _a.map(({
18460
18560
  id: id22,
18461
18561
  name
18462
18562
  }) => jsx(ListItem, {
18463
18563
  children: i18n.get(name)
18464
18564
  }, id22))
18465
- }), jsxs("div", {
18565
+ }), jsx("div", {
18466
18566
  className: "adl-u-margin-y-16",
18467
- children: [jsxs("span", {
18567
+ children: jsxs("span", {
18468
18568
  children: [i18n.get("documentIssuedWithinLastYear"), " "]
18469
- }), jsx(Link, {
18470
- href: "https://docs.adyen.com/marketplaces-and-platforms/required-kyc-information/document-requirements#constitutional-doc",
18471
- external: true,
18472
- children: i18n.get("learnMore")
18473
- })]
18569
+ })
18474
18570
  })]
18475
18571
  });
18476
18572
  return jsx("div", {
@@ -18478,13 +18574,14 @@ function ConstitutionalDocumentComponent({
18478
18574
  ...props,
18479
18575
  documentType: DocumentType.CONSTITUTIONAL_DOCUMENT,
18480
18576
  documentField: "constitutionalDocument",
18481
- heading: i18n.get("constitutionalDocument"),
18577
+ heading: i18n.get("constitutionalDocument__header"),
18578
+ description: i18n.get("constitutionalDocument__headerDescription"),
18482
18579
  guidanceContent,
18483
18580
  id: id2
18484
18581
  })
18485
18582
  });
18486
18583
  }
18487
- const ConstitutionalDocumentUpload = memo(ConstitutionalDocumentComponent, (prevProps, nextProps) => objectsDeepEqual(prevProps.requiredFields, nextProps.requiredFields) && objectsDeepEqual(prevProps.data, nextProps.data) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors) && prevProps.shouldValidate === nextProps.shouldValidate);
18584
+ const ConstitutionalDocumentComponent = memo(ConstitutionalDocumentUpload, (prevProps, nextProps) => objectsDeepEqual(prevProps.requiredFields, nextProps.requiredFields) && objectsDeepEqual(prevProps.data, nextProps.data) && objectsDeepEqual(prevProps.formVerificationErrors, nextProps.formVerificationErrors) && objectsDeepEqual(prevProps.fieldValidationErrors, nextProps.fieldValidationErrors) && prevProps.shouldValidate === nextProps.shouldValidate);
18488
18585
  const solePropForms = {
18489
18586
  solePropNameAndCountry: {
18490
18587
  formId: "solePropNameAndCountry",
@@ -18580,10 +18677,11 @@ function SolePropComponent(props) {
18580
18677
  })
18581
18678
  }), jsx("div", {
18582
18679
  className: activeForm.formId !== solePropDocumentFormId ? "adyen-kyc-form-wrapper adyen-kyc-form-wrapper--hidden" : "adyen-kyc-form-wrapper",
18583
- children: jsx(ConstitutionalDocumentUpload, {
18680
+ children: jsx(ConstitutionalDocumentComponent, {
18584
18681
  ...solePropDocumentsFormProps,
18585
18682
  id: solePropDocumentFormId,
18586
- legalEntityType: LegalEntityType.SOLE_PROPRIETORSHIP
18683
+ legalEntityType: LegalEntityType.SOLE_PROPRIETORSHIP,
18684
+ country: props.country
18587
18685
  })
18588
18686
  })]
18589
18687
  });
@@ -19168,10 +19266,11 @@ function TrustComponent(props) {
19168
19266
  })
19169
19267
  }), jsx("div", {
19170
19268
  className: activeForm.formId !== trustConstitutionalDocumentFormId ? "adyen-kyc-form-wrapper adyen-kyc-form-wrapper--hidden" : "adyen-kyc-form-wrapper",
19171
- children: jsx(ConstitutionalDocumentUpload, {
19269
+ children: jsx(ConstitutionalDocumentComponent, {
19172
19270
  ...trustDocumentFormProps,
19173
19271
  id: trustConstitutionalDocumentFormId,
19174
- legalEntityType: LegalEntityType.TRUST
19272
+ legalEntityType: LegalEntityType.TRUST,
19273
+ country: props.country
19175
19274
  })
19176
19275
  })]
19177
19276
  });
@@ -21570,9 +21669,6 @@ const useHasSeenIntroduction = ({
21570
21669
  const useLegalEntityType = ({
21571
21670
  legalEntity
21572
21671
  }) => {
21573
- const {
21574
- isExperimentEnabled
21575
- } = useExperimentsContext();
21576
21672
  const isTrust = isPartOfTrustFromLegalEntity(legalEntity);
21577
21673
  const isSoleProprietor = hasSolePropInLegalEntity(legalEntity);
21578
21674
  const hasLegalAssociation = isTrust || isSoleProprietor;
@@ -21584,7 +21680,7 @@ const useLegalEntityType = ({
21584
21680
  if (isSoleProprietor)
21585
21681
  return LegalEntityType.SOLE_PROPRIETORSHIP;
21586
21682
  if (isTrust)
21587
- return isExperimentEnabled(ExperimentNames.EnableTrustFlow) ? LegalEntityType.TRUST : legalEntity.type;
21683
+ return LegalEntityType.TRUST;
21588
21684
  break;
21589
21685
  default:
21590
21686
  return void 0;
@@ -22163,13 +22259,21 @@ const mapLegalArrangementOptionToCompanyTypesValue = (legalArrangement) => {
22163
22259
  return "";
22164
22260
  }
22165
22261
  };
22166
- const mapCompanyTypesValueToLegalArrangementOption = (companyTypesValue) => {
22167
- switch (companyTypesValue) {
22168
- case CompanyTypesValue.INCORPORATED_PARTNERSHIP:
22169
- return "partnershipIncorporated";
22170
- default:
22171
- return void 0;
22262
+ const getDefaultLegalArrangementOrSuborganizationType = (legalEntityResponse) => {
22263
+ var _a;
22264
+ const entityAssociations = legalEntityResponse == null ? void 0 : legalEntityResponse.entityAssociations;
22265
+ const suborganizationType = (_a = legalEntityResponse == null ? void 0 : legalEntityResponse.organization) == null ? void 0 : _a.type;
22266
+ if (suborganizationType === CompanyTypesValue.INCORPORATED_PARTNERSHIP) {
22267
+ return "partnershipIncorporated";
22268
+ }
22269
+ if (!entityAssociations || entityAssociations.length === 0) {
22270
+ return void 0;
22271
+ }
22272
+ const trust2 = entityAssociations.find((ea) => ea.entityType === LegalEntityType.TRUST);
22273
+ if (trust2) {
22274
+ return "aTrust";
22172
22275
  }
22276
+ return void 0;
22173
22277
  };
22174
22278
  const getTargetLegalEntityType = (businessType, legalArrangement, trusteeType, currentLegalEntityType) => {
22175
22279
  if (businessType === "legalArrangement" && legalArrangement === "aTrust" && trusteeType === "company" || businessType === "company") {
@@ -22312,8 +22416,8 @@ const BusinessTypeSelection = ({
22312
22416
  const currentLegalEntityType = legalEntityResponse == null ? void 0 : legalEntityResponse.type;
22313
22417
  const currentCompanyTypesValue = (_a = legalEntityResponse == null ? void 0 : legalEntityResponse.organization) == null ? void 0 : _a.type;
22314
22418
  const defaultBusinessType = getBusinessType(businessTypeItems, accountHolder2, legalEntityResponse == null ? void 0 : legalEntityResponse.type, (_b = legalEntityResponse == null ? void 0 : legalEntityResponse.organization) == null ? void 0 : _b.type);
22315
- const getDefaultLegalArrangementType = () => legalArrangementItems.find((item) => item.id === mapCompanyTypesValueToLegalArrangementOption(currentCompanyTypesValue));
22316
- const defaultLegalArrangementType = getDefaultLegalArrangementType();
22419
+ const getDefaultLegalArrangementSelection = () => legalArrangementItems.find((item) => item.id === getDefaultLegalArrangementOrSuborganizationType(legalEntityResponse));
22420
+ const defaultLegalArrangementType = getDefaultLegalArrangementSelection();
22317
22421
  const defaultTrusteeType = legalEntityResponse.type === LegalEntityType.INDIVIDUAL ? trusteeTypeItems[0] : trusteeTypeItems[1];
22318
22422
  const {
22319
22423
  handleChangeFor,
@@ -23818,9 +23922,6 @@ function TaskListComponent({
23818
23922
  i18n
23819
23923
  } = useI18nContext();
23820
23924
  const isEnableNewEntryFlowEnabled = useEnableNewEntryFlow();
23821
- const {
23822
- isExperimentEnabled
23823
- } = useExperimentsContext();
23824
23925
  const canSeeIntroduction = useCanSeeIntroduction({
23825
23926
  legalEntity: legalEntityResponse
23826
23927
  });
@@ -23834,7 +23935,7 @@ function TaskListComponent({
23834
23935
  businessSetup
23835
23936
  } = useBusinessSetup(legalEntityResponse);
23836
23937
  const hasTaskOfGroupAccountDetails = tasks.some((task) => LEGAL_ENTITY_BASE_TASKS.includes(task));
23837
- const hasTrust = isExperimentEnabled("EnableTrustFlow") && (accountHolder2 === "aTrust" || isPartOfTrustFromLegalEntity(legalEntityResponse));
23938
+ const hasTrust = accountHolder2 === "aTrust" || isPartOfTrustFromLegalEntity(legalEntityResponse);
23838
23939
  const hasContractTasks = tasks.some((task) => CONTRACT_TASKS.includes(task));
23839
23940
  const isCompany = tasks.some((task) => task === TaskTypes.COMPANY);
23840
23941
  const hasSoleProprietorship = accountHolder2 === "mySoleProprietorName" || hasSolePropInLegalEntity(legalEntityResponse);
@@ -27930,7 +28031,7 @@ function DropinComposerComponent({
27930
28031
  const [capabilityProblems, setCapabilityProblems] = useState(getCapabilityProblems(legalEntityResponse));
27931
28032
  const [bankVerificationVendors, setBankVerificationVendors] = useState();
27932
28033
  const rootLegalEntityCountry = rootLegalEntity.type === LegalEntityType.INDIVIDUAL ? (_a = rootLegalEntity.individual.residentialAddress) == null ? void 0 : _a.country : (_b = rootLegalEntity.organization.registeredAddress) == null ? void 0 : _b.country;
27933
- const hasTrust = isExperimentEnabled("EnableTrustFlow") && (accountHolder2 === "aTrust" || isPartOfTrustFromLegalEntity(legalEntityResponse));
28034
+ const hasTrust = accountHolder2 === "aTrust" || isPartOfTrustFromLegalEntity(legalEntityResponse);
27934
28035
  const reviewRequired = (rootLegalEntity == null ? void 0 : rootLegalEntity.id) && ((_d = (_c = capabilityProblems == null ? void 0 : capabilityProblems.LegalEntity) == null ? void 0 : _c[rootLegalEntity.id]) == null ? void 0 : _d.isReviewRequired);
27935
28036
  const additionalSalesChannels = useSalesChannelsSettings();
27936
28037
  const isOrganizationSettlorWithExemptionEnabled = isOrganizationSettlorWithExemptionReasonEnabled(isExperimentEnabled("AllowOrganizationSettlorWithExemptionReason"), trust2 == null ? void 0 : trust2.trust.countryOfGoverningLaw);
@@ -28447,7 +28548,7 @@ function DropinComposerComponent({
28447
28548
  ...args,
28448
28549
  legalEntityResponse: rootLegalEntity,
28449
28550
  accountHolder: accountHolder2,
28450
- showTrustOption: isExperimentEnabled("EnableTrustFlow") && TRUST_COUNTRIES.includes(rootLegalEntityCountry),
28551
+ showTrustOption: TRUST_COUNTRIES.includes(rootLegalEntityCountry),
28451
28552
  showSolePropOption: SOLE_PROP_COUNTRIES.includes(rootLegalEntityCountry),
28452
28553
  onAccountHolderSelect: async (newAccountHolder) => {
28453
28554
  setAccountHolder(newAccountHolder);