Skip to content

Handle GoCardless End User Agreement expiration #8538

@Betree

Description

@Betree

EUA with GoCardless is valid for 180 days.

We can:

  1. Anticipate that and set an EUA somewhere on the connected account
  2. Handle the 401 response that we get when trying to sync an account with expired EUA:
{
  status: 401,
  statusText: 'Unauthorized',
  data: {
    summary: 'End User Agreement (EUA) xxxxxx-xxxx-xxxx-xxxx-xxxx has expired',
    detail: 'EUA was valid for 180 days and it expired at 2026-01-27 12:13:55.543011+00:00. The end user must connect the account once more with new EUA and Requisition',
    status_code: 401
  }
}

Based on that, the interface should have:

  1. On the bank accounts list, update the account status to "Authorization Expired"
  2. Add two columns: "Connected At" (= createdAt) and "Authorization validity" (∞ if none defined, the date otherwise)
  3. Show an alert icon, with a tooltip message, next to this "Authorization validity" if it's expired or about to expire.
  4. Send a notification email when it expires.
  5. A clearer error message when clicking on "Force synchronize". It's currently an obscure 401 error.

All these should lead toward the Actions > Settings > Advanced > Reconnect action, to let host admins renew the authorization.

Metadata

Metadata

Assignees

No one assigned

    Labels

    apiIssues that require some work on the API (https://github.com/opencollective/opencollective-api)frontend

    Projects

    No projects

    Milestone

    No milestone

    Relationships

    None yet

    Development

    No branches or pull requests

    Issue actions