openid / openid/fapi

Webhook Support in FAPI

Open
#306 5 comments 0 reactions 0 assignees View on GitHub

Nobody has claimed this yet.

component: Implementation & Deployment Advice migrated-from-bitbucket priority: major type: proposal
Dominant language
HTML
Stars
3
Forks
3
PR merge metrics
No merged PRs in 30d

Description

Originally submitted by Anoop Saxena (Anoop Saxena) on 2020-08-18

Opportunity :

  • Many fintech companies have a need for real-time data updates needs from banks so they can provide customers (consumer and small business) features in their product.  The fintech companies poll data often to check if there is any updated data for customer accounts.
  • The polling creates a lot of burden on Data providers to scale infrastructure to support the volume of requests. In most cases, the data does not change due to no activity on the account. 
  • Fintech companies poll the data often in 24hrs and some do once in 24hrs. 

Proposal:

  1. Webhook subscription via FAPI Grant API.
[ 
  { 
    "type":"payment_initiation",
    "locations":[ 
      "https://api.example_aspsp.com/payments"
    ],
    "instructedAmount":{ 
      "currency":"GBP",
      "amount":"31.94"
    },
    "creditorName":"Merchant",
    "creditorAccount":{ 
      "no":"98765432"
    },
    "remittanceInformationUnstructured":"MERCHANT LTD"
  },
  {
    "type":"webhook_subscription",
    "location":https://api.example_aspsp.com/webhoook,
    “jwt” (or jwe or HMAC): “Aspsp User + account token”. (Base64 & encrypted – sent in webhook call to ASPSP in HMAC header??)???
  }
]

2. Webhook Endpoint – ASPSP implementation

  1. Two Options – Indicating a change

    1. Data provider sends a notification with jwt & event id (valid for X hrs?? do we need this …undue burden on the cache in Data providers). Then data receiver initiate pull request to query accounts data of customer & account in JWT. [Recommended}
    2. Data provider sends a notification with data set (same entities as pull method).
  2. MTLS

  3. HMAC header with jwt token.

  4. Body Same data as pull method (OpenBanking or FDX or CDS).


Bitbucket status: open

Bitbucket origin: issue 306

Contributor guide

No contributing guide indexed for this repository

First steps

  1. Read the whole issue, then the project's contributing guide.
  2. Comment on the issue to say you are picking it up — it saves two people doing the same work.
  3. Fork the repository and make your change on a branch.
  4. Open a pull request that references the issue number.

Research direction

Start by reviewing the FAPI Grant API and the webhook proposal in this issue. Resolve the open choices around notification contents, token protection, expiry, transport authentication, and payload format with the project maintainers. Done means the protocol requirements and interoperability criteria are agreed and documented.

Written by the indexing model from the issue text.

Assessment

Domain
api, security
Issue type
Feature
Difficulty
5/5
Estimated time
Over a week
Activity status
Quiet
Clarity
Needs clarification
Newbie friendliness
25/100

Get new issues in your inbox

A short digest of beginner-friendly GitHub issues.