Bulk Payments
Further reading on how to create bulk payments with Yapily.
Introduction
Yapily provides the ability to execute Bulk Payments and not Batch Payments through our payments API. Note the definition of a bulk payment below:
- Bulk: A group of payments (e.g. in a file) to be paid to multiple creditor accounts from the same debtor account, on the same date, with the same currency and through the same payment scheme
- Batch: A group of payments (e.g. in a file) to be paid to multiple creditor accounts from multiple debtor accounts. These may involved different payment execution dates, currencies and payment schemes.
Coverage
Support for bulk payments is currently only provided by business and corporate integrations in the UK, plus some in Germany. Currently, this is limited to the following banks in the UK:
- Allied Irish Bank Business (ROI)
- Barclays Business
- Barclays Corporate
- HSBC UK Business
- Lloyds (Business)
- Natwest Bank
- Natwest Bankline
- Royal Bank of Scotland
- Royal Bank of Scotland Bankline
- Santander UK Plc Business
- Silicon Valley Bank
- Virgin Money
- Clydesdale Bank
- Yorkshire Bank
- B Bank
- Revolut
- Ulster Bank
Plus the following ones in Germany:
- Commerzbank
- Sparkasse
- Solaris
Bulk Payment Request
To create a bulk payment with the Yapily API, you specify an array of Single Payments and provide them to
the payments
object in the the BulkPaymentRequest when executing any of the bulk payment
endpoints.
Depending on the restrictions of each Institution
, you may have to make specific adjustments to the payments
array. More
information on these types of restrictions are listed below.
Account Beneficiaries
For each Institution
in the UK that has the limitation where each Payee
must be a trusted beneficiary for the execution of the bulk
payment to occur successfully, Yapily has introduced the ACCOUNT_BENEFICIARIES
feature to allow TPPs to get all the beneficiaries
for the Payer
account to cross check that each Payee
is a trusted beneficiary.
To access the beneficiaries of an account, you must obtain a valid AIS consent using Create Account Authorisation and then use the resultant consentToken
to execute Get Account Beneficiaries.
Unfortunately, it is not in scope for Open Banking to allow the dynamic adding of beneficiaries through Open Banking APIs so the payments service user must do this manually through their bank.
Execution
Once the bank is instructed to execute the payment, the bank will decide whether or not they execute the bulk as a whole, meaning that if 1 payment fails, the entire bulk will fail.
Known Restrictions
Note: Bank restrictions are always changing and sometimes we might not be up to date. If you know or encounter any case where our below notes are out of date, please let us know.
Barclays
- Only immediate domestic payments are supported
- Maximum 50 payments per request
- Minimum 5 payments per request
- Minimum total payments amount is £1.00
- Maximum total payments amount is £50,000
- A reference for every payment is required
HSBC
- Only scheduled domestic payments are supported
- Does not support FPS but uses BACS
- As a result, all payments must have a payment execution date that is 2-45 days in the future
Lloyds
- Only immediate domestic and scheduled domestic payments are supported
- Maximum 25 payments per request
- Minimum total payments amount is £0.01 (1p)
- Maximum total payments amount would be determined by the account limits on the specific accounts being used.
- The property
requestedExecutionDateTime
is not supported for this bank - A reference for every payment is required
- Only one
Payer
object should be specified in the bulk payment
Natwest
- Only immediate domestic and scheduled domestic payments are supported
- Maximum 15 payments per request
- Each payment in the bulk must have the same payment type
- Bulk payments are only accepted where all the creditors are trusted beneficiaries
RBS
- Only immediate domestic and scheduled domestic payments are supported
- Maximum 15 payments per request
- Each payment in the bulk must have the same payment type
- Bulk payments are only accepted where all the creditors are trusted beneficiaries
Santander
- Only immediate domestic and scheduled domestic payments are supported
- Maximum 1750 payments per request
- For every payment in the bulk payment the same
Payer
object must be specified - Bulk payments are only accepted where all the creditors are trusted beneficiaries
Silicon Valley
- The maximum payment size per request is 200
Payer
is required in every payment and each payer must be the same- Supports only
DOMESTIC_PAYMENT
type but can be scheduled using thepaymentRequest.executionDateTime
- If
paymentRequest.executionDateTime
is the current day and lies on a weekend or outside the cutoff time of 04:30 - 16:30 UTC, will be rejected - If
paymentRequest.executionDateTime
is the current day, SVB does not look at the time of the field, only the time of execution (when request is sent) - If
paymentRequest.executionDateTime
is in the future, it can be on the weekend or outside the cutoff
Revolut
- Payees must be set up as trusted beneficiaries on the payer account before a bulk payment is attempted
- For bulk payments:
payee.address.country
andpayee.address.postCode
are mandatory for each payment in the bulk payment request - Revolut Business users can only authorise bulk payments via the web application and not the mobile app
- There is a limit of 1000 payees per bulk payment
Virgin Money, Clydesdale and Yorkshire Bank
- The API endpoint lets you upload up to 150 file payment requests to Virgin
- Support only JSON format for file upload
- All the payments in the file should be of one payment type i.e. FPS, CHAPS or BACS
- Virgin Money will upload the file payment consent resource for the given unique
- Before calling the API, you must have an access token issued by Virgin Money using a 'Client Credentials' grant
- POST /filepayments - This request instructs Virgin Money to begin the payment journey
- Virgin Money will normally schedule the payment request immediately, but this may not always be possible, for example, during busy periods or if additional approvals are required
- You must ensure the Initiation section of the payment matches corresponding sections of the payment consent resource. Any discrepancy will generate an error response and we will not process the request
Solaris
- Requested execution date should not be passed in the requests as it will be skipped in the request to institution
- PSU-IP-ADDRESS is required for bulk payments