diff --git a/docs/thirdparty-openapi3-snippets.yaml b/docs/thirdparty-openapi3-snippets.yaml index 34939f30..7d318cf8 100644 --- a/docs/thirdparty-openapi3-snippets.yaml +++ b/docs/thirdparty-openapi3-snippets.yaml @@ -4685,7 +4685,7 @@ paths: description: > The HTTP request `PUT /services/{ServiceType}/error` is used to return error information - operationId: PutServicesByIdAndError + operationId: PutServicesByServiceTypeAndError summary: PutServicesByServiceTypeAndError tags: - services diff --git a/src/thirdparty/openapi.ts b/src/thirdparty/openapi.ts index 71251673..0eccd296 100644 --- a/src/thirdparty/openapi.ts +++ b/src/thirdparty/openapi.ts @@ -300,7 +300,7 @@ export interface paths { }; }; "/services/{ServiceType}/error": { - put: operations["PutServicesByIdAndError"]; + put: operations["PutServicesByServiceTypeAndError"]; parameters: { path: { /** @@ -771,2021 +771,972 @@ export interface operations { test: { requestBody: { "application/json": - | ("OTP" | "QRCODE" | "U2F") - | ("ENTERED" | "REJECTED" | "RESEND") - | { - /** + | ("OTP" | "QRCODE" | "U2F") + | ("ENTERED" | "REJECTED" | "RESEND") + | { + /** * Below are the allowed values for the enumeration AuthenticationType. * - OTP - One-time password generated by the Payer FSP. * - QRCODE - QR code used as One Time Password. * - U2F - U2F is a new addition isolated to Thirdparty stream. */ - authenticationType: "OTP" | "QRCODE" | "U2F"; - /** + authenticationType: "OTP" | "QRCODE" | "U2F"; + /** * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. */ - retriesLeft: string; - /** + retriesLeft: string; + /** * Data model for the complex type Money. */ - amount: { - /** + amount: { + /** * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - amount: string; - }; - /** + amount: string; + }; + /** * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - transactionId: string; - /** + transactionId: string; + /** * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - transactionRequestId: string; - /** + transactionRequestId: string; + /** * The object sent in the PUT /quotes/{ID} callback. */ - quote: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** + quote: { + /** * Data model for the complex type Money. */ - payeeFspCommission?: { - /** + transferAmount: { + /** * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - latitude: string; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - } - | { - /** - * The status of the Consent. - * - "REVOKED" - The Consent is no longer valid and has been revoked. - */ - status: "REVOKED"; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - revokedAt: string; - } - | "REVOKED" - | string - | string - | { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type PartyIdInfo. - */ - partyId: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + amount: string; + }; + /** + * Data model for the complex type Money. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - } - | { + payeeReceiveAmount?: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - requestId: string; + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * List of PartyIdInfo elements that the client would like to update - * or create FSP information about. - */ - partyList: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }[]; + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeFspFee?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - } - | { - /** - * Data model for the complex type Party. - */ - party: { - /** - * Data model for the complex type AccountList. - */ - accounts?: { - /** - * Accounts associated with the Party. - */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; - }; - /** - * Data model for the complex type PartyIdInfo. - */ - partyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. - */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - dateOfBirth?: string; - }; - }; - } - | "THIRD_PARTY_DFSP" - | { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. - */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - } - | { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type Party. - */ - payee: { - /** - * Data model for the complex type AccountList. - */ - accounts?: { - /** - * Accounts associated with the Party. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; - }; - /** - * Data model for the complex type PartyIdInfo. + amount: string; + }; + /** + * Data model for the complex type Money. */ - partyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + payeeFspCommission?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - partySubIdOrType?: string; - /** - * FSP identifier. + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + amount: string; + }; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + expiration: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; + /** + * Information for recipient (transport layer information). */ - merchantClassificationCode?: string; - /** - * Name of the Party. Could be a real name or a nickname. + ilpPacket: string; + /** + * Condition that must be attached to the transfer by the Payer. */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. + condition: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. + extensionList?: { + /** + * Number of Extension elements. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). + extension: { + /** + * Extension key. */ - middleName?: string; - /** - * Last name of the Party (Name Type). + key: string; + /** + * Extension value. */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; - }; - /** + value: string; + }[]; + }; + }; + } + | { + /** + * The status of the Consent. + * - "REVOKED" - The Consent is no longer valid and has been revoked. + */ + status: "REVOKED"; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + revokedAt: string; + } + | "REVOKED" + | string + | string + | { + /** * Data model for the complex type PartyIdInfo. */ - payer: { - /** + partyId: { + /** * This is a variant based on FSPIOP `PartyIdType` specification. * Main difference being the CONSENT and THIRD_PARTY_LINK enums. * @@ -2827,1465 +1778,1425 @@ export interface operations { * - CONSENT - TBD * - THIRD_PARTY_LINK - TBD */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** * Identifier of the Party. */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - partySubIdOrType?: string; - /** + partySubIdOrType?: string; + /** * FSP identifier. */ - fspId?: string; - /** + fspId?: string; + /** * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - extensionList?: { - /** + extensionList?: { + /** * Number of Extension elements. */ - extension: { - /** + extension: { + /** * Extension key. */ - key: string; - /** + key: string; + /** * Extension value. */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type Money. + value: string; + }[]; + }; + }; + /** + * Data model for the complex type ErrorInformation. */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - amount: string; - }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. + errorCode: string; + /** + * Error description string. */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - subScenario?: string; + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - */ - initiator: "PAYER" | "PAYEE"; + * Extension key. + */ + key: string; /** + * Extension value. + */ + value: string; + }[]; + }; + }; + } + | { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + requestId: string; + /** + * List of PartyIdInfo elements that the client would like to update + * or create FSP information about. + */ + partyList: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - balanceOfPayments?: string; - }; - /** - * Memo assigned to transaction. - */ - note?: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + partySubIdOrType?: string; + /** + * FSP identifier. */ - latitude: string; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - longitude: string; - }; - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - expiration?: string; + extensionList?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + * Number of Extension elements. */ - value: string; - }[]; - }; - } - | ("RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"); - }; - responses: { - /** - * Ok - */ - "200": unknown; - }; - }; - /** - * The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking. - */ - GetAccountsByUserId: { - parameters: { - header: { + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }[]; /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + currency?: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + } + | { + /** + * Data model for the complex type Party. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { + party: { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Data model for the complex type AccountList. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + accounts?: { + /** + * Accounts associated with the Party. */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + account: { /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + address?: string; /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Data model for the complex type PartyIdInfo. */ - extension: { - /** - * Extension key. + partyIdInfo: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - key: string; - /** - * Extension value. + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + partyIdentifier: string; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; /** - * Error description string. - */ - errorDescription: string; + * FSP identifier. + */ + fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ extensionList?: { /** - * Number of Extension elements. - */ + * Number of Extension elements. + */ extension: { /** - * Extension key. - */ + * Extension key. + */ key: string; /** - * Extension value. - */ + * Extension value. + */ value: string; }[]; }; }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + merchantClassificationCode?: string; + /** + * Name of the Party. Could be a real name or a nickname. + */ + name?: string; + /** + * Data model for the complex type PartyPersonalInfo. + */ + personalInfo?: { + /** + * Data model for the complex type PartyComplexName. */ - value: string; - }[]; + complexName?: { + /** + * First name of the Party (Name Type). + */ + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; }; + /** + * Date of Birth of the Party. + */ + dateOfBirth?: string; }; }; - }; - }; - }; - /** - * The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking - */ - UpdateAccountsByUserId: { - parameters: { - header: { + } + | "THIRD_PARTY_DFSP" + | { /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionId: string; /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - }; - }; - requestBody: { - "application/json": { + * Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. + */ + transactionRequestState: + | "RECEIVED" + | "PENDING" + | "ACCEPTED" + | "REJECTED"; /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountNickname: string; + * Below are the allowed values for the enumeration. + * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. + * - PENDING - Payee FSP has validated the transaction. + * - COMPLETED - Payee FSP has successfully performed the transaction. + * - REJECTED - Payee FSP has failed to perform the transaction. + */ + transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; + } + | { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - id: string; + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionRequestId: string; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - }[]; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Data model for the complex type Party. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { + payee: { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Data model for the complex type AccountList. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + accounts?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + * Accounts associated with the Party. */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + account: { /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Data model for the complex type PartyIdInfo. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + partyIdInfo: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + * Identifier of the Party. */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + partyIdentifier: string; /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; /** - * Error description string. - */ - errorDescription: string; + * FSP identifier. + */ + fspId?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ extensionList?: { /** - * Number of Extension elements. - */ + * Number of Extension elements. + */ extension: { /** - * Extension key. - */ + * Extension key. + */ key: string; /** - * Extension value. - */ + * Extension value. + */ value: string; }[]; }; }; - }; - }; - }; - }; - /** - * The HTTP request `PUT /accounts/{ID}/error` is used to return error information - */ - UpdateAccountsByUserIdError: { - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + */ + merchantClassificationCode?: string; /** - * Error description string. - */ - errorDescription: string; + * Name of the Party. Could be a real name or a nickname. + */ + name?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + * Data model for the complex type PartyPersonalInfo. + */ + personalInfo?: { /** - * Number of Extension elements. - */ - extension: { + * Data model for the complex type PartyComplexName. + */ + complexName?: { /** - * Extension key. - */ - key: string; + * First name of the Party (Name Type). + */ + firstName?: string; /** - * Extension value. - */ - value: string; - }[]; + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; + }; + /** + * Date of Birth of the Party. + */ + dateOfBirth?: string; }; }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + /** + * Data model for the complex type PartyIdInfo. */ - extensionList?: { - /** - * Number of Extension elements. + payer: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Identifier of the Party. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { + partyIdentifier: string; /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { + partySubIdOrType?: string; /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * FSP identifier. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { + fspId?: string; /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. + extensionList?: { + /** + * Number of Extension elements. */ - value: string; - }[]; - }; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + /** + * Data model for the complex type Money. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + amount: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + /** + * Data model for the complex type TransactionType. + */ + transactionType: { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. + */ + scenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; + /** + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + subScenario?: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + initiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + originalTransactionId: string; /** - * Error description string. + * Reason for the refund. + */ + refundReason?: string; + }; + /** + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + */ + balanceOfPayments?: string; + }; + /** + * Memo assigned to transaction. */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + note?: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - extensionList?: { - /** - * Number of Extension elements. + geoCode?: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - extension: { - /** + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authenticationType?: "OTP" | "QRCODE" | "U2F"; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + expiration?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + } + | ("RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"); + }; + responses: { + /** + * Ok + */ + "200": unknown; + }; + }; + /** + * The HTTP request `GET /accounts/{ID}` is used to retrieve the list of potential accounts available for linking. + */ + GetAccountsByUserId: { + parameters: { + header: { + /** + * The `Accept` header field indicates the version of the API the client would like the server to use. + */ + Accept: string; + }; + }; + responses: { + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** * Extension key. */ key: string; @@ -4299,9 +3210,9 @@ export interface operations { }; }; /** - * Service Unavailable + * Unauthorized */ - "503": { + "401": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -4336,1050 +3247,131 @@ export interface operations { }; }; }; - }; - }; - /** - * The HTTP request `POST /authorizations` is used to request the Payer to enter the applicable credentials in the PISP system. - */ - AuthorizationsPostRequest: { - requestBody: { - "application/json": { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authenticationType: "OTP" | "QRCODE" | "U2F"; - /** - * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. - */ - retriesLeft: string; - /** - * Data model for the complex type Money. - */ - amount: { + /** + * Forbidden + */ + "403": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Data model for the complex type ErrorInformation. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId: string; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quote: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Error description string. */ - amount: string; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Not Found + */ + "404": { + "application/json": { /** - * Data model for the complex type Money. + * Data model for the complex type ErrorInformation. */ - payeeReceiveAmount?: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Error description string. */ - amount: string; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Method Not Allowed + */ + "405": { + "application/json": { /** - * Data model for the complex type Money. + * Data model for the complex type ErrorInformation. */ - payeeFspFee?: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Error description string. */ - amount: string; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Not Acceptable + */ + "406": { + "application/json": { /** - * Data model for the complex type Money. + * Data model for the complex type ErrorInformation. */ - payeeFspCommission?: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - latitude: string; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ errorCode: string; /** @@ -5408,9 +3400,9 @@ export interface operations { }; }; /** - * Not Found + * Not Implemented */ - "404": { + "501": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -5446,9 +3438,9 @@ export interface operations { }; }; /** - * Method Not Allowed + * Service Unavailable */ - "405": { + "503": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -5483,52 +3475,221 @@ export interface operations { }; }; }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; + }; + }; + /** + * The HTTP request `PUT /accounts/{ID}` is used to return the list of potential accounts available for linking + */ + UpdateAccountsByUserId: { + parameters: { + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ + }; + requestBody: { + "application/json": { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountNickname: string; + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + id: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + }[]; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ errorInformation?: { /** * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. @@ -5560,9 +3721,9 @@ export interface operations { }; }; /** - * Service Unavailable + * Unauthorized */ - "503": { + "401": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -5597,65 +3758,10 @@ export interface operations { }; }; }; - }; - }; - /** - * The callback PUT /authorizations/ is used to inform the client of the - * result of a previously-requested authorization. The ID in the URI should - * contain the one that was used in the POST /authorizations/ requestBody.transactionRequestId @ OUTBOUND - */ - InboundAuthorizationsIDPutResponse: { - parameters: { - path: { - ID: string; - }; - }; - responses: { - /** - * information about result of required (via POST) /authorization - */ - "200": { - "application/json": { - /** - * Data model for the complex type AuthenticationInfo. - */ - authenticationInfo?: { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authentication: "OTP" | "QRCODE" | "U2F"; - /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. - */ - authenticationValue: Partial & - Partial & - Partial<{ - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; - }>; - }; - /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. - */ - responseType: "ENTERED" | "REJECTED" | "RESEND"; - }; - }; /** - * Bad Request + * Forbidden */ - "400": { + "403": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -5691,83 +3797,7 @@ export interface operations { }; }; /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found + * Not Found */ "404": { "application/json": { @@ -5959,9 +3989,44 @@ export interface operations { }; }; /** - * The HTTP request GET /health is used to return the current status of the API. + * The HTTP request `PUT /accounts/{ID}/error` is used to return error information */ - HealthGet: { + UpdateAccountsByUserIdError: { + requestBody: { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; responses: { /** * OK @@ -6274,494 +4339,971 @@ export interface operations { }; }; /** - * The HTTP request GET /metrics is used to return metrics for the API. + * The HTTP request `POST /authorizations` is used to request the Payer to enter the applicable credentials in the PISP system. */ - MetricsGet: { - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { + AuthorizationsPostRequest: { + requestBody: { + "application/json": { + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authenticationType: "OTP" | "QRCODE" | "U2F"; + /** + * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. + */ + retriesLeft: string; + /** + * Data model for the complex type Money. + */ + amount: { /** - * Data model for the complex type ErrorInformation. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ErrorInformation. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + amount: string; }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionId: string; + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionRequestId: string; + /** + * The object sent in the PUT /quotes/{ID} callback. + */ + quote: { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type Money. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + transferAmount: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type Money. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + payeeReceiveAmount?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; }; - }; - }; - }; - }; - /** - * A request from a PISP to a DFSP to start the process of delegating consent - */ - CreateConsentRequest: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - * - * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - */ - "X-Forwarded-For"?: string; - /** - * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - */ - "FSPIOP-Source": string; - /** - * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - */ - "FSPIOP-Destination"?: string; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ - "FSPIOP-Encryption"?: string; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ - "FSPIOP-Signature"?: string; - /** - * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-URI"?: string; - /** - * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-HTTP-Method"?: string; - }; - }; - requestBody: { - "application/json": { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - id: string; - /** - * The id of the PISP who will initiate transactions on a user's behalf. - */ - initiatorId: string; - scopes: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Data model for the complex type Money. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: ("WEB" | "OTP")[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + payeeFspFee?: { /** - * Error description string. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - errorDescription: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type Money. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + payeeFspCommission?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + expiration: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; + /** + * Information for recipient (transport layer information). + */ + ilpPacket: string; + /** + * Condition that must be attached to the transfer by the Payer. + */ + condition: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + responses: { + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ errorCode: string; /** @@ -6790,9 +5332,9 @@ export interface operations { }; }; /** - * Not Found + * Unauthorized */ - "404": { + "401": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -6828,9 +5370,9 @@ export interface operations { }; }; /** - * Method Not Allowed + * Forbidden */ - "405": { + "403": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -6866,9 +5408,9 @@ export interface operations { }; }; /** - * Not Acceptable + * Not Found */ - "406": { + "404": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -6904,9 +5446,9 @@ export interface operations { }; }; /** - * Not Implemented + * Method Not Allowed */ - "501": { + "405": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -6942,9 +5484,9 @@ export interface operations { }; }; /** - * Service Unavailable + * Not Acceptable */ - "503": { + "406": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -6979,119 +5521,137 @@ export interface operations { }; }; }; - }; - }; - /** - * DFSP updates auth channels and/or auth uri in response to consentRequest. - * - * PISP updates the consentRequest to include authorization token from their user, - * which the DFSP is to then verify. - */ - UpdateConsentRequest: { - requestBody: { - "application/json": - | { - /** - * The id of the PISP who will initiate transactions on a user's behalf. - */ - initiatorId: string; - scopes: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "WEB"[]; + /** + * Not Implemented + */ + "501": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - callbackUri: string; + errorCode: string; /** - * The callback uri that the pisp app redirects to for user to complete their login. + * Error description string. */ - authUri: string; - } - | { + errorDescription: string; /** - * The id of the PISP who will initiate transactions on a user's behalf. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - initiatorId: string; - scopes: { + extensionList?: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Number of Extension elements. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "WEB"[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { /** - * The callback uri that the pisp app redirects to for user to complete their login. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - authUri: string; + errorCode: string; /** - * The Auth token from the OTP or redirect to pisp app. + * Error description string. */ - authToken: string; - } - | { + errorDescription: string; /** - * The id of the PISP who will initiate transactions on a user's behalf. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - initiatorId: string; - scopes: { + extensionList?: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Number of Extension elements. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "OTP"[]; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + }; + }; + /** + * The callback PUT /authorizations/ is used to inform the client of the + * result of a previously-requested authorization. The ID in the URI should + * contain the one that was used in the POST /authorizations/ requestBody.transactionRequestId @ OUTBOUND + */ + InboundAuthorizationsIDPutResponse: { + parameters: { + path: { + ID: string; + }; + }; + responses: { + /** + * information about result of required (via POST) /authorization + */ + "200": { + "application/json": { + /** + * Data model for the complex type AuthenticationInfo. + */ + authenticationInfo?: { /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. */ - callbackUri: string; - } - | { + authentication: "OTP" | "QRCODE" | "U2F"; /** - * The id of the PISP who will initiate transactions on a user's behalf. + * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. */ - initiatorId: string; - scopes: { + authenticationValue: Partial & + Partial & + Partial<{ /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "OTP"[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; - /** - * The Auth token from the OTP or redirect to pisp app. - */ - authToken: string; + * U2F challenge-response. + */ + pinValue: string; + /** + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }>; }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; + /** + * Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + */ + responseType: "ENTERED" | "REJECTED" | "RESEND"; + }; + }; /** * Bad Request */ @@ -7399,22 +5959,14 @@ export interface operations { }; }; /** - * PISP sends user's OTP token to a DFSP to verify user trusts aforementioned PISP + * The HTTP request GET /health is used to return the current status of the API. */ - PatchConsentRequest: { - requestBody: { - "application/json": { - /** - * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. - */ - authToken: string; - }; - }; + HealthGet: { responses: { /** - * Accepted + * OK */ - "202": unknown; + "200": unknown; /** * Bad Request */ @@ -7722,110 +6274,21 @@ export interface operations { }; }; /** - * DFSP responds to the PISP if something went wrong with validating an OTP or secret. + * The HTTP request GET /metrics is used to return metrics for the API. */ - NotifyErrorConsentRequests: { - parameters: { - path: { - /** - * The identifier value. - */ - ID: string; - }; - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - * - * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - */ - "X-Forwarded-For"?: string; - /** - * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - */ - "FSPIOP-Source": string; - /** - * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - */ - "FSPIOP-Destination"?: string; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ - "FSPIOP-Encryption"?: string; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ - "FSPIOP-Signature"?: string; - /** - * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-URI"?: string; - /** - * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-HTTP-Method"?: string; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + MetricsGet: { + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type ErrorInformation. */ errorInformation?: { /** @@ -8126,9 +6589,9 @@ export interface operations { }; }; /** - * DFSP sends this request to the PISP after granting consent. + * A request from a PISP to a DFSP to start the process of delegating consent */ - PostConsents: { + CreateConsentRequest: { parameters: { header: { /** @@ -8184,16 +6647,13 @@ export interface operations { requestBody: { "application/json": { /** - * Common ID between the PISP and FSP for the Consent object - * decided by the DFSP who creates the Consent - * This field is REQUIRED for POST /consent. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - consentId: string; + id: string; /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. + * The id of the PISP who will initiate transactions on a user's behalf. */ - consentRequestId: string; + initiatorId: string; scopes: { /** * A long-lived unique account identifier provided by the DFSP. This MUST NOT @@ -8203,6 +6663,11 @@ export interface operations { accountId: string; actions: ("accounts.getBalance" | "accounts.transfer")[]; }[]; + authChannels: ("WEB" | "OTP")[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; }; }; responses: { @@ -8517,15 +6982,109 @@ export interface operations { }; }; /** - * The HTTP request `GET /consents/{ID}` is used to get information regarding a consent object created or requested earlier. The `{ID}` in the URI should contain the `{ID}` that was used in the `POST /consents`. summary: GetConsent + * DFSP updates auth channels and/or auth uri in response to consentRequest. + * + * PISP updates the consentRequest to include authorization token from their user, + * which the DFSP is to then verify. */ - GetConsent: { - parameters: { - header: { + UpdateConsentRequest: { + requestBody: { + "application/json": + | { /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "WEB"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + /** + * The callback uri that the pisp app redirects to for user to complete their login. + */ + authUri: string; + } + | { + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "WEB"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + /** + * The callback uri that the pisp app redirects to for user to complete their login. + */ + authUri: string; + /** + * The Auth token from the OTP or redirect to pisp app. + */ + authToken: string; + } + | { + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "OTP"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + } + | { + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "OTP"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + /** + * The Auth token from the OTP or redirect to pisp app. + */ + authToken: string; }; }; responses: { @@ -8840,42 +7399,22 @@ export interface operations { }; }; /** - * The HTTP request `PATCH /consents/{ID}` is used in account unlinking - * by a hub hosted auth service and by DFSPs in non-hub hosted scenarios - * to notify participants of a consent being revoked. - * - * - Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario. - * - Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario. + * PISP sends user's OTP token to a DFSP to verify user trusts aforementioned PISP */ - PatchConsent: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - }; - }; + PatchConsentRequest: { requestBody: { "application/json": { /** - * The status of the Consent. - * - "REVOKED" - The Consent is no longer valid and has been revoked. - */ - status: "REVOKED"; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. */ - revokedAt: string; + authToken: string; }; }; responses: { /** - * OK + * Accepted */ - "200": unknown; + "202": unknown; /** * Bad Request */ @@ -9183,14 +7722,16 @@ export interface operations { }; }; /** - * The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service. - * - * - Called by a `auth-service` to request PISP to add the credential details. - * - Called by a `PISP` to after signing a challenge. Sent to an `auth-service` for verification. - * - Called by a `auth-service` to notify a DFSP and PISP that a credential has been verified and registered. + * DFSP responds to the PISP if something went wrong with validating an OTP or secret. */ - UpdateConsent: { + NotifyErrorConsentRequests: { parameters: { + path: { + /** + * The identifier value. + */ + ID: string; + }; header: { /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. @@ -9198,200 +7739,86 @@ export interface operations { * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; + /** + * The `Date` header field indicates the date when the request was sent. + */ + Date: string; + /** + * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. + * + * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. + */ + "X-Forwarded-For"?: string; + /** + * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). + */ + "FSPIOP-Source": string; + /** + * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + */ + "FSPIOP-Destination"?: string; + /** + * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + */ + "FSPIOP-Encryption"?: string; + /** + * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + */ + "FSPIOP-Signature"?: string; + /** + * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-URI"?: string; + /** + * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-HTTP-Method"?: string; }; }; requestBody: { - "application/json": - | { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. + * Number of Extension elements. */ - requestId: string; - /** - * FSP identifier. - */ - participantId: string; - /** - * PISP identifier who uses this Consent. - */ - initiatorId: string; - scopes: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * SignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when updating - * a credential. - */ - credential: { - /** - * The id of a Credential. - */ - id: string; - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - type: "FIDO"; - /** - * The challenge has signed but not yet verified. - */ - status: "PENDING"; - /** - * The challenge that has been signed by a PISP. - */ - challenge: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. - */ - signature: string; - }; - /** - * Base64 encoded bytes - The public key of the Public/Private keypair. - */ - payload: string; - }; - } - | { - /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. - */ - requestId: string; - /** - * FSP identifier. - */ - participantId: string; - /** - * PISP identifier who uses this Consent. - */ - initiatorId: string; - scopes: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * UnsignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when updating - * a credential. - */ - credential: { - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - type: "FIDO"; - /** - * The challenge has initialized but not yet answered by the PISP. - */ - status: "PENDING"; + extension: { /** - * The challenge issued by a DFSP that must be answered by the PISP. + * Extension key. */ - challenge: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - }; - }; - } - | { - /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. - */ - requestId: string; - /** - * FSP identifier. - */ - participantId: string; - /** - * PISP identifier who uses this Consent. - */ - initiatorId: string; - scopes: { + key: string; /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Extension value. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; + value: string; }[]; - /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * VerifiedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be VERIFIED when updating - * a credential. - */ - credential: { - /** - * The id of a Credential. - */ - id?: string; - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - type: "FIDO"; - /** - * The Credential is valid, and ready to be used by the PISP. - */ - status: "VERIFIED"; - /** - * The challenge that has been signed by a PISP. - */ - challenge: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. - */ - signature: string; - }; - /** - * Base64 encoded bytes - The public key of the Public/Private keypair. - */ - payload?: string; - }; }; + }; + }; }; responses: { /** * OK */ "200": unknown; - /** - * Accepted - */ - "202": unknown; /** * Bad Request */ @@ -9699,11 +8126,85 @@ export interface operations { }; }; /** - * The HTTP request `DELETE /consents/{ID}` is used to mark as deleted a previously created consent. - * - * - Called by a PISP when a user wants to remove their consent. + * DFSP sends this request to the PISP after granting consent. */ - DeleteConsentByID: { + PostConsents: { + parameters: { + header: { + /** + * The `Accept` header field indicates the version of the API the client would like the server to use. + */ + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; + /** + * The `Date` header field indicates the date when the request was sent. + */ + Date: string; + /** + * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. + * + * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. + */ + "X-Forwarded-For"?: string; + /** + * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). + */ + "FSPIOP-Source": string; + /** + * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + */ + "FSPIOP-Destination"?: string; + /** + * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + */ + "FSPIOP-Encryption"?: string; + /** + * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + */ + "FSPIOP-Signature"?: string; + /** + * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-URI"?: string; + /** + * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-HTTP-Method"?: string; + }; + }; + requestBody: { + "application/json": { + /** + * Common ID between the PISP and FSP for the Consent object + * decided by the DFSP who creates the Consent + * This field is REQUIRED for POST /consent. + */ + consentId: string; + /** + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. + */ + consentRequestId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + }; + }; responses: { /** * Accepted @@ -10016,103 +8517,22 @@ export interface operations { }; }; /** - * DFSP responds to the PISP if something went wrong with validating or storing consent. + * The HTTP request `GET /consents/{ID}` is used to get information regarding a consent object created or requested earlier. The `{ID}` in the URI should contain the `{ID}` that was used in the `POST /consents`. summary: GetConsent */ - NotifyErrorConsents: { + GetConsent: { parameters: { - path: { - /** - * The identifier value. - */ - ID: string; - }; header: { /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - * - * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - */ - "X-Forwarded-For"?: string; - /** - * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - */ - "FSPIOP-Source": string; - /** - * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - */ - "FSPIOP-Destination"?: string; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - "FSPIOP-Encryption"?: string; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ - "FSPIOP-Signature"?: string; - /** - * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-URI"?: string; - /** - * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-HTTP-Method"?: string; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + Accept: string; }; }; responses: { /** - * OK + * Accepted */ - "200": unknown; + "202": unknown; /** * Bad Request */ @@ -10420,83 +8840,42 @@ export interface operations { }; }; /** - * PISP requests a challenge from the auth service. + * The HTTP request `PATCH /consents/{ID}` is used in account unlinking + * by a hub hosted auth service and by DFSPs in non-hub hosted scenarios + * to notify participants of a consent being revoked. * - * PISP -> Switch + * - Called by a `auth-service` to notify a PISP and DFSP of consent status in hub hosted scenario. + * - Called by a `DFSP` to notify a PISP of consent status in non-hub hosted scenario. */ - GenerateChallengeRequest: { + PatchConsent: { parameters: { - path: { - /** - * The identifier value. - */ - ID: string; - }; header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; /** * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. * * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - * - * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - */ - "X-Forwarded-For"?: string; - /** - * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - */ - "FSPIOP-Source": string; - /** - * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - */ - "FSPIOP-Destination"?: string; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ - "FSPIOP-Encryption"?: string; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ - "FSPIOP-Signature"?: string; - /** - * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-URI"?: string; - /** - * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-HTTP-Method"?: string; }; }; requestBody: { "application/json": { /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. + * The status of the Consent. + * - "REVOKED" - The Consent is no longer valid and has been revoked. */ - type: "FIDO"; + status: "REVOKED"; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + revokedAt: string; }; }; responses: { /** - * Accepted + * OK */ - "202": unknown; + "200": unknown; /** * Bad Request */ @@ -10804,89 +9183,281 @@ export interface operations { }; }; /** - * The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants - * that support a specified service. + * The HTTP request `PUT /consents/{ID}` is used by the PISP and Auth Service. + * + * - Called by a `auth-service` to request PISP to add the credential details. + * - Called by a `PISP` to after signing a challenge. Sent to an `auth-service` for verification. + * - Called by a `auth-service` to notify a DFSP and PISP that a credential has been verified and registered. */ - GetServicesByServiceType: { + UpdateConsent: { parameters: { header: { /** - * The `Accept` header field indicates the version of the API the client would like the server to use. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - Accept: string; + "Content-Length"?: number; }; }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + requestBody: { + "application/json": + | { + /** + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. */ - errorCode: string; - /** - * Error description string. + requestId: string; + /** + * FSP identifier. */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + participantId: string; + /** + * PISP identifier who uses this Consent. */ - extensionList?: { - /** - * Number of Extension elements. + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - extension: { - /** - * Extension key. + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * SignedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be PENDING when updating + * a credential. + */ + credential: { + /** + * The id of a Credential. + */ + id: string; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The challenge has signed but not yet verified. + */ + status: "PENDING"; + /** + * The challenge that has been signed by a PISP. + */ + challenge: { + /** + * Base64 encoded binary of the challenge that must be answered by the PISP. */ - key: string; - /** - * Extension value. + payload: string; + /** + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. */ - value: string; - }[]; - }; + signature: string; }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * Base64 encoded bytes - The public key of the Public/Private keypair. + */ + payload: string; + }; + } + | { + /** + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. */ - errorCode: string; - /** - * Error description string. + requestId: string; + /** + * FSP identifier. */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + participantId: string; + /** + * PISP identifier who uses this Consent. */ - extensionList?: { - /** - * Number of Extension elements. + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - extension: { - /** - * Extension key. - */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * UnsignedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be PENDING when updating + * a credential. + */ + credential: { + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The challenge has initialized but not yet answered by the PISP. + */ + status: "PENDING"; + /** + * The challenge issued by a DFSP that must be answered by the PISP. + */ + challenge: { + /** + * Base64 encoded binary of the challenge that must be answered by the PISP. + */ + payload: string; + }; + }; + } + | { + /** + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. + */ + requestId: string; + /** + * FSP identifier. + */ + participantId: string; + /** + * PISP identifier who uses this Consent. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * VerifiedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be VERIFIED when updating + * a credential. + */ + credential: { + /** + * The id of a Credential. + */ + id?: string; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The Credential is valid, and ready to be used by the PISP. + */ + status: "VERIFIED"; + /** + * The challenge that has been signed by a PISP. + */ + challenge: { + /** + * Base64 encoded binary of the challenge that must be answered by the PISP. + */ + payload: string; + /** + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + */ + signature: string; + }; + /** + * Base64 encoded bytes - The public key of the Public/Private keypair. + */ + payload?: string; + }; + }; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ key: string; /** * Extension value. @@ -11128,32 +9699,16 @@ export interface operations { }; }; /** - * The HTTP request `PUT /services/{ServiceType}` is used to return list of participants - * that support a specified service. + * The HTTP request `DELETE /consents/{ID}` is used to mark as deleted a previously created consent. + * + * - Called by a PISP when a user wants to remove their consent. */ - PutServicesByServiceType: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - }; - }; - requestBody: { - "application/json": { providers: string[] }; - }; + DeleteConsentByID: { responses: { /** - * OK + * Accepted */ - "200": unknown; + "202": unknown; /** * Bad Request */ @@ -11461,9 +10016,63 @@ export interface operations { }; }; /** - * The HTTP request `PUT /services/{ServiceType}/error` is used to return error information + * DFSP responds to the PISP if something went wrong with validating or storing consent. */ - PutServicesByIdAndError: { + NotifyErrorConsents: { + parameters: { + path: { + /** + * The identifier value. + */ + ID: string; + }; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; + /** + * The `Date` header field indicates the date when the request was sent. + */ + Date: string; + /** + * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. + * + * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. + */ + "X-Forwarded-For"?: string; + /** + * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). + */ + "FSPIOP-Source": string; + /** + * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + */ + "FSPIOP-Destination"?: string; + /** + * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + */ + "FSPIOP-Encryption"?: string; + /** + * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + */ + "FSPIOP-Signature"?: string; + /** + * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-URI"?: string; + /** + * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-HTTP-Method"?: string; + }; + }; requestBody: { "application/json": { /** @@ -11811,278 +10420,138 @@ export interface operations { }; }; /** - * The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP + * PISP requests a challenge from the auth service. + * + * PISP -> Switch */ - CreateThirdpartyTransactionRequests: { - requestBody: { - "application/json": { + GenerateChallengeRequest: { + parameters: { + path: { /** - * Common ID between the FSPs for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. + * The identifier value. */ - transactionRequestId: string; + ID: string; + }; + header: { /** - * Information about the Payee in the proposed financial transaction. + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - payee: { + Accept: string; + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; + /** + * The `Date` header field indicates the date when the request was sent. + */ + Date: string; + /** + * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. + * + * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. + */ + "X-Forwarded-For"?: string; + /** + * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). + */ + "FSPIOP-Source": string; + /** + * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + */ + "FSPIOP-Destination"?: string; + /** + * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + */ + "FSPIOP-Encryption"?: string; + /** + * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + */ + "FSPIOP-Signature"?: string; + /** + * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-URI"?: string; + /** + * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-HTTP-Method"?: string; + }; + }; + requestBody: { + "application/json": { + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + }; + }; + responses: { + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * Data model for the complex type AccountList. + * Data model for the complex type ErrorInformation. */ - accounts?: { + errorInformation?: { /** - * Accounts associated with the Party. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + * Number of Extension elements. */ - description?: string; - }[]; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { /** - * Data model for the complex type PartyIdInfo. + * Data model for the complex type ErrorInformation. */ - partyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; + errorInformation?: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - partySubIdOrType?: string; + errorCode: string; /** - * FSP identifier. + * Error description string. */ - fspId?: string; + errorDescription: string; /** * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ @@ -12102,333 +10571,263 @@ export interface operations { }[]; }; }; + }; + }; + /** + * Forbidden + */ + "403": { + "application/json": { /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. + * Data model for the complex type ErrorInformation. */ - personalInfo?: { + errorInformation?: { /** - * Data model for the complex type PartyComplexName. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Last name of the Party (Name Type). + * Number of Extension elements. */ - lastName?: string; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; }; - /** - * Information about the Payer in the proposed financial transaction. - */ - payer: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * This validation interface should be use by `POST /thirdpartyRequests/transactions` - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - partyIdType: "THIRD_PARTY_LINK"; + }; + /** + * Not Found + */ + "404": { + "application/json": { /** - * Identifier of the Party. + * Data model for the complex type ErrorInformation. */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Method Not Allowed + */ + "405": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. */ - partySubIdOrType?: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Acceptable + */ + "406": { + "application/json": { /** - * FSP identifier. + * Data model for the complex type ErrorInformation. */ - fspId?: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Implemented + */ + "501": { + "application/json": { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Data model for the complex type ErrorInformation. */ - extensionList?: { + errorInformation?: { /** - * Number of Extension elements. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - extension: { + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Extension key. + * Number of Extension elements. */ - key: string; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Extension value. + * Number of Extension elements. */ - value: string; - }[]; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; }; + }; + }; + }; + /** + * The HTTP request `GET /services/{ServiceType}` is used to retrieve the list of participants + * that support a specified service. + */ + GetServicesByServiceType: { + parameters: { + header: { /** - * SEND for sendAmount, RECEIVE for receiveAmount. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Requested amount to be transferred from the Payer to Payee. + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - amount: { + Accept: string; + }; + }; + responses: { + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Type of transaction. - */ - transactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - */ - initiator: "PAYER" | "PAYEE"; - /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - */ - balanceOfPayments?: string; - }; - /** - * Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. - */ - expiration: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type ErrorInformation. */ errorInformation?: { /** @@ -12729,278 +11128,125 @@ export interface operations { }; }; /** - * The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP + * The HTTP request `PUT /services/{ServiceType}` is used to return list of participants + * that support a specified service. */ - ThirdpartyRequestsTransactionsPost: { - requestBody: { - "application/json": { + PutServicesByServiceType: { + parameters: { + header: { /** - * Common ID between the FSPs for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - transactionRequestId: string; + "Content-Length"?: number; /** - * Information about the Payee in the proposed financial transaction. + * The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - payee: { + "Content-Type": string; + }; + }; + requestBody: { + "application/json": { providers: string[] }; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * Data model for the complex type AccountList. + * Data model for the complex type ErrorInformation. */ - accounts?: { + errorInformation?: { /** - * Accounts associated with the Party. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Number of Extension elements. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { /** - * Data model for the complex type PartyIdInfo. + * Data model for the complex type ErrorInformation. */ - partyIdInfo: { + errorInformation?: { /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + errorCode: string; /** - * Identifier of the Party. + * Error description string. */ - partyIdentifier: string; + errorDescription: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - partySubIdOrType?: string; + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Forbidden + */ + "403": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { /** - * FSP identifier. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - fspId?: string; + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; /** * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ @@ -13020,333 +11266,91 @@ export interface operations { }[]; }; }; + }; + }; + /** + * Not Found + */ + "404": { + "application/json": { /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * Name of the Party. Could be a real name or a nickname. - */ - name?: string; - /** - * Data model for the complex type PartyPersonalInfo. + * Data model for the complex type ErrorInformation. */ - personalInfo?: { + errorInformation?: { /** - * Data model for the complex type PartyComplexName. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Last name of the Party (Name Type). + * Number of Extension elements. */ - lastName?: string; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; }; }; - /** - * Information about the Payer in the proposed financial transaction. - */ - payer: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * This validation interface should be use by `POST /thirdpartyRequests/transactions` - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; + }; + /** + * Method Not Allowed + */ + "405": { + "application/json": { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Data model for the complex type ErrorInformation. */ - extensionList?: { + errorInformation?: { /** - * Number of Extension elements. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - extension: { - /** - * Extension key. - */ - key: string; + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Extension value. + * Number of Extension elements. */ - value: string; - }[]; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; }; - /** - * SEND for sendAmount, RECEIVE for receiveAmount. - */ - amountType: "SEND" | "RECEIVE"; - /** - * Requested amount to be transferred from the Payer to Payee. - */ - amount: { + }; + /** + * Not Acceptable + */ + "406": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * Type of transaction. - */ - transactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - */ - initiator: "PAYER" | "PAYEE"; - /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - */ - balanceOfPayments?: string; - }; - /** - * Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. - */ - expiration: string; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type ErrorInformation. */ errorInformation?: { /** @@ -13379,9 +11383,9 @@ export interface operations { }; }; /** - * Unauthorized + * Not Implemented */ - "401": { + "501": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -13417,9 +11421,9 @@ export interface operations { }; }; /** - * Forbidden + * Service Unavailable */ - "403": { + "503": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -13454,208 +11458,52 @@ export interface operations { }; }; }; - /** - * Not Found - */ - "404": { - "application/json": { + }; + }; + /** + * The HTTP request `PUT /services/{ServiceType}/error` is used to return error information + */ + PutServicesByServiceTypeAndError: { + requestBody: { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation: { /** - * Data model for the complex type ErrorInformation. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + errorCode: string; /** - * Data model for the complex type ErrorInformation. + * Error description string. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + errorDescription: string; /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + extensionList?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Number of Extension elements. */ - extensionList?: { + extension: { /** - * Number of Extension elements. + * Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + key: string; /** - * Number of Extension elements. + * Extension value. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + value: string; + }[]; }; }; }; }; - }; - /** - * The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the - * retrieval of a third party transaction request. - */ - GetThirdpartyTransactionRequests: { responses: { /** - * Accepted + * OK */ - "202": unknown; + "200": unknown; /** * Bad Request */ @@ -13963,144 +11811,278 @@ export interface operations { }; }; /** - * The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about - * the status of a previously requested thirdparty transaction request. - * - * Switch(Thirdparty API Adapter) -> PISP + * The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP */ - UpdateThirdPartyTransactionRequests: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - }; - }; + CreateThirdpartyTransactionRequests: { requestBody: { "application/json": { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Common ID between the FSPs for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. */ - transactionId: string; + transactionRequestId: string; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. + * Information about the Payee in the proposed financial transaction. */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { + payee: { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type AccountList. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + accounts?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Accounts associated with the Party. */ - extensionList?: { + account: { /** - * Number of Extension elements. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type PartyIdInfo. */ - errorInformation?: { + partyIdInfo: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - errorCode: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Error description string. + * Identifier of the Party. */ - errorDescription: string; + partyIdentifier: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + partySubIdOrType?: string; /** - * Error description string. + * FSP identifier. */ - errorDescription: string; + fspId?: string; /** * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ @@ -14120,334 +12102,330 @@ export interface operations { }[]; }; }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { + merchantClassificationCode?: string; /** - * Data model for the complex type ErrorInformation. + * Name of the Party. Could be a real name or a nickname. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { + name?: string; /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type PartyPersonalInfo. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + personalInfo?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Data model for the complex type PartyComplexName. */ - extensionList?: { + complexName?: { /** - * Number of Extension elements. + * First name of the Party (Name Type). */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + firstName?: string; /** - * Number of Extension elements. + * Middle name of the Party (Name Type). */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; }; + /** + * Date of Birth of the Party. + */ + dateOfBirth?: string; }; }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + /** + * Information about the Payer in the proposed financial transaction. + */ + payer: { /** - * Data model for the complex type ErrorInformation. + * This is a variant based on FSPIOP `PartyIdType` specification. + * This validation interface should be use by `POST /thirdpartyRequests/transactions` + * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + partyIdType: "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Number of Extension elements. */ - extensionList?: { + extension: { /** - * Number of Extension elements. + * Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; }; - }; - }; - }; - /** - * The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to - * notify a thirdparty of the outcome of a transaction request. - * - * Switch(Thirdparty API Adapter) -> PISP - */ - NotifyThirdpartyTransactionRequests: { - parameters: { - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - }; - }; - requestBody: { - "application/json": { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * SEND for sendAmount, RECEIVE for receiveAmount. */ - transactionId: string; + amountType: "SEND" | "RECEIVE"; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. + * Requested amount to be transferred from the Payer to Payee. */ - transactionRequestState: - | "RECEIVED" - | "PENDING" - | "ACCEPTED" - | "REJECTED"; + amount: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. + * Type of transaction. */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { + transactionType: { /** - * Data model for the complex type ErrorInformation. + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { + scenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; /** - * Data model for the complex type ErrorInformation. + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + subScenario?: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + initiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { /** - * Error description string. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - errorDescription: string; + originalTransactionId: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Reason for the refund. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + refundReason?: string; }; + /** + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + */ + balanceOfPayments?: string; }; + /** + * Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. + */ + expiration: string; }; + }; + responses: { /** - * Forbidden + * Accepted */ - "403": { + "202": unknown; + /** + * Bad Request + */ + "400": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14483,9 +12461,9 @@ export interface operations { }; }; /** - * Not Found + * Unauthorized */ - "404": { + "401": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14521,9 +12499,9 @@ export interface operations { }; }; /** - * Method Not Allowed + * Forbidden */ - "405": { + "403": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14559,9 +12537,9 @@ export interface operations { }; }; /** - * Not Acceptable + * Not Found */ - "406": { + "404": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14597,9 +12575,9 @@ export interface operations { }; }; /** - * Not Implemented + * Method Not Allowed */ - "501": { + "405": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14635,9 +12613,9 @@ export interface operations { }; }; /** - * Service Unavailable + * Not Acceptable */ - "503": { + "406": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14672,113 +12650,10 @@ export interface operations { }; }; }; - }; - }; - /** - * If the server is unable to find the transaction request, or another processing error occurs, - * the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used. - * The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of - * the thirdparty transaction request. - */ - ThirdpartyTransactionRequestsError: { - parameters: { - path: { - /** - * The identifier value. - */ - ID: string; - }; - header: { - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length"?: number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - * - * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - */ - "X-Forwarded-For"?: string; - /** - * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - */ - "FSPIOP-Source": string; - /** - * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - */ - "FSPIOP-Destination"?: string; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ - "FSPIOP-Encryption"?: string; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ - "FSPIOP-Signature"?: string; - /** - * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-URI"?: string; - /** - * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-HTTP-Method"?: string; - }; - }; - requestBody: { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { /** - * OK - */ - "200": unknown; - /** - * Bad Request + * Not Implemented */ - "400": { + "501": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14814,9 +12689,9 @@ export interface operations { }; }; /** - * Unauthorized + * Service Unavailable */ - "401": { + "503": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -14851,99 +12726,281 @@ export interface operations { }; }; }; - /** - * Forbidden - */ - "403": { - "application/json": { + }; + }; + /** + * The HTTP request POST `/thirdpartyRequests/transactions` is used by a PISP to initiate a 3rd party Transaction request with a DFSP + */ + ThirdpartyRequestsTransactionsPost: { + requestBody: { + "application/json": { + /** + * Common ID between the FSPs for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. + */ + transactionRequestId: string; + /** + * Information about the Payee in the proposed financial transaction. + */ + payee: { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type AccountList. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + accounts?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Accounts associated with the Party. */ - extensionList?: { + account: { /** - * Number of Extension elements. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type PartyIdInfo. */ - errorInformation?: { + partyIdInfo: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - errorCode: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Error description string. + * Identifier of the Party. */ - errorDescription: string; + partyIdentifier: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + partySubIdOrType?: string; /** - * Error description string. + * FSP identifier. */ - errorDescription: string; + fspId?: string; /** * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ @@ -14963,191 +13020,352 @@ export interface operations { }[]; }; }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { + merchantClassificationCode?: string; /** - * Data model for the complex type ErrorInformation. + * Name of the Party. Could be a real name or a nickname. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + name?: string; + /** + * Data model for the complex type PartyPersonalInfo. + */ + personalInfo?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Data model for the complex type PartyComplexName. */ - extensionList?: { + complexName?: { /** - * Number of Extension elements. + * First name of the Party (Name Type). */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; }; + /** + * Date of Birth of the Party. + */ + dateOfBirth?: string; }; }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { + /** + * Information about the Payer in the proposed financial transaction. + */ + payer: { /** - * Data model for the complex type ErrorInformation. + * This is a variant based on FSPIOP `PartyIdType` specification. + * This validation interface should be use by `POST /thirdpartyRequests/transactions` + * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + partyIdType: "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Number of Extension elements. */ - extensionList?: { + extension: { /** - * Number of Extension elements. + * Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; }; - }; - }; - }; - /** - * The HTTP request `POST /thirdpartyRequests/transactions/{id}/authorizations` is used by the DFSP to verify a third party authorization. - */ - VerifyThirdPartyAuthorization: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; - requestBody: { - "application/json": { - /** - * Base64 encoded binary string - the original challenge. - */ - challenge: string; /** - * Base64 encoded binary string - the signed challenge - */ - value: string; - /** - * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which constent allows the PISP to initiate transaction. - */ - consentId: string; - /** - * DFSP specific account identifiers, e.g. `dfspa.alice.1234` + * SEND for sendAmount, RECEIVE for receiveAmount. */ - sourceAccountId: string; + amountType: "SEND" | "RECEIVE"; /** - * The status of the authorization. This MUST be PENDING for a POST request + * Requested amount to be transferred from the Payer to Payee. */ - status: "PENDING"; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { + amount: { /** - * Data model for the complex type ErrorInformation. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Type of transaction. + */ + transactionType: { + /** + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. + */ + scenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; + /** + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + subScenario?: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + initiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + originalTransactionId: string; + /** + * Reason for the refund. + */ + refundReason?: string; + }; + /** + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + */ + balanceOfPayments?: string; + }; + /** + * Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. + */ + expiration: string; + }; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** * Extension key. */ key: string; @@ -15429,39 +13647,15 @@ export interface operations { }; }; /** - * The HTTP request `PUT /thirdpartyRequests/transactions/{id}/authorizations` is used by the auth-service to update a thirdparty authorization after successful validation. - * For an unsuccessful authorization result, the `PUT /thirdpartyRequests/transactions/{id}/authorizations/error` will be called by the auth-service, instead of this endpoint. + * The HTTP request `GET /thirdpartyRequests/transactions/{ID}` is used to request the + * retrieval of a third party transaction request. */ - UpdateThirdpartyAuthorization: { - requestBody: { - "application/json": { - /** - * Base64 encoded binary string - the original challenge. - */ - challenge: string; - /** - * Base64 encoded binary string - the signed challenge. - */ - value: string; - /** - * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which consent allows the PISP to initiate transaction. - */ - consentId: string; - /** - * DFSP specific account identifiers, e.g. `dfspa.alice.1234` - */ - sourceAccountId: string; - /** - * The status of the authorization. This value must be `VERIFIED` for a PUT request. - */ - status: "VERIFIED"; - }; - }; + GetThirdpartyTransactionRequests: { responses: { /** - * OK + * Accepted */ - "200": unknown; + "202": unknown; /** * Bad Request */ @@ -15769,881 +13963,176 @@ export interface operations { }; }; /** - * The HTTP request `POST /thirdpartyRequests/authorizations` is used to request the Payer to enter the applicable credentials in the PISP system. + * The HTTP request `PUT /thirdpartyRequests/transactions/{ID}` is used by the DFSP to inform the client about + * the status of a previously requested thirdparty transaction request. + * + * Switch(Thirdparty API Adapter) -> PISP */ - PostThirdpartyRequestsAutorizations: { - requestBody: { - "application/json": { + UpdateThirdPartyTransactionRequests: { + parameters: { + header: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - authorizationRequestId: string; + "Content-Length"?: number; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - transactionRequestId: string; + "Content-Type": string; + }; + }; + requestBody: { + "application/json": { /** - * Base64 encoded bytes - The challenge generated by the DFSP. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - challenge: string; + transactionId: string; /** - * The object sent in the PUT /quotes/{ID} callback. + * Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. */ - quote: { + transactionRequestState: + | "RECEIVED" + | "PENDING" + | "ACCEPTED" + | "REJECTED"; + }; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * Data model for the complex type Money. + * Data model for the complex type ErrorInformation. */ - transferAmount: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Error description string. */ - amount: string; - }; - /** - * Data model for the complex type Money. + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. */ - payeeReceiveAmount?: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Error description string. */ - amount: string; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Forbidden + */ + "403": { + "application/json": { /** - * Data model for the complex type Money. + * Data model for the complex type ErrorInformation. */ - payeeFspFee?: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorCode: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Error description string. */ - amount: string; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; + }; + }; + /** + * Not Found + */ + "404": { + "application/json": { /** - * Data model for the complex type Money. + * Data model for the complex type ErrorInformation. */ - payeeFspCommission?: { + errorInformation?: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; - }; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - geoCode?: { - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - latitude: string; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type TransactionType. - */ - transactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - scenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; - /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - */ - initiator: "PAYER" | "PAYEE"; - /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Data model for the complex type Refund. - */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; - /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - */ - balanceOfPayments?: string; - }; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ errorCode: string; /** @@ -16672,9 +14161,9 @@ export interface operations { }; }; /** - * Forbidden + * Method Not Allowed */ - "403": { + "405": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -16710,9 +14199,9 @@ export interface operations { }; }; /** - * Not Found + * Not Acceptable */ - "404": { + "406": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -16748,9 +14237,9 @@ export interface operations { }; }; /** - * Method Not Allowed + * Not Implemented */ - "405": { + "501": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -16786,85 +14275,9 @@ export interface operations { }; }; /** - * Not Acceptable + * Service Unavailable */ - "406": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Service Unavailable - */ - "503": { + "503": { "application/json": { /** * Data model for the complex type ErrorInformation. @@ -16902,58 +14315,59 @@ export interface operations { }; }; /** - * The callback PUT /thirdpartyRequests/authorizations/{ID} is used to inform the client of the - * result of a previously-requested authorization. The ID in the URI should - * contain the one that was used in the POST /authorizations/ requestBody.transactionRequestId @ OUTBOUND + * The HTTP request `PATCH /thirdpartyRequests/transactions/{ID}` is used to + * notify a thirdparty of the outcome of a transaction request. + * + * Switch(Thirdparty API Adapter) -> PISP */ - PutThirdpartyRequestsAuthorizationsById: { + NotifyThirdpartyTransactionRequests: { parameters: { - path: { - ID: string; + header: { + /** + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). + */ + "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; + }; + }; + requestBody: { + "application/json": { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionId: string; + /** + * Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. + */ + transactionRequestState: + | "RECEIVED" + | "PENDING" + | "ACCEPTED" + | "REJECTED"; + /** + * Below are the allowed values for the enumeration. + * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. + * - PENDING - Payee FSP has validated the transaction. + * - COMPLETED - Payee FSP has successfully performed the transaction. + * - REJECTED - Payee FSP has failed to perform the transaction. + */ + transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; }; }; responses: { /** - * information about result of required (via POST) /authorization + * OK */ - "200": { - "application/json": { - /** - * Data model for the complex type AuthenticationInfo. - */ - authenticationInfo: { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authentication: "OTP" | "QRCODE" | "U2F"; - /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. - */ - authenticationValue: Partial & - Partial & - Partial<{ - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; - }>; - }; - /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. - */ - responseType: "ENTERED" | "REJECTED" | "RESEND"; - }; - }; + "200": unknown; /** * Bad Request */ @@ -17261,22 +14675,64 @@ export interface operations { }; }; /** - * The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform - * the other party that something went wrong with a Thirdparty Tranasction Authorization Request. - * - * The PISP may use this to tell the DFSP that the Thirdparty Tranasction Authorization Request is invalid or doesn't - * match a `transactionRequestId`. - * - * The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}` - * was invalid. + * If the server is unable to find the transaction request, or another processing error occurs, + * the error callback `PUT /thirdpartyRequests/transactions/{ID}/error` is used. + * The `{ID}` in the URI should contain the `transactionRequestId` that was used for the creation of + * the thirdparty transaction request. */ - PutThirdpartyRequestsAuthorizationsByIdAndError: { + ThirdpartyTransactionRequestsError: { parameters: { + path: { + /** + * The identifier value. + */ + ID: string; + }; header: { /** - * The `Accept` header field indicates the version of the API the client would like the server to use. + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - Accept: string; + "Content-Length"?: number; + /** + * The `Content-Type` header indicates the specific version of the API used to send the payload body. + */ + "Content-Type": string; + /** + * The `Date` header field indicates the date when the request was sent. + */ + Date: string; + /** + * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. + * + * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. + */ + "X-Forwarded-For"?: string; + /** + * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). + */ + "FSPIOP-Source": string; + /** + * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + */ + "FSPIOP-Destination"?: string; + /** + * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + */ + "FSPIOP-Encryption"?: string; + /** + * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. + */ + "FSPIOP-Signature"?: string; + /** + * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-URI"?: string; + /** + * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). + */ + "FSPIOP-HTTP-Method"?: string; }; }; requestBody: { @@ -17626,9 +15082,9 @@ export interface operations { }; }; /** - * The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization. + * The HTTP request `POST /thirdpartyRequests/transactions/{id}/authorizations` is used by the DFSP to verify a third party authorization. */ - PutThirdpartyRequestsVerifications: { + VerifyThirdPartyAuthorization: { parameters: { header: { /** @@ -17639,64 +15095,38 @@ export interface operations { }; requestBody: { "application/json": { - verificationRequestId: string; /** - * Base64 encoded bytes - The challenge generated by the DFSP. + * Base64 encoded binary string - the original challenge. */ challenge: string; - value: { - /** - * Data model for the complex type AuthenticationInfo. - */ - authenticationInfo?: { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authentication: "OTP" | "QRCODE" | "U2F"; - /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. - */ - authenticationValue: Partial & - Partial & - Partial<{ - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; - }>; - }; - /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. - */ - responseType?: "ENTERED" | "REJECTED" | "RESEND"; - }; - /** - * The id of the stored consent object that contains the credential with which to verify - * the signed challenge against. - */ - consentId: string; - }; - }; - responses: { - /** - * Accepted - */ - "202": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { + /** + * Base64 encoded binary string - the signed challenge + */ + value: string; + /** + * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which constent allows the PISP to initiate transaction. + */ + consentId: string; + /** + * DFSP specific account identifiers, e.g. `dfspa.alice.1234` + */ + sourceAccountId: string; + /** + * The status of the authorization. This MUST be PENDING for a POST request + */ + status: "PENDING"; + }; + }; + responses: { + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** * Data model for the complex type ErrorInformation. */ @@ -17999,27 +15429,32 @@ export interface operations { }; }; /** - * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}` is used by the Auth-Service to inform - * the DFSP of a successful result in validating the verification of a Thirdparty Transaction Request. - * - * If the validation fails, The Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error` - * instead. + * The HTTP request `PUT /thirdpartyRequests/transactions/{id}/authorizations` is used by the auth-service to update a thirdparty authorization after successful validation. + * For an unsuccessful authorization result, the `PUT /thirdpartyRequests/transactions/{id}/authorizations/error` will be called by the auth-service, instead of this endpoint. */ - PutThirdpartyRequestsVerificationsById: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; + UpdateThirdpartyAuthorization: { requestBody: { "application/json": { /** - * The verification passed + * Base64 encoded binary string - the original challenge. */ - authenticationResponse: "VERIFIED"; + challenge: string; + /** + * Base64 encoded binary string - the signed challenge. + */ + value: string; + /** + * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which consent allows the PISP to initiate transaction. + */ + consentId: string; + /** + * DFSP specific account identifiers, e.g. `dfspa.alice.1234` + */ + sourceAccountId: string; + /** + * The status of the authorization. This value must be `VERIFIED` for a PUT request. + */ + status: "VERIFIED"; }; }; responses: { @@ -18334,4751 +15769,5360 @@ export interface operations { }; }; /** - * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}/error` is used by the Auth-Service to inform - * the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request. + * The HTTP request `POST /thirdpartyRequests/authorizations` is used to request the Payer to enter the applicable credentials in the PISP system. */ - PutThirdpartyRequestsVerificationsByIdAndError: { - parameters: { - header: { - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - }; - }; + PostThirdpartyRequestsAutorizations: { requestBody: { "application/json": { /** - * Data model for the complex type ErrorInformation. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - responses: { - /** - * OK - */ - "200": unknown; - /** - * Bad Request - */ - "400": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Unauthorized - */ - "401": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Forbidden - */ - "403": { - "application/json": { + authorizationRequestId: string; + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionRequestId: string; + /** + * Base64 encoded bytes - The challenge generated by the DFSP. + */ + challenge: string; + /** + * The object sent in the PUT /quotes/{ID} callback. + */ + quote: { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type Money. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + transferAmount: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Found - */ - "404": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Method Not Allowed - */ - "405": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - }; - }; - /** - * Not Acceptable - */ - "406": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type Money. */ - errorInformation?: { + payeeReceiveAmount?: { /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - }; - /** - * Not Implemented - */ - "501": { - "application/json": { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + amount: string; }; - }; - }; - /** - * Service Unavailable - */ - "503": { - "application/json": { /** - * Data model for the complex type ErrorInformation. + * Data model for the complex type Money. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; + payeeFspFee?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; }; - }; - }; - }; - }; -} - -export interface components { - parameters: { - /** - * The identifier value. - */ - ID: string; - /** - * The `Date` header field indicates the date when the request was sent. - */ - Date: string; - /** - * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. - * - * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. - */ - "X-Forwarded-For": string; - /** - * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). - */ - "FSPIOP-Source": string; - /** - * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. - */ - "FSPIOP-Destination": string; - /** - * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. - */ - "FSPIOP-Encryption": string; - /** - * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. - */ - "FSPIOP-Signature": string; - /** - * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-URI": string; - /** - * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). - */ - "FSPIOP-HTTP-Method": string; - /** - * The `Accept` header field indicates the version of the API the client would like the server to use. - */ - Accept: string; - /** - * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. - * - * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). - */ - "Content-Length": number; - /** - * The `Content-Type` header indicates the specific version of the API used to send the payload body. - */ - "Content-Type": string; - /** - * The type of the service identifier. For example, `THIRD_PARTY_DFSP` - */ - ServiceType: string; - }; - schemas: { - /** - * Below are the allowed values for the enumeration AuthorizationChannelType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - AuthorizationChannelType: "OTP" | "QRCODE" | "U2F"; - /** - * Enum containing response information; if the customer entered the - * authentication value, rejected the transaction, or requested a - * resend of the authentication value. - */ - AuthorizationResponseType: "ENTERED" | "REJECTED" | "RESEND"; - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - AuthenticationType: "OTP" | "QRCODE" | "U2F"; - /** - * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. - */ - Integer: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - Currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - Amount: string; - /** - * Data model for the complex type Money. - */ - Money: { + /** + * Data model for the complex type Money. + */ + payeeFspCommission?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + expiration: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; + /** + * Information for recipient (transport layer information). + */ + ilpPacket: string; + /** + * Condition that must be attached to the transfer by the Payer. + */ + condition: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + /** + * Data model for the complex type TransactionType. + */ + transactionType: { + /** + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. + */ + scenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; + /** + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + subScenario?: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + initiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + originalTransactionId: string; + /** + * Reason for the refund. + */ + refundReason?: string; + }; + /** + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + */ + balanceOfPayments?: string; + }; + }; + }; + responses: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Accepted */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Forbidden */ - amount: string; - }; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - CorrelationId: string; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - DateTime: string; - /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - Latitude: string; - /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. - */ - Longitude: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. - */ - GeoCode: { + "403": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Not Found */ - latitude: string; + "404": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Method Not Allowed */ - longitude: string; - }; - /** - * Information for recipient (transport layer information). - */ - IlpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - IlpCondition: string; - /** - * Extension key. - */ - ExtensionKey: string; - /** - * Extension value. - */ - ExtensionValue: string; - /** - * Data model for the complex type Extension. - */ - Extension: { + "405": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * Extension key. + * Not Acceptable */ - key: string; + "406": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * Extension value. + * Not Implemented */ - value: string; + "501": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - ExtensionList: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; + }; + /** + * The callback PUT /thirdpartyRequests/authorizations/{ID} is used to inform the client of the + * result of a previously-requested authorization. The ID in the URI should + * contain the one that was used in the POST /authorizations/ requestBody.transactionRequestId @ OUTBOUND + */ + PutThirdpartyRequestsAuthorizationsById: { + parameters: { + path: { + ID: string; + }; }; - /** - * The object sent in the PUT /quotes/{ID} callback. - */ - QuotesIDPutResponse: { + responses: { /** - * Data model for the complex type Money. + * information about result of required (via POST) /authorization */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + "200": { + "application/json": { + /** + * Data model for the complex type AuthenticationInfo. + */ + authenticationInfo: { + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authentication: "OTP" | "QRCODE" | "U2F"; + /** + * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + authenticationValue: Partial & + Partial & + Partial<{ + /** + * U2F challenge-response. + */ + pinValue: string; + /** + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }>; + }; + /** + * Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + */ + responseType: "ENTERED" | "REJECTED" | "RESEND"; + }; }; /** - * Data model for the complex type Money. + * Bad Request */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Forbidden + */ + "403": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; /** - * Data model for the complex type Money. + * Not Found */ - payeeFspFee?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + "404": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Method Not Allowed + */ + "405": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; /** - * Data model for the complex type Money. + * Not Acceptable */ - payeeFspCommission?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + "406": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Implemented + */ + "501": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - expiration: string; - /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * Service Unavailable */ - geoCode?: { + "503": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + }; + }; + /** + * The HTTP request `PUT /thirdpartyRequests/authorizations/{ID}/error` is used by the DFSP or PISP to inform + * the other party that something went wrong with a Thirdparty Tranasction Authorization Request. + * + * The PISP may use this to tell the DFSP that the Thirdparty Tranasction Authorization Request is invalid or doesn't + * match a `transactionRequestId`. + * + * The DFSP may use this to tell the PISP that the signed challenge returned in `PUT /thirdpartyRequest/authorizations/{ID}` + * was invalid. + */ + PutThirdpartyRequestsAuthorizationsByIdAndError: { + parameters: { + header: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - latitude: string; + Accept: string; + }; + }; + requestBody: { + "application/json": { /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Data model for the complex type ErrorInformation. */ - longitude: string; + errorInformation: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Forbidden + */ + "403": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Found + */ + "404": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Method Not Allowed */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; + "405": { + "application/json": { /** - * Extension value. + * Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; - }; - /** - * POST /authorizations request object. - */ - AuthorizationsPostRequest: { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authenticationType: "OTP" | "QRCODE" | "U2F"; /** - * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. - */ - retriesLeft: string; - /** - * Data model for the complex type Money. + * Not Acceptable */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. - */ - amount: string; + "406": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Not Implemented */ - transactionRequestId: string; + "501": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * The object sent in the PUT /quotes/{ID} callback. + * Service Unavailable */ - quote: { - /** - * Data model for the complex type Money. - */ - transferAmount: { + "503": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Data model for the complex type ErrorInformation. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + }; + }; + /** + * The HTTP request `POST /thirdpartyRequests/verifications` is used by the DFSP to verify a third party authorization. + */ + PutThirdpartyRequestsVerifications: { + parameters: { + header: { + /** + * The `Accept` header field indicates the version of the API the client would like the server to use. + */ + Accept: string; + }; + }; + requestBody: { + "application/json": { + verificationRequestId: string; + /** + * Base64 encoded bytes - The challenge generated by the DFSP. + */ + challenge: string; + value: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Data model for the complex type AuthenticationInfo. */ - amount: string; + authenticationInfo?: { + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authentication: "OTP" | "QRCODE" | "U2F"; + /** + * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + authenticationValue: Partial & + Partial & + Partial<{ + /** + * U2F challenge-response. + */ + pinValue: string; + /** + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }>; + }; + /** + * Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + */ + responseType?: "ENTERED" | "REJECTED" | "RESEND"; }; /** - * Data model for the complex type Money. + * The id of the stored consent object that contains the credential with which to verify + * the signed challenge against. */ - payeeReceiveAmount?: { + consentId: string; + }; + }; + responses: { + /** + * Accepted + */ + "202": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Data model for the complex type ErrorInformation. */ - amount: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspFee?: { + }; + /** + * Forbidden + */ + "403": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Data model for the complex type ErrorInformation. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Found + */ + "404": { + "application/json": { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Data model for the complex type ErrorInformation. */ - amount: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * Data model for the complex type Money. - */ - payeeFspCommission?: { + }; + /** + * Method Not Allowed + */ + "405": { + "application/json": { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Data model for the complex type ErrorInformation. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Acceptable + */ + "406": { + "application/json": { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Data model for the complex type ErrorInformation. */ - amount: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Implemented + */ + "501": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; + }; + }; + }; + /** + * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}` is used by the Auth-Service to inform + * the DFSP of a successful result in validating the verification of a Thirdparty Transaction Request. + * + * If the validation fails, The Auth-Service MUST use `PUT /thirdpartyRequests/verifications/{ID}/error` + * instead. + */ + PutThirdpartyRequestsVerificationsById: { + parameters: { + header: { /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - expiration: string; + Accept: string; + }; + }; + requestBody: { + "application/json": { /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * The verification passed */ - geoCode?: { + authenticationResponse: "VERIFIED"; + }; + }; + responses: { + /** + * OK + */ + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Data model for the complex type ErrorInformation. */ - latitude: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Unauthorized + */ + "401": { + "application/json": { /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Data model for the complex type ErrorInformation. */ - longitude: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Forbidden + */ + "403": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; - /** - * Information for recipient (transport layer information). - */ - ilpPacket: string; - /** - * Condition that must be attached to the transfer by the Payer. - */ - condition: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + }; + /** + * Not Found + */ + "404": { + "application/json": { /** - * Number of Extension elements. + * Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - key: string; + errorCode: string; /** - * Extension value. + * Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; }; - }; - /** - * The status of the Consent. - * - "REVOKED" - The Consent is no longer valid and has been revoked. - */ - ConsentStatusType: "REVOKED"; - /** - * PATCH /consents/{ID} request object. - * - * Sent to both the PISP and DFSP when a consent is revoked. - */ - ConsentsIDPatchResponse: { - /** - * The status of the Consent. - * - "REVOKED" - The Consent is no longer valid and has been revoked. - */ - status: "REVOKED"; - /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). - */ - revokedAt: string; - }; - /** - * Fulfilment that must be attached to the transfer by the Payee. - */ - IlpFulfilment: string; - /** - * Memo assigned to transaction. - */ - Note: string; - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - PartyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - PartyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - PartySubIdOrType: string; - /** - * FSP identifier. - */ - FspId: string; - /** - * Data model for the complex type PartyIdInfo. - */ - PartyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * Method Not Allowed */ - partySubIdOrType?: string; + "405": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * FSP identifier. + * Not Acceptable */ - fspId?: string; + "406": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Not Implemented */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { + "501": { + "application/json": { /** - * Extension key. + * Data model for the complex type ErrorInformation. */ - key: string; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { /** - * Extension value. + * Data model for the complex type ErrorInformation. */ - value: string; - }[]; + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; }; }; - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - ErrorCode: string; - /** - * Error description string. - */ - ErrorDescription: string; - /** - * Data model for the complex type ErrorInformation. - */ - ErrorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + }; + /** + * The HTTP request `PUT /thirdpartyRequests/verifications/{ID}/error` is used by the Auth-Service to inform + * the DFSP of a failure in validating or looking up the verification of a Thirdparty Transaction Request. + */ + PutThirdpartyRequestsVerificationsByIdAndError: { + parameters: { + header: { /** - * Number of Extension elements. + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - extension: { + Accept: string; + }; + }; + requestBody: { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation: { /** - * Extension key. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - key: string; + errorCode: string; /** - * Extension value. + * Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; }; - /** - * Data model for the complex type PartyResult. - */ - PartyResult: { + responses: { /** - * Data model for the complex type PartyIdInfo. + * OK */ - partyId: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + "200": unknown; + /** + * Bad Request + */ + "400": { + "application/json": { /** - * Number of Extension elements. + * Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - key: string; + errorCode: string; /** - * Extension value. + * Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; }; /** - * Data model for the complex type ErrorInformation. + * Unauthorized */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; - /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + "401": { + "application/json": { /** - * Number of Extension elements. + * Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - key: string; + errorCode: string; /** - * Extension value. + * Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; }; - }; - /** - * The object sent in the POST /participants request. - */ - ParticipantsPostRequest: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Forbidden */ - requestId: string; + "403": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; /** - * List of PartyIdInfo elements that the client would like to update - * or create FSP information about. + * Not Found */ - partyList: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + "404": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Method Not Allowed + */ + "405": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Not Acceptable + */ + "406": { + "application/json": { /** - * Number of Extension elements. + * Data model for the complex type ErrorInformation. */ - extension: { + errorInformation?: { /** - * Extension key. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - key: string; + errorCode: string; /** - * Extension value. + * Error description string. */ - value: string; - }[]; + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; }; - }[]; + }; /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Not Implemented */ - currency?: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + "501": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; + /** + * Service Unavailable + */ + "503": { + "application/json": { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + }; + }; }; + }; +} + +export interface components { + parameters: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * The identifier value. */ - AccountAddress: string; + ID: string; /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * The `Date` header field indicates the date when the request was sent. + */ + Date: string; + /** + * The `X-Forwarded-For` header field is an unofficially accepted standard used for informational purposes of the originating client IP address, as a request might pass multiple proxies, firewalls, and so on. Multiple `X-Forwarded-For` values should be expected and supported by implementers of the API. * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + * **Note:** An alternative to `X-Forwarded-For` is defined in [RFC 7239](https://tools.ietf.org/html/rfc7239). However, to this point RFC 7239 is less-used and supported than `X-Forwarded-For`. */ - Name: string; + "X-Forwarded-For": string; /** - * Data model for the complex type Account. + * The `FSPIOP-Source` header field is a non-HTTP standard field used by the API for identifying the sender of the HTTP request. The field should be set by the original sender of the request. Required for routing and signature verification (see header field `FSPIOP-Signature`). */ - Account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }; + "FSPIOP-Source": string; + /** + * The `FSPIOP-Destination` header field is a non-HTTP standard field used by the API for HTTP header based routing of requests and responses to the destination. The field must be set by the original sender of the request if the destination is known (valid for all services except GET /parties) so that any entities between the client and the server do not need to parse the payload for routing purposes. If the destination is not known (valid for service GET /parties), the field should be left empty. + */ + "FSPIOP-Destination": string; + /** + * The `FSPIOP-Encryption` header field is a non-HTTP standard field used by the API for applying end-to-end encryption of the request. + */ + "FSPIOP-Encryption": string; /** - * Data model for the complex type AccountList. + * The `FSPIOP-Signature` header field is a non-HTTP standard field used by the API for applying an end-to-end request signature. */ - AccountList: { - /** - * Accounts associated with the Party. - */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; - }; + "FSPIOP-Signature": string; /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + * The `FSPIOP-URI` header field is a non-HTTP standard field used by the API for signature verification, should contain the service URI. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - MerchantClassificationCode: string; + "FSPIOP-URI": string; /** - * Name of the Party. Could be a real name or a nickname. + * The `FSPIOP-HTTP-Method` header field is a non-HTTP standard field used by the API for signature verification, should contain the service HTTP method. Required if signature verification is used, for more information, see [the API Signature document](https://github.com/mojaloop/docs/tree/master/Specification%20Document%20Set). */ - PartyName: string; + "FSPIOP-HTTP-Method": string; /** - * First name of the Party (Name Type). + * The `Accept` header field indicates the version of the API the client would like the server to use. */ - FirstName: string; + Accept: string; /** - * Middle name of the Party (Name Type). + * The `Content-Length` header field indicates the anticipated size of the payload body. Only sent if there is a body. + * + * **Note:** The API supports a maximum size of 5242880 bytes (5 Megabytes). */ - MiddleName: string; + "Content-Length": number; /** - * Last name of the Party (Name Type). + * The `Content-Type` header indicates the specific version of the API used to send the payload body. */ - LastName: string; + "Content-Type": string; /** - * Data model for the complex type PartyComplexName. + * The type of the service identifier. For example, `THIRD_PARTY_DFSP` */ - PartyComplexName: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; + ServiceType: string; + }; + schemas: { + /** + * Below are the allowed values for the enumeration AuthorizationChannelType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + AuthorizationChannelType: "OTP" | "QRCODE" | "U2F"; + /** + * Enum containing response information; if the customer entered the + * authentication value, rejected the transaction, or requested a + * resend of the authentication value. + */ + AuthorizationResponseType: "ENTERED" | "REJECTED" | "RESEND"; + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + AuthenticationType: "OTP" | "QRCODE" | "U2F"; + /** + * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. + */ + Integer: string; /** - * Date of Birth of the Party. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - DateOfBirth: string; + Currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type PartyPersonalInfo. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - PartyPersonalInfo: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; + Amount: string; /** - * Data model for the complex type Party. + * Data model for the complex type Money. */ - Party: { + Money: { /** - * Data model for the complex type AccountList. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - accounts?: { - /** - * Accounts associated with the Party. - */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type PartyIdInfo. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - partyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + amount: string; + }; + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + CorrelationId: string; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + DateTime: string; + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + Latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + Longitude: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + GeoCode: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; + /** + * Information for recipient (transport layer information). + */ + IlpPacket: string; + /** + * Condition that must be attached to the transfer by the Payer. + */ + IlpCondition: string; + /** + * Extension key. + */ + ExtensionKey: string; + /** + * Extension value. + */ + ExtensionValue: string; + /** + * Data model for the complex type Extension. + */ + Extension: { /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + * Extension key. */ - merchantClassificationCode?: string; + key: string; /** - * Name of the Party. Could be a real name or a nickname. + * Extension value. */ - name?: string; + value: string; + }; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + ExtensionList: { /** - * Data model for the complex type PartyPersonalInfo. + * Number of Extension elements. */ - personalInfo?: { + extension: { /** - * Data model for the complex type PartyComplexName. + * Extension key. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; + key: string; /** - * Date of Birth of the Party. + * Extension value. */ - dateOfBirth?: string; - }; + value: string; + }[]; }; /** - * The object sent in the PUT /parties/{Type}/{ID} callback. - * - * This is a variant based on FSPIOP `PartiesTypeIDPutResponse` specification. - * Main difference being that it returns a `Party` with the newly added - * `accounts` property. + * The object sent in the PUT /quotes/{ID} callback. */ - PartiesTypeIDPutResponse: { + QuotesIDPutResponse: { /** - * Data model for the complex type Party. + * Data model for the complex type Money. */ - party: { + transferAmount: { /** - * Data model for the complex type AccountList. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - accounts?: { - /** - * Accounts associated with the Party. - */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; - }; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeReceiveAmount?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type PartyIdInfo. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - partyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD - */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeFspFee?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - merchantClassificationCode?: string; + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeFspCommission?: { /** - * Name of the Party. Could be a real name or a nickname. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - name?: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type PartyPersonalInfo. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - personalInfo?: { - /** - * Data model for the complex type PartyComplexName. - */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; - /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; + amount: string; }; - }; - /** - * Below are the allowed values for the enumeration ServiceType - * - THIRD_PARTY_DFSP - Enum used to query for DFSP's that have thirdparty features enabled - */ - ServiceType: "THIRD_PARTY_DFSP"; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. - */ - TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. - */ - TransactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - /** - * The object sent in the PATCH /thirdpartyRequests/transactions/{ID} callback. - */ - ThirdpartyRequestsTransactionsIDPatchResponse: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). */ - transactionId: string; + expiration: string; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. */ - transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + geoCode?: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. - * - PENDING - Payee FSP has validated the transaction. - * - COMPLETED - Payee FSP has successfully performed the transaction. - * - REJECTED - Payee FSP has failed to perform the transaction. + * Information for recipient (transport layer information). */ - transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; - }; - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - TransactionScenario: - | "DEPOSIT" - | "WITHDRAWAL" - | "TRANSFER" - | "PAYMENT" - | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - TransactionSubScenario: string; - /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. - */ - TransactionInitiator: "PAYER" | "PAYEE"; - /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. - */ - TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; - /** - * Reason for the refund. - */ - RefundReason: string; - /** - * Data model for the complex type Refund. - */ - Refund: { + ilpPacket: string; /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * Condition that must be attached to the transfer by the Payer. */ - originalTransactionId: string; + condition: string; /** - * Reason for the refund. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - refundReason?: string; + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - */ - BalanceOfPayments: string; - /** - * Data model for the complex type TransactionType. + * POST /authorizations request object. */ - TransactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; + AuthorizationsPostRequest: { /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. */ - initiator: "PAYER" | "PAYEE"; + authenticationType: "OTP" | "QRCODE" | "U2F"; /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. + * The API data type Integer is a JSON String consisting of digits only. Negative numbers and leading zeroes are not allowed. The data type is always limited to a specific number of digits. */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + retriesLeft: string; /** - * Data model for the complex type Refund. + * Data model for the complex type Money. */ - refundInfo?: { + amount: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - originalTransactionId: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Reason for the refund. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - refundReason?: string; + amount: string; }; /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - balanceOfPayments?: string; - }; - /** - * The object sent in the POST /transactionRequests request. - */ - TransactionRequestsPostRequest: { + transactionId: string; /** * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ transactionRequestId: string; /** - * Data model for the complex type Party. + * The object sent in the PUT /quotes/{ID} callback. */ - payee: { + quote: { + /** + * Data model for the complex type Money. + */ + transferAmount: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; /** - * Data model for the complex type AccountList. + * Data model for the complex type Money. */ - accounts?: { + payeeReceiveAmount?: { /** - * Accounts associated with the Party. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; - /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. - */ - description?: string; - }[]; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeFspFee?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; }; /** - * Data model for the complex type PartyIdInfo. + * Data model for the complex type Money. */ - partyIdInfo: { + payeeFspCommission?: { /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Identifier of the Party. + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ - partyIdentifier: string; + amount: string; + }; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + expiration: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - partySubIdOrType?: string; + latitude: string; /** - * FSP identifier. + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. */ - fspId?: string; + longitude: string; + }; + /** + * Information for recipient (transport layer information). + */ + ilpPacket: string; + /** + * Condition that must be attached to the transfer by the Payer. + */ + condition: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Number of Extension elements. */ - extensionList?: { + extension: { /** - * Number of Extension elements. + * Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; + }; + }; + /** + * The status of the Consent. + * - "REVOKED" - The Consent is no longer valid and has been revoked. + */ + ConsentStatusType: "REVOKED"; + /** + * PATCH /consents/{ID} request object. + * + * Sent to both the PISP and DFSP when a consent is revoked. + */ + ConsentsIDPatchResponse: { + /** + * The status of the Consent. + * - "REVOKED" - The Consent is no longer valid and has been revoked. + */ + status: "REVOKED"; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + revokedAt: string; + }; + /** + * Fulfilment that must be attached to the transfer by the Payee. + */ + IlpFulfilment: string; + /** + * Memo assigned to transaction. + */ + Note: string; + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD + */ + PartyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + PartyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + PartySubIdOrType: string; + /** + * FSP identifier. + */ + FspId: string; + /** + * Data model for the complex type PartyIdInfo. + */ + PartyIdInfo: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD + */ + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. - */ - merchantClassificationCode?: string; - /** - * Name of the Party. Could be a real name or a nickname. + * Number of Extension elements. */ - name?: string; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + ErrorCode: string; + /** + * Error description string. + */ + ErrorDescription: string; + /** + * Data model for the complex type ErrorInformation. + */ + ErrorInformation: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Data model for the complex type PartyPersonalInfo. + * Number of Extension elements. */ - personalInfo?: { + extension: { /** - * Data model for the complex type PartyComplexName. + * Extension key. */ - complexName?: { - /** - * First name of the Party (Name Type). - */ - firstName?: string; - /** - * Middle name of the Party (Name Type). - */ - middleName?: string; - /** - * Last name of the Party (Name Type). - */ - lastName?: string; - }; + key: string; /** - * Date of Birth of the Party. + * Extension value. */ - dateOfBirth?: string; - }; + value: string; + }[]; }; + }; + /** + * Data model for the complex type PartyResult. + */ + PartyResult: { /** * Data model for the complex type PartyIdInfo. */ - payer: { + partyId: { /** * This is a variant based on FSPIOP `PartyIdType` specification. * Main difference being the CONSENT and THIRD_PARTY_LINK enums. @@ -23122,16 +21166,16 @@ export interface components { * - THIRD_PARTY_LINK - TBD */ partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** * Identifier of the Party. */ @@ -23143,350 +21187,539 @@ export interface components { /** * FSP identifier. */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - /** - * Data model for the complex type Money. - */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + fspId?: string; /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - amount: string; + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; /** - * Data model for the complex type TransactionType. + * Data model for the complex type ErrorInformation. */ - transactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; - /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). - */ - subScenario?: string; + errorInformation?: { /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - initiator: "PAYER" | "PAYEE"; + errorCode: string; /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. + * Error description string. */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + errorDescription: string; /** - * Data model for the complex type Refund. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; + extensionList?: { /** - * Reason for the refund. + * Number of Extension elements. */ - refundReason?: string; + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; - /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. - */ - balanceOfPayments?: string; }; + }; + /** + * The object sent in the POST /participants request. + */ + ParticipantsPostRequest: { /** - * Memo assigned to transaction. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - note?: string; + requestId: string; /** - * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + * List of PartyIdInfo elements that the client would like to update + * or create FSP information about. */ - geoCode?: { + partyList: { /** - * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - latitude: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + * Identifier of the Party. */ - longitude: string; - }; + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }[]; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency?: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + }; + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + AccountAddress: string; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + Name: string; + /** + * Data model for the complex type Account. + */ + Account: { /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - authenticationType?: "OTP" | "QRCODE" | "U2F"; + address?: string; /** - * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - expiration?: string; + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + description?: string; }; /** - * Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. + * Data model for the complex type AccountList. */ - ErrorInformationResponse: { + AccountList: { /** - * Data model for the complex type ErrorInformation. + * Accounts associated with the Party. */ - errorInformation?: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; + account: { /** - * Error description string. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - errorDescription: string; + address?: string; /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - AccountsIDPutResponse: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountNickname: string; - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - id: string; - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: + currency: | "AED" | "AFN" | "ALL" @@ -23649,1821 +21882,2570 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; - }[]; - /** - * Data model for the complex type object that contains ErrorInformation. - */ - ErrorInformationObject: { - /** - * Data model for the complex type ErrorInformation. - */ - errorInformation: { - /** - * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. - */ - errorCode: string; /** - * Error description string. - */ - errorDescription: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; - }; - /** - * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. - */ - OtpValue: string; - /** - * QR code used as a One Time Password. - */ - QRCODE: string; - /** - * U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. - */ - U2FPIN: string; - /** - * U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. - */ - U2FPinValue: { - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; + description?: string; + }[]; }; /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - AuthenticationValue: Partial & - Partial & - Partial<{ - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; - }>; + MerchantClassificationCode: string; /** - * Data model for the complex type AuthenticationInfo. + * Name of the Party. Could be a real name or a nickname. */ - AuthenticationInfo: { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authentication: "OTP" | "QRCODE" | "U2F"; - /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. - */ - authenticationValue: Partial & - Partial & - Partial<{ - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; - }>; - }; + PartyName: string; /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. + * First name of the Party (Name Type). */ - AuthorizationResponse: "ENTERED" | "REJECTED" | "RESEND"; + FirstName: string; /** - * The object sent in the PUT /authorizations/{ID} callback. + * Middle name of the Party (Name Type). */ - AuthorizationsIDPutResponse: { - /** - * Data model for the complex type AuthenticationInfo. - */ - authenticationInfo?: { - /** - * Below are the allowed values for the enumeration AuthenticationType. - * - OTP - One-time password generated by the Payer FSP. - * - QRCODE - QR code used as One Time Password. - * - U2F - U2F is a new addition isolated to Thirdparty stream. - */ - authentication: "OTP" | "QRCODE" | "U2F"; - /** - * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. - */ - authenticationValue: Partial & - Partial & - Partial<{ - /** - * U2F challenge-response. - */ - pinValue: string; - /** - * Sequential counter used for cloning detection. Present only for U2F authentication. - */ - counter: string; - }>; - }; - /** - * Below are the allowed values for the enumeration. - * - ENTERED - Consumer entered the authentication value. - * - REJECTED - Consumer rejected the transaction. - * - RESEND - Consumer requested to resend the authentication value. - */ - responseType: "ENTERED" | "REJECTED" | "RESEND"; - }; - /** - * The scopes requested for a ConsentRequest. - * - "accounts.getBalance" - Get the balance of a given account. - * - "accounts.transfer" - Initiate a transfer from an account. + MiddleName: string; + /** + * Last name of the Party (Name Type). */ - ConsentScopeType: "accounts.getBalance" | "accounts.transfer"; + LastName: string; /** - * Scope + Account Identifier mapping for a Consent. + * Data model for the complex type PartyComplexName. */ - Scope: { + PartyComplexName: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * First name of the Party (Name Type). */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; }; /** - * The auth channel being used for the consentRequest. - * - "WEB" - The Web auth channel. - * - "OTP" - The OTP auth channel. + * Date of Birth of the Party. */ - ConsentRequestChannelType: "WEB" | "OTP"; + DateOfBirth: string; /** - * The object sent in a `POST /consentRequests` request. + * Data model for the complex type PartyPersonalInfo. */ - ConsentRequestsPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - id: string; + PartyPersonalInfo: { /** - * The id of the PISP who will initiate transactions on a user's behalf. + * Data model for the complex type PartyComplexName. */ - initiatorId: string; - scopes: { + complexName?: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * First name of the Party (Name Type). */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: ("WEB" | "OTP")[]; + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; + }; /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. + * Date of Birth of the Party. */ - callbackUri: string; + dateOfBirth?: string; }; /** - * The web auth channel being used for PUT consentRequest/{ID} request. - */ - ConsentRequestChannelTypeWeb: "WEB"; - /** - * The object sent in a `PUT /consentRequests/{ID}` request. - * - * Schema used in the request consent phase of the account linking web flow, - * the result is the PISP being instructed on a specific URL where this - * supposed user should be redirected. This URL should be a place where - * the user can prove their identity (e.g., by logging in). + * Data model for the complex type Party. */ - ConsentRequestsIDPutResponseWeb: { + Party: { + /** + * Data model for the complex type AccountList. + */ + accounts?: { + /** + * Accounts associated with the Party. + */ + account: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; + }; /** - * The id of the PISP who will initiate transactions on a user's behalf. + * Data model for the complex type PartyIdInfo. */ - initiatorId: string; - scopes: { + partyIdInfo: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "WEB"[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; - /** - * The callback uri that the pisp app redirects to for user to complete their login. - */ - authUri: string; - }; - /** - * The object sent in a `PUT /consentRequests/{ID}` request. - * - * Schema used in the authentication phase of the account linking flow, - * the user is expected to prove their identity to the DFSP by passing a OTP - * or secret to the PISP. - */ - ConsentRequestsIDPutResponseWebAuth: { - /** - * The id of the PISP who will initiate transactions on a user's behalf. - */ - initiatorId: string; - scopes: { + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Identifier of the Party. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "WEB"[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; - /** - * The callback uri that the pisp app redirects to for user to complete their login. - */ - authUri: string; - /** - * The Auth token from the OTP or redirect to pisp app. - */ - authToken: string; - }; - /** - * The OTP auth channel being used for PUT consentRequest/{ID} request. - */ - ConsentRequestChannelTypeOTP: "OTP"; - /** - * The object sent in a `PUT /consentRequests/{ID}` request. - * - * Schema used in the request consent phase of the account linking OTP/SMS flow. - */ - ConsentRequestsIDPutResponseOTP: { - /** - * The id of the PISP who will initiate transactions on a user's behalf. - */ - initiatorId: string; - scopes: { + partyIdentifier: string; /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "OTP"[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; - }; - /** - * The object sent in a `PUT /consentRequests/{ID}` request. - * - * Schema used in the authentication phase of the account linking flow, - * the user is expected to prove their identity to the DFSP by passing a OTP - * or secret to the PISP. - */ - ConsentRequestsIDPutResponseOTPAuth: { - /** - * The id of the PISP who will initiate transactions on a user's behalf. - */ - initiatorId: string; - scopes: { + partySubIdOrType?: string; /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * FSP identifier. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - authChannels: "OTP"[]; - /** - * The callback uri that the user will be redirected to after completing the WEB auth channel. - */ - callbackUri: string; - /** - * The Auth token from the OTP or redirect to pisp app. - */ - authToken: string; - }; - /** - * The object sent in a `PATCH /consentRequests/{ID}` request. - */ - ConsentRequestsIDPatchRequest: { - /** - * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. - */ - authToken: string; - }; - /** - * The object sent in a `POST /consents` request. - */ - ConsentsPostRequest: { - /** - * Common ID between the PISP and FSP for the Consent object - * decided by the DFSP who creates the Consent - * This field is REQUIRED for POST /consent. - */ - consentId: string; - /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. - */ - consentRequestId: string; - scopes: { + fspId?: string; /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - }; - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - CredentialType: "FIDO"; - /** - * The challenge that has been signed by a PISP. - */ - CredentialChallengeSigned: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. - */ - signature: string; - }; - /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * SignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when updating - * a credential. - */ - SignedCredential: { - /** - * The id of a Credential. - */ - id: string; + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - type: "FIDO"; + merchantClassificationCode?: string; /** - * The challenge has signed but not yet verified. + * Name of the Party. Could be a real name or a nickname. */ - status: "PENDING"; + name?: string; /** - * The challenge that has been signed by a PISP. + * Data model for the complex type PartyPersonalInfo. */ - challenge: { + personalInfo?: { /** - * Base64 encoded binary of the challenge that must be answered by the PISP. + * Data model for the complex type PartyComplexName. */ - payload: string; + complexName?: { + /** + * First name of the Party (Name Type). + */ + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; + }; /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + * Date of Birth of the Party. */ - signature: string; + dateOfBirth?: string; }; - /** - * Base64 encoded bytes - The public key of the Public/Private keypair. - */ - payload: string; }; /** - * The HTTP request `PUT /consents/{ID}` is used by the PISP to update a Consent - * with a signed challenge and register a credential. + * The object sent in the PUT /parties/{Type}/{ID} callback. * - * Called by a `PISP` to after signing a challenge. Sent to an `auth-service` for verification. + * This is a variant based on FSPIOP `PartiesTypeIDPutResponse` specification. + * Main difference being that it returns a `Party` with the newly added + * `accounts` property. */ - ConsentsIDPutResponseSigned: { - /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. - */ - requestId: string; - /** - * FSP identifier. - */ - participantId: string; + PartiesTypeIDPutResponse: { /** - * PISP identifier who uses this Consent. + * Data model for the complex type Party. */ - initiatorId: string; - scopes: { + party: { /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. + * Data model for the complex type AccountList. */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; - /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * SignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when updating - * a credential. - */ - credential: { + accounts?: { + /** + * Accounts associated with the Party. + */ + account: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; + }; /** - * The id of a Credential. + * Data model for the complex type PartyIdInfo. */ - id: string; + partyIdInfo: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD + */ + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - type: "FIDO"; + merchantClassificationCode?: string; /** - * The challenge has signed but not yet verified. + * Name of the Party. Could be a real name or a nickname. */ - status: "PENDING"; + name?: string; /** - * The challenge that has been signed by a PISP. + * Data model for the complex type PartyPersonalInfo. */ - challenge: { + personalInfo?: { /** - * Base64 encoded binary of the challenge that must be answered by the PISP. + * Data model for the complex type PartyComplexName. */ - payload: string; + complexName?: { + /** + * First name of the Party (Name Type). + */ + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; + }; /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + * Date of Birth of the Party. */ - signature: string; + dateOfBirth?: string; }; - /** - * Base64 encoded bytes - The public key of the Public/Private keypair. - */ - payload: string; }; }; /** - * The challenge issued by a DFSP that must be answered by the PISP. + * Below are the allowed values for the enumeration ServiceType + * - THIRD_PARTY_DFSP - Enum used to query for DFSP's that have thirdparty features enabled */ - CredentialChallengeUnsigned: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - }; + ServiceType: "THIRD_PARTY_DFSP"; /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * UnsignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when updating - * a credential. + * Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. */ - UnsignedCredential: { + TransactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + /** + * Below are the allowed values for the enumeration. + * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. + * - PENDING - Payee FSP has validated the transaction. + * - COMPLETED - Payee FSP has successfully performed the transaction. + * - REJECTED - Payee FSP has failed to perform the transaction. + */ + TransactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; + /** + * The object sent in the PATCH /thirdpartyRequests/transactions/{ID} callback. + */ + ThirdpartyRequestsTransactionsIDPatchResponse: { /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - type: "FIDO"; + transactionId: string; /** - * The challenge has initialized but not yet answered by the PISP. + * Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. */ - status: "PENDING"; + transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; /** - * The challenge issued by a DFSP that must be answered by the PISP. + * Below are the allowed values for the enumeration. + * - RECEIVED - Payee FSP has received the transaction from the Payer FSP. + * - PENDING - Payee FSP has validated the transaction. + * - COMPLETED - Payee FSP has successfully performed the transaction. + * - REJECTED - Payee FSP has failed to perform the transaction. */ - challenge: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - }; + transactionState: "RECEIVED" | "PENDING" | "COMPLETED" | "REJECTED"; }; /** - * The HTTP request `PUT /consents/{ID}` is used to request a PISP to sign a challenge. - * The `{ID}` in the URI should contain the `{ID}` that was used in the `POST /consents`. - * - * Called by a `auth-service` to request PISP to add the credential details. + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. */ - ConsentsIDPutResponseUnsigned: { - /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. - */ - requestId: string; - /** - * FSP identifier. - */ - participantId: string; - /** - * PISP identifier who uses this Consent. - */ - initiatorId: string; - scopes: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; + TransactionScenario: + | "DEPOSIT" + | "WITHDRAWAL" + | "TRANSFER" + | "PAYMENT" + | "REFUND"; + /** + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + TransactionSubScenario: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + TransactionInitiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + TransactionInitiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Reason for the refund. + */ + RefundReason: string; + /** + * Data model for the complex type Refund. + */ + Refund: { /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * UnsignedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be PENDING when updating - * a credential. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - credential: { - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - type: "FIDO"; - /** - * The challenge has initialized but not yet answered by the PISP. - */ - status: "PENDING"; - /** - * The challenge issued by a DFSP that must be answered by the PISP. - */ - challenge: { - /** - * Base64 encoded binary of the challenge that must be answered by the PISP. - */ - payload: string; - }; - }; + originalTransactionId: string; + /** + * Reason for the refund. + */ + refundReason?: string; }; /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * VerifiedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be VERIFIED when updating - * a credential. + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. */ - VerifiedCredential: { + BalanceOfPayments: string; + /** + * Data model for the complex type TransactionType. + */ + TransactionType: { /** - * The id of a Credential. + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. */ - id?: string; + scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). */ - type: "FIDO"; + subScenario?: string; /** - * The Credential is valid, and ready to be used by the PISP. + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. */ - status: "VERIFIED"; + initiator: "PAYER" | "PAYEE"; /** - * The challenge that has been signed by a PISP. + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. */ - challenge: { + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { /** - * Base64 encoded binary of the challenge that must be answered by the PISP. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - payload: string; + originalTransactionId: string; /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + * Reason for the refund. */ - signature: string; + refundReason?: string; }; /** - * Base64 encoded bytes - The public key of the Public/Private keypair. + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. */ - payload?: string; + balanceOfPayments?: string; }; /** - * The HTTP request `PUT /consents/{ID}` is used by the DFSP or Auth-Service to - * update a Consent object once it has been Verified. - * - * Called by a `auth-service` to notify a DFSP and PISP that a credential has been verified and registered. + * The object sent in the POST /transactionRequests request. */ - ConsentsIDPutResponseVerified: { - /** - * The id of the ConsentRequest that was used to initiate the - * creation of this Consent. - */ - requestId: string; - /** - * FSP identifier. - */ - participantId: string; + TransactionRequestsPostRequest: { /** - * PISP identifier who uses this Consent. + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - initiatorId: string; - scopes: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - accountId: string; - actions: ("accounts.getBalance" | "accounts.transfer")[]; - }[]; + transactionRequestId: string; /** - * A credential used to allow a user to prove their identity and access - * to an account with a DFSP. - * - * VerifiedCredential is a special formatting of the credential to allow us to be - * more explicit about the `status` field - it should only ever be VERIFIED when updating - * a credential. + * Data model for the complex type Party. */ - credential: { - /** - * The id of a Credential. - */ - id?: string; - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - type: "FIDO"; + payee: { /** - * The Credential is valid, and ready to be used by the PISP. + * Data model for the complex type AccountList. */ - status: "VERIFIED"; + accounts?: { + /** + * Accounts associated with the Party. + */ + account: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; + }; /** - * The challenge that has been signed by a PISP. + * Data model for the complex type PartyIdInfo. */ - challenge: { + partyIdInfo: { /** - * Base64 encoded binary of the challenge that must be answered by the PISP. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - payload: string; + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; /** - * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + * Identifier of the Party. */ - signature: string; + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; }; /** - * Base64 encoded bytes - The public key of the Public/Private keypair. + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. */ - payload?: string; - }; - }; - /** - * A credential used to allow a user to prove their identity - * and access to an account with a DFSP. - */ - ConsentsIDGenerateChallengePostRequest: { - /** - * The type of the Credential. - * - "FIDO" - A FIDO public/private keypair. - */ - type: "FIDO"; - }; - /** - * The object sent in a `PUT /services/{ServiceType}` request. - */ - ServicesServiceTypePutResponse: { providers: string[] }; - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * This validation interface should be use by `POST /thirdpartyRequests/transactions` - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - PartyIdTypeTPLink: "THIRD_PARTY_LINK"; - /** - * Data model for the complex type PartyIdInfo. - */ - PartyIdInfoTPLink: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * This validation interface should be use by `POST /thirdpartyRequests/transactions` - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; - /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. - */ - extensionList?: { + merchantClassificationCode?: string; /** - * Number of Extension elements. + * Name of the Party. Could be a real name or a nickname. */ - extension: { - /** - * Extension key. - */ - key: string; + name?: string; + /** + * Data model for the complex type PartyPersonalInfo. + */ + personalInfo?: { /** - * Extension value. + * Data model for the complex type PartyComplexName. */ - value: string; - }[]; - }; - }; - /** - * Below are the allowed values for the enumeration AmountType. - * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. - * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. - */ - AmountType: "SEND" | "RECEIVE"; - /** - * The object sent in the POST /thirdpartyRequests/transactions request. - */ - ThirdpartyRequestsTransactionsPostRequest: { - /** - * Common ID between the FSPs for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. - */ - transactionRequestId: string; + complexName?: { + /** + * First name of the Party (Name Type). + */ + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; + }; + /** + * Date of Birth of the Party. + */ + dateOfBirth?: string; + }; + }; /** - * Information about the Payee in the proposed financial transaction. + * Data model for the complex type PartyIdInfo. */ - payee: { + payer: { /** - * Data model for the complex type AccountList. + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD */ - accounts?: { + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Accounts associated with the Party. + * Number of Extension elements. */ - account: { - /** - * A long-lived unique account identifier provided by the DFSP. This MUST NOT - * be Bank Account Number or anything that may expose a User's private bank - * account information. - */ - address?: string; + extension: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Extension key. */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + key: string; /** - * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. - * - * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). - * - * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + * Extension value. */ - description?: string; + value: string; }[]; }; + }; + /** + * Data model for the complex type Money. + */ + amount: { /** - * Data model for the complex type PartyIdInfo. + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ - partyIdInfo: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * Main difference being the CONSENT and THIRD_PARTY_LINK enums. - * - * Below are the allowed values for the enumeration. - * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory - * Number, that is, the phone number) is used as reference to a participant. - * The MSISDN identifier should be in international format according to the - * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). - * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the - * international prefix. - * - EMAIL - An email is used as reference to a - * participant. The format of the email should be according to the informational - * [RFC 3696](https://tools.ietf.org/html/rfc3696). - * - PERSONAL_ID - A personal identifier is used as reference to a participant. - * Examples of personal identification are passport number, birth certificate - * number, and national registration number. The identifier number is added in - * the PartyIdentifier element. The personal identifier type is added in the - * PartySubIdOrType element. - * - BUSINESS - A specific Business (for example, an organization or a company) - * is used as reference to a participant. The BUSINESS identifier can be in any - * format. To make a transaction connected to a specific username or bill number - * in a Business, the PartySubIdOrType element should be used. - * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a - * specific business or organization is used as reference to a Party. - * For referencing a specific device under a specific business or organization, - * use the PartySubIdOrType element. - * - ACCOUNT_ID - A bank account number or FSP account ID should be used as - * reference to a participant. The ACCOUNT_ID identifier can be in any format, - * as formats can greatly differ depending on country and FSP. - * - IBAN - A bank account number or FSP account ID is used as reference to a - * participant. The IBAN identifier can consist of up to 34 alphanumeric - * characters and should be entered without whitespace. - * - ALIAS An alias is used as reference to a participant. The alias should be - * created in the FSP as an alternative reference to an account owner. - * Another example of an alias is a username in the FSP system. - * The ALIAS identifier can be in any format. It is also possible to use the - * PartySubIdOrType element for identifying an account under an Alias defined - * by the PartyIdentifier. - * - CONSENT - TBD - * - THIRD_PARTY_LINK - TBD + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Data model for the complex type TransactionType. + */ + transactionType: { + /** + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. + */ + scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; + /** + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + subScenario?: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + initiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). */ - partyIdType: - | "MSISDN" - | "EMAIL" - | "PERSONAL_ID" - | "BUSINESS" - | "DEVICE" - | "ACCOUNT_ID" - | "IBAN" - | "ALIAS" - | "CONSENT" - | "THIRD_PARTY_LINK"; + originalTransactionId: string; /** - * Identifier of the Party. + * Reason for the refund. */ - partyIdentifier: string; + refundReason?: string; + }; + /** + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + */ + balanceOfPayments?: string; + }; + /** + * Memo assigned to transaction. + */ + note?: string; + /** + * Data model for the complex type GeoCode. Indicates the geographic location from where the transaction was initiated. + */ + geoCode?: { + /** + * The API data type Latitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + latitude: string; + /** + * The API data type Longitude is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. + */ + longitude: string; + }; + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authenticationType?: "OTP" | "QRCODE" | "U2F"; + /** + * The API data type DateTime is a JSON String in a lexical format that is restricted by a regular expression for interoperability reasons. The format is according to [ISO 8601](https://www.iso.org/iso-8601-date-and-time-format.html), expressed in a combined date, time and time zone format. A more readable version of the format is yyyy-MM-ddTHH:mm:ss.SSS[-HH:MM]. Examples are "2016-05-24T08:38:08.699-04:00", "2016-05-24T08:38:08.699Z" (where Z indicates Zulu time zone, same as UTC). + */ + expiration?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + * Extension key. */ - partySubIdOrType?: string; + key: string; /** - * FSP identifier. + * Extension value. */ - fspId?: string; + value: string; + }[]; + }; + }; + /** + * Data model for the complex type object that contains an optional element ErrorInformation used along with 4xx and 5xx responses. + */ + ErrorInformationResponse: { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation?: { + /** + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. + */ + errorCode: string; + /** + * Error description string. + */ + errorDescription: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * Number of Extension elements. */ - extensionList?: { + extension: { /** - * Number of Extension elements. + * Extension key. */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; + key: string; + /** + * Extension value. + */ + value: string; + }[]; }; + }; + }; + AccountsIDPutResponse: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountNickname: string; + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + id: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + }[]; + /** + * Data model for the complex type object that contains ErrorInformation. + */ + ErrorInformationObject: { + /** + * Data model for the complex type ErrorInformation. + */ + errorInformation: { /** - * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + * The API data type ErrorCode is a JSON String of four characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. Each error code in the API is a four-digit number, for example, 1234, where the first number (1 in the example) represents the high-level error category, the second number (2 in the example) represents the low-level error category, and the last two numbers (34 in the example) represent the specific error. */ - merchantClassificationCode?: string; + errorCode: string; /** - * Name of the Party. Could be a real name or a nickname. + * Error description string. */ - name?: string; + errorDescription: string; /** - * Data model for the complex type PartyPersonalInfo. + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. */ - personalInfo?: { + extensionList?: { /** - * Data model for the complex type PartyComplexName. + * Number of Extension elements. */ - complexName?: { + extension: { /** - * First name of the Party (Name Type). + * Extension key. */ - firstName?: string; + key: string; /** - * Middle name of the Party (Name Type). + * Extension value. */ - middleName?: string; - /** - * Last name of the Party (Name Type). + value: string; + }[]; + }; + }; + }; + /** + * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. + */ + OtpValue: string; + /** + * QR code used as a One Time Password. + */ + QRCODE: string; + /** + * U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. + */ + U2FPIN: string; + /** + * U2F challenge-response, where payer FSP verifies if the response provided by end-user device matches the previously registered key. + */ + U2FPinValue: { + /** + * U2F challenge-response. + */ + pinValue: string; + /** + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }; + /** + * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + AuthenticationValue: Partial & + Partial & + Partial<{ + /** + * U2F challenge-response. + */ + pinValue: string; + /** + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }>; + /** + * Data model for the complex type AuthenticationInfo. + */ + AuthenticationInfo: { + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authentication: "OTP" | "QRCODE" | "U2F"; + /** + * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + authenticationValue: Partial & + Partial & + Partial<{ + /** + * U2F challenge-response. + */ + pinValue: string; + /** + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }>; + }; + /** + * Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + */ + AuthorizationResponse: "ENTERED" | "REJECTED" | "RESEND"; + /** + * The object sent in the PUT /authorizations/{ID} callback. + */ + AuthorizationsIDPutResponse: { + /** + * Data model for the complex type AuthenticationInfo. + */ + authenticationInfo?: { + /** + * Below are the allowed values for the enumeration AuthenticationType. + * - OTP - One-time password generated by the Payer FSP. + * - QRCODE - QR code used as One Time Password. + * - U2F - U2F is a new addition isolated to Thirdparty stream. + */ + authentication: "OTP" | "QRCODE" | "U2F"; + /** + * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. + */ + authenticationValue: Partial & + Partial & + Partial<{ + /** + * U2F challenge-response. */ - lastName?: string; - }; + pinValue: string; /** - * Date of Birth of the Party. - */ - dateOfBirth?: string; - }; + * Sequential counter used for cloning detection. Present only for U2F authentication. + */ + counter: string; + }>; }; /** - * Information about the Payer in the proposed financial transaction. + * Below are the allowed values for the enumeration. + * - ENTERED - Consumer entered the authentication value. + * - REJECTED - Consumer rejected the transaction. + * - RESEND - Consumer requested to resend the authentication value. + */ + responseType: "ENTERED" | "REJECTED" | "RESEND"; + }; + /** + * The scopes requested for a ConsentRequest. + * - "accounts.getBalance" - Get the balance of a given account. + * - "accounts.transfer" - Initiate a transfer from an account. + */ + ConsentScopeType: "accounts.getBalance" | "accounts.transfer"; + /** + * Scope + Account Identifier mapping for a Consent. + */ + Scope: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }; + /** + * The auth channel being used for the consentRequest. + * - "WEB" - The Web auth channel. + * - "OTP" - The OTP auth channel. + */ + ConsentRequestChannelType: "WEB" | "OTP"; + /** + * The object sent in a `POST /consentRequests` request. + */ + ConsentRequestsPostRequest: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + id: string; + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: ("WEB" | "OTP")[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + }; + /** + * The web auth channel being used for PUT consentRequest/{ID} request. + */ + ConsentRequestChannelTypeWeb: "WEB"; + /** + * The object sent in a `PUT /consentRequests/{ID}` request. + * + * Schema used in the request consent phase of the account linking web flow, + * the result is the PISP being instructed on a specific URL where this + * supposed user should be redirected. This URL should be a place where + * the user can prove their identity (e.g., by logging in). + */ + ConsentRequestsIDPutResponseWeb: { + /** + * The id of the PISP who will initiate transactions on a user's behalf. */ - payer: { - /** - * This is a variant based on FSPIOP `PartyIdType` specification. - * This validation interface should be use by `POST /thirdpartyRequests/transactions` - * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent - */ - partyIdType: "THIRD_PARTY_LINK"; - /** - * Identifier of the Party. - */ - partyIdentifier: string; - /** - * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. - */ - partySubIdOrType?: string; - /** - * FSP identifier. - */ - fspId?: string; + initiatorId: string; + scopes: { /** - * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - extensionList?: { - /** - * Number of Extension elements. - */ - extension: { - /** - * Extension key. - */ - key: string; - /** - * Extension value. - */ - value: string; - }[]; - }; - }; + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "WEB"[]; /** - * SEND for sendAmount, RECEIVE for receiveAmount. + * The callback uri that the user will be redirected to after completing the WEB auth channel. */ - amountType: "SEND" | "RECEIVE"; + callbackUri: string; /** - * Requested amount to be transferred from the Payer to Payee. + * The callback uri that the pisp app redirects to for user to complete their login. */ - amount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + authUri: string; + }; + /** + * The object sent in a `PUT /consentRequests/{ID}` request. + * + * Schema used in the authentication phase of the account linking flow, + * the user is expected to prove their identity to the DFSP by passing a OTP + * or secret to the PISP. + */ + ConsentRequestsIDPutResponseWebAuth: { + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - amount: string; - }; + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "WEB"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + /** + * The callback uri that the pisp app redirects to for user to complete their login. + */ + authUri: string; /** - * Type of transaction. + * The Auth token from the OTP or redirect to pisp app. */ - transactionType: { - /** - * Below are the allowed values for the enumeration. - * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. - * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. - * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. - * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. - * - REFUND - Used for performing a refund of transaction. - */ - scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; + authToken: string; + }; + /** + * The OTP auth channel being used for PUT consentRequest/{ID} request. + */ + ConsentRequestChannelTypeOTP: "OTP"; + /** + * The object sent in a `PUT /consentRequests/{ID}` request. + * + * Schema used in the request consent phase of the account linking OTP/SMS flow. + */ + ConsentRequestsIDPutResponseOTP: { + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { /** - * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - subScenario?: string; + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "OTP"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + }; + /** + * The object sent in a `PUT /consentRequests/{ID}` request. + * + * Schema used in the authentication phase of the account linking flow, + * the user is expected to prove their identity to the DFSP by passing a OTP + * or secret to the PISP. + */ + ConsentRequestsIDPutResponseOTPAuth: { + /** + * The id of the PISP who will initiate transactions on a user's behalf. + */ + initiatorId: string; + scopes: { /** - * Below are the allowed values for the enumeration. - * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. - * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - initiator: "PAYER" | "PAYEE"; + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + authChannels: "OTP"[]; + /** + * The callback uri that the user will be redirected to after completing the WEB auth channel. + */ + callbackUri: string; + /** + * The Auth token from the OTP or redirect to pisp app. + */ + authToken: string; + }; + /** + * The object sent in a `PATCH /consentRequests/{ID}` request. + */ + ConsentRequestsIDPatchRequest: { + /** + * The API data type OtpValue is a JSON String of 3 to 10 characters, consisting of digits only. Negative numbers are not allowed. One or more leading zeros are allowed. + */ + authToken: string; + }; + /** + * The object sent in a `POST /consents` request. + */ + ConsentsPostRequest: { + /** + * Common ID between the PISP and FSP for the Consent object + * decided by the DFSP who creates the Consent + * This field is REQUIRED for POST /consent. + */ + consentId: string; + /** + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. + */ + consentRequestId: string; + scopes: { /** - * Below are the allowed values for the enumeration. - * - CONSUMER - Consumer is the initiator of the transaction. - * - AGENT - Agent is the initiator of the transaction. - * - BUSINESS - Business is the initiator of the transaction. - * - DEVICE - Device is the initiator of the transaction. + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. */ - initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + }; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + CredentialType: "FIDO"; + /** + * The challenge that has been signed by a PISP. + */ + CredentialChallengeSigned: { + /** + * Base64 encoded binary of the challenge that must be answered by the PISP. + */ + payload: string; + /** + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + */ + signature: string; + }; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * SignedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be PENDING when updating + * a credential. + */ + SignedCredential: { + /** + * The id of a Credential. + */ + id: string; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The challenge has signed but not yet verified. + */ + status: "PENDING"; + /** + * The challenge that has been signed by a PISP. + */ + challenge: { /** - * Data model for the complex type Refund. + * Base64 encoded binary of the challenge that must be answered by the PISP. */ - refundInfo?: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - originalTransactionId: string; - /** - * Reason for the refund. - */ - refundReason?: string; - }; + payload: string; /** - * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. */ - balanceOfPayments?: string; + signature: string; }; /** - * Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. + * Base64 encoded bytes - The public key of the Public/Private keypair. */ - expiration: string; + payload: string; }; /** - * The object sent in the PUT /thirdPartyRequests/transactions/{ID} request. + * The HTTP request `PUT /consents/{ID}` is used by the PISP to update a Consent + * with a signed challenge and register a credential. + * + * Called by a `PISP` to after signing a challenge. Sent to an `auth-service` for verification. */ - ThirdpartyRequestsTransactionsIDPutResponse: { + ConsentsIDPutResponseSigned: { /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. */ - transactionId: string; + requestId: string; /** - * Below are the allowed values for the enumeration. - * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. - * - PENDING - Payer FSP has sent the transaction request to the Payer. - * - ACCEPTED - Payer has approved the transaction. - * - REJECTED - Payer has rejected the transaction. + * FSP identifier. */ - transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; - }; - /** - * The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. - */ - BinaryString: string; + participantId: string; + /** + * PISP identifier who uses this Consent. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * SignedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be PENDING when updating + * a credential. + */ + credential: { + /** + * The id of a Credential. + */ + id: string; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The challenge has signed but not yet verified. + */ + status: "PENDING"; + /** + * The challenge that has been signed by a PISP. + */ + challenge: { + /** + * Base64 encoded binary of the challenge that must be answered by the PISP. + */ + payload: string; + /** + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + */ + signature: string; + }; + /** + * Base64 encoded bytes - The public key of the Public/Private keypair. + */ + payload: string; + }; + }; /** - * The object sent in the PUT /thirdpartyRequests/transactions/{id}/authorizations request. + * The challenge issued by a DFSP that must be answered by the PISP. */ - ThirdpartyRequestsTransactionsIDAuthorizationsPutResponse: { - /** - * Base64 encoded binary string - the original challenge. - */ - challenge: string; - /** - * Base64 encoded binary string - the signed challenge. - */ - value: string; - /** - * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which consent allows the PISP to initiate transaction. - */ - consentId: string; - /** - * DFSP specific account identifiers, e.g. `dfspa.alice.1234` - */ - sourceAccountId: string; + CredentialChallengeUnsigned: { /** - * The status of the authorization. This value must be `VERIFIED` for a PUT request. + * Base64 encoded binary of the challenge that must be answered by the PISP. */ - status: "VERIFIED"; + payload: string; }; /** - * The object sent in the POST /thirdpartyRequests/transactions/{id}/authorizations request. + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * UnsignedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be PENDING when updating + * a credential. */ - ThirdpartyRequestsTransactionsIDAuthorizationsPostRequest: { - /** - * Base64 encoded binary string - the original challenge. - */ - challenge: string; - /** - * Base64 encoded binary string - the signed challenge - */ - value: string; + UnsignedCredential: { /** - * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which constent allows the PISP to initiate transaction. + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. */ - consentId: string; + type: "FIDO"; /** - * DFSP specific account identifiers, e.g. `dfspa.alice.1234` + * The challenge has initialized but not yet answered by the PISP. */ - sourceAccountId: string; + status: "PENDING"; /** - * The status of the authorization. This MUST be PENDING for a POST request + * The challenge issued by a DFSP that must be answered by the PISP. */ - status: "PENDING"; + challenge: { + /** + * Base64 encoded binary of the challenge that must be answered by the PISP. + */ + payload: string; + }; }; /** - * POST /thirdpartyRequests/authorizations request object. + * The HTTP request `PUT /consents/{ID}` is used to request a PISP to sign a challenge. + * The `{ID}` in the URI should contain the `{ID}` that was used in the `POST /consents`. + * + * Called by a `auth-service` to request PISP to add the credential details. */ - ThirdpartyRequestsAuthorizationsPostRequest: { - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - authorizationRequestId: string; - /** - * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). - */ - transactionRequestId: string; - /** - * Base64 encoded bytes - The challenge generated by the DFSP. - */ - challenge: string; + ConsentsIDPutResponseUnsigned: { /** - * The object sent in the PUT /quotes/{ID} callback. - */ - quote: { - /** - * Data model for the complex type Money. - */ - transferAmount: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. + */ + requestId: string; + /** + * FSP identifier. + */ + participantId: string; + /** + * PISP identifier who uses this Consent. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * UnsignedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be PENDING when updating + * a credential. + */ + credential: { + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The challenge has initialized but not yet answered by the PISP. + */ + status: "PENDING"; + /** + * The challenge issued by a DFSP that must be answered by the PISP. + */ + challenge: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Base64 encoded binary of the challenge that must be answered by the PISP. */ - amount: string; + payload: string; }; + }; + }; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * VerifiedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be VERIFIED when updating + * a credential. + */ + VerifiedCredential: { + /** + * The id of a Credential. + */ + id?: string; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The Credential is valid, and ready to be used by the PISP. + */ + status: "VERIFIED"; + /** + * The challenge that has been signed by a PISP. + */ + challenge: { /** - * Data model for the complex type Money. + * Base64 encoded binary of the challenge that must be answered by the PISP. */ - payeeReceiveAmount?: { - /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. - */ - currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + payload: string; + /** + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + */ + signature: string; + }; + /** + * Base64 encoded bytes - The public key of the Public/Private keypair. + */ + payload?: string; + }; + /** + * The HTTP request `PUT /consents/{ID}` is used by the DFSP or Auth-Service to + * update a Consent object once it has been Verified. + * + * Called by a `auth-service` to notify a DFSP and PISP that a credential has been verified and registered. + */ + ConsentsIDPutResponseVerified: { + /** + * The id of the ConsentRequest that was used to initiate the + * creation of this Consent. + */ + requestId: string; + /** + * FSP identifier. + */ + participantId: string; + /** + * PISP identifier who uses this Consent. + */ + initiatorId: string; + scopes: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + accountId: string; + actions: ("accounts.getBalance" | "accounts.transfer")[]; + }[]; + /** + * A credential used to allow a user to prove their identity and access + * to an account with a DFSP. + * + * VerifiedCredential is a special formatting of the credential to allow us to be + * more explicit about the `status` field - it should only ever be VERIFIED when updating + * a credential. + */ + credential: { + /** + * The id of a Credential. + */ + id?: string; + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + /** + * The Credential is valid, and ready to be used by the PISP. + */ + status: "VERIFIED"; + /** + * The challenge that has been signed by a PISP. + */ + challenge: { /** - * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + * Base64 encoded binary of the challenge that must be answered by the PISP. */ - amount: string; + payload: string; + /** + * Base64 encoded binary string or result of the payload signed by the PISP using the private key. + */ + signature: string; }; /** - * Data model for the complex type Money. + * Base64 encoded bytes - The public key of the Public/Private keypair. */ - payeeFspFee?: { + payload?: string; + }; + }; + /** + * A credential used to allow a user to prove their identity + * and access to an account with a DFSP. + */ + ConsentsIDGenerateChallengePostRequest: { + /** + * The type of the Credential. + * - "FIDO" - A FIDO public/private keypair. + */ + type: "FIDO"; + }; + /** + * The object sent in a `PUT /services/{ServiceType}` request. + */ + ServicesServiceTypePutResponse: { providers: string[] }; + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * This validation interface should be use by `POST /thirdpartyRequests/transactions` + * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent + */ + PartyIdTypeTPLink: "THIRD_PARTY_LINK"; + /** + * Data model for the complex type PartyIdInfo. + */ + PartyIdInfoTPLink: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * This validation interface should be use by `POST /thirdpartyRequests/transactions` + * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent + */ + partyIdType: "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { /** - * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + * Extension key. */ - currency: + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + /** + * Below are the allowed values for the enumeration AmountType. + * - SEND - Amount the Payer would like to send, that is, the amount that should be withdrawn from the Payer account including any fees. + * - RECEIVE - Amount the Payer would like the Payee to receive, that is, the amount that should be sent to the receiver exclusive of any fees. + */ + AmountType: "SEND" | "RECEIVE"; + /** + * The object sent in the POST /thirdpartyRequests/transactions request. + */ + ThirdpartyRequestsTransactionsPostRequest: { + /** + * Common ID between the FSPs for the transaction request object. The ID should be reused for resends of the same transaction request. A new ID should be generated for each new transaction request. + */ + transactionRequestId: string; + /** + * Information about the Payee in the proposed financial transaction. + */ + payee: { + /** + * Data model for the complex type AccountList. + */ + accounts?: { + /** + * Accounts associated with the Party. + */ + account: { + /** + * A long-lived unique account identifier provided by the DFSP. This MUST NOT + * be Bank Account Number or anything that may expose a User's private bank + * account information. + */ + address?: string; + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: | "AED" | "AFN" | "ALL" @@ -25626,6 +24608,674 @@ export interface components { | "ZAR" | "ZMW" | "ZWD"; + /** + * The API data type Name is a JSON String, restricted by a regular expression to avoid characters which are generally not used in a name. + * + * Regular Expression - The regular expression for restricting the Name type is "^(?!\s*$)[\w .,'-]{1,128}$". The restriction does not allow a string consisting of whitespace only, all Unicode characters are allowed, as well as the period (.) (apostrophe (‘), dash (-), comma (,) and space characters ( ). + * + * **Note:** In some programming languages, Unicode support must be specifically enabled. For example, if Java is used, the flag UNICODE_CHARACTER_CLASS must be enabled to allow Unicode characters. + */ + description?: string; + }[]; + }; + /** + * Data model for the complex type PartyIdInfo. + */ + partyIdInfo: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * Main difference being the CONSENT and THIRD_PARTY_LINK enums. + * + * Below are the allowed values for the enumeration. + * - MSISDN - An MSISDN (Mobile Station International Subscriber Directory + * Number, that is, the phone number) is used as reference to a participant. + * The MSISDN identifier should be in international format according to the + * [ITU-T E.164 standard](https://www.itu.int/rec/T-REC-E.164/en). + * Optionally, the MSISDN may be prefixed by a single plus sign, indicating the + * international prefix. + * - EMAIL - An email is used as reference to a + * participant. The format of the email should be according to the informational + * [RFC 3696](https://tools.ietf.org/html/rfc3696). + * - PERSONAL_ID - A personal identifier is used as reference to a participant. + * Examples of personal identification are passport number, birth certificate + * number, and national registration number. The identifier number is added in + * the PartyIdentifier element. The personal identifier type is added in the + * PartySubIdOrType element. + * - BUSINESS - A specific Business (for example, an organization or a company) + * is used as reference to a participant. The BUSINESS identifier can be in any + * format. To make a transaction connected to a specific username or bill number + * in a Business, the PartySubIdOrType element should be used. + * - DEVICE - A specific device (for example, a POS or ATM) ID connected to a + * specific business or organization is used as reference to a Party. + * For referencing a specific device under a specific business or organization, + * use the PartySubIdOrType element. + * - ACCOUNT_ID - A bank account number or FSP account ID should be used as + * reference to a participant. The ACCOUNT_ID identifier can be in any format, + * as formats can greatly differ depending on country and FSP. + * - IBAN - A bank account number or FSP account ID is used as reference to a + * participant. The IBAN identifier can consist of up to 34 alphanumeric + * characters and should be entered without whitespace. + * - ALIAS An alias is used as reference to a participant. The alias should be + * created in the FSP as an alternative reference to an account owner. + * Another example of an alias is a username in the FSP system. + * The ALIAS identifier can be in any format. It is also possible to use the + * PartySubIdOrType element for identifying an account under an Alias defined + * by the PartyIdentifier. + * - CONSENT - TBD + * - THIRD_PARTY_LINK - TBD + */ + partyIdType: + | "MSISDN" + | "EMAIL" + | "PERSONAL_ID" + | "BUSINESS" + | "DEVICE" + | "ACCOUNT_ID" + | "IBAN" + | "ALIAS" + | "CONSENT" + | "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + /** + * A limited set of pre-defined numbers. This list would be a limited set of numbers identifying a set of popular merchant types like School Fees, Pubs and Restaurants, Groceries, etc. + */ + merchantClassificationCode?: string; + /** + * Name of the Party. Could be a real name or a nickname. + */ + name?: string; + /** + * Data model for the complex type PartyPersonalInfo. + */ + personalInfo?: { + /** + * Data model for the complex type PartyComplexName. + */ + complexName?: { + /** + * First name of the Party (Name Type). + */ + firstName?: string; + /** + * Middle name of the Party (Name Type). + */ + middleName?: string; + /** + * Last name of the Party (Name Type). + */ + lastName?: string; + }; + /** + * Date of Birth of the Party. + */ + dateOfBirth?: string; + }; + }; + /** + * Information about the Payer in the proposed financial transaction. + */ + payer: { + /** + * This is a variant based on FSPIOP `PartyIdType` specification. + * This validation interface should be use by `POST /thirdpartyRequests/transactions` + * - THIRD_PARTY_LINK - is the DFSP's internal reference which allows DFSP to find out the corresponding consent + */ + partyIdType: "THIRD_PARTY_LINK"; + /** + * Identifier of the Party. + */ + partyIdentifier: string; + /** + * Either a sub-identifier of a PartyIdentifier, or a sub-type of the PartyIdType, normally a PersonalIdentifierType. + */ + partySubIdOrType?: string; + /** + * FSP identifier. + */ + fspId?: string; + /** + * Data model for the complex type ExtensionList. An optional list of extensions, specific to deployment. + */ + extensionList?: { + /** + * Number of Extension elements. + */ + extension: { + /** + * Extension key. + */ + key: string; + /** + * Extension value. + */ + value: string; + }[]; + }; + }; + /** + * SEND for sendAmount, RECEIVE for receiveAmount. + */ + amountType: "SEND" | "RECEIVE"; + /** + * Requested amount to be transferred from the Payer to Payee. + */ + amount: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Type of transaction. + */ + transactionType: { + /** + * Below are the allowed values for the enumeration. + * - DEPOSIT - Used for performing a Cash-In (deposit) transaction. In a normal scenario, electronic funds are transferred from a Business account to a Consumer account, and physical cash is given from the Consumer to the Business User. + * - WITHDRAWAL - Used for performing a Cash-Out (withdrawal) transaction. In a normal scenario, electronic funds are transferred from a Consumer’s account to a Business account, and physical cash is given from the Business User to the Consumer. + * - TRANSFER - Used for performing a P2P (Peer to Peer, or Consumer to Consumer) transaction. + * - PAYMENT - Usually used for performing a transaction from a Consumer to a Merchant or Organization, but could also be for a B2B (Business to Business) payment. The transaction could be online for a purchase in an Internet store, in a physical store where both the Consumer and Business User are present, a bill payment, a donation, and so on. + * - REFUND - Used for performing a refund of transaction. + */ + scenario: "DEPOSIT" | "WITHDRAWAL" | "TRANSFER" | "PAYMENT" | "REFUND"; + /** + * Possible sub-scenario, defined locally within the scheme (UndefinedEnum Type). + */ + subScenario?: string; + /** + * Below are the allowed values for the enumeration. + * - PAYER - Sender of funds is initiating the transaction. The account to send from is either owned by the Payer or is connected to the Payer in some way. + * - PAYEE - Recipient of the funds is initiating the transaction by sending a transaction request. The Payer must approve the transaction, either automatically by a pre-generated OTP or by pre-approval of the Payee, or by manually approving in his or her own Device. + */ + initiator: "PAYER" | "PAYEE"; + /** + * Below are the allowed values for the enumeration. + * - CONSUMER - Consumer is the initiator of the transaction. + * - AGENT - Agent is the initiator of the transaction. + * - BUSINESS - Business is the initiator of the transaction. + * - DEVICE - Device is the initiator of the transaction. + */ + initiatorType: "CONSUMER" | "AGENT" | "BUSINESS" | "DEVICE"; + /** + * Data model for the complex type Refund. + */ + refundInfo?: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + originalTransactionId: string; + /** + * Reason for the refund. + */ + refundReason?: string; + }; + /** + * (BopCode) The API data type [BopCode](https://www.imf.org/external/np/sta/bopcode/) is a JSON String of 3 characters, consisting of digits only. Negative numbers are not allowed. A leading zero is not allowed. + */ + balanceOfPayments?: string; + }; + /** + * Date and time until when the transaction request is valid. It can be set to get a quick failure in case the peer FSP takes too long to respond. + */ + expiration: string; + }; + /** + * The object sent in the PUT /thirdPartyRequests/transactions/{ID} request. + */ + ThirdpartyRequestsTransactionsIDPutResponse: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionId: string; + /** + * Below are the allowed values for the enumeration. + * - RECEIVED - Payer FSP has received the transaction from the Payee FSP. + * - PENDING - Payer FSP has sent the transaction request to the Payer. + * - ACCEPTED - Payer has approved the transaction. + * - REJECTED - Payer has rejected the transaction. + */ + transactionRequestState: "RECEIVED" | "PENDING" | "ACCEPTED" | "REJECTED"; + }; + /** + * The API data type BinaryString is a JSON String. The string is a base64url encoding of a string of raw bytes, where padding (character ‘=’) is added at the end of the data if needed to ensure that the string is a multiple of 4 characters. The length restriction indicates the allowed number of characters. + */ + BinaryString: string; + /** + * The object sent in the PUT /thirdpartyRequests/transactions/{id}/authorizations request. + */ + ThirdpartyRequestsTransactionsIDAuthorizationsPutResponse: { + /** + * Base64 encoded binary string - the original challenge. + */ + challenge: string; + /** + * Base64 encoded binary string - the signed challenge. + */ + value: string; + /** + * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which consent allows the PISP to initiate transaction. + */ + consentId: string; + /** + * DFSP specific account identifiers, e.g. `dfspa.alice.1234` + */ + sourceAccountId: string; + /** + * The status of the authorization. This value must be `VERIFIED` for a PUT request. + */ + status: "VERIFIED"; + }; + /** + * The object sent in the POST /thirdpartyRequests/transactions/{id}/authorizations request. + */ + ThirdpartyRequestsTransactionsIDAuthorizationsPostRequest: { + /** + * Base64 encoded binary string - the original challenge. + */ + challenge: string; + /** + * Base64 encoded binary string - the signed challenge + */ + value: string; + /** + * Common ID between the PISP and FSP for the Consent object This tells DFSP and auth-service which constent allows the PISP to initiate transaction. + */ + consentId: string; + /** + * DFSP specific account identifiers, e.g. `dfspa.alice.1234` + */ + sourceAccountId: string; + /** + * The status of the authorization. This MUST be PENDING for a POST request + */ + status: "PENDING"; + }; + /** + * POST /thirdpartyRequests/authorizations request object. + */ + ThirdpartyRequestsAuthorizationsPostRequest: { + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + authorizationRequestId: string; + /** + * Identifier that correlates all messages of the same sequence. The API data type UUID (Universally Unique Identifier) is a JSON String in canonical format, conforming to [RFC 4122](https://tools.ietf.org/html/rfc4122), that is restricted by a regular expression for interoperability reasons. A UUID is always 36 characters long, 32 hexadecimal symbols and 4 dashes (‘-‘). + */ + transactionRequestId: string; + /** + * Base64 encoded bytes - The challenge generated by the DFSP. + */ + challenge: string; + /** + * The object sent in the PUT /quotes/{ID} callback. + */ + quote: { + /** + * Data model for the complex type Money. + */ + transferAmount: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ @@ -25634,173 +25284,523 @@ export interface components { /** * Data model for the complex type Money. */ - payeeFspCommission?: { + payeeReceiveAmount?: { /** * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. */ currency: - | "AED" - | "AFN" - | "ALL" - | "AMD" - | "ANG" - | "AOA" - | "ARS" - | "AUD" - | "AWG" - | "AZN" - | "BAM" - | "BBD" - | "BDT" - | "BGN" - | "BHD" - | "BIF" - | "BMD" - | "BND" - | "BOB" - | "BRL" - | "BSD" - | "BTN" - | "BWP" - | "BYN" - | "BZD" - | "CAD" - | "CDF" - | "CHF" - | "CLP" - | "CNY" - | "COP" - | "CRC" - | "CUC" - | "CUP" - | "CVE" - | "CZK" - | "DJF" - | "DKK" - | "DOP" - | "DZD" - | "EGP" - | "ERN" - | "ETB" - | "EUR" - | "FJD" - | "FKP" - | "GBP" - | "GEL" - | "GGP" - | "GHS" - | "GIP" - | "GMD" - | "GNF" - | "GTQ" - | "GYD" - | "HKD" - | "HNL" - | "HRK" - | "HTG" - | "HUF" - | "IDR" - | "ILS" - | "IMP" - | "INR" - | "IQD" - | "IRR" - | "ISK" - | "JEP" - | "JMD" - | "JOD" - | "JPY" - | "KES" - | "KGS" - | "KHR" - | "KMF" - | "KPW" - | "KRW" - | "KWD" - | "KYD" - | "KZT" - | "LAK" - | "LBP" - | "LKR" - | "LRD" - | "LSL" - | "LYD" - | "MAD" - | "MDL" - | "MGA" - | "MKD" - | "MMK" - | "MNT" - | "MOP" - | "MRO" - | "MUR" - | "MVR" - | "MWK" - | "MXN" - | "MYR" - | "MZN" - | "NAD" - | "NGN" - | "NIO" - | "NOK" - | "NPR" - | "NZD" - | "OMR" - | "PAB" - | "PEN" - | "PGK" - | "PHP" - | "PKR" - | "PLN" - | "PYG" - | "QAR" - | "RON" - | "RSD" - | "RUB" - | "RWF" - | "SAR" - | "SBD" - | "SCR" - | "SDG" - | "SEK" - | "SGD" - | "SHP" - | "SLL" - | "SOS" - | "SPL" - | "SRD" - | "STD" - | "SVC" - | "SYP" - | "SZL" - | "THB" - | "TJS" - | "TMT" - | "TND" - | "TOP" - | "TRY" - | "TTD" - | "TVD" - | "TWD" - | "TZS" - | "UAH" - | "UGX" - | "USD" - | "UYU" - | "UZS" - | "VEF" - | "VND" - | "VUV" - | "WST" - | "XAF" - | "XCD" - | "XDR" - | "XOF" - | "XPF" - | "YER" - | "ZAR" - | "ZMW" - | "ZWD"; + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeFspFee?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; + /** + * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. + */ + amount: string; + }; + /** + * Data model for the complex type Money. + */ + payeeFspCommission?: { + /** + * The currency codes defined in [ISO 4217](https://www.iso.org/iso-4217-currency-codes.html) as three-letter alphabetic codes are used as the standard naming representation for currencies. + */ + currency: + | "AED" + | "AFN" + | "ALL" + | "AMD" + | "ANG" + | "AOA" + | "ARS" + | "AUD" + | "AWG" + | "AZN" + | "BAM" + | "BBD" + | "BDT" + | "BGN" + | "BHD" + | "BIF" + | "BMD" + | "BND" + | "BOB" + | "BRL" + | "BSD" + | "BTN" + | "BWP" + | "BYN" + | "BZD" + | "CAD" + | "CDF" + | "CHF" + | "CLP" + | "CNY" + | "COP" + | "CRC" + | "CUC" + | "CUP" + | "CVE" + | "CZK" + | "DJF" + | "DKK" + | "DOP" + | "DZD" + | "EGP" + | "ERN" + | "ETB" + | "EUR" + | "FJD" + | "FKP" + | "GBP" + | "GEL" + | "GGP" + | "GHS" + | "GIP" + | "GMD" + | "GNF" + | "GTQ" + | "GYD" + | "HKD" + | "HNL" + | "HRK" + | "HTG" + | "HUF" + | "IDR" + | "ILS" + | "IMP" + | "INR" + | "IQD" + | "IRR" + | "ISK" + | "JEP" + | "JMD" + | "JOD" + | "JPY" + | "KES" + | "KGS" + | "KHR" + | "KMF" + | "KPW" + | "KRW" + | "KWD" + | "KYD" + | "KZT" + | "LAK" + | "LBP" + | "LKR" + | "LRD" + | "LSL" + | "LYD" + | "MAD" + | "MDL" + | "MGA" + | "MKD" + | "MMK" + | "MNT" + | "MOP" + | "MRO" + | "MUR" + | "MVR" + | "MWK" + | "MXN" + | "MYR" + | "MZN" + | "NAD" + | "NGN" + | "NIO" + | "NOK" + | "NPR" + | "NZD" + | "OMR" + | "PAB" + | "PEN" + | "PGK" + | "PHP" + | "PKR" + | "PLN" + | "PYG" + | "QAR" + | "RON" + | "RSD" + | "RUB" + | "RWF" + | "SAR" + | "SBD" + | "SCR" + | "SDG" + | "SEK" + | "SGD" + | "SHP" + | "SLL" + | "SOS" + | "SPL" + | "SRD" + | "STD" + | "SVC" + | "SYP" + | "SZL" + | "THB" + | "TJS" + | "TMT" + | "TND" + | "TOP" + | "TRY" + | "TTD" + | "TVD" + | "TWD" + | "TZS" + | "UAH" + | "UGX" + | "USD" + | "UYU" + | "UZS" + | "VEF" + | "VND" + | "VUV" + | "WST" + | "XAF" + | "XCD" + | "XDR" + | "XOF" + | "XPF" + | "YER" + | "ZAR" + | "ZMW" + | "ZWD"; /** * The API data type Amount is a JSON String in a canonical format that is restricted by a regular expression for interoperability reasons. This pattern does not allow any trailing zeroes at all, but allows an amount without a minor currency unit. It also only allows four digits in the minor currency unit; a negative value is not allowed. Using more than 18 digits in the major currency unit is not allowed. */ @@ -25919,17 +25919,17 @@ export interface components { * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. */ authenticationValue: Partial & - Partial & - Partial<{ - /** + Partial & + Partial<{ + /** * U2F challenge-response. */ - pinValue: string; - /** + pinValue: string; + /** * Sequential counter used for cloning detection. Present only for U2F authentication. */ - counter: string; - }>; + counter: string; + }>; }; /** * Below are the allowed values for the enumeration. @@ -25964,17 +25964,17 @@ export interface components { * Contains the authentication value. The format depends on the authentication type used in the AuthenticationInfo complex type. */ authenticationValue: Partial & - Partial & - Partial<{ - /** + Partial & + Partial<{ + /** * U2F challenge-response. */ - pinValue: string; - /** + pinValue: string; + /** * Sequential counter used for cloning detection. Present only for U2F authentication. */ - counter: string; - }>; + counter: string; + }>; }; /** * Below are the allowed values for the enumeration. diff --git a/thirdparty/openapi3/paths/services_ServiceType_error.yaml b/thirdparty/openapi3/paths/services_ServiceType_error.yaml index 8e50fea1..5074fc18 100644 --- a/thirdparty/openapi3/paths/services_ServiceType_error.yaml +++ b/thirdparty/openapi3/paths/services_ServiceType_error.yaml @@ -13,7 +13,7 @@ parameters: put: description: | The HTTP request `PUT /services/{ServiceType}/error` is used to return error information - operationId: PutServicesByIdAndError + operationId: PutServicesByServiceTypeAndError summary: PutServicesByServiceTypeAndError tags: - services