Skip to content

Control the SEPA Direct Debit form after onSubmit is called #647

@viren-kumar

Description

@viren-kumar

Is your feature request related to a problem? Please describe.
Yes. While using the Adyen Drop-in for React Native with the SEPA Direct Debit payment method, the onSubmit callback is triggered correctly after the user enters their name and IBAN and taps "Pay".

However, in our use case, we run custom validation logic in onSubmit — and depending on conditions, we may want to reject the submission, display a custom error message, and allow the user to correct their input and try again.

Currently, there's no supported way to:

Prevent the form from closing

Show a custom error message back on the SEPA form

Reset the form or return it to a clean state for re-entry

Control the loading state of the "Pay" button

Because the SDK auto-dismisses or locks the form once onSubmit completes, the user experience cannot be gracefully recovered from a validation failure.

Describe the solution you'd like
I would like to request:

Ability to return an error from onSubmit that causes the Drop-in to:

Stay on the SEPA screen

Show a custom error message (e.g., "IBAN failed internal validation")

Optionally clear or retain the existing form values

An API like:

dropInComponent.showValidationError(message: string)
dropInComponent.resetForm()

Or ability to return something like:

return {
  action: 'reject',
  errorMessage: 'Your IBAN is invalid',
  resetForm: true, // or false to keep values
}

Optional: expose a way to manually control loading spinner state on the "Pay" button (to avoid flickers or double loading)

Describe alternatives you've considered
We tried showing a global error or alert, but the SEPA form is already locked or dismissed.

Reopening the Drop-in is not user-friendly and forces users to re-enter all details.

Building the SEPA form ourselves is not possible, as there’s no standalone UI component exposed for SEPA in the React Native SDK.

Additional context
We have shown the custom error in the toast style but not able to control the form or loading state of action button.

Image

Metadata

Metadata

Assignees

No one assigned

    Labels

    enhancementNew feature or request

    Type

    No type

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions