This method allows you get a new instance of a component implementation.

TYPESCRIPT
async provide(props: ComponentWithRedirectManagerProps): Promise<BanksComponent | any>

Parameters

Supported payment method types

Returns

An instance of a component, depending on the paymentMethodType:

Example

TYPESCRIPT
// 👇 Add this
const componentWithRedirectManagerProps: ComponentWithRedirectManagerProps = {
  paymentMethodType: "ADYEN_IDEAL",
  onStep: (data: BanksStep) => {
    switch (data.stepName) {
      case "banksLoading":
        // Show loading indicator
        break;
      case "banksRetrieved":
        // Render banks
        break;
    }
  },
  onError: (error: PrimerError) => {
    // An error that occurred during the component's operation.
  },
  onInvalid: (data: PrimerInvalidComponentData<BanksValidatableData>) => {
    // Data was considered invalid during validation.
    switch (data.data.validatableDataName) {
      case "bankListFilter":
        // ...
        break;
      case "bankId":
        // ...
        break;
    }
  },
  onValid: (data: PrimerValidComponentData<BanksValidatableData>) => {
    // Data was successfully validated.
    switch (data.data.validatableDataName) {
      case "bankListFilter":
        // ...
        break;
      case "bankId":
        // ...
        break;
    }
  },
  onValidating: (data: PrimerValidatingComponentData<BanksValidatableData>) => {
    // Data is in the process of being validated.
    switch (data.data.validatableDataName) {
      case "bankListFilter":
        // ...
        break;
      case "bankId":
        // ...
        break;
    }
  },
  onValidationError: (
    data: PrimerComponentDataValidationError<BanksValidatableData>
  ) => {
    // Error occurred during data validation.
    switch (data.data.validatableDataName) {
      case "bankListFilter":
        // ...
        break;
      case "bankId":
        // ...
        break;
    }
  },
};
const componentWithRedirectManager = new ComponentWithRedirectManager();
const banksComponent: BanksComponent =
  await componentWithRedirectManager.provide(componentWithRedirectManagerProps);