2. Payments out of a wallet – to external bank account

Wallet to bank account

Use this endpoint to make a payment from a profile’s wallet to a bank account, specifying the currency.

All payments in Customate have a source (funding source) and a destination (payee). Funding sources and payees have a type.

When a profile is created and verified, a funding source and a payee (both of type wallet) are created.

Specify the payee ID (which must be of type bank_account), along with the amount (in pence/cents), and optional description and metadata.

The funding source will be determined from the data.

process flow - wallet to bank

Required information for the endpoint, wallet_to_bank_account_payments

  • amount, in pence or cents
  • currency (GBP or EUR – more currencies to follow)
  • payee ID (must be of type bank account)

Optional information

  • description
  • execution date (UTC, in YYYY-MM-DD format, cannot take place on bank holidays or weekends)
  • metadata (useful for storing client-specific information, e.g. your payment ID)

 

Example JSON request

{
  "amount": 1200,
  "description": "Deposit for apartment #121",
  "currency": "GBP",
  "execution_date": "2022-04-12",
  "metadata": {
    "sample_internal_id": "d2f148cf-901c-4fee-8792-21016da755a0"
  },
  "payee_id": "fdbf7995-84f6-4c28-b5e8-9ebec78c8edc"
}

Example response

{
  "id": "00c7cc70-6fcb-4d0f-89de-3387e2a284c3",
  "creation_datetime": "202109-30T12:28:22.768085Z",
  "amount": 1200,
  "scenario": "External",
  "status": "processing",
  "currency": "GBP",
  "description": "Deposit for apartment #121",
  "wallet_id": "37cc0dd7-0744-48b2-946d-506e4b26074b",
  "execution_date": "2022-04-12",
  "metadata": {},
  "funding_source": {
    "id": "b5e1923c-5477-4d2b-8bb9-2ae7746f172f"
  },
  "payee": {
    "id": "a3aa2dfa-a994-4fe0-bbe3-0eeb09830290"
  }
}

Non-processing dates

Use the get non-processing dates endpoint to get a list of dates that banks cannot process payments (bank holidays, weekends).

Timings for money out of a customate wallet to an external bank account

  • Customates bank partners have cut-off times in CET by currency. This is the time by which a payment needs to be successfully initiated for same-day execution. If initiated before cut-off, funds will go same day. However, same-day execution may not be met for payments held up for any compliance, lack of funds or other internal policy reasons. Payments will not be processed on public holidays or weekends. They will be pushed to next business day.  EUR – SEPA     14:00 CET, GBP – Local     17:30 CET.  Customate calls the banking partners API for money out instructions at 10 and 40 minutes past the hour, 7 days per week.

Payments from a Customate wallet during normal business days:

  • If user pays GBP to an external bank from a customate wallet at 18:00 CET on Thursday it will reduce Customate wallet immediately marking status as pending / processing. Customate calls the banking partner API at18:10 CET Thursday, however as Customates banking partners outgoing payment processing stops at 17:30 CET and resumes next business day at 00:00 CET, the instruction will he held by banking partner and money will not arrive in external bank until banking partners processing continues next business day, external bank sent funds at 00:01 CET Friday. Customate calls the banking partner API at 00:05 CET Friday confirming submission and Customate wallet status changes to success.
  • If user pays GBP to an external bank from a customate wallet at 17:00 CET on Thursday it will reduce Customate wallet immediately marking status as pending / processing. Customate calls the banking partner API at17:10 CET Thursday and Customates banking partners sends funds to external bank immediately with funds expected at 17:11 CET Thursday. Customate wallet status changes to success.

Payments from a Customate wallet on a weekend:

  • If user pays GBP to an external bank from a customate wallet at 18:00 CET on Saturday it will reduce Customate wallet immediately marking status as pending / processing. Customate calls the banking partner API at18:10 CET Saturday, however as Customates banking partners only process on business days, payment processing stops at 17:30 CET Friday and resumes next business day (Monday) at 00:00 CET, the instruction will be held by banking partner and money will not arrive in external bank until banking partners processing continues next business day, external bank sent funds at 00:01 CET Monday. Customate calls the banking partner API at 00:05 CET Monday confirming submission and Customate wallet status changes to success.

Example scenario with webhooks: Money out from wallet to external bank sent during UK business day

1 – User sent £1.13 from wallet to external bank at 03:57 am UTC as a one time payment.

2 – Customate wallet showed payment status move from PENDING immediately (reduce wallet by £1.13) to PROCESSING (04:40 UTC) to SUCCESS (04:50 UTC). External bank confirmed receipt of funds at 04:50 UTC

 

Webhook: Payment updated at 03:57 UTC. status = PENDING

{
  "items": [
    {
      "id": "d0f8a08b-d953-436a-9472-0e775678d2df",
      "type": "payment.updated",
      "creation_datetime": "2021-08-31T03:57:56.801230+00:00",
      "data": {
        "status": "pending",
        "metadata": {},
        "scenario": "External",
        "error_code": null,
        "error_message": null,
        "closing_balance": 55899,
        "funding_source": {
          "id": "4e9bcad1-485a-4fef-8470-f32abe9ea834"
        },
        "payee": {
          "id": "f11d851c-666a-49ec-9995-87f12e0e1e95"
        },
        "id": "6c393e5a-5a70-4434-a55e-51cf61b8b2b2",
        "schedule": {
          "id": "2ecf9310-16c7-498c-8726-5c47d7029747"
        },
        "profile": {
          "id": "d871c453-18fe-497e-a84a-01b0f14d7a7c"
        }
      }
    },
    {
      "id": "c2155e00-03f5-4634-993b-4e84b8e5b35e",
      "type": "payment.updated",
      "creation_datetime": "2021-08-31T03:57:56.835464+00:00",
      "data": {
        "status": "pending",
        "metadata": {},
        "scenario": "External",
        "error_code": null,
        "error_message": null,
        "closing_balance": 0,
        "funding_source": {
          "id": "4e9bcad1-485a-4fef-8470-f32abe9ea834"
        },
        "payee": {
          "id": "f11d851c-666a-49ec-9995-87f12e0e1e95"
        },
        "id": "6c393e5a-5a70-4434-a55e-51cf61b8b2b2",
        "schedule": {
          "id": "2ecf9310-16c7-498c-8726-5c47d7029747"
        },
        "profile": {
          "id": "d871c453-18fe-497e-a84a-01b0f14d7a7c"
        }
      }
    }
  ]
}

Webhook: Transaction updated at 04:40 UTC. Status = PROCESSING

{
  "items": [
    {
      "id": "3a2b55ff-2cbf-4d12-8d3a-4ca13153e396",
      "type": "transaction.updated",
      "creation_datetime": "2021-08-31T04:40:02.806420+00:00",
      "data": {
        "name": "External",
        "amount": -113,
        "status": "processing",
        "metadata": {},
        "error_code": null,
        "net_amount": "-113",
        "error_message": null,
        "closing_balance": 0,
        "external_reference": "{\"contentId\":\"960a23ef-502b-4015-b471-ff69de59c4a8\",\"lineIndex\":\"9cb93c08c93747708e73b07e0226f484\"}",
        "funding_source": {
          "id": "4e9bcad1-485a-4fef-8470-f32abe9ea834"
        },
        "payee": {
          "id": "f11d851c-666a-49ec-9995-87f12e0e1e95"
        },
        "schedule": {
          "id": "2ecf9310-16c7-498c-8726-5c47d7029747"
        },
        "id": "9cb93c08-c937-4770-8e73-b07e0226f484",
        "payment": {
          "id": "6c393e5a-5a70-4434-a55e-51cf61b8b2b2"
        },
        "profile": "d871c453-18fe-497e-a84a-01b0f14d7a7c",
        "fee": 0
      }
    }
  ]
}

Webhook: Payment updated at 04:40 UTC. Status = PROCESSING

{
  "items": [
    {
      "id": "86ca72a1-77de-46f3-82ca-49dfc12b6a4b",
      "type": "payment.updated",
      "creation_datetime": "2021-08-31T04:40:02.821114+00:00",
      "data": {
        "status": "processing",
        "metadata": {},
        "scenario": "External",
        "error_code": null,
        "error_message": null,
        "closing_balance": 0,
        "funding_source": {
          "id": "4e9bcad1-485a-4fef-8470-f32abe9ea834"
        },
        "payee": {
          "id": "f11d851c-666a-49ec-9995-87f12e0e1e95"
        },
        "id": "6c393e5a-5a70-4434-a55e-51cf61b8b2b2",
        "schedule": {
          "id": "2ecf9310-16c7-498c-8726-5c47d7029747"
        },
        "profile": {
          "id": "d871c453-18fe-497e-a84a-01b0f14d7a7c"
        }
      }
    }
  ]
}

Webhook: Transaction updated at 04:50 UTC and Payment updated at 04:50 UTC. Status SUCCESS

{
  "items": [
    {
      "id": "0b20a766-b4e9-4f0c-b88e-ba827bcdd4fb",
      "type": "transaction.updated",
      "creation_datetime": "2021-08-31T04:50:03.409053+00:00",
      "data": {
        "name": "External",
        "amount": -113,
        "status": "success",
        "metadata": {},
        "error_code": null,
        "net_amount": "-113",
        "error_message": null,
        "closing_balance": 55899,
        "external_reference": "010F215212432529",
        "funding_source": {
          "id": "4e9bcad1-485a-4fef-8470-f32abe9ea834"
        },
        "payee": {
          "id": "f11d851c-666a-49ec-9995-87f12e0e1e95"
        },
        "schedule": {
          "id": "2ecf9310-16c7-498c-8726-5c47d7029747"
        },
        "id": "9cb93c08-c937-4770-8e73-b07e0226f484",
        "payment": {
          "id": "6c393e5a-5a70-4434-a55e-51cf61b8b2b2"
        },
        "profile": "d871c453-18fe-497e-a84a-01b0f14d7a7c",
        "fee": 0
      }
    },
    {
      "id": "eb8049b5-d1b6-41b2-ab8a-99862ad11fa2",
      "type": "payment.updated",
      "creation_datetime": "2021-08-31T04:50:03.824179+00:00",
      "data": {
        "status": "success",
        "metadata": {},
        "scenario": "External",
        "error_code": null,
        "error_message": null,
        "closing_balance": 55899,
        "funding_source": {
          "id": "4e9bcad1-485a-4fef-8470-f32abe9ea834"
        },
        "payee": {
          "id": "f11d851c-666a-49ec-9995-87f12e0e1e95"
        },
        "id": "6c393e5a-5a70-4434-a55e-51cf61b8b2b2",
        "schedule": {
          "id": "2ecf9310-16c7-498c-8726-5c47d7029747"
        },
        "profile": {
          "id": "d871c453-18fe-497e-a84a-01b0f14d7a7c"
        }
      }
    }
  ]
}