What this API does:
These APIs currently supports SWIFT and SEPA Payments.
These APIs currently supports Indicative rate type.
This API lets you initiate a single scheduled international payment and submit payment requests. It also lets you check the payment status and confirm funds.
Endpoint configuration
Sandbox: cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/pisp/international-scheduled-payment-consents
Production: api.openbanking.virginmoney.com/open-banking/v3.1/pisp//international-scheduled-payment-consents
The API endpoint lets you ask Virgin Money to create a new international scheduled payment consent resource:
- The POST action tells Virgin Money that a international scheduled payment consent has been staged. At this point, it does not identify the customer to Virgin Money; the request payload may not contain information about the account to be debited
- The endpoint lets you send a copy of the consent between the customer and you to Virgin Money for the customer to authorise
Virgin Money will create a international scheduled payment consent resource and provide a unique ConsentId for the resource.
Before calling the API, you must have an access token issued by Virgin Money using 'Client Credentials' grant.
Sandbox: cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/pisp/international-scheduled-payment-consents/{ConsentId}
Production: api.openbanking.virginmoney.com/open-banking/v3.1/pisp/international-scheduled-payment-consents/{ConsentId}
Once the customer has authorized the international payment consent, you can submit the payment for processing:
- This request instructs Virgin Money to begin the payment journey. Virgin Money will normally execute the payment request immediately, but this may not always be possible, for example, during busy periods
- You must ensure the Initiation and Risk sections of the payment match the corresponding sections of the payment consent resource. Any discrepancy will generate an error response and we will not process the request
Check the status of the payment consent.
Before calling the API, you must have an access token issued by Virgin Money using 'Client Credentials' grant.
Sandbox: cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/pisp/international-scheduled-payments
Production: api.openbanking.virginmoney.com/open-banking/v3.1/pisp/international-scheduled-payments
Once the customer has authorized the international scheduled-payment consent, you can submit the payment for processing:
- 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 and Risk sections of the payment match the corresponding sections of the payment consent resource. Any discrepancy will generate an error response and we will not process the request
Before calling the API, you must have an access token issued by Virgin Money using 'Authorization Code' grant.
If rate type is’ Indicative’, on date of scheduled payment, user need to login to bank website to accept the exchange rate before the payment can be executed.
Sandbox: cb.sandbox-api-nc.cybservices.co.uk/open-banking/v3.1/pisp/international-scheduled-payments/{InternationalPaymentId}
Production: api.openbanking.virginmoney.com/open-banking/v3.1/pisp/international-scheduled-payments/{InternationalPaymentId}
Check the status of the payment.
Before calling the API, you must have an access token issued by Virgin Money using 'Client Credentials' grant.
API calls
International Scheduled Payments
Name | Description |
---|---|
OBWriteInternationalScheduledConsent3Param * (body) | Default { |
x-fapi-auth-date string (header) | The time when the PSU last logged in with the TPP. |
x-fapi-customer-ip-address string (header) | The PSU's IP address if the PSU is currently logged in with the TPP. |
x-fapi-interaction-id string (header) | An RFC4122 UID used as a correlation id. |
Authorization * string (header) | An Authorisation Token as per https://tools.ietf.org/html/rfc6750 Link opens in a new window |
x-idempotency-key * string (header) | Every request will be processed only once per x-idempotency-key. The |
x-jws-signature * string (header) | A detached JOSE signature of the body of the payload. |
Responses
Code | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
201 | Created { #/definitions/OBWriteInternationalScheduledConsentResponse3OBWriteInternationalScheduledConsentResponse3{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 | Bad request { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 | Unauthorized Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 | Forbidden { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
404 | Not found Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
405 | Method Not Allowed Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
406 | Not Acceptable Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
429 | Too Many Requests Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 | Internal Server Error { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
|
Name | Description |
---|---|
ConsentId * string (path) | ConsentId |
x-fapi-auth-date string (header) | The time when the PSU last logged in with the TPP. |
x-fapi-customer-ip-address string (header) | The PSU's IP address if the PSU is currently logged in with the TPP. |
x-fapi-interaction-id string (header) | An RFC4122 UID used as a correlation id. |
Authorization * string (header) | An Authorisation Token as per https://tools.ietf.org/html/rfc6750 Link opens in a new window |
Responses
Code | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
200 | OK { #/definitions/OBWriteInternationalScheduledConsentResponse3OBWriteInternationalScheduledConsentResponse3{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 | Bad request { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 | Unauthorized Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 | Forbidden { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
404 | Not found Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
405 | Method Not Allowed Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
406 | Not Acceptable Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
429 | Too Many Requests Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 | Internal Server Error { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
|
Name | Description |
---|---|
OBWriteInternationalScheduled2Param * (body) | Default { |
x-fapi-auth-date string (header) | The time when the PSU last logged in with the TPP. |
x-fapi-customer-ip-address string (header) | The PSU's IP address if the PSU is currently logged in with the TPP. |
x-fapi-interaction-id string (header) | An RFC4122 UID used as a correlation id. |
Authorization * string (header) | An Authorisation Token as per https://tools.ietf.org/html/rfc6750 Link opens in a new window |
x-idempotency-key * string (header) | Every request will be processed only once per x-idempotency-key. The |
x-jws-signature * string (header) | A detached JOSE signature of the body of the payload. |
Responses
Code | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
201 | Created { #/definitions/OBWriteInternationalScheduledResponse3OBWriteInternationalScheduledResponse3{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 | Bad request { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 | Unauthorized Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 | Forbidden { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
404 | Not found Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
405 | Method Not Allowed Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
406 | Not Acceptable Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
429 | Too Many Requests Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 | Internal Server Error { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
|
Name | Description |
---|---|
InternationalScheduledPaymentId * string (path) | InternationalScheduledPaymentId |
x-fapi-auth-date string (header) | The time when the PSU last logged in with the TPP. |
x-fapi-customer-ip-address string (header) | The PSU's IP address if the PSU is currently logged in with the TPP. |
x-fapi-interaction-id string (header) | An RFC4122 UID used as a correlation id. |
Authorization * string (header) | An Authorisation Token as per https://tools.ietf.org/html/rfc6750 Link opens in a new window |
Responses
Code | Description | |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
200 | OK { #/definitions/OBWriteInternationalScheduledResponse3OBWriteInternationalScheduledResponse3{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
400 | Bad request { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
401 | Unauthorized Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
403 | Forbidden { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
404 | Not found Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
405 | Method Not Allowed Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
406 | Not Acceptable Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
429 | Too Many Requests Headers:
| |||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
500 | Internal Server Error { #/definitions/OBErrorResponse1OBErrorResponse1{
Headers:
|
Models
ActiveOrHistoricCurrencyCode_0
Identification of the currency in which the account is held.
Usage: Currency should only be used in case one and the same account number covers several currencies
and the initiating party needs to identify which currency needs to be used for settlement on the account.
ActiveOrHistoricCurrencyCode_1
A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
Nation with its own government, occupying a particular territory.
Identifies a subdivision of a country eg, state, region, county.
Date and time at which the resource was created.All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00
All dates in the JSON payloads are represented in ISO 8601 date-time format.
All date-time fields in responses must include the timezone. An example is below:
2017-04-05T10:43:07+00:00
description: | Links relevant to the payload |
Self* | string |
First | string |
Prev | string |
Next | string |
Last | string |
description: | Meta Data relevant to the payload |
TotalPages | integer($int32) |
FirstAvailableDateTime | ISODateTimestring($date-time) All dates in the JSON payloads are represented in ISO 8601 date-time format. |
LastAvailableDateTime | ISODateTimestring($date-time) All dates in the JSON payloads are represented in ISO 8601 date-time format. |
[ Booked, Pending ]
ErrorCode* | string Low level textual error code, e.g., UK.OBIE.Field.Missing |
Message* | string minLength: 1 maxLength: 500 A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future' |
Path | string minLength: 1 maxLength: 500 Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency |
Url | string URL to help remediate the problem, or provide more information, or to API Reference, or help etc |
description: | An array of detail error codes, and messages, and URLs to documentation to help remediation. | ||||||||
Code* | string minLength: 1 maxLength: 40 High level textual error code, to help categorize the errors. | ||||||||
Id | string minLength: 1 maxLength: 40 A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors. | ||||||||
Message* | string minLength: 1 maxLength: 500 Brief Error message, e.g., 'There is something wrong with the request parameters provided' | ||||||||
Errors* | [ minItems: 1#/definitions/OBError1OBError1{
|
OBExternalAccountIdentification4Code
Name of the identification scheme, in a coded form as published in an external list.
description: | Information that locates and identifies a specific address, as defined by postal services. |
AddressType | OBAddressTypeCodestring Identifies the nature of the postal address. Enum:[ Business, Correspondence, DeliveryTo, MailTo, POBox, Postal, Residential, Statement ] |
PostCode | PostCodestring Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail. |
TownName | TownNamestring Name of a built-up area, with defined boundaries, and a local government. |
Country | string pattern: ^[A-Z]{2,2}$ Nation with its own government. |
AddressLine | [ minItems: 0 maxItems: 2string minLength: 1 maxLength: 70 Information that locates and identifies a specific address, as defined by postal services, presented in free format text. |
Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
OBActiveOrHistoricCurrencyAndAmount
description: | Amount of money associated with the charge type. |
Amount* | OBActiveCurrencyAndAmount_SimpleTypestring A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217. |
Currency* | ActiveOrHistoricCurrencyCodestring A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds". |
Specifies which party/parties will bear the charges associated with the processing of the payment transaction.
[ BorneByCreditor, BorneByDebtor, FollowingServiceLevel, Shared ]
OBExternalLocalInstrument1Code
User community specific instrument.
Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level.
OBExternalPaymentChargeType1Code
Charge type, in a coded form.
description: | The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Payments. | ||||||||||||||
PaymentContextCode | string Specifies the payment context Enum:[ BillPayment, EcommerceGoods, EcommerceServices, Other, PartyToParty ] | ||||||||||||||
MerchantCategoryCode | string minLength: 3 maxLength: 4 Category code conform to ISO 18245, related to the type of services or goods the merchant provides for the transaction. | ||||||||||||||
MerchantCustomerIdentification | string minLength: 1 maxLength: 70 The unique customer identifier of the PSU with the merchant. | ||||||||||||||
DeliveryAddress | {
|
OBWriteInternationalScheduled2
ConsentId* | string minLength: 1 maxLength: 128 OB: Unique identification as assigned by the ASPSP to uniquely identify the consent resource. | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initiation* | {
|
OBWriteInternationalScheduledConsent3
Permission* | string Specifies the Open Banking service request types. Enum:[ Create ] | ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Initiation* | {
|
OBWriteInternationalScheduledConsentResponse3
Data* | {
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Risk* | #/definitions/OBRisk1OBRisk1{
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Links | #/definitions/LinksLinks{
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Meta | #/definitions/MetaMeta{
|
OBWriteInternationalScheduledResponse3
Data* | {
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Links | #/definitions/LinksLinks{
| ||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||||
Meta | #/definitions/MetaMeta{
|
OBActiveCurrencyAndAmount_SimpleType
[ Business, Correspondence, DeliveryTo, MailTo, POBox, Postal, Residential, Statement ]
Name of a built-up area, with defined boundaries, and a local government.
A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".
Having trouble?
Contact our dedicated team members via our ticketing system or via our support mailbox