Payment-method icon

Pay by Bank (US) Redirect Component for iOS

Add Pay by Bank (US) to your existing iOS Components integration.

This page explains how to add Pay by Bank (US) to your existing iOS Components integration.

Requirements

Select the server-side flow that your integration uses:

Requirement Description
Integration type Make sure that you have built a Sessions flow iOS Components integration.
The minimum required version is 5.70.0.
Setup steps Before you begin, add Pay by Bank (US) in your Customer Area.

API reference

Select the endpoint you are using to make payments:

This is the default with Components v5.0.0 or later.

Parameter name Required Description
countryCode -white_check_mark- The shopper's country/region. This determines the banks that our partner shows to the shopper. Format: the two-letter ISO-3166-1 alpha-2 country code. Currently, only US is supported. This is also the default if you do not include this parameter.

Component setup

Create an instance of the Pay by Bank (US) Component:

Default way to create the Component
Expand view
Copy link to code block
Copy code
Copy code
let paymentMethods = session.sessionContext.paymentMethods
// Check that the payment method is supported before showing the Component.
guard let paymentMethod = paymentMethods.paymentMethod(ofType: PayByBankUSPaymentMethod.self) else { return }
let component = PayByBankUSComponent(
paymentMethod: paymentMethod,
context: context)
self.currentComponent = component
// Set the session as the delegate.
component.delegate = session
present(component.viewController, animated: true)

Create the Component for a stored payment method
Expand view
Copy link to code block
Copy code
Copy code
// Check that the payment method is supported before showing the Component.
guard let paymentMethod = paymentMethods.stored.compactMap { $0 as? StoredPayByBankUSPaymentMethod }.first else { return }
let component = StoredPaymentMethodComponent(
paymentMethod: paymentMethod,
context: context)
self.currentComponent = component
// Set the session as the delegate.
component.delegate = session
present(component.viewController, animated: true)

Redirect handling

Your Components integration handles the redirect, so you do not need to do anything additional for Pay by Bank (US).

Payment outcome

Your Components integration gets the payment outcome, so you do not need to do anything additional for Pay by Bank (US).

Capture

We strongly recommend capturing Pay by Bank (US) payments immediately, to reduce the risk of insufficient funds at the time of capture.

Adyen completes the checks on the shopper's bank account, including a balance check and risk checks, at the time of authorization. However, the issuing bank does not hold the authorized funds and thus it is possible that the account balance is no longer sufficient by the time you capture the payment. For that reason, you should capture Pay by Bank (US) payments as soon as possible.

However, even with immediate capture there is still a risk of insufficient funds at the time of capture, because capturing is an asynchronous process on the ACH Direct Debit network.

Recurring payments

Pay by Bank (US) supports tokenization of the shopper's payment details for recurring transactions.

We strongly recommend that you ask explicit permission from the shopper if you intend to make future recurring payments. Being transparent about the payment schedule and the amount reduces the risk of chargebacks.

To make recurring payments, refer to Tokenization to:

  • Create a token through the initial payment.
  • Use the token in subsequent payments.
  • Manage tokens.

Test and go live

We recommend that you test various scenarios, such as approved payments, authentication errors, and payments cancelled by the shopper. You can check the status of test payments in your Customer Area > Transactions > Payments.

To go live, you need to add Pay by Bank (US) in your live Customer Area. Our partner Plaid then registers your merchant account with participating banks, including some of the largest banks in the US. The registration takes up to one business week from the moment Plaid has started the process. During this time, your shoppers cannot connect their bank account to Plaid. For this reason, you cannot accept live Pay by Bank (US) payments until the registration process is completed.

We send you a paymentMethod.created webhook when you can start accepting live Pay by Bank (US) payments.

See also