Confirmation of Payee Requestor Service
POST /requester/v1.0/cop-iban-check/account-verificationsCoP Outbound API. PSPs need to integrate with this API in order to send the details of an account to the PSP that holds the account and get the details validated. Account Identification schemes currently supported are SCAN (Sort Code Account Number) and IBAN (International Bank Account Number).
Request Headers
| Attribute | Type | Condition | Description |
|---|---|---|---|
| Authorization | String | Mandatory | An Authorisation Token as per https://tools.ietf.org/html/rfc6750 |
| x-fapi-interaction-id | UUID | Optional | An RFC4122 UID used as a correlation id (For Ex - 4e9d15b3-0db4-43b0-9dad-0ac74ae1ff12) |
Request Body
| Attribute | Type | Condition | Description |
|---|---|---|---|
| Data | OBNameVerificationRequest1Data | Mandatory | |
| Data.AccountType | String | Mandatory | Indicates whether the account is a personal account or a business account. Allowed Values: Personal, Business |
| Data.SchemeName | String | Mandatory | Account Identification Scheme Name. Currently supported schemes are "Sort Code + Account Number" and "IBAN". Allowed Values: SortCodeAccountNumber, IBAN |
| Data.Identification | String | Mandatory | Account Identification. If Account Identification Scheme Name is "SortCodeAccountNumber", this field must contain 14 digits - first six digits being the sortcode and next eight digits being the account number. If Account Identification Scheme Name is "IBAN", this field must contain the 22 digit IBAN of the account |
| Data.SecondaryIdentification | String | Optional | Secondary Reference for the account. Certain accounts require a secondary reference to uniquely identify an account and this must be entered for such accounts. An example of a secondary reference is the "Roll Number" used by building societies. |
| Data.Name | String | Mandatory | Payee's account name, it could be structured or unstructed. Example: Unstructured: ,,John Doe; Structured: Mr,John, Doe |
Response Headers
| Attribute | Type | Condition | Description |
|---|---|---|---|
| x-fapi-interaction-id | UUID | Optional | An RFC4122 UID used as a correlation id. |
| Content-Type | String | Mandatory | Value = application/json |
| transaction-id | String | Mandatory | A Unique id which will generated for each transaction |
| Retry-After | String | Optional | Header indicating the time (in seconds) that the CoP Requester should wait before retrying an operation. |
Response Body
| Attribute | Type | Condition | Description |
|---|---|---|---|
| Data | OBNameVerificationResponse1Data | Mandatory | |
| Data.Matched | Boolean | Mandatory | If the account type matches and the name fully matches with the name held by the PSP, this is returned as "TRUE". In all other scenarios, this is returned as "FALSE" |
| Data.ReasonCode | String | Conditionally Mandatory | The reason code provide additional information on why the CoP check was not considered as full match. Please see below for the list of reason codes and the reason code description. |
| Data.Name | String | Conditionally Mandatory | Name of the account held by the PSP responding to the name verification request. This is returned only when the name specified by the user partially matches (Reason Code: MBAM or BAMM or PAMM) with the name held by the PSP. |
Response Codes
| Status Code | Description |
|---|---|
| 200 | OK |
| 400 | Bad Request |
| 401 | Unauthorized |
| 403 | Forbidden |
| 404 | Not Found |
| 405 | Method Not Allowed |
| 406 | Not Acceptable |
| 415 | Unsupported Media Type |
| 429 | Too Many Requests |
| 500 | Internal Server Error |
Example 1: SchemeName as Sort Code Account Number
-
Request
POST /requester/v1.0/cop-iban-check/account-verifications
Authorization: Bearer 2YotnFZFEjr1zCsicMWpAA
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Content-Type: application/json
Accept: application/json
{
"Data": {
"AccountType": "Personal",
"Identification": "30000010000009",
"Name": "John Doe",
"SchemeName": "SortCodeAccountNumber",
"SecondaryIdentification": null
}
}-
Response
HTTP/1.1 200 OK
transaction-id: ROJW663291
Content-Type: application/json
{
"Data": {
"VerificationReport": {
"Matched": true
}
},
"Links": {
"Self": "/v1.0/cop-iban-check/account-verifications"
},
"Meta": {
"TotalPages": 1
}
}Example 2: SchemeName as IBAN
-
Request
POST /requester/v1.0/cop-iban-check/account-verifications
Authorization: Bearer 2YotnFZFEjr1zCsicMWpAA
x-fapi-interaction-id: 93bac548-d2de-4546-b106-880a5018460d
Content-Type: application/json
Accept: application/json
{
"Data": {
"AccountType": "Personal",
"Identification": "GB12ABCD10203012345678",
"Name": "John Doe",
"SchemeName": "IBAN",
"SecondaryIdentification": null
}
}-
Response
HTTP/1.1 200 OK
transaction-id : ROJW663291
Content-Type: application/json
{
"Data": {
"VerificationReport": {
"Matched": true
}
},
"Links": {
"Self": "/v1.0/cop-iban-check/account-verifications"
},
"Meta": {
"TotalPages": 1
}
}Response codes
| Reason Code | Description |
|---|---|
| ANNM | Account Name does not match. |
| MBAM | There may be a match on the Account Name. (No, Close Match). |
| BANM | Business account, name matches. |
| PANM | Personal account, name matches. |
| BAMM | Business account, name may match. |
| PAMM | Personal account, name may match. |
| AC01 | Incorrect Account Number. |
| IVCR | Invalid Customer Reference. |
| ACNS | Account type not support for CoP. |
| OPTO | Opted out of the CoP Scheme. |
| CASS | Account has been switched. |
| SCNS | Sort code not supported by Endpoint. |