Skip to content
Permalink
Branch: master
Find file Copy path
Find file Copy path
Fetching contributors…
Cannot retrieve contributors at this time
1206 lines (1205 sloc) 40.6 KB
swagger: '2.0'
info:
description: Swagger Spec for the Nuapay TPP OpenBanking/PSD2. Provides AISP, PISP
and Banks Endpoints
version: '1.2'
title: Nuapay TPP API Specification
contact:
name: Nuapay
email: 'api.support@nuapay.com'
license:
name: 'Nuapay'
url: 'https://sentenial.com'
x-logo:
backgroundColor: '#FFFFFF'
url: 'https://www.nuapay.com/wp-content/uploads/2018/04/nuapay.svg'
host: 'api.nuapay.com'
basePath: /tpp
schemes:
- https
tags:
- name: Bank Service
description: |-
Bank endpoints allow a merchant to,
- Retrieve a list of banks that support the Open Banking scheme
- View details of a specific bank that supports the Open Banking scheme
- name: PISP Service
description: |-
Payment initiation endpoints allow a merchant to,
- Initiate payment requests in Open Banking
- Retrieve the status of a previously initiated payment request
paths:
/banks:
get:
tags:
- Bank Service
summary: Retrieve Banks
description: Get Supported Banks On This TPP
operationId: getBanksUsingGET
produces:
- application/json
parameters:
- name: pagenumber
in: query
description: Page number
required: false
type: integer
default: 1
format: int32
- name: pagesize
in: query
description: Page size
required: false
type: integer
default: 20
format: int32
- name: supportedcurrencies
in: query
required: false
type: array
items:
type: string
collectionFormat: multi
responses:
200:
description: OK
schema:
$ref: '#/definitions/BanksResponse'
400:
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: "T0000"
returnDescription: Validation errors occurred. Please see details.
details:
code: "T0001"
description: Page is invalid
field: page
401:
description: Unauthorized
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
403:
description: Forbidden
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
405:
description: Method Not Allowed
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
security:
- OriginatorOAuth2:
- openbanking_aisp
- openbanking_pisp
- OriginatorApiKey: []
/banks/{bankId}:
get:
tags:
- Bank Service
summary: View Bank
description: View Bank Details
operationId: getBankUsingGET
produces:
- application/json
parameters:
- name: bankId
in: path
description: Bank id returned by Get Supported Banks endpoint.
required: true
type: string
responses:
501:
description: Not implemented
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
security:
- OriginatorOAuth2:
- openbanking_aisp
- openbanking_pisp
- OriginatorApiKey: []
/payments:
post:
tags:
- PISP Service
summary: Create Payment
description: Create a payment request POST endpoint
operationId: createPaymentUsingPOST
consumes:
- application/json
produces:
- application/json
parameters:
- in: body
name: paymentRequest
description: Create a Payment Request
required: true
schema:
$ref: '#/definitions/PaymentRequest'
- name: Idempotency-Key
in: header
description: Every request will be processed only once per Idempotency-Key. The Idempotency Key will be valid for 24 hours.
required: false
type: string
responses:
201:
description: Created
schema:
$ref: '#/definitions/PaymentResponseEnvelope'
examples:
application/json:
uri: /payments/ybo8zayk2q
data:
id: ybo8zayk2q
amount: 99.99
countryCode: GB
currency: GBP
email: client@example.com
language: en
remittanceInformation:
unstructured: The Remittance Information
endToEndIdentification: endToEndIdentification
orderDetails:
items:
- name: Flights Outbound
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "30.00"
- name: Discounts
description: null
quantity: null
amount: "-5.00"
- name: Total
description: null
quantity: null
amount: "125.00"
integrationType: SELF_HOSTED
merchantPostAuthUrl: "https://merchant.openbanking.com/result"
bankId: ybo8zd8j2q
aspspAuthUrl: http://sent-test-spr6.sent.local:8080/bank/authorize?response_type=code+id_token&scope=openid+payments&client_id=test&redirect_uri=http%3A%2F%2Fsent-test-spr6%3A8080%2Ftpp%2Fpayment-requests%2Foauth&state=0f58db32-52a3-4878-b8ee-0ad7953db871&nonce=0e74d09e-a1fa-444b-8782-d5dc2992b5fd&request=eyJraWQiOiJOdWFwYXlCYW5rX0tleUlEIiwiYWxnIjoiUlMyNTYifQ.eyJtYXhfYWdlIjo4NjQwMCwiYXVkIjoiaHR0cHM6XC9cL2FwaS5hbHBoYW5iYW5rLmNvbSIsInNjb3BlIjoib3BlbmlkIHBheW1lbnRzIiwiaXNzIjoidGVzdCIsImNsYWltcyI6eyJ1c2VyaW5mbyI6eyJvcGVuYmFua2luZ19pbnRlbnRfaWQiOnsidmFsdWUiOiJ1cm46YWxwaGFiYW5rOmludGVudDpkMjhjNzM3ZC05MTk0LTQwYjMtOTY0Yy1mNDg0NzQ2YWI3Y2QiLCJlc3NlbnRpYWwiOnRydWV9fSwiaWRfdG9rZW4iOnsib3BlbmJhbmtpbmdfaW50ZW50X2lkIjp7InZhbHVlIjoidXJuOmFscGhhYmFuazppbnRlbnQ6ZDI4YzczN2QtOTE5NC00MGIzLTk2NGMtZjQ4NDc0NmFiN2NkIiwiZXNzZW50aWFsIjp0cnVlfSwiYWNyIjp7ImVzc2VudGlhbCI6dHJ1ZSwidmFsdWVzIjpbInVybjpvcGVuYmFua2luZzpwc2QyOnNjYSIsInVybjpvcGVuYmFua2luZzpwc2QyOmNhIl19fX0sInJlc3BvbnNlX3R5cGUiOiJjb2RlIGlkX3Rva2VuIiwicmVkaXJlY3RfdXJpIjoiaHR0cDpcL1wvc2VudC10ZXN0LXNwcjY6ODA4MFwvdHBwXC9wYXltZW50LXJlcXVlc3RzXC9vYXV0aCIsInN0YXRlIjoiMGY1OGRiMzItNTJhMy00ODc4LWI4ZWUtMGFkNzk1M2RiODcxIiwiaWF0IjoxNTQ0NTMzNjkwLCJub25jZSI6IjBlNzRkMDllLWExZmEtNDQ0Yi04NzgyLWQ1ZGMyOTkyYjVmZCIsImNsaWVudF9pZCI6InRlc3QifQ.kEONxzdQRLABwBR0VFfV5yCmknVVMuE_aDj0aaV6gDfQib5175sFB1pUuB4o_n6gdOm8qt3VFQEIvPbcNIGoK8noPXm9u5GK0Mqms7YqaMxYW8S_rGDCtEKNXyyjbFQgkgR9Dnq3rudf5T6YDSxYqtnL7IOh6bbO1jbNgi3w2CYt9G84a6Z2sM8T-LrHaGE_bAZGyS0Tu2ihD19iZ6CnsEtD-8o2_dtSfTI8VzcrUE2e4w-Am-f4cvXs0YZIEOH-nY_x4elp6GKzJf9Lkm6UU7xX98DhQmT-kYz66PNuCorjEDTXYZYZZBcE0eCwNO-OCtH_q5nK2WAnh9UeT__xGg
status: PENDING_APPROVAL
debtorAccount:
identification: GB29NWBK60161331926819
schemeName: IBAN
400:
description: Bad Request
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: "T0000"
returnDescription: Validation errors occurred. Please see details.
details:
code: "T0004"
description: Field is invalid
field: email
401:
description: Unauthorized
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
403:
description: Forbidden
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
405:
description: Method Not Allowed
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
415:
description: Unsupported Media Type
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
422:
description: Unprocessable Entity
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: "T0000"
returnDescription: Validation errors occurred. Please see details.
details:
code: "T0016"
description: Amount has to be greater than 0.
field: amount
429:
description: Too Many Requests
headers:
Retry-After:
type: integer
format: int32
description: Number in seconds to wait
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
security:
- OriginatorOAuth2:
- openbanking_pisp
- OriginatorApiKey: []
/payments/{paymentId}:
get:
tags:
- PISP Service
summary: Retrieve Payment
description: GET Payment details endpoint
operationId: getPaymentUsingGET
produces:
- application/json
parameters:
- name: paymentId
in: path
description: The ID of the payment for which you want to retrieve details
required: true
type: string
responses:
200:
description: OK
schema:
$ref: '#/definitions/PaymentResponseEnvelope'
examples:
application/json:
uri: /payments/ybo8zayk2q
data:
id: ybo8zayk2q
amount: 99.99
countryCode: GB
currency: GBP
email: client@example.com
language: en
remittanceInformation:
unstructured: The Remittance Information
endToEndIdentification: endToEndIdentification
orderDetails:
items:
- name: Flights Outbound
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "30.00"
- name: Discounts
description: null
quantity: null
amount: "-5.00"
- name: Total
description: null
quantity: null
amount: "125.00"
integrationType: CHECKOUT
merchantPostAuthUrl: null
bankId: null
aspspAuthUrl: null
status: PENDING_APPROVAL
debtorAccount:
identification: GB29NWBK60161331926819
schemeName: IBAN
401:
description: Unauthorized
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
403:
description: Forbidden
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
404:
description: Not Found
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
405:
description: Method Not Allowed
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
429:
description: Too Many Requests
headers:
Retry-After:
type: integer
format: int32
description: Number in seconds to wait
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
security:
- OriginatorOAuth2:
- openbanking_pisp
- OriginatorApiKey: []
/payments/{paymentId}/reverse:
post:
tags:
- PISP Service
summary: Reverse a Payment POST endpoint
description: Reverse a Payment POST endpoint
operationId: reversePaymentUsingPOST
produces:
- application/json
parameters:
- name: paymentId
in: path
description: The ID of the payment to be reversed.
required: true
type: string
- name: reversePaymentRequest
in: body
description: Reverse a payment
required: true
schema:
$ref: '#/definitions/ReversePaymentRequest'
responses:
200:
description: Payment successfully reversed
schema:
$ref: '#/definitions/ReversePaymentResponseEnvelope'
400:
description: "Bad Request"
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
401:
description: Unauthorized
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
403:
description: Forbidden
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
404:
description: Not Found
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
405:
description: Method Not Allowed
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
406:
description: "Not Acceptable"
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
415:
description: "Unsupported Media Type"
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
422:
description: "Unprocessable Entity"
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
429:
description: Too Many Requests
headers:
Retry-After:
type: integer
format: int32
description: Number in seconds to wait
schema:
$ref: '#/definitions/ErrorResponse'
examples:
application/json:
returnCode: null
returnDescription: null
details: null
security:
- OriginatorOAuth2:
- openbanking_pisp
- OriginatorApiKey: []
securityDefinitions:
OriginatorApiKey:
type: basic
OriginatorOAuth2:
type: oauth2
tokenUrl: https://api.nuapay.com/oauth/token_key
flow: password
scopes:
openbanking_aisp: Account Information Service Provider access.
openbanking_pisp: Payment Initiation Service Provider access.
definitions:
Amount:
type: object
required:
- amount
- currency
properties:
amount:
type: number
minimum: 0.01
maximum: 999999999999.99
currency:
type: string
description: 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.
pattern: ^[A-Z]{3,3}$
title: Amount
Bank:
type: object
required:
- supportedCurrencies
- id
- logo
- name
- uri
- country
properties:
id:
type: string
description: The Banks Id
uri:
type: string
description: Uri to Bank Resource
name:
type: string
description: The Banks Name
logo:
type: string
description: The Banks Logo http location
supportedCurrencies:
type: array
description: Holds list of payment currencies that that the bank can process.
items:
type: string
description: ISO currency code.
country:
type: string
description: countryCode - ISO country code - indicates where the Bank is located (ISO 3166 Alpha-2)
title: Bank
BanksResponse:
type: object
required:
- data
- uri
- page
- sort
properties:
uri:
type: string
description: Holds queried resource uri.
data:
type: array
description: Banks collection
items:
$ref: '#/definitions/Bank'
page:
$ref: '#/definitions/RestResponsePaginationDetails'
sort:
type: array
items:
type: string
title: BanksResponse
example:
uri: /banks
data:
- id: 8ow24y2pdx
uri: /banks/8ow24y2pdx
name: Nuapay
logo: https://www.nuapay.com/wp-content/uploads/2018/04/nuapay.svg
supportedCurrencies:
- GBP
- EUR
country: GB
page:
pageNumber: 1
pageSize: 10
totalElements: 1
totalPages: 1
sort: []
DebtorAccount:
type: object
required:
- identification
- schemeName
properties:
identification:
type: string
description: Identification assigned by an institution to identify an account. This identification is known by the account owner.
minLength: 1
maxLength: 34
name:
type: string
description: 'Name of the account, as assigned by the account servicing institution,
in agreement with the account owner in order to provide an additional means
of identification of the account. Usage: The account name is different from
the account owner name. The account name is used in certain user communities
to provide a means of identifying the account, in addition to the account
owner’s identity and the account number.'
minLength: 1
maxLength: 70
schemeName:
type: string
description: Name of the identification scheme, in a coded form as published in an external list.
enum:
- IBAN
- SortCodeAccountNumber
secondaryIdentification:
type: string
description: Identification assigned by an institution to identify an account.
This identification is known by the account owner.
minLength: 1
maxLength: 34
title: DebtorAccount
description: Unambiguous identification of the account of the debtor to which a debit entry will be made as a result of the transaction.
DeliveryAddress:
type: object
required:
- country
- townName
properties:
addressLine:
type: array
description: Information that locates and identifies a specific address, as
defined by postal services, that is presented in free format text.
items:
type: string
minLength: 1
maxLength: 70
maxItems: 2
minItems: 0
streetName:
type: string
description: Name of a street or thoroughfare.
minLength: 1
maxLength: 70
buildingNumber:
type: string
description: Number that identifies the position of a building on a street.
minLength: 1
maxLength: 16
postCode:
type: string
description: Identifier consisting of a group of letters and/or numbers that is added to a postal address to assist the sorting of mail.
minLength: 1
maxLength: 16
townName:
type: string
description: Name of a built-up area, with defined boundaries, and a local government.
minLength: 1
maxLength: 35
countrySubDivision:
type: array
description: Identifies a subdivision of a country, for instance state, region,
county.
items:
type: string
minLength: 1
maxLength: 35
maxItems: 2
minItems: 0
country:
type: string
description: Nation with its own government, occupying a particular territory.
pattern: ^[A-Z]{2,2}$
title: DeliveryAddress
description: Information that locates and identifies a specific address, as defined by postal services or in free format text.
ErrorDetailsItem:
type: object
properties:
code:
type: string
description: Error code
description:
type: string
description: Error description
field:
type: string
description: JSON path to request object property the error is related to
title: ErrorDetailsItem
ErrorResponse:
type: object
properties:
details:
type: array
description: Holds list of input validation errors
items:
$ref: '#/definitions/ErrorDetailsItem'
returnCode:
type: string
description: Error type code
returnDescription:
type: string
description: Error type description
title: ErrorResponse
Items:
type: object
properties:
name:
type: string
description: The name of the item being purchased by the PSU.
minLength: 1
maxLength: 35
description:
type: string
description: Brief description of the item being purchased by the PSU
minLength: 1
maxLength: 254
quantity:
type: string
description: Quantiy of the particular item being purchased by the PSU.
amount:
type: number
description: Amount of payment in the specified currency at the specified rate.
minimum: -999999999999.99
maximum: 999999999999.99
exclusiveMinimum: false
exclusiveMaximum: false
title: Items
MultiAuthorisation:
type: object
description: The multiple authorisation flow response from the ASPSP.
properties:
status:
description: Specifies the status of the authorisation flow in code form.
type: string
enum:
- AUTHORISED
- AWAITING_FURTHER_AUTHORISATION
- REJECTED
numberRequired:
description: Number of authorisations required for payment order (total required at
the start of the multi authorisation journey).
type: integer
format: int32
numberReceived:
description: Number of authorisations required for payment order (total required at
the start of the multi authorisation journey).
type: integer
format: int32
lastUpdateDateTime:
description: Last date and time at the authorisation flow was updated.
type: string
format: date-time
expirationDateTime:
description: Date and time at which the requested authorisation flow must be
completed.
type: string
format: date-time
required:
- status
OrderDetails:
type: object
description: Holds Order Details related to payment amount.
properties:
items:
type: array
description: Holds list of the line items to be returned to the TPP UI
items:
$ref: '#/definitions/Items'
title: OrderDetails
PaymentRequest:
type: object
required:
- amount
- countryCode
- currency
- endToEndIdentification
properties:
amount:
type: number
description: amount
minimum: 0.01
maximum: 999999999999.99
exclusiveMinimum: false
exclusiveMaximum: false
currency:
type: string
description: transaction currency
enum:
- GBP
countryCode:
type: string
description: countryCode - ISO country code - indicates where customer is
domiciled (ISO 3166 Alpha-2)
pattern: ^[A-Z]{2}$
language:
type: string
description: 'the customers preferred language, defaults to en ISO 639-1:
two-letter codes, one per language'
pattern: ^[a-z]{2}$
email:
type: string
description: Email address where payment status notifications will be sent
to
maxLength: 254
pattern: .*@.*
orderDetails:
$ref: '#/definitions/OrderDetails'
integrationType:
type: string
description: Allows to specify if the UI integration is done via Checkout or it is Self Hosted by the merchant.
enum:
- CHECKOUT
- SELF_HOSTED
merchantPostAuthUrl:
type: string
description: The merchant url to redirect PSU post authorization step
minLength: 1
maxLength: 255
bankId:
type: string
description: The bank id returned by List Banks API. This is the bank where PSU holds its account
minLength: 1
maxLength: 10
endToEndIdentification:
type: string
description: Unique identification assigned by the initiating party to unambiguously identify the transaction.
minLength: 1
maxLength: 35
remittanceInformation:
$ref: '#/definitions/RemittanceInformation'
debtorAccount:
$ref: '#/definitions/DebtorAccount'
risk:
$ref: '#/definitions/Risk'
title: PaymentRequest
example:
amount: 99.99
countryCode: GB
currency: GBP
email: client@example.com
language: en
endToEndIdentification: endToEndIdentification
remittanceInformation:
unstructured: The Remittance Information
orderDetails:
items:
- name: Flights Outbound
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "30.00"
- name: Discounts
description: null
quantity: null
amount: "-5.00"
- name: Total
description: null
quantity: null
amount: "125.00"
integrationType: SELF_HOSTED
merchantPostAuthUrl: "https://merchant.openbanking.com/result"
bankId: ybo8zd8j2q
debtorAccount:
identification: GB29NWBK60161331926819
schemeName: IBAN
PaymentResponse:
type: object
required:
- amount
- countryCode
- currency
- id
- endToEndIdentification
- status
properties:
id:
type: string
description: id, this is used to get updates on the payment
status:
type: string
description: paymentStatus, the latest payment status
enum:
- PENDING
- PENDING_APPROVAL
- OAUTH_CALLBACK_COMPLETE
- AUTHORISED
- DECLINED
- SETTLEMENT_REJECTED
- SETTLEMENT_PENDING
- SETTLEMENT_IN_PROGRESS
- SETTLEMENT_COMPLETE
- CONSENT_API_REJECTED
- TIMEOUT
- CONSENT_TIMEOUT
- UNEXPECTED_ERROR
amount:
type: number
description: amount
minimum: 0.01
maximum: 999999999999.99
exclusiveMinimum: false
exclusiveMaximum: false
currency:
type: string
description: transaction currency
enum:
- GBP
countryCode:
type: string
description: countryCode - ISO country code - indicates where customer is domiciled (ISO 3166 Alpha-2)
pattern: ^[A-Z]{2}$
language:
type: string
description: 'the customers preferred language, defaults to en ISO 639-1:
two-letter codes, one per language'
pattern: ^[a-z]{2}$
email:
type: string
description: Email address where payment status notifications will be sent to
maxLength: 254
pattern: .*@.*
orderDetails:
description: Holds Order Details related to payment amount.
$ref: '#/definitions/OrderDetails'
integrationType:
type: string
description: Allows to specify if the UI integration is done via Checkout or it is Self Hosted by the merchant.
enum:
- CHECKOUT
- SELF_HOSTED
merchantPostAuthUrl:
type: string
description: The merchant url to redirect PSU post authorization step
minLength: 1
maxLength: 255
bankId:
type: string
description: The bank id returned by List Banks API. This is the bank where PSU holds its account
minLength: 1
maxLength: 10
aspspAuthUrl:
type: string
description: The ASPSP url to redirect the PSU to for authorization of the payment.
minLength: 1
maxLength: 2048
endToEndIdentification:
type: string
description: Unique identification assigned by the initiating party to unambiguously identify the transaction.
minLength: 1
maxLength: 35
debtorAccount:
$ref: '#/definitions/DebtorAccount'
remittanceInformation:
$ref: '#/definitions/RemittanceInformation'
risk:
$ref: '#/definitions/Risk'
cutOffDateTime:
type: string
format: date-time
description: Specified cut-off date and time for the payment consent.
expectedExecutionDateTime:
type: string
format: date-time
description: Expected execution date and time for the payment resource.
expectedSettlementDateTime:
type: string
format: date-time
description: Expected settlement date and time for the payment resource.
multiAuthorisation:
$ref: '#/definitions/MultiAuthorisation'
title: PaymentResponse
PaymentResponseEnvelope:
type: object
required:
- data
- uri
properties:
uri:
type: string
description: Holds resource uri.
data:
$ref: '#/definitions/PaymentResponse'
title: PaymentResponseEnvelope
example:
uri: /payments/ybo8zayk2q
data:
id: ybo8zayk2q
endToEndIdentification: endToEndIdentification
status: PENDING_APPROVAL
amount: 99.99
currency: GBP
countryCode: GB
language: en
email: client@example.com
orderDetails:
items:
- name: Flights Outbound
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "50.00"
- name: Flights Return
description: Dublin(DUB) to London(LCY) - Adult Fare
quantity: 2
amount: "30.00"
- name: Discounts
description: null
quantity: null
amount: "-5.00"
integrationType: SELF_HOSTED
merchantPostAuthUrl: https://merchant.openbanking.com/result
bankId: ybo8zd8j2q
aspspAuthUrl: "http://example.bank.com/bank/authorize?response_type=code+id_token&scope=openid+payments&client_id=test&redirect_uri=http%3A%2F%2Flocalhost%3A8080%2Ftpp%2Fpayment-requests%2Foauth&state=18f5a2d6-68b7-46ef-9d24-7e520ff1219d&nonce=7f76c921-8142-4f7e-b74c-10d04c1af735&request=eyJraWQiOiJOdWFwYXlCYW5rX0tleUlEIiwiYWxnIjoiUlMyNTYifQ.eyJtYXhfYWdlIjo4NjQwMCwiYXVkIjpudWxsLCJzY29wZSI6Im9wZW5pZCBwYXltZW50cyIsImlzcyI6InRlc3QiLCJjbGFpbXMiOnsidXNlcmluZm8iOnsib3BlbmJhbmtpbmdfaW50ZW50X2lkIjp7InZhbHVlIjoidXJuOmFscGhhYmFuazppbnRlbnQ6N2FmYzU1M2MtNjY5Mi00ZGRjLWE4NjctMmE3YWRmODExOWE2IiwiZXNzZW50aWFsIjp0cnVlfX0sImlkX3Rva2VuIjp7Im9wZW5iYW5raW5nX2ludGVudF9pZCI6eyJ2YWx1ZSI6InVybjphbHBoYWJhbms6aW50ZW50OjdhZmM1NTNjLTY2OTItNGRkYy1hODY3LTJhN2FkZjgxMTlhNiIsImVzc2VudGlhbCI6dHJ1ZX0sImFjciI6eyJlc3NlbnRpYWwiOnRydWUsInZhbHVlcyI6WyJ1cm46b3BlbmJhbmtpbmc6cHNkMjpzY2EiLCJ1cm46b3BlbmJhbmtpbmc6cHNkMjpjYSJdfX19LCJyZXNwb25zZV90eXBlIjoiY29kZSBpZF90b2tlbiIsInJlZGlyZWN0X3VyaSI6Imh0dHA6XC9cL2xvY2FsaG9zdDo4MDgwXC90cHBcL3BheW1lbnQtcmVxdWVzdHNcL29hdXRoIiwic3RhdGUiOiIxOGY1YTJkNi02OGI3LTQ2ZWYtOWQyNC03ZTUyMGZmMTIxOWQiLCJpYXQiOjE1NDcxMzQ5MDYsIm5vbmNlIjoiN2Y3NmM5MjEtODE0Mi00ZjdlLWI3NGMtMTBkMDRjMWFmNzM1IiwiY2xpZW50X2lkIjoidGVzdCJ9.jvEEKmdgI2_58rtamnC-j_QDSSGQv1i8sR7vr9XiKQCYwFq_gsI0G-7cUzqDBWCnFnqsq0Xt9wxdkLq8nXyehzA7A2qxXcgtU7_WWrpd4rW2BGEQWamSkZNO0iblsFhc4msl-oRG2i4sZnjIWofDkBUu7GYhuKPHFihAtdorRLbATOVkDyRk5a8fmXyCPcjmysExcTlnlY9QL5bWk9VVvUHXi5iyPjcly1v9h6CS_AJhMtPw3vOHjyTy1uEZRklMcNodivB8GqS-Ah2pEnGmRTO3_Is7atZfTC6pI3YeHy7k6O4CxnBbiEJobbEYI5PcHLukaLF83dmWUvOGle0zwg"
RemittanceInformation:
type: object
properties:
reference:
type: string
description: 'Unique reference, as assigned by the creditor, to unambiguously
refer to the payment transaction. Usage: If available, the initiating party
should provide this reference in the structured remittance information,
to enable reconciliation by the creditor upon receipt of the amount of money.
If the business context requires the use of a creditor reference or a payment
remit identification, and only one identifier can be passed through the
end-to-end chain, the creditor’s reference or payment remittance identification
should be quoted in the end-to-end transaction identification. OB: The Faster
Payments Scheme can only accept 18 characters for the ReferenceInformation
field - which is where this ISO field will be mapped.'
minLength: 1
maxLength: 35
unstructured:
type: string
description: Information supplied to enable the matching/reconciliation of an entry with the items that the payment is intended to settle, such as commercial invoices in an accounts’ receivable system, in an unstructured form. 120 characters are available for client use. 20 characters are reserved for internal use.
minLength: 1
maxLength: 120
title: RemittanceInformation
description: Information supplied to enable the matching of an entry with the items that the transfer is intended to settle, such as commercial invoices in an accounts’ receivable system.
RestResponsePaginationDetails:
type: object
properties:
pageNumber:
type: integer
format: int32
description: Page Number
pageSize:
type: integer
format: int32
description: Page Size
totalElements:
type: integer
format: int32
description: Total Number of elements returned. Response parameter only
totalPages:
type: integer
format: int32
description: Total Number of pages returned. Response parameter only
Risk:
type: object
properties:
paymentContextCode:
type: string
description: Specifies the payment context.
enum:
- BillPayment
- EcommerceGoods
- EcommerceServices
- Other
- PartyToParty
merchantCategoryCode:
type: string
description: Category code conforms to ISO 18245, related to the type of services or goods the merchant provides for the transaction.
minLength: 3
maxLength: 4
merchantCustomerIdentification:
type: string
description: The unique customer identifier of the PSU with the merchant.
minLength: 1
maxLength: 70
deliveryAddress:
$ref: '#/definitions/DeliveryAddress'
title: Risk
description: Risk
ReversePaymentRequest:
type: object
properties:
remmitanceInfo:
type: string
description: Remittance information that will be included in the reversed Credit Transfer.
title: "ReversePaymentRequest"
ReversePaymentResponse:
type: object
description: ReversePaymentResponse
required:
- amount
- countryCode
- currency
- id
- reference
- status
properties:
amount:
type: number
description: amount
minimum: 0.01
maximum: 999999999999.99
countryCode:
type: string
description: countryCode - ISO country code - indicates where customer is domiciled (ISO 3166 Alpha-2)
currency:
type: string
description: transaction currency
enum:
- GBP
email:
type: string
description: Email address where payment status notifications will be sent to
id:
type: string
description: 'id, this is used to get updates on the payment'
language:
type: string
description: 'the customers preferred language, defaults to en ISO 639-1: two-letter codes, one per language'
reference:
type: string
description: 'reference, matches that reference passed in the payment request'
status:
type: string
description: 'paymentStatus, the latest payment status'
enum:
- PENDING_APPROVAL
- REJECTED
- IN_PROGRESS
- COMPLETE
- RECEIVED
- REVERSED
title: ReversePaymentResponse
ReversePaymentResponseEnvelope:
type: object
required:
- data
- uri
properties:
data:
$ref: '#/definitions/ReversePaymentResponse'
uri:
type: string
description: Holds resource uri.
title: ReversePaymentResponseEnvelope
example:
uri: /payments/ybo8zayk2q
data:
id: ybo8zayk2q
reference: reference
status: REVERSED
amount: 99.99
currency: GBP
countryCode: GB
language: en
email: client@example.com
You can’t perform that action at this time.