Bulk payments
Further information on how to create bulk payments with Yapily.
The Bulk Payments product is available as a Beta version.
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]
(/api/#create-account-authorisation) and then use the resultant consentToken
to execute [Get Account Beneficiaries]
(/api/#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 change frequently, so this information may become out-of-date. If you are aware this is the case, 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 -
Maximum 18 characters for
payee.name
-
Maximum 18 characters for
paymentIdempotencyId
Natwest
- Only immediate domestic and scheduled domestic payments are supported
- Maximum 25 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 25 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
,payee.address.postCode
andpayee.address.townName
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
-
If the payee for a payment in a bulk payment file is a business,
paymentRequest.payee.merchantCategoryCode
should be provided
Virgin Money
- 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 the corresponding sections of the payment consent resource. Any discrepancy will generate an error response and we will not process the request
Solaris
- The 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