### API Attributes and Examples Source: https://bcbdigital.docs.apiary.io/reference/services/blinc-beneficiaries/list-blinc-beneficiaries This section details the available attributes for API requests, including Production and Raw options, as well as example request headers and a success response body. ```APIDOC ## API Attributes and Examples ### Description This section details the available attributes for API requests, including Production and Raw options, as well as example request headers and a success response body. ### Method GET ### Endpoint /websites/bcbdigital_apiary_io ### Parameters #### Query Parameters - **attribute** (string) - Optional - Specifies the attribute to be used (e.g., 'Production', 'Raw', 'Try'). #### Request Body Not applicable for this endpoint. ### Request Example ```json { "attribute": "Production" } ``` ### Response #### Success Response (200) - **Content-Type** (string) - application/json - **Body** (array) - A list of attribute details. #### Response Example ```json [ { "id": 9996, "blinc_id": "800999999999", "ccy": "GBP", "name": "BLINC Member" }, ... ] ``` #### Error Handling - **400 Bad Request**: If no action is selected or an invalid attribute is provided. - **401 Unauthorized**: If the access token is invalid or missing. ``` -------------------------------- ### Webhook Headers Example (JSON) Source: https://bcbdigital.docs.apiary.io/reference/services/blinc-beneficiaries/create-api Example JSON object demonstrating the required headers for webhook requests, including Content-Type and the custom X-BCB-SIGNATURE for verification. ```json { "headers":{ "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } } ``` -------------------------------- ### Webhook Request Headers Example (JSON) Source: https://bcbdigital.docs.apiary.io/reference/services/payment-status-webhooks This JSON object shows an example of the headers that might be included in a webhook request. It specifies the content type and includes a signature for verification. ```json { "headers":{ "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } } ``` -------------------------------- ### Create Beneficiary Account API Example (Node.js) Source: https://bcbdigital.docs.apiary.io/reference/services/deposits/reverse-deposit Example demonstrating how to create a new beneficiary account using the bcbdigital API. This involves making a POST request to the v4/accounts/ endpoint with the is_beneficiary flag set to 1 and providing the necessary beneficiary address fields. ```javascript POST v4/accounts/ { "is_beneficiary": 1, "node_location_line_1": "123 Main St", "node_location_city": "Anytown", "node_country": "US", // ... other beneficiary account details } ``` -------------------------------- ### GET /account/:account_id/transactions - Get Account Transactions Source: https://bcbdigital.docs.apiary.io/reference/services/transactions/create-api Retrieves details of your operational account transactions. Useful for finding deposit endToEndId. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves a list of transactions for a specified account. This endpoint can be used to find the `endToEndId` of a deposit. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (string) - Required - The ID of the account to retrieve transactions for. ### Response #### Success Response (200) - Returns a list of transaction objects, each containing details such as `endToEndIdentification` for deposits. #### Response Example ```json [ { "transactionId": "txn_123", "type": "deposit", "amount": "100.00", "currency": "GBP", "description": "Incoming payment", "endToEndIdentification": "dep_abc123" } ] ``` ``` -------------------------------- ### Notifications Setup Source: https://bcbdigital.docs.apiary.io/introduction/create-api Information on how to set up notifications via webhooks. Contact support for details. ```APIDOC ## Notifications Setup ### Description Our notifications service produces webhooks each time a payment reaches Complete status or a new deposit is received. To set these up, please contact us via usual communication channels. There can be a dedicated URL per account. ### Headers `X-BCB-SIGNATURE`: This can be verified. Please get in touch for additional information. ```json { "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } ``` ``` -------------------------------- ### GET /account/:account_id/transactions - Get Account Transactions Source: https://bcbdigital.docs.apiary.io/reference/services/accounts Retrieve details of transactions for a specific account. This can be used to find deposit endToEndIds. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves a list of transactions associated with a specified account ID. Useful for auditing and finding transaction details like deposit endToEndIds. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (string) - Required - The ID of the account to retrieve transactions for. ### Response #### Success Response (200) - A list of transaction objects, each containing details such as `endToEndIdentification`, `transactionId`, `status`, etc. #### Response Example [ { "endToEndIdentification": "DEPOSIT_END_TO_END_ID_123", "transactionId": "TXN_ABCDEF", "status": "Completed", "type": "Deposit", "amount": "100.00", "currency": "GBP", "timestamp": "2023-10-27T10:00:00Z" } ] ``` -------------------------------- ### Setting Up Notifications Source: https://bcbdigital.docs.apiary.io/reference/services/account-balance/create-api Information on how to configure webhook endpoints for receiving notifications. ```APIDOC ## Setting Up Notifications ### Description Our notifications service produces webhooks each time a payment reaches Complete status or a new deposit is received. To set up these webhooks, please contact us via your usual communication channels. There can be a dedicated URL per account. ### Headers **X-BCB-SIGNATURE**: This header can be used for signature verification. Please get in touch for additional information. ### Example Headers ```json { "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } ``` ``` -------------------------------- ### GET /account/:account_id/transactions - Get Account Transactions Source: https://bcbdigital.docs.apiary.io/reference/services/account-balance/get-account-balance Retrieves details of your operational account transactions. Useful for finding deposit endToEndIds. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves a list of transactions associated with a specific account. This endpoint can be used to find the `endToEndId` of deposits. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (string) - Required - The ID of the account for which to retrieve transactions. ### Response #### Success Response (200) - The response will be an array of transaction objects, each containing details like `endToEndIdentification`, `type`, `amount`, `currency`, etc. #### Response Example ```json [ { "endToEndIdentification": "DEPOSIT_END_TO_END_ID", "type": "DEPOSIT", "amount": "100.00", "currency": "GBP", "description": "Incoming payment" } ] ``` ``` -------------------------------- ### Webhook Setup and Signature Verification Source: https://bcbdigital.docs.apiary.io/reference/services/blinc-beneficiaries/create-api Information on how to set up webhook URLs for notifications and verify the `X-BCB-SIGNATURE` header. ```APIDOC # Notifications Service Setup ## Setting up Webhooks Our notifications service produces webhooks each time a payment reaches Complete status or a new deposit is received. To set these up, please contact us via usual communication channels. There can be a dedicated URL per account. ## Signature Verification Each notification includes an `X-BCB-SIGNATURE` header. This signature can be verified to ensure the authenticity of the incoming webhook. Please get in touch for additional information on the verification process. ### Request Headers Example ```json { "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } ``` ``` -------------------------------- ### Notifications API Setup Source: https://bcbdigital.docs.apiary.io/reference/virtual-accounts Information on how to set up and configure notifications, including webhook URLs and signature verification. ```APIDOC ## Notifications Service Our notifications service produces webhooks each time a payment reaches Complete status or new deposit is received. In order to set these up - please contact us via usual communication channels. There can be a dedicated URL per account. ### Headers - **X-BCB-SIGNATURE**: This header contains a signature that can be verified. Please get in touch for additional information regarding the signature verification process. ### Example Request Headers ```json { "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } ``` ``` -------------------------------- ### Authentication Source: https://bcbdigital.docs.apiary.io/introduction/description-of-server-responses/create-api Explains how to authenticate API requests using an Access Token and provides an example of obtaining a token. ```APIDOC ## Authentication All API calls require authentication. For a successful authentication you need to provide your Access Token (`Bearer access_token`). Each request must contain the following Headers: `Bearer access_token` You can ask for an access token using your client id + client secret (URL: https://auth.bcb.group/oauth/token). ### Request Example ``` curl --request POST \ --url https://auth.bcb.group/oauth/token \ --header 'content-type: application/json' \ --data '{"client_id":"MY-CLIENT-ID","client_secret":"MY-CLIENT-SECRET"}' ``` ``` -------------------------------- ### Notifications Setup Source: https://bcbdigital.docs.apiary.io/introduction/description-of-server-responses/create-api This section outlines how to set up webhook notifications for payment completion and deposit events. Please contact us via usual communication channels to configure these webhooks. A dedicated URL per account may be available. ```APIDOC ## Notifications Setup ### Description Our notifications service produces webhooks each time a payment reaches Complete status or new deposit is received. In order to set these up - please contact us via usual communication channels. There can be a dedicated URL per account. ### Headers `X-BCB-SIGNATURE` - this can be verified - please get in touch for additional information. ```json { "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } ``` ``` -------------------------------- ### Successful Payment Response Example Source: https://bcbdigital.docs.apiary.io/reference/services/payments/request-payment Example of a successful HTTP 200 OK response from the BCB Digital API after a payment request. The response is in JSON format and includes details such as transaction identification, a unique nonce, and the acceptance status. ```json [ { "endToEndIdentification": "PaymentEndToEndIdentification", "transactionId": "PaymentTransactionId", "nonce": "PaymentNonce", "response": "Accepted" } ] ``` -------------------------------- ### Cancel Payment POST Request Example Source: https://bcbdigital.docs.apiary.io/reference/services/blinc-beneficiaries/create-api This example demonstrates how to cancel an unverified payment via the BCB Digital API. A POST request is sent with the relevant account ID and end-to-end ID to halt the transaction. A successful cancellation is confirmed with a 202 Accepted response. ```http POST /payments/unverified/cancel HTTP/1.1 Host: api.bcb.digital Authorization: Bearer access_token Content-Type: application/json { "accountId": "your_account_id", "end2endId": "your_end_to_end_id" } ``` -------------------------------- ### Webhook Headers Example Source: https://bcbdigital.docs.apiary.io/reference/services/create-beneficiary Illustrates the necessary headers for API webhook requests, including Content-Type and the BCB-SIGNATURE for verification. ```json "headers":{ "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } ``` -------------------------------- ### Make a Payment Source: https://bcbdigital.docs.apiary.io/reference/services/accounts/list-accounts Initiate a payment with specified beneficiary details, currency, amount, and reference. Supports optional fields like reason, notes, and preferred scheme. ```APIDOC ## POST /payments ### Description Initiates a payment transaction. You can specify beneficiary details, amount, currency, and other relevant information. ### Method POST ### Endpoint /payments ### Parameters #### Request Body - **counterparty_id** (Number) - Required - The ID of the counterparty. - **sender_account_id** (Number) - Required - The ID of the sender's account. - **beneficiary_name** (String) - Required - The name of the beneficiary. - **beneficiary_account_number** (String) - Required - The beneficiary's account number. - **beneficiary_sort_code** (String) - Required - The beneficiary's sort code. - **ccy** (String) - Required - The currency of the payment (e.g., GBP). - **amount** (String) - Required - The payment amount. - **reference** (String) - Required - The payment reference. - **reason** (String) - Optional - The reason for the payment. - **notes** (String) - Optional - Additional notes for the payment. - **preferred_scheme** (String) - Optional - The preferred payment scheme (e.g., FPS). - **nonce** (String) - Required - A unique identifier for the transaction. ### Request Example ```json { "counterparty_id": "MY-COUNTERPARTY-ID", "sender_account_id": "ACCOUNT-ID", "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "TEST", "beneficiary_sort_code": "TEST", "ccy": "GBP", "amount": "AMOUNT", "reference": "MY REFERENCE", "reason": "REASON", "notes": "SOME NOTES", "preferred_scheme": "FPS", "nonce": "933829795" } ``` ### Response #### Success Response (200) - **endToEndIdentification** (String) - The unique identifier for the transaction. - **transactionId** (String) - The transaction ID. - **nonce** (String) - The nonce provided in the request. - **response** (String) - The status of the payment initiation (e.g., 'Accepted'). #### Special Response (EUR only) - **endToEndIdentification** (String) - The unique identifier for the transaction. - **transactionId** (String) - The transaction ID. - **nonce** (String) - The nonce provided in the request. - **response** (String) - 'vopheld' if the payment is held for verification of payee. - **data** (Object) - Additional data if response is 'vopheld'. - **matchStatus** (String) - The match status ('close_match', 'no_match', or 'impossible_match'). - **matchedName** (String) - The matched beneficiary name (if matchStatus is 'close_match'). ### Response Example ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "Accepted" } ] ``` ### EUR Response Example (Verification of Payee Held) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` ``` -------------------------------- ### Approve Payment POST Request Example Source: https://bcbdigital.docs.apiary.io/reference/services/blinc-beneficiaries/create-api This example shows how to approve an unverified payment using the BCB Digital API. It involves sending a POST request with the account ID and the unique end-to-end ID of the payment to be approved. Successful approval results in a 202 Accepted response. ```http POST /payments/unverified HTTP/1.1 Host: api.bcb.digital Authorization: Bearer access_token Content-Type: application/json { "accountId": "your_account_id", "end2endId": "your_end_to_end_id" } ``` -------------------------------- ### Verification of Payee Webhook Response Examples Source: https://bcbdigital.docs.apiary.io/reference/services/account-balance/create-api These JSON examples illustrate the webhook notifications received for different Verification of Payee (VOP) statuses. They include transaction details and the specific match status, such as 'close_match', 'no_match', or 'impossible_match'. The 'close_match' status may also include a suggested 'matchedName'. ```json [ { "endToEndIdentification": "a85407ff36164b0d8c5f1281673920da", "transactionId": "0f25ce815fbc4ae38a15b773b6080fd8", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` ```json [ { "endToEndIdentification": "a85407ff36164b0d8c5f1281673920da", "transactionId": "0f25ce815fbc4ae38a15b773b6080fd8", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "no_match" } } ] ``` ```json [ { "endToEndIdentification": "a85407ff36164b0d8c5f1281673920da", "transactionId": "0f25ce815fbc4ae38a15b773b6080fd8", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "impossible_match" } } ] ``` -------------------------------- ### Make a Payment Source: https://bcbdigital.docs.apiary.io/reference/services/accounts/create-api Initiates a payment with specified details. Includes optional fields and supports various currency schemas. ```APIDOC ## POST /payments ### Description Initiates a payment with specified details. Includes optional fields and supports various currency schemas. ### Method POST ### Endpoint /payments ### Parameters #### Request Body - **counterparty_id** (Number) - Required - The ID of the counterparty. - **sender_account_id** (Number) - Required - The ID of the sender's account. - **beneficiary_name** (String) - Required - The name of the beneficiary. - **beneficiary_account_number** (String) - Required - The account number of the beneficiary. - **beneficiary_sort_code** (String) - Required - The sort code of the beneficiary. - **ccy** (String) - Required - The currency of the payment (e.g., "GBP"). - **amount** (String) - Required - The amount to be paid. - **reference** (String) - Required - A reference for the payment. - **reason** (String) - Optional - The reason for the payment. - **notes** (String) - Optional - Additional notes for the payment. - **preferred_scheme** (String) - Optional - The preferred payment scheme (e.g., "FPS"). - **nonce** (String) - Required - A unique identifier for the transaction. ### Request Example ```json { "counterparty_id": "MY-COUNTERPARTY-ID", "sender_account_id": "ACCOUNT-ID", "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "TEST", "beneficiary_sort_code": "TEST", "ccy": "GBP", "amount": "AMOUNT", "reference": "MY REFERENCE", "reason": "REASON", "notes": "SOME NOTES", "preferred_scheme": "FPS", "nonce": "933829795" } ``` ### Response #### Success Response (200) - **endToEndIdentification** (String) - The end-to-end identification for the transaction. - **transactionId** (String) - The unique transaction ID. - **nonce** (String) - The nonce provided in the request. - **response** (String) - The status of the payment (e.g., "Accepted"). #### Response Example (vopheld) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` #### Response Example (Standard) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "Accepted" } ] ``` ``` -------------------------------- ### Make Payment Request Body Examples Source: https://bcbdigital.docs.apiary.io/reference/services/payments/request-payment Examples of JSON request bodies for making payments via the BCB Digital API. Supports specifying beneficiary account details directly or by using account numbers and sort codes. Ensure to replace placeholders with actual values. The 'nonce' field is optional. ```json { "counterparty_id": YOUR_COUNTERPARTY_ID, "sender_account_id": YOUR_ACCOUNT_ID, "beneficiary_account_id": BENEFICIARY_ACCOUNT_ID, "ccy": "GBP", "amount": "888.11", "reference": "Buy goods 0801", "reason": "Payment for goods or services", "notes": "URGENT", "preferred_scheme": "AUTO", "nonce": "933829795" } ``` ```json { "counterparty_id": YOUR_COUNTERPARTY_ID, "sender_account_id": YOUR_ACCOUNT_ID, "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "ACCOUNT NUMBER", "beneficiary_sort_code": "SORT CODE", "ccy": "GBP", "amount": "888.11", "reference": "Invoice 0801", "reason": "Payment for goods or services", "notes": "Urgent please", "preferred_scheme": "AUTO", "nonce": "933829795" } ``` -------------------------------- ### Make a Payment Source: https://bcbdigital.docs.apiary.io/reference/services/payment-status-webhooks/create-api Initiates a payment with specified details. Supports various currencies and optional fields for beneficiary information. ```APIDOC ## POST /payments ### Description Initiates a payment with specified details. Supports various currencies and optional fields for beneficiary information. ### Method POST ### Endpoint /payments ### Parameters #### Request Body - **counterparty_id** (Number) - Required - The ID of the counterparty. - **sender_account_id** (Number) - Required - The ID of the sender's account. - **beneficiary_name** (String) - Required - The name of the beneficiary. - **beneficiary_account_number** (String) - Required - The account number of the beneficiary. - **beneficiary_sort_code** (String) - Required - The sort code of the beneficiary. - **ccy** (String) - Required - The currency of the payment (e.g., "GBP"). - **amount** (String) - Required - The payment amount. - **reference** (String) - Required - The payment reference. - **reason** (String) - Required - The reason for the payment. - **notes** (String) - Optional - Additional notes for the payment. - **preferred_scheme** (String) - Optional - The preferred payment scheme (e.g., "FPS"). - **nonce** (String) - Required - A unique identifier for the transaction. ### Request Example ```json { "counterparty_id": "MY-COUNTERPARTY-ID", "sender_account_id": "ACCOUNT-ID", "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "TEST", "beneficiary_sort_code": "TEST", "ccy": "GBP", "amount": "AMOUNT", "reference": "MY REFERENCE", "reason": "REASON", "notes": "SOME NOTES", "preferred_scheme": "FPS", "nonce": "933829795" } ``` ### Response #### Success Response (200) - **endToEndIdentification** (String) - The end-to-end identification of the transaction. - **transactionId** (String) - The unique transaction ID. - **nonce** (String) - The nonce provided in the request. - **response** (String) - The status of the transaction (e.g., "Accepted"). #### Response Example (Standard) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "Accepted" } ] ``` #### Response Example (Verification of Payee Held - EUR only) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` ``` -------------------------------- ### POST /payments Source: https://bcbdigital.docs.apiary.io/introduction/description-of-server-responses/create-api Initiate a payment with specified beneficiary and payment details. ```APIDOC ## POST /payments ### Description Make a payment using the provided details. You can optionally use `beneficiary_account_id` to query account details from our system instead of providing name, account number, and sort code. ### Method POST ### Endpoint /payments ### Parameters #### Path Parameters - **account_id** (number) - Required - The ID of the account from which the payment will be made. #### Request Body - **counterparty_id** (number) - Required - The ID of the counterparty. - **sender_account_id** (number) - Required - The ID of the sender's account. - **beneficiary_name** (string) - Required (if `beneficiary_account_id` is not used) - The name of the beneficiary. - **beneficiary_account_number** (string) - Required (if `beneficiary_account_id` is not used) - The beneficiary's account number (IBAN or bank account number for non-IBAN countries). - **beneficiary_sort_code** (string) - Required (if `beneficiary_account_id` is not used) - The beneficiary's sort code (if available, otherwise populate with bank BIC). - **beneficiary_account_id** (string) - Optional - The beneficiary's account ID in the BCB system. - **ccy** (string) - Required - The currency of the payment (e.g., GBP, EUR). - **amount** (string) - Required - The amount to be paid. - **reference** (string) - Required - A reference for the payment. - **reason** (string) - Optional - The reason for the payment. - **notes** (string) - Optional - Additional notes for the payment. - **preferred_scheme** (string) - Optional - The preferred payment scheme (e.g., FPS). - **nonce** (string) - Optional - A unique identifier for idempotency. ### Request Example ```json { "counterparty_id": "MY-COUNTERPARTY-ID", "sender_account_id": "ACCOUNT-ID", "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "TEST", "beneficiary_sort_code": "TEST", "ccy": "GBP", "amount": "AMOUNT", "reference": "MY REFERENCE", "reason": "REASON", "notes": "SOME NOTES", "preferred_scheme": "FPS", "nonce": "933829795" } ``` ### Response #### Success Response (200) - **endToEndIdentification** (string) - Unique identifier for the payment. - **transactionId** (string) - The transaction ID. - **nonce** (string) - The nonce provided in the request. - **response** (string) - The status of the payment (e.g., Accepted). #### Verification of Payee Response (EUR only) - **endToEndIdentification** (string) - Unique identifier for the payment. - **transactionId** (string) - The transaction ID. - **nonce** (string) - The nonce provided in the request (or `endToEndIdentification` if not provided). - **response** (string) - "vopheld" - **data** (object) - Contains verification details. - **matchStatus** (string) - Status of the name match (e.g., `close_match`, `no_match`, `impossible_match`). - **matchedName** (string) - The matched beneficiary name (only if `matchStatus` is `close_match`). ### Response Example ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "Accepted" } ] ``` ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` ``` -------------------------------- ### Get Account Transactions Source: https://bcbdigital.docs.apiary.io/reference/services/transactions Retrieves details of operational account transactions. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves details of operational account transactions. This endpoint can also be used to find the endToEndId of a deposit for reversal. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (String) - Required - The ID of the account. ### Response #### Success Response (200) - **transactions** (Array) - A list of transaction objects. - **endToEndIdentification** (String) - The end-to-end identification of the transaction (useful for deposits). - ... (other transaction details) ### Response Example ```json { "transactions": [ { "endToEndIdentification": "DEPOSIT_END_TO_END_ID_123", "type": "deposit", "amount": "100.00", "currency": "USD", "date": "2023-10-27T10:00:00Z" } ] } ``` ``` -------------------------------- ### Make a Payment Source: https://bcbdigital.docs.apiary.io/reference/services Initiates a payment with specified details. Supports various currency schemes and includes optional fields for enhanced transaction control. ```APIDOC ## POST /api/payments ### Description Initiates a payment with specified details. Supports various currency schemes and includes optional fields for enhanced transaction control. ### Method POST ### Endpoint /api/payments ### Parameters #### Request Body - **counterparty_id** (Number) - Required - The ID of the counterparty. - **sender_account_id** (Number) - Required - The ID of the sender's account. - **beneficiary_name** (String) - Required - The name of the beneficiary. - **beneficiary_account_number** (String) - Required - The account number of the beneficiary. - **beneficiary_sort_code** (String) - Required - The sort code of the beneficiary. - **ccy** (String) - Required - The currency of the payment (e.g., "GBP"). - **amount** (String) - Required - The amount to be paid. - **reference** (String) - Required - A reference for the payment. - **reason** (String) - Optional - The reason for the payment. - **notes** (String) - Optional - Additional notes for the payment. - **preferred_scheme** (String) - Optional - The preferred payment scheme (e.g., "FPS"). - **nonce** (String) - Required - A unique nonce for the transaction. ### Request Example ```json { "counterparty_id": "MY-COUNTERPARTY-ID", "sender_account_id": "ACCOUNT-ID", "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "TEST", "beneficiary_sort_code": "TEST", "ccy": "GBP", "amount": "AMOUNT", "reference": "MY REFERENCE", "reason": "REASON", "notes": "SOME NOTES", "preferred_scheme": "FPS", "nonce": "933829795" } ``` ### Response #### Success Response (200) - **endToEndIdentification** (String) - The unique end-to-end identifier for the transaction. - **transactionId** (String) - The ID of the transaction. - **nonce** (String) - The nonce provided in the request. - **response** (String) - The status of the payment (e.g., "Accepted"). #### Response Example (Standard) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "Accepted" } ] ``` #### Response Example (VOP Held - EUR Only) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` ``` -------------------------------- ### GET /account/:account_id/transactions Source: https://bcbdigital.docs.apiary.io/reference/virtual-accounts Retrieve details of your operational account transactions. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieve details of your operational account transactions. This endpoint can also be used to find the `endToEndId` of a deposit to reverse it. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (string) - Required - The ID of the account for which to retrieve transactions. ### Response #### Success Response (200) - A list of transaction objects, each containing details like `endToEndIdentification`, `transactionId`, etc. #### Response Example ```json [ { "endToEndIdentification": "DEPOSIT_END_TO_END_ID", "transactionId": "TXN12345", "type": "deposit", "amount": "100.00", "currency": "GBP", "timestamp": "2023-10-27T10:00:00Z" } ] ``` ``` -------------------------------- ### Get Account Transactions Source: https://bcbdigital.docs.apiary.io/reference/verification-of-payee Retrieves details of your operational account transactions. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves details of your operational account transactions. This endpoint can also be used to find the endToEndId of a deposit for reversal. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (String) - Required - The ID of the account to retrieve transactions for. ### Response #### Success Response (200) - A list of transaction objects, each containing details such as `endToEndIdentification` for deposits. #### Response Example ```json [ { "transactionType": "deposit", "endToEndIdentification": "DEPOSIT_END_TO_END_ID", "amount": "100.00", "currency": "GBP", "date": "2023-10-27T10:00:00Z" } // ... other transactions ] ``` ``` -------------------------------- ### Make a Payment Request Source: https://bcbdigital.docs.apiary.io/reference/services/payment-status-webhooks/create-api This snippet demonstrates the JSON payload structure for initiating a payment. It includes essential details such as counterparty ID, sender account, beneficiary information, currency, amount, and reference. Optional fields like 'preferred_scheme' and 'nonce' are also shown. The response examples illustrate successful acceptance and cases where a payment is held for verification. ```json { "counterparty_id": MY-COUNTERPARTY-ID (Number), "sender_account_id": ACCOUNT-ID (Number), "beneficiary_name": "BENEFICIARY NAME" (String), "beneficiary_account_number": "TEST" (String), "beneficiary_sort_code": "TEST" (String), "ccy": "GBP" (String), "amount": "AMOUNT" (String), "reference": "MY REFERENCE" (String), "reason": "REASON" (String), "notes": "SOME NOTES" (String), "preferred_scheme": "FPS" (String), "nonce": "933829795" } ``` ```json [ { "endToEndIdentification": "ID", (String) "transactionId": "ID", (String) "nonce": "933829795", "response": "Accepted" (String) } ] ``` ```json [ { "endToEndIdentification": "ID" (String), "transactionId": "ID" (String), "nonce": "933829795" (If provided in your request, otherwise equal to endToEndIdentification), "response": "vopheld", "data": { "matchStatus": "close_match", (Only if response is vopheld) (close_match or no_match or impossible_match) "matchedName": "Jane Smith" (String) (if matchStatus is close_match) } } ] ``` -------------------------------- ### Webhook Headers Example (JSON) Source: https://bcbdigital.docs.apiary.io/reference/services/blinc-members/create-api This JSON object demonstrates the typical headers required for webhook requests, including Content-Type and a custom X-BCB-SIGNATURE header for verification. ```json { "headers":{ "Content-Type": "application/json", "X-BCB-SIGNATURE": "" } } ``` -------------------------------- ### Get Account Transactions Source: https://bcbdigital.docs.apiary.io/reference/services/payments/request-payment Retrieves details of transactions for a specified account. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves a list of transactions for a specific account. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (String) - Required - The unique identifier of the account. ### Response #### Success Response (200) - A list of transaction objects, each containing details such as transaction ID, date, amount, and status. ``` -------------------------------- ### GET /account/:account_id/transactions Source: https://bcbdigital.docs.apiary.io/reference/services/payment-status-webhooks Retrieve details of your operational account transactions. ```APIDOC ## GET /account/:account_id/transactions ### Description Retrieves a list of transactions associated with a specific operational account. This endpoint can also be used to find the `endToEndId` of a deposit for reversal purposes. ### Method GET ### Endpoint /account/:account_id/transactions ### Parameters #### Path Parameters - **account_id** (string) - Required - The identifier of the account for which to retrieve transactions. #### Query Parameters - **start_date** (string) - Optional - Filter transactions from this date (YYYY-MM-DD). - **end_date** (string) - Optional - Filter transactions up to this date (YYYY-MM-DD). - **limit** (integer) - Optional - The maximum number of transactions to return. - **offset** (integer) - Optional - The number of transactions to skip (for pagination). ### Response #### Success Response (200) - **transactions** (array) - A list of transaction objects. - **type** (string) - The type of transaction (e.g., 'deposit', 'payment'). - **endToEndId** (string) - Unique identifier for the transaction, relevant for deposits. - **transactionId** (string) - The unique ID of the transaction. - **amount** (string) - The transaction amount. - **currency** (string) - The transaction currency. - **date** (string) - The date and time of the transaction. - ... (other transaction-specific fields) #### Response Example ```json { "transactions": [ { "type": "deposit", "endToEndId": "DEP_ABC123", "transactionId": "TXN_XYZ789", "amount": "500.00", "currency": "GBP", "date": "2023-10-27T10:00:00Z" }, { "type": "payment", "transactionId": "TXN_DEF456", "amount": "-100.50", "currency": "GBP", "date": "2023-10-27T11:30:00Z" } ] } ``` ``` -------------------------------- ### Make a Payment Source: https://bcbdigital.docs.apiary.io/reference/services/payment-status-webhooks/register-webhook Initiate a payment with specified beneficiary details, currency, amount, and reference. Supports optional fields like preferred scheme and nonce. ```APIDOC ## POST /payments ### Description Initiates a payment to a specified beneficiary. ### Method POST ### Endpoint /payments ### Parameters #### Request Body - **counterparty_id** (Number) - Required - The ID of the counterparty. - **sender_account_id** (Number) - Required - The ID of the sender's account. - **beneficiary_name** (String) - Required - The name of the beneficiary. - **beneficiary_account_number** (String) - Required - The beneficiary's bank account number. - **beneficiary_sort_code** (String) - Required - The beneficiary's sort code. - **ccy** (String) - Required - The currency code (e.g., GBP, EUR). - **amount** (String) - Required - The payment amount. - **reference** (String) - Required - The payment reference. - **reason** (String) - Optional - The reason for the payment. - **notes** (String) - Optional - Additional notes for the payment. - **preferred_scheme** (String) - Optional - The preferred payment scheme (e.g., FPS). - **nonce** (String) - Optional - A unique identifier for the transaction. ### Request Example ```json { "counterparty_id": "MY-COUNTERPARTY-ID", "sender_account_id": "ACCOUNT-ID", "beneficiary_name": "BENEFICIARY NAME", "beneficiary_account_number": "TEST", "beneficiary_sort_code": "TEST", "ccy": "GBP", "amount": "AMOUNT", "reference": "MY REFERENCE", "reason": "REASON", "notes": "SOME NOTES", "preferred_scheme": "FPS", "nonce": "933829795" } ``` ### Response #### Success Response (200) - **endToEndIdentification** (String) - A unique identifier for the payment. - **transactionId** (String) - The transaction ID. - **nonce** (String) - The nonce provided in the request. - **response** (String) - The status of the payment (e.g., Accepted). #### Special Case Response (EUR - Verification of Payee) - **endToEndIdentification** (String) - A unique identifier for the payment. - **transactionId** (String) - The transaction ID. - **nonce** (String) - The nonce provided in the request. - **response** (String) - "vopheld" indicating verification of payee is held. - **data** (Object) - Contains details about the verification. - **matchStatus** (String) - The match status (e.g., close_match, no_match, impossible_match). - **matchedName** (String) - The matched beneficiary name (if matchStatus is close_match). #### Response Example (Standard) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "Accepted" } ] ``` #### Response Example (Verification of Payee) ```json [ { "endToEndIdentification": "ID", "transactionId": "ID", "nonce": "933829795", "response": "vopheld", "data": { "matchStatus": "close_match", "matchedName": "Jane Smith" } } ] ``` ```