Fund transfers with direct debit [BETA]

Use the Wise direct debits API to pull funds from a UK or European bank account to fund your transfers. Follow this guide for a step-by-step process for integrating the API, from creating a payment instrument to funding transfer, handling failures and staying informed with webhooks.

To fund a transfer using direct debit, you need to work with two primary resources: Payment Instruments and Payins.

  • A Payment Instrument is a saved funding source, such as a bank account, from which you can pull funds.
  • A Payin is the request you initiate to pull a specific payment from that instrument.

All resources are tied to a Wise Profile. Only the profile under which a Payment Instrument is stored can pull funds from that instrument.

In order to find a stransfer, you must connect each direct debit payin to a transfer using thepayinSessionId of a transfer you have already created.

Once the direct debit is paid, the payinSessionId connects it to the relevant transfer. The payment then funds the transfer, and is never shown as a credit on your balance.

Follow these steps to implement direct debits via the API.

  1. Create the Payment Instrument: Send a request to POST /v3/profiles/{{profileId}}/payment-instruments to initiate the authorization flow for a new funding source.
  2. Connect the Payment Instrument: Send a request to POST /v3/profiles/{{profileId}}/payment-instruments/{{paymentInstrumentId}}/manual-confirmation to confirm the payment instrument is ready for use.
  3. Create a transfer: As with any process to send money on Wise Platform - you must create an authenticated quote, and then create a transfer using POST /v1/transfers.
    • Capture the payinSessionId from the response you receive.
  4. Create a Payin: Send a request, including the payinSessionId, to POST /v3/profiles/{{profileId}}/payment-instruments/{{paymentInstrumentId}}/payins.
    • Once this payin is complete, the transfer is funded and your money is sent to the beneficiary.
  5. Check status: Send a GET request for either a payment instrument or a payin to retrieve its status at any time.