-
Notifications
You must be signed in to change notification settings - Fork 9
New issue
Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.
By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.
Already on GitHub? Sign in to your account
[1.5.0] BPAY crnType introduced as mandatory and backported into existing version #320
Comments
As per issue #324, we would also appreciate clarification of the obligation date and version for the modifications to the Get Payee Detail endpoint. In addition to the issues mentioned above, in the v1.5.0 standards release, the description of crn in BankingBillerPayee has been updated to include new statements which say that ‘sensitive’ data should be masked both using the rules applicable to the MaskedPanString common type and in alignment with online channels. It is unclear how data holders should determine which CRNs are sensitive or which of the two mentioned masking methods should apply in any given case. We would appreciate the following clarifications:
|
Following the call there and rollback there are two components:
|
I note the analysis conducted on 12 November and provide the following comments:
In essence, if this change had been implemented in accordance with the original decision proposal the analysis would be more accurate however it does not consider that the definition of V1 of the target payloads is no longer clearly defined. |
Hi all, analysis below. BackgroundRelated GitHub Issues:
Current SituationIn Maintenance iteration 4, a change was approved for BPAY CRN and the introduction of a BPAY CRN Type. This change had identified a July 2021 future dated obligation but the standards were changed without setting an obligation date. Upon review of this and the DSB's process, this change was reversed by the Data Standards Chair and the existing standards definition for BPAY CRN was re-instated. This change request looks at how to deal with BPAY CRNs for intelligent and variable CRNs in a current state as well as the ideal target state with a clear future dated obligation. Because "crn" is a mandatory field (although it is described as conditional, this is to accommodate masked credit card PANs, not conditional for absent CRNs), to be compliant with the data standards, any payee without a crn must be omitted from the list of biller payees. This is undesirable, hence a need for a change. Problem StatementCurrently CRN must be provided in the BankingBillerPayee record but this cannot accommodate variable and intelligent CRNs where the CRN is not known or cannot be inferred. Consequently, BPAY biller payee data must be omitted if the saved payee represents a variable or intelligent CRN leading to an incomplete set of payees available via Get Payee Detail. Key considerationsVariable and Intelligent CRNs are not always known by banks. Whilst in some cases they may, they are unlikely to be relevant or populated for biller payees. Whilst support through the CRN Type can be utilised, its purpose is more relevant for transactions or scheduled payments. This would require conditional support to populate the CRN when the type is determined to be variable or intelligent. Similarly, consideration should be given to whether a default value should be applied for the CRN Type for Biller Payees. The change is being considered to BankingBillerPayee which has upstream API endpoint impact to:
Indirectly, the following API endpoints are also impacted by this change request:
This is because these two endpoints present a CRN as a valid transaction reference. The inclusion of the type of CRN ought to be considered for banking transactions as well. Further to this, the definition of the CRN in the banking transaction response is inconsistent with the BankingBillerPayee reference which also considers the CRN to be masked where the CRN contains a credit card PAN. OptionsOption A - No Change Description of the CRN is updated to make clear the masking requirements for sensitive information. This option would mean that Variable and Intelligent BPAY billers would not be returned in the list of payees and reduce the set of BPAY payees that are shared. This is seen as the least ideal option because it results in an incomplete data set and a non ideal end state. Option B - Make CRN Optional The description of the CRN is updated to make clear the masking requirements for sensitive information. The type of CRN is not provided to the client and future changes which may make it easier to consistently determine the type of CRN would not be possible. Option C - Introduce CRN Type and make CRN conditional Where a CRN is not provided, the CRN Type is ignored. Where a bank cannot determine if a CRN is intelligent, the VARIABLE_CRN value can be used for CRN Type. The description of the CRN is updated to make clear the masking requirements for sensitive information. This allows for all BPAY biller payee data to be shared. It also allows the variable CRN Type to be used where the DH cannot determine that the CRN is an intelligent CRN. RecommendationOption C is recommended. To accommodate variable and intelligent CRNs, the following changes are proposed. Changes to existing descriptions or conditionality are italicised:
Implementation ConsiderationsThe primary consideration has been to propose changes that do not result in a breaking change to the end point schema and thus versioning of affected end points. Whilst there may be a change to the data that can now be provided by data holders (without being non-compliant with the standards), the approach has been to minimise impact to existing data holders and those under build including reciprocal data holders. The changes proposed will have some impact to ADR clients wanting take advantage of the additional context however this is seen as minimal. Contrasted to the approach taken in Maintenance Iteration 4 which resulted in CRN and CRN Type being mandatory and a breaking change, this change proposal seeks to apply defaults where they cannot be determined. Further to this, it considers the broader impact of CRN and BPAY billers beyond just the Get Payee end points. Impacted Endpoints
Because this change is considered as a non-breaking interface contract change to data holder implementations, this would not result in versioning of the affected endpoints. All end points would remain at v1 and the change could be adopted by data holders as soon as is practicable. |
NAB supports Option B - Make CRN Optional. For saved biller Payees, we do not save the CRN if the biller supports variable CRN and Option B allows us to exclude this attribute. And for Scheduled Payments & Transactions – CRN is always required to schedule and process a payment hence the response payload will always have a CRN. We believe adding default values to crnType ( as suggested in option C) will result in data inconsistencies going forward e.g, in a schedule payment or transaction response, if crnType is absent, assuming it is a FIXED CRN will result in incorrect data, as it could be either FIXED or VARIABLE CRN type. As crnType is associated with the official BPAY biller and it is not specific to any data holder, sourcing this data from BPAY directly by the ADRs will be a more consistent way to determine the type of CRN. |
Newcastle Permanent Building Society supports Option B - Make CRN Optional. |
The outcome of this issue has been approved by the Data Standards Chair for inclusion in v1.7.0. A change to the data standards was recommended. This issue will be closed accordingly. |
Description
The 1.5.0 release introduced
crnType
intoBankingBillerPayee
making it mandatory while backporting this to Version 1 of the payload.This simultaneously led to the following issues:
This item was raised in the implementation call today and a comment was made that objections weren't raised within the proposal which I believe is a reference to Decision Proposal 134. This proposal states the following:
The DP explicitly called out this change as breaking with a July 2021 date but the 1.5.0 release deliberately backported this modification into Endpoint Version 1 resulting in issues (1) and (2).
In addition, multiple participants in the linked discussion (@WestpacOpenBanking @NationalAustraliaBank) , explicitly called out issues (3) and (4).
Area Affected
BankingBillerPayee
and all upstream payloads and endpoints that change as a result of changing it's structure.Change Proposed
INTELLIGENT_CRN
until clarity regarding system support can be givenThe text was updated successfully, but these errors were encountered: