Download OpenAPI specification:Download
The Public API for paygate BACS (3.3.0). Customer needs either the BACS and/or Faster Payment API licence to make any calls to the API.
Recommended call order:
The API has two base URLs, one for testing and one for production:
Testing: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs
Production: https://api.paygateservice.com/bacs_publicapi/api/bacs
Get submission summary after sending submission to Vocalink. The response can be the submission summary either as XML or HTML.
submissionId required | string <uuid> ID of submission |
format | string Omit parameter for XML. Options if set are xml and html. |
{- "submissionSummaryReport": "<?xml version=\"1.0\" encoding=\"UTF-8\"?>\n<SubmissionResults xmlns=\"http://bacs.co.uk/submissions\"\n xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\"\n \n submissionIdentifier=\"1626774514486T9XDURvrs\"\n status=\"complete\"\n submissionType=\"structuralTest\"\n submissionSerialNumber=\"033932\"\n submissionDateAndTime=\"Tue Jul 20 10:48:37 BST 2021\"\n submissionEarliestDate=\"2021-07-20\">\n\n \n \n\n\n <SubmittingServiceUser\n userNumber=\"999992\"\n name=\"SS - Ultra Payments 2\"/>\n\n <SubmittingContact contactIdentifier=\"DEV TEST HSM728837\"\n fullName=\"BMPL DEV TEST HSM4\" />\n\n <SigningContact contactIdentifier=\"DEV TEST HSM728837\"\n fullName=\"BMPL DEV TEST HSM4\"/>\n\n\n <PaymentFile status=\"complete\"\n index=\"1\"\n paymentFileIdentifier=\"871\"\n \n processingDay=\"2021-07-21\"\n currency=\"GBP\"\n creditRecordCount=\"3\"\n creditValueTotal=\"60100\"\n debitRecordCount=\"0\"\n debitValueTotal=\"0\"\n ddiRecordCount=\"0\"\n workCode=\"1 DAILY \">\n\n \n\n\n\n\n <OriginatingServiceUser userNumber=\"999992\"\n name=\"SS - Ultra Payments 2\"/>\n\n </PaymentFile>\n\n </SubmissionResults>\n\n\n"
}
Save submission and optionally create a signing action.
Example 1 where no actions will be created; all processing will be done by other API calls. Example 2 where signing action will be created.
submissionId required | string <uuid> The submission ID. |
actionType | string Sign, Approve or Send. This is required for the sign, approve and send requests. If this is included with the PUT Save Submission request it will be ignored. |
subType | string Vocalink submission type e.g. live, structuralTest. BACS has an extra option, fullTest. This is only required for a direct group "Send" action or for an indirect group "Approve" action. If this is included in the request for any other call it will be ignored. |
createSignAction | boolean True if the API should create a sign action when saving the submission via submission PUT. |
createApproveAction | boolean True if the API should create an approve action after signing with the API or after a user processes a sign action for a submission created by the API. |
createSendAction | boolean True if the API should create a send action after approving with the API or after a user processes an approve action for a submission created by the API. |
callbackUri | string Customer callback URI that the BACS API will send acknowledgement to after a manual process has been completed. |
{- "submissionId": "1949ed10-46e3-4513-8787-2f3a412335ff"
}
{- "id": "3540ae61-e666-4c6d-9cdc-aaf53c863c2c",
- "success": true,
- "count": 1,
- "message": "Submission saved",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Initialize a new submission
Request to create a new submission. This will return the new submission ID which the caller must use when adding payments to the submission.
For BACS "3-day" submissions paygate sends the submission data to BACS on day 1. The payments are processed on the day before the requested payment date i.e. day 2. The payments will be sent/received on the requested payment date i.e. day 3.
If "paymentDate" is not sent in the request, the payments will be sent/received by BACS on the next available payment date.
reference required | string [ 1 .. 150 ] characters Submission reference |
contraNarrative | string <= 50 characters Optional submission contra narrative |
groupId required | string <uuid> Group linked to the submission |
networkType required | string Valid values are BACS or FasterPayments |
paymentDate | string <date> Optional date payments will be made. If not set then the next payment date will be used. |
{- "reference": "July Payments",
- "groupId": "d34f764f-94e1-42fe-8eab-d69a9ad8a9f6",
- "networkType": "BACS"
}
{- "id": "1949ed10-46e3-4513-8787-2f3a412335ff",
- "success": true,
- "count": 1,
- "message": "Created BacsSubmission record with ID 1949ed10-46e3-4513-8787-2f3a412335ff",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
To return all payments only add the submission ID to the query string. E.g. https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/payment?submissionId=b1d33536-fd3e-491f-b1dd-efa9c10c4583
To prevent potential network issues it is advised to limit the number of payments request in each request to 100,000. This isn't an enforced limitation just a recommendation.
To determine the number of payments in the submission use the "payment/count" request.
To return a subset of payments add recordNumberFrom and/or recordNumberTo to the query string.
E.g. The following will return payments where the recordNumber is between 101 and 200: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/payment?submissionId=b1d33536-fd3e-491f-b1dd-efa9c10c4583&recordNumberFrom=101&recordNumberTo=200
The following will return payments where the recordNumber is at least 50: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/payment?submissionId=b1d33536-fd3e-491f-b1dd-efa9c10c4583&recordNumberFrom=50
The following will return payments where the max recordNumber is 100: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/payment?submissionId=b1d33536-fd3e-491f-b1dd-efa9c10c4583&recordNumberTo=100
submissionId required | string <uuid> |
recordNumberFrom | integer Determines first record number of returned payments |
recordNumberTo | integer Determines last record number of returned payments |
[- {
- "recordNumber": 1,
- "originatorAccountName": "Rush2112",
- "originatorAccountNumber": "12345679",
- "originatorSortCode": "010004",
- "submissionId": "9bbde170-4594-4fd4-a18e-86b94d94107a",
- "thirdPartyAccountName": "GEDDY LEE",
- "thirdPartyAccountNumber": "10000003",
- "thirdPartySortCode": "010197",
- "thirdPartyAccountType": "0",
- "transactionCode": "99",
- "freeFormat": "0000",
- "amount": 100,
- "userReference": "BLUE JAYS TICKET",
- "processingDate": "0001-01-01T00:00:00",
- "isDDI": false
}, - {
- "recordNumber": 2,
- "originatorAccountName": "Rush2112",
- "originatorAccountNumber": "12345679",
- "originatorSortCode": "010004",
- "submissionId": "9bbde170-4594-4fd4-a18e-86b94d94107a",
- "thirdPartyAccountName": "ALEX LIFESON",
- "thirdPartyAccountNumber": "10000011",
- "thirdPartySortCode": "010197",
- "thirdPartyAccountType": "0",
- "transactionCode": "99",
- "freeFormat": "0000",
- "amount": 200,
- "userReference": "GOLF MEMBERSHIP",
- "processingDate": "0001-01-01T00:00:00",
- "isDDI": false
}, - {
- "recordNumber": 3,
- "originatorAccountName": "Rush2112",
- "originatorAccountNumber": "12345679",
- "originatorSortCode": "010004",
- "submissionId": "9bbde170-4594-4fd4-a18e-86b94d94107a",
- "thirdPartyAccountName": "NEIL PEART",
- "thirdPartyAccountNumber": "10000038",
- "thirdPartySortCode": "010197",
- "thirdPartyAccountType": "0",
- "transactionCode": "99",
- "freeFormat": "0000",
- "amount": 300,
- "userReference": "NEW MOTORBIKE",
- "processingDate": "0001-01-01T00:00:00",
- "isDDI": false
}
]
Add payments to a submission. To prevent potential network issues it is advised to limit the number of payments sent in each request to 100,000. This isn't an enforced limitation just a recommendation. Additional payments can be added to an existing submission until the submission is signed.
The "processingDate" property is optional and if present must be a valid date in the format yyyy-MM-dd. A "processingDate" of "0001-01-01" i.e. the .NET DateTime.MinValue will be ignored by the API and treated as a payment without a processing date.
Pass an array of PaymentRequest objects in the JSON request.
submissionId required | string <uuid> ID of the submission the payment belongs to. This ID will have been returned after creating a new submission. |
thirdPartyAccountName required | string [ 1 .. 50 ] characters Account name of third party regardless of whether they are beneficiary of a credit payment or if a payment is requested from them. While up to 50 characters can be saved in the database only the first 18 characters will be sent to BACS. |
thirdPartyAccountNumber required | string = 8 characters Third party account number. |
thirdPartySortCode required | string = 6 characters Third party sort code. |
thirdPartyAccountType required | string = 1 characters Should be "0" for a normal bank account. Can vary for building society accounts. Must be between 0 and 9. |
transactionCode required | string = 2 characters Debit codes: 01, 17, 18, 19. Credit codes: 99, Z4, Z5. DDI codes: 0N, 0C, 0S. Bank grade codes: RA, U1, U7, U8, U9. |
freeFormat | string [ 0 .. 4 ] characters Usually set to "0000" or 4 spaces. Can also be used for RTI data e.g. "/YYZ" |
amount required | number >= 0 The payment amount is in pounds and pence although the pence is optional. E.g. 100, 100.00 and 100.99 are all valid amounts. |
userReference | string [ 0 .. 50 ] characters User reference field which is optional when transaction code is 99 otherwise it is mandatory. E.g. "COUNCIL TAX". While up to 50 characters can be saved in the database only the first 18 characters will be sent to BACS. |
processingDate | string <date> = 10 characters Optional processing date. Only need to set a date if payments in a submission can be processed on different days. The "processingDate" property is optional and if present must be a valid date in the format yyyy-MM-dd. A "processingDate" of "0001-01-01" i.e. the .NET DateTime.MinValue will be ignored by the API and treated as a payment without a processing date. |
[- {
- "submissionId": "b1d33536-fd3e-491f-b1dd-efa9c10c4583",
- "thirdPartyAccountName": "GEDDY LEE",
- "thirdPartyAccountNumber": "10000003",
- "thirdPartySortCode": "010197",
- "thirdPartyAccountType": "0",
- "transactionCode": "99",
- "freeFormat": "0000",
- "amount": 101.06,
- "userReference": "BLUE JAYS TICKET"
}, - {
- "submissionId": "b1d33536-fd3e-491f-b1dd-efa9c10c4583",
- "thirdPartyAccountName": "ALEX LIFESON",
- "thirdPartyAccountNumber": "10000011",
- "thirdPartySortCode": "010197",
- "thirdPartyAccountType": "0",
- "transactionCode": "99",
- "freeFormat": "0000",
- "amount": 200,
- "userReference": "GOLF MEMBERSHIP"
}, - {
- "submissionId": "b1d33536-fd3e-491f-b1dd-efa9c10c4583",
- "thirdPartyAccountName": "NEIL PEART",
- "thirdPartyAccountNumber": "10000038",
- "thirdPartySortCode": "010197",
- "thirdPartyAccountType": "0",
- "transactionCode": "99",
- "freeFormat": "0000",
- "amount": 300,
- "userReference": "NEW MOTORBIKE"
}
]
{- "id": "b1d33536-fd3e-491f-b1dd-efa9c10c4583",
- "success": true,
- "count": 3,
- "message": "Inserted 3 payments.",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Update an existing payment.
The PaymentUpdateRequest object is similar to the PaymentRequest POST object but there are a limited number of properties which can be updated.
submissionId required | string <uuid> ID of the submission the payment belongs to. This ID will have been returned after creating a new submission. |
recordNumber required | integer <int32> Each payment gets a unique record number when it's created. This is needed to identify the payment to be updated. Call GET payments to get payment record numbers. |
thirdPartyAccountName required | string [ 1 .. 50 ] characters Account name of third party regardless of whether they are beneficiary of a credit payment or if a payment is requested from them. While up to 50 characters can be saved in the database only the first 18 characters will be sent to BACS. |
thirdPartyAccountNumber required | string = 8 characters Third party account number. |
thirdPartySortCode required | string = 6 characters Third party sort code. |
transactionCode required | string = 2 characters Debit codes: 01, 17, 18, 19. Credit codes: 99, Z4, Z5. DDI codes: 0N, 0C, 0S. Bank grade codes: RA, U1, U7, U8, U9. |
amount required | number >= 0 The payment amount is in pounds and pence although the pence is optional. E.g. 100, 100.00 and 100.99 are all valid amounts. |
userReference | string [ 0 .. 50 ] characters User reference field which is optional when transaction code is 99 otherwise it is mandatory. E.g. "COUNCIL TAX". While up to 50 characters can be saved in the database only the first 18 characters will be sent to BACS. |
processingDate | string <date> = 10 characters Optional processing date. Only need to set a date if payments in a submission can be processed on different days. The "processingDate" property is optional and if present must be a valid date in the format yyyy-MM-dd. A "processingDate" of "0001-01-01" i.e. the .NET DateTime.MinValue will be ignored by the API and treated as a payment without a processing date. A "processingDate" of "" will result in an error similar to "Error converting value {null} to type 'System.DateTime'. Path 'processingDate', line 10, position 28.". |
{- "submissionId": "046d67fe-efd8-4f0c-b03c-75d70359436d",
- "recordNumber": 3,
- "thirdPartyAccountName": "NEIL PEART",
- "thirdPartyAccountNumber": "10000038",
- "thirdPartySortCode": "010197",
- "transactionCode": "99",
- "amount": 303.03,
- "userReference": "NEW MOTORBIKE 2"
}
{- "id": "6d873644-ce87-4b2b-ad8f-bdac5beb6d69",
- "success": true,
- "count": 1,
- "message": "Payment with submission Id 6d873644-ce87-4b2b-ad8f-bdac5beb6d69 and record number 3 was updated.",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Delete a payment from a submission.
submissionId required | string <uuid> Submission ID |
recordNumber required | integer Record number in the submission |
{- "id": "b1d33536-fd3e-491f-b1dd-efa9c10c4583",
- "success": true,
- "count": 1,
- "message": "Payment with submission Id b1d33536-fd3e-491f-b1dd-efa9c10c4583 and record number 3 was deleted.",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Get pre-sub validation messages after pre-sub validation has completed.
To return all message only add the submission ID to the query string. E.g. https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/presubValidation?submissionid=89e74746-9c69-4d04-af4a-b0ffc083f86e
To determine the number of pre-sub validation messages for the submission use the "presubValidation/count" request.
To return a subset of messages add messageFrom and/or messageTo to the query string. NB. A payment can generate multiple validation messages which is why the optional parameters are "messageFrom" and "messageTo" rather than "recordNumberFrom" and "recordNumberTo".
E.g. The following will skip the first 100 message and return the next 100 messages: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/presubValidation?submissionid=89e74746-9c69-4d04-af4a-b0ffc083f86e&messageFrom=101&messageTo=200
The following will skip the first 49 messages and return all other messages: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/presubValidation?submissionid=89e74746-9c69-4d04-af4a-b0ffc083f86e&messageFrom=50
The following will return the first 200 messages: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/presubValidation?submissionid=89e74746-9c69-4d04-af4a-b0ffc083f86e&messageTo=200
To only return "Fixes" the query string could be: https://api.paygateservicedemo.com/bacs_publicapi/api/bacs/presubValidation?submissionid=89e74746-9c69-4d04-af4a-b0ffc083f86e&messageSeverity=Fix
submissionId required | string <uuid> ID of the submission the messages belongs to. |
messageSeverity | string Enum: "Info" "Duplicate" "Warning" "Fix" If parameter not provided then messages for all severity options returned with the most severe messages, i.e. Fixes, returned first. |
messageFrom | integer Determines first pre-sub val message to be returned |
messageTo | integer Determines last pre-sub val message to be returned |
[- {
- "submissionId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "fileNumber": 1,
- "recordNumber": 1,
- "criteriaId": "PSV/PI2 A",
- "title": "Invalid transaction code",
- "description": "The payment transaction code '89' is invalid for a BACS submission.",
- "presubValArea": "TransactionCode",
- "messageSeverity": "Fix",
- "messageSeverityValue": "Fix",
- "itemId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "pkid": "c3b0cfab-e9a5-42bd-8535-99043ccc8e35"
}, - {
- "submissionId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "fileNumber": 1,
- "recordNumber": 1,
- "criteriaId": "PSV/PI2",
- "title": "Transaction code not allowed.",
- "description": "The transaction code '89' is not allowed for the Service User Number 999992.",
- "presubValArea": "TransactionCode",
- "messageSeverity": "Fix",
- "messageSeverityValue": "Fix",
- "itemId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "pkid": "e6eff280-ad95-4048-a6eb-312a226f979e"
}, - {
- "submissionId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "fileNumber": 1,
- "recordNumber": 3,
- "criteriaId": "PSV/PI5 B",
- "title": "Invalid third party sortcode / account number",
- "description": "The third party sortcode '999197' and account number '90000038' failed a modulus check. The modulus check error is 'The supplied sort code could not be found'.",
- "presubValArea": "Format",
- "messageSeverity": "Warning",
- "messageSeverityValue": "Warning",
- "itemId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "pkid": "62f7c01e-cabb-4078-848e-01235a3acfae"
}, - {
- "submissionId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "fileNumber": 1,
- "recordNumber": 3,
- "criteriaId": "PSV/PI4 A",
- "title": "Invalid third party sort code",
- "description": "The third party sortcode '999197' and account number '90000038' failed a modulus check. The modulus check error is 'The supplied sort code could not be found'. The third party sort code '999197' could not be found. This may indicate that the sort code is incorrect. ",
- "presubValArea": "Format",
- "messageSeverity": "Warning",
- "messageSeverityValue": "Warning",
- "itemId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "pkid": "d7bd9237-122c-4ec4-9b50-b844021c1869"
}, - {
- "submissionId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "fileNumber": 1,
- "recordNumber": 1,
- "criteriaId": "PSV/P16",
- "title": "Submission contains illegal characters.",
- "description": "The Submission contains illegal characters in the bank reference, 'Illegal Characters'. This affects every payment in your submission file. These characters will be automatically amended before submitting to BACS.",
- "presubValArea": "Format",
- "messageSeverity": "Info",
- "messageSeverityValue": "Info",
- "itemId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "pkid": "ef6f7e0a-9c07-4f2d-a356-ba89bc5d8b5c"
}
]
Run pre-sub validation.
Only the submission ID is required at present.
submissionId required | string <uuid> The submission ID |
{- "submissionId": "477457f6-13f5-45f3-8c5d-5fae803adc8c"
}
{- "submissionId": "efdb4289-d331-4bfd-8370-feb1d4f763a1",
- "result": 0,
- "validationResult": "Valid",
- "resultMessage": null,
- "totalPresubValMessages": 0
}
Monitor progress of potentially long running tasks such as pre-sub validation. Progress will be from 0 to 100 and returned in the "Count" property.
submissionId required | string <uuid> Submission ID of running task |
{- "id": "3540ae61-e666-4c6d-9cdc-aaf53c863c2c",
- "success": true,
- "count": 75,
- "message": "",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Get list of groups the Service Account can use to create a submission or download reports.
groupRole | string Optional parameter. If parameter is missing it defaults to "create". The only allowed group roles are "create" and "collectReports" or any casing variant of these. |
[- {
- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "groupName": "BACS RFB",
- "networkType": "BACS",
- "groupType": 0,
- "groupTypeDesc": "BACS"
}, - {
- "groupId": "4695c631-4877-4df7-b7d2-47c16dd34532",
- "groupName": "FPS Online Legacy",
- "networkType": "FasterPayments",
- "groupType": 5,
- "groupTypeDesc": "FPSOnline"
}, - {
- "groupId": "469502ad-0789-4646-8d8c-db7fade55354",
- "groupName": "FPS RFB",
- "networkType": "FasterPayments",
- "groupType": 4,
- "groupTypeDesc": "FPS"
}, - {
- "groupId": "d34f764f-94e1-42fe-8eab-d69a9ad8a9f6",
- "groupName": "PGO Commit None",
- "networkType": "BACS",
- "groupType": 3,
- "groupTypeDesc": "BACSOnline"
}
]
Return ProcessingDateResponse object containing collection of non-processing dates, next processing date, min and max payment dates. This is only relevant for BACS submissions. Faster payment submissions are always processed "today".
{- "nonProcessingDatesISO": [
- "2021-08-30T00:00:00",
- "2021-12-27T00:00:00",
- "2021-12-28T00:00:00",
- "2022-01-03T00:00:00",
- "2022-04-15T00:00:00",
- "2022-04-18T00:00:00",
- "2022-05-02T00:00:00",
- "2022-06-02T00:00:00",
- "2022-06-03T00:00:00",
- "2022-08-29T00:00:00",
- "2022-12-26T00:00:00",
- "2022-12-27T00:00:00"
], - "nonProcessingDates": [
- "30/08/2021",
- "27/12/2021",
- "28/12/2021",
- "03/01/2022",
- "15/04/2022",
- "18/04/2022",
- "02/05/2022",
- "02/06/2022",
- "03/06/2022",
- "29/08/2022",
- "26/12/2022",
- "27/12/2022"
], - "nextProcessingDateISO": "2021-08-27T00:00:00+01:00",
- "nextProcessingDate": "27/08/2021",
- "minPaymentDateISO": "2021-08-31T00:00:00+01:00",
- "minPaymentDate": "31/08/2021",
- "maxPaymentDateISO": "2021-09-28T00:00:00+01:00",
- "maxPaymentDate": "28/09/2021",
- "maxProcessingDateISO": "2021-09-27T00:00:00+01:00",
- "maxProcessingDate": "27/09/2021"
}
Get current status of a submission.
Possible status values returned in the "message" property:
After PUT submission - Created
After POST action Sign - Signed
After POST action Approve - Approved
After successful POST action Send - Submitted
After failed POST action Send - Rejected
After DELETE action - Cancelled
Pass an invalid Submission ID as a parameter - NotFound
The "count" property returns a value of 1 if the submission was found; see "Action exists" example JSON. Otherwise the value returned is 0; see "No action" example JSON.
You should also use the "success" property to determine whether a valid Submission ID was passed to the API.
submissionId required | string <uuid> ID of the submission |
{- "id": "81872cd1-44c6-4b1b-a21a-eb4c372e5b40",
- "success": true,
- "count": 1,
- "message": "Signed",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Sign, approve or send a submission
There are different possible "workflow" combinations.
Callback Process: The payload sent to the customer endpoint is signed using the same API key used to create the OAuth 2.0 token used to access the BACS API. The signature hash is sent in the headers. The endpoint can use the API key to verify that the payload has originated from paygate.
A customer endpoint example which includes payload verification can be found at https://github.com/paygateuk/WebhookClient
submissionId required | string <uuid> The submission ID. |
actionType | string Sign, Approve or Send. This is required for the sign, approve and send requests. If this is included with the PUT Save Submission request it will be ignored. |
subType | string Vocalink submission type e.g. live, structuralTest. BACS has an extra option, fullTest. This is only required for a direct group "Send" action or for an indirect group "Approve" action. If this is included in the request for any other call it will be ignored. |
createSignAction | boolean True if the API should create a sign action when saving the submission via submission PUT. |
createApproveAction | boolean True if the API should create an approve action after signing with the API or after a user processes a sign action for a submission created by the API. |
createSendAction | boolean True if the API should create a send action after approving with the API or after a user processes an approve action for a submission created by the API. |
callbackUri | string Customer callback URI that the BACS API will send acknowledgement to after a manual process has been completed. |
{- "submissionId": "37c634b0-9cda-42fc-bc35-ecacb2e2bbef",
- "actionType": "Sign"
}
{- "id": "37c634b0-9cda-42fc-bc35-ecacb2e2bbef",
- "success": true,
- "count": 0,
- "message": "Submission has been signed.",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Cancel a submission
submissionId required | string <uuid> ID of the submission |
cancellationReason | string Optional reason for cancellation. |
{- "id": "972f5e2a-5977-4a89-9ea1-34c03360f939",
- "success": true,
- "count": 0,
- "message": "Submission has been cancelled",
- "messageType": 0,
- "messageTypeDesc": "Info"
}
Download reports
Downloaded reports
networkType required | string Enum: "BACS" "FasterPayments" BACS or FasterP ayments |
reportDownloadFormat required | string Enum: "XML" "HTML" "CSV" BACS report formats: XML and HTML. Faster payment report formats: XML and CSV |
reportIds required | Array of strings Array of report download IDs |
groupId required | string <uuid> Group ID linked to the report. |
{- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "networkType": "BACS",
- "reportDownloadFormat": "XML",
- "reportIds": [
- "57787358",
- "57789781"
]
}
[- {
- "reportId": "57892505",
- "data": "<?xml version = '1.0' encoding = 'UTF-8'?>\n<BACSDocument xmlns:xsi=\"http://www.w3.org/2001/XMLSchema-instance\" xsi:noNamespaceSchemaLocation=\"newbacs-reports.xsd\">\n<Data>\n <InputReport>\n <Header reportNumber=\"1\" reportType=\"REFT2013\">\n <ProducedOn date=\"2022-02-08\" time=\"13:58:34\"/>\n <ProcessingDate date=\"2022-02-09\"/>\n </Header>\n <Submission>\n <SubmissionInformation submissionReferenceNumber=\"2022020901S006246384\" media=\"BACSTEL-IP\" bureauName=\"SS - Ultra Payments Bureau 2\" volumeSerialNumber=\"000940\" bureauSponsor=\"BARCLAYS BANK PLC\" bureauNumber=\"B99997\"/>\n <UserFile fileLevelMessage=\"\">\n <InputUserFile>\n <UserFileInformation userNumber=\"999992\" userName=\"SS - Ultra Payments 2\" userFileNumber=\"242\" sequenceNumber=\"0001\" fileCurrency=\"GBP\" uhl1WorkCode=\"1 DAILY \" uhl1ProcessingDate=\"2022-02-09\" fileReferenceNumber=\"2022020901F008527276\" userSponsor=\"BARCLAYS BANK PLC\"/>\n <DaySection daySectionLevelErrorMessage=\"\">\n <DaySectionRecord dayRef=\"2022020901D049509067\" recordDate=\"2022-02-09\" processingDate=\"2022-02-09\">\n <Credit numberOf=\"6\" currency=\"GBP\" valueOf=\"21000.00\">\n <Contra numberOf=\"1\" currency=\"GBP\" valueOf=\"21000.00\"/>\n </Credit>\n <Debit numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\">\n <Contra numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n </Debit>\n </DaySectionRecord>\n <Totals>\n <Credit numberOf=\"6\" currency=\"GBP\" valueOf=\"21000.00\">\n <Contra numberOf=\"1\" currency=\"GBP\" valueOf=\"21000.00\"/>\n </Credit>\n <Debit numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\">\n <Contra numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n </Debit>\n </Totals>\n </DaySection>\n <InputReportSummary>\n <AccountTotals>\n <AccountTotal number=\"20134074\" sortCode=\"200000\" type=\"Individual\">\n <CreditEntry>\n <AcceptedRecords numberOf=\"6\" currency=\"GBP\" valueOf=\"21000.00\"/>\n <RejectedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <TotalsRecords numberOf=\"6\" currency=\"GBP\" valueOf=\"21000.00\"/>\n </CreditEntry>\n <DebitEntry>\n <AcceptedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <RejectedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <TotalsRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n </DebitEntry>\n <CreditContraEntry>\n <AcceptedRecords numberOf=\"1\" currency=\"GBP\" valueOf=\"21000.00\"/>\n <RejectedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <TotalsRecords numberOf=\"1\" currency=\"GBP\" valueOf=\"21000.00\"/>\n </CreditContraEntry>\n <DebitContraEntry>\n <AcceptedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <RejectedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <TotalsRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n </DebitContraEntry>\n </AccountTotal>\n </AccountTotals>\n <AgreementOfFileTotals>\n <CreditEntry>\n <AcceptedRecords numberOf=\"6\" currency=\"GBP\" valueOf=\"21000.00\"/>\n <RejectedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <UserTrailerTotals numberOf=\"6\" currency=\"GBP\" valueOf=\"21000.00\"/>\n <AdjustmentRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n </CreditEntry>\n <DebitEntry>\n <AcceptedRecords numberOf=\"1\" currency=\"GBP\" valueOf=\"21000.00\"/>\n <RejectedRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n <UserTrailerTotals numberOf=\"1\" currency=\"GBP\" valueOf=\"21000.00\"/>\n <AdjustmentRecords numberOf=\"0\" currency=\"GBP\" valueOf=\"0.00\"/>\n </DebitEntry>\n </AgreementOfFileTotals>\n </InputReportSummary>\n </InputUserFile>\n </UserFile>\n </Submission>\n </InputReport>\n </Data><SignatureMethod>Vanilla</SignatureMethod><Signature>MIILUgYJKoZIhvcNAQcCoIILQzCCCz8CAQExDzANBglghkgBZQMEAgEFADALBgkqhkiG9w0BBwGg\nggj4MIIErDCCA5SgAwIBAgIQJu+vgoifBEiWqah2iK3wWTANBgkqhkiG9w0BAQsFADBzMRUwEwYD\nVQQKEwxCYXJjbGF5cyBQTEMxLDAqBgNVBAsTI1Rlc3QgQkFDUyBDdXN0b21lciBJZGVudGl0eSBD\nQSAoMTEpMSwwKgYDVQQDEyNUZXN0IEJBQ1MgQ3VzdG9tZXIgSWRlbnRpdHkgQ0EgKDExKTAeFw0y\nMjAxMDYwMDAwMDBaFw0yMzAxMDYyMzU5NTlaMEQxCzAJBgNVBAYTAkdCMRUwEwYDVQQKFAxCYXJj\nbGF5cyBQTEMxHjAcBgNVBAMTFUhTTTIwNDggU0hBMkNPQVQgMjAyMTCCASIwDQYJKoZIhvcNAQEB\nBQADggEPADCCAQoCggEBAL84M5DVWH2k/nmox81cAPPonB6/RCPaNf4Zz8+G4e5P8/A3OkP9hY6t\nQs0UakWVpCOxOFIlxM/Ct/2gnsx+aFaEJay9buFc3g1i1AjvkhglgvJmyF9cbfpUZf+xbR+cT620\neszilIaRnKwOD7LC4rVa+dC3U91QUFhmqVzskJ82qxB5gGA95M018FXDFKC4CTGUvLq86BLpf4BO\ncfy8O7iN0iBj+Q7K7clU/p+NeWtrzMVXxqSo2t5LEJuV30YfkVb73iY73qLelfsRe2Ly2dulY1CC\naSSspg244Aa3HBbniqJ+3k21v9HMQZBsyCj9OJUWxGZC5dlZogb0FYd1gekCAwEAAaOCAWkwggFl\nMA4GA1UdDwEB/wQEAwIGwDAfBgNVHSMEGDAWgBQ9HDa113ipkK1hfWbOykPWJqK//zCB7wYDVR0g\nBIHnMIHkMIHhBg0qhjoAAb7QdwIBBAICMIHPMIHMBggrBgEFBQcCAjCBvxqBvFRoaXMgY2VydGlm\naWNhdGUgaXMgaXNzdWVkIGJ5IEJhcmNsYXlzIFBMQywgd2hpY2ggaGFzIG5vIGxpYWJpbGl0eSB1\nbmRlciBpdCBvdGhlciB0aGFuIHRvIHBlcnNvbnMgd2hvIGhhdmUgZW50ZXJlZCBpbnRvLCBhbmQg\ndGhlbiBvbmx5IHRvIHRoZSBleHRlbnQgc2V0IG91dCBpbiwgYW4gYWdyZWVtZW50IHdpdGggQmFy\n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</Signature></BACSDocument>"
}
]
Search submissions
createdFrom | string Submission creation date. Format is yyyy-MM-dd. If not passed to the API this will default to today's date. |
createdTo | string Submission creation date. Format is yyyy-MM-dd. If not passed to the API this will default to today's date. |
groupId | string <uuid> Used to limit returned submissions to those linked to the requested group. |
reference | string Optional submission reference search parameter |
networkType | string Enum: "BACS" "FasterPayments" "All" If not sent to the API this will default to "All" |
{- "createdFrom": "2021-07-17",
- "createdTo": "2021-07-21",
- "reference": "",
- "groupId": "d34f764f-94e1-42fe-8eab-d69a9ad8a9f6",
- "networkType": "BACS"
}
[- {
- "submissionId": "d138f8ca-3f3d-4f1c-bc21-67fc68a31bfd",
- "networkType": "BACS",
- "bankReference": "CURRENT",
- "groupName": "BACS RFB",
- "submissionStatus": "Created",
- "submittedOn": "",
- "createdOn": "20/07/2021",
- "submissionReference": "ABC",
- "totalAmount": 602
}, - {
- "submissionId": "ba38f8ca-3f3d-4f1c-bc21-67fc68a31bfd",
- "networkType": "BACS",
- "bankReference": "CURRENT",
- "groupName": "BACS RFB",
- "submissionStatus": "complete",
- "submittedOn": "20/07/2021",
- "createdOn": "20/07/2021",
- "submissionReference": "Scorpions",
- "totalAmount": 601
}, - {
- "submissionId": "aac8f8ca-3f3d-4f1c-bc21-67fc68a31bfd",
- "networkType": "BACS",
- "bankReference": "CURRENT",
- "groupName": "BACS RFB",
- "submissionStatus": "Cancelled",
- "submittedOn": "",
- "createdOn": "19/07/2021",
- "submissionReference": "July payments",
- "totalAmount": 600
}, - {
- "submissionId": "fff8f8ca-3f3d-4f1c-bc21-67fc68a31bfd",
- "networkType": "BACS",
- "bankReference": "CURRENT",
- "groupName": "BACS RFB",
- "submissionStatus": "complete",
- "submittedOn": "16/07/2021",
- "createdOn": "16/07/2021",
- "submissionReference": "For those about to rock",
- "totalAmount": 600
}
]
Search payments
Search for payments.
groupId | string <uuid> Used to limit returned payments to those linked to the requested group. |
processingDateFrom | string Submission processing date. Format is yyyy-MM-dd. If not passed to the API this will default to today's date. |
processingDateTo | string Submission processing date. Format is yyyy-MM-dd. If not passed to the API this will default to today's date. |
thirdPartySortCode | string Optional: Only return payments which match the sort code. |
thirdPartyAccountNumber | string Optional: Only return payments which match the account number. |
thirdPartyAccountName | string Optional: Only return payments which match the account name. |
exactAccountNameSearch | boolean When true then only return payments which match the requested thirdPartyAccountName exactly. |
amountFrom | number <double> >= 0 Optional amount range search returns payments where the amount >= this value. |
amountTo | number <double> >= 0 Optional amount range search returns payments where the amount <= this value. |
{- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "processingDateFrom": "2021-07-16",
- "processingDateTo": "2021-07-23"
}
[- {
- "submissionId": "34418516-e0a5-4706-80b0-220c101411bd",
- "thirdPartyAccountName": "GEDDY LEE",
- "thirdPartyAccountNumber": "10000003",
- "thirdPartySortCode": "010197",
- "transactionCode": "99",
- "amount": 101,
- "userReference": "BLUE JAYS TICKET",
- "originatorAccountNumber": "12345679",
- "originatorSortCode": "010004",
- "processingDate": "2021-07-21T00:00:00",
- "paymentDate": "2021-07-22T00:00:00",
- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "paymentNetworkType": 0,
- "submissionStatus": "complete",
- "groupName": "BACS RFB",
- "networkName": "BACS"
}, - {
- "submissionId": "3540ae61-e666-4c6d-9cdc-aaf53c863c2c",
- "thirdPartyAccountName": "NEIL PEART",
- "thirdPartyAccountNumber": "10000038",
- "thirdPartySortCode": "010197",
- "transactionCode": "99",
- "amount": 300,
- "userReference": "NEW MOTORBIKE",
- "originatorAccountNumber": "12345679",
- "originatorSortCode": "010004",
- "processingDate": "2021-07-21T00:00:00",
- "paymentDate": "2021-07-22T00:00:00",
- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "paymentNetworkType": 0,
- "submissionStatus": "Created",
- "groupName": "BACS RFB",
- "networkName": "BACS"
}, - {
- "submissionId": "3540ae61-e666-4c6d-9cdc-aaf53c863c2c",
- "thirdPartyAccountName": "ALEX LIFESON",
- "thirdPartyAccountNumber": "10000011",
- "thirdPartySortCode": "010197",
- "transactionCode": "99",
- "amount": 200,
- "userReference": "GOLF MEMBERSHIP",
- "originatorAccountNumber": "12345679",
- "originatorSortCode": "010004",
- "processingDate": "2021-07-21T00:00:00",
- "paymentDate": "2021-07-22T00:00:00",
- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "paymentNetworkType": 0,
- "submissionStatus": "Created",
- "groupName": "BACS RFB",
- "networkName": "BACS"
}
]
Return the processing date for the requested payment date which can be in either the yyyy-MM-dd or dd/MM/yyyy format. E.g. .../processingdate/getProcessingDateFromPaymentDate?paymentDate=23/07/2021 or .../processingdate/getProcessingDateFromPaymentDate?paymentDate=2021-07-23
For a payment date of 23/07/2021, the processing date returned would be 22/07/2021
paymentDate required | string Example: paymentDate=23/07/2021 |
{- "processingDate": "22/07/2021",
- "processingDateISO": "2021-07-22"
}
Return the payment date for the requested processing date which can be in either the yyyy-MM-dd or dd/MM/yyyy format. E.g. .../processingdate/getPaymentDateFromProcessingDate?processingDate=23/07/2021 or .../processingdate/getPaymentDateFromProcessingDate?processingDate=2021-07-23
For a processing date of Friday 23/07/2021, the payment date returned would be Monday 26/07/2021
processingDate required | string Example: processingDate=23/07/2021 |
{- "paymentDate": "26/07/2021",
- "paymentDateISO": "2021-07-26"
}
Return BACS or faster payment report list
List of returned reports matching search criteria
groupId required | string <uuid> Needed to login to Vocalink and set correct SUN |
networkType required | string Enum: "BACS" "FasterPayments" BACS or FasterP ayments |
reportType required | string Enum: "Arrival" "Input" "ARUCS" "ARUDD" "Withdrawal" "ADDACS" "AUDDIS" "DDICAdvice" "AWACS" "GenericTest" "MessagingTest" "DCAInput" "ComponentHistory" "TestInput" "All" Available choices depends on the network type. DCAInput is for faster payments, all others are for BACS. |
reportPeriod required | string Enum: "CurrentDay" "Last2Days" "LastWeek" "Last2Weeks" "LastMonth" "WithinLast2Days" "WithinLast3Days" "WithinLast4Days" "WithinLast5Days" BACS enums: CurrentDay, Last2Days, LastWeek, Last2Weeks, LastMonth. Faster Payments enums: CurrentDay, WithinLast2Days, WithinLast3Days, WithinLast4Days, WithinLast5Days |
reportAccessed required | string Enum: "No" "Yes" "Both" Available choices depends on the network type. Both is only relevant for Faster Payments. |
{- "groupId": "3d8ac4aa-4610-48a7-8d74-a5a3e192a42c",
- "networkType": "BACS",
- "reportType": "Input",
- "reportPeriod": "LastMonth",
- "reportAccessed": "Yes"
}
{- "availableReports": [
- {
- "reportId": "57886863",
- "reportName": "Input Report",
- "reportType": "2013",
- "previouslyAccessed": "No",
- "generationTimestamp": "2022-01-25T11:35:00",
- "processingDay": "2022-01-26",
- "serviceUserNumber": "999992",
- "genericTestVersion": "false"
}, - {
- "reportId": "57878558",
- "reportName": "Input Report",
- "reportType": "2013",
- "previouslyAccessed": "Yes",
- "generationTimestamp": "2022-01-12T10:12:36",
- "processingDay": "2022-01-13",
- "serviceUserNumber": "999992",
- "genericTestVersion": "false"
}
]
}
Get submission summary details.
submissionId required | string <uuid> The submission Id GUID |
{- "submissionId": "f318cd65-db95-407e-948e-ba29429b1769",
- "networkType": "BACS",
- "totalRecordCount": 3,
- "creditRecordCount": 3,
- "debitRecordCount": 0,
- "ddiRecordCount": 0,
- "creditContraCount": 2,
- "debitContraCount": 0,
- "totalValue": 600,
- "creditValue": 600,
- "debitValue": 0,
- "creditContraValue": 600,
- "debitContraValue": 0,
- "serviceUserNumber": "999992",
- "workCode": "4 MULTI",
- "contraNarrative": "",
- "processingDate": "23/08/2021",
- "submissionDate": "19/08/2021"
}
Standard18 is the fixed length file format that is sent to BACS and Faster Payments containing the payment information in the submission. This API call returns the Standard18 for the requested submission.
submissionId required | string <uuid> The submission Id GUID |
{ "standard18": "VOL1004424 999992 1<PaymentFileHeader fileSequenceNumber=\"0001\" fileIdentifier=\"A999992S 1999992\" bodyFormat=\"STD18\" />HDR1A999992S 199999200442400010001 22042 220920000000 HDR2F0200000100 00 UHL1 22045999999 000000001 DAILY 260 0101971000000309901000412345679000000000010000ILLEGAL CHARACTERSBLUE JAYS TICKET GEDDY LEE 0101971000001109901000412345679000000000020000ILLEGAL CHARACTERSGOLF MEMBERSHIP ALEX LIFESON 0101971000003809901000412345679000000000030000ILLEGAL CHARACTERSNEW MOTORBIKE NEIL PEART 0100041234567901701000412345679000000000060000ILLEGAL CHARACTERSCONTRA ILLEGAL CHARACTERSEOF1A999992S 199999200442400010001 22042 220920 EOF2F0200000100 00 UTL10000000060000000000006000000000010000003 0000000 " }
Get number of pre-sub validation messages for a submission.
Data returned is the number of pre-sub validation messages for the submission e.g. 5
submissionId required | string <uuid> |
{- "messageCount": 4
}