ClearBank.Payments.Bacs (ClearBank v1.0.0)

Copy Markdown View Source

Bacs payment operations — primarily returning Bacs Direct Credits and Direct Debit payments.

Bacs uses a 3-day settlement cycle:

  • Day 1: Submit
  • Day 2: Processing
  • Day 3: Settlement

Examples

# Return a Bacs payment received on a real account
{:ok, _} = ClearBank.Payments.Bacs.return(client, "acct-uuid", %{
  transaction_id: "txn-uuid",
  reason_code: "0"
})

Summary

Functions

Returns a Bacs payment received on a real account.

Returns a Bacs payment received on a virtual account.

Functions

return(client, account_id, params)

Returns a Bacs payment received on a real account.

Required params

  • :transaction_id - UUID of the transaction to return
  • :reason_code - Bacs return reason code (e.g. "0" = not provided)

Examples

{:ok, _} = ClearBank.Payments.Bacs.return(client, "acct-uuid", %{
  transaction_id: "txn-uuid",
  reason_code: "0"
})

return_virtual(client, account_id, virtual_account_id, params)

@spec return_virtual(ClearBank.Client.t(), String.t(), String.t(), map()) ::
  ClearBank.HTTP.result()

Returns a Bacs payment received on a virtual account.

Examples

{:ok, _} = ClearBank.Payments.Bacs.return_virtual(client, "acct-uuid", "virt-uuid", %{
  transaction_id: "txn-uuid",
  reason_code: "0"
})