ClearBank.Payments.Chaps (ClearBank v1.0.0)

Copy Markdown View Source

CHAPS (Clearing House Automated Payment System) — high-value, same-day GBP payments settling via the Bank of England's RTGS system.

Key facts

  • No upper limit — suitable for property purchases, large corporate payments
  • Settlement: Same business day (Bank of England operating hours only)
  • Cut-off: Check Bank of England RTGS operating schedule
  • Schema: ISO 20022 pacs.008 (customer payments)

Required creditor fields

ClearBank uses ISO 20022 structured address for CHAPS. The :creditor_address must include :street_name, :building_number, :post_code, :town_name, and :country (ISO 3166-1 alpha-2).

Examples

{:ok, result} = ClearBank.Payments.Chaps.send(client, %{
  debtor_account_id: "acct-uuid",
  amount: "500000.00",
  currency: "GBP",
  creditor_name: "Conveyancing Ltd",
  creditor_sort_code: "200000",
  creditor_account_number: "55779911",
  creditor_address: %{
    street_name: "High Street",
    building_number: "1",
    post_code: "SW1A 1AA",
    town_name: "London",
    country: "GB"
  },
  remittance_information: "PROP PURCHASE REF XYZ"
})

Summary

Functions

Returns a received CHAPS payment.

Sends a CHAPS customer credit transfer (pacs.008).

Functions

return_payment(client, params)

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

Returns a received CHAPS payment.

Required params

  • :original_instruction_id - instruction ID of the payment to return
  • :debtor_account_id - account from which to return the funds
  • :return_reason_code - ISO 20022 reason code (e.g. "AC03", "CUST")
  • :amount - amount to return
  • :currency - "GBP"

send(client, params)

Sends a CHAPS customer credit transfer (pacs.008).

Required params

  • :debtor_account_id - source account UUID
  • :amount - decimal string
  • :currency - "GBP"
  • :creditor_name - recipient name
  • :creditor_sort_code - 6-digit sort code
  • :creditor_account_number - 8-digit account number
  • :creditor_address - structured address map (see module docs)
  • :remittance_information - payment narrative

Optional params

  • :end_to_end_id - your end-to-end reference
  • :instruction_id - unique instruction ID
  • :debtor_name - override debtor name
  • :debtor_address - structured address map for debtor