The fire.com API allows you to deeply integrate Business Account features into your application or back-office systems. The API provides read access to your profile, accounts and transactions, event-driven notifications of activity on the account and payment initiation via batches. Each feature has its own HTTP endpoint and every endpoint has its own permission. The API exposes 3 main areas of functionality: financial functions, service information and service configuration. ## Financial Functions These functions provide access to your account details, transactions, payee accounts, payment initiation etc. ## Service Functions These provide information about the fees and limits applied to your account. ## Service configuration These provide information about your service configs - applications, webhooks, API tokens, etc.
------ This API allows developers to integrate the Frankie Financial Compliance Utility into their applications. The API allows: - Checking name, address, date of birth against national databases - Validating Australian driver's licences, passports, medicare, visas and other Australian national ID documents - Validating Australian electricity bills - Validating NZ driver's licences - Validating Chinese bank cards and national ID card - Validating International passports and national ID documents - PEP, Sanctions, Watchlist and adverse media checking - Australian visa checks - Fraud list and fraud background checks - ID validation and selfie check comparisons. ------ Industry specific services - Comparing Australian electricity retailers for a better deal. ------ KYB specific services - Query organisation ownership - Perform KYC & AML checks on shareholders, beneficial owners and office bearers. - Query credit score and credit reports - International company searches - International company profiles ------ The full version of this documentation along with supplemental articles can be found here: - https://apidocs.frankiefinancial.com/ The traditional Swagger view of this documentation can be found here: - https://app.swaggerhub.com/apis-docs/FrankieFinancial/kycutility ------ Sandbox base URL is: - https://api.demo.frankiefinancial.io/compliance/v1.2 - We do have an old sandbox at https://sandbox.frankiefinancial.com/compliance/v1.2 but this has been retired. - All calls are the same as production, only with canned data. - Full Swagger definition, along with test data for playing in the sandbox can be obtained once initial commercial discussions have commenced. - Production and optional UAT access will be opened up only to those with a signed commercial contract. ------ Contact us at hello@frankiefinancial.com to speak with a sales rep about issuing a Customer ID and Sandbox api key.
The payments API is used to create a session to offer Klarna's payment methods as part of your checkout. As soon as the purchase is completed the order should be read and handled using the [`Order Management API`](https://docs.klarna.com/api/ordermanagement). Read more on [Klarna payments](https://docs.klarna.com/klarna-payments/).
## Functionality at a glance The NBG "UK OPB - Account and Transaction v3.1.5" API follows the [UK Open Banking Specification v3.1.5](https://openbankinguk.github.io/read-write-api-site3/v3.1.5/profiles/account-and-transaction-api-profile.html) This Account and Transaction API Specification describes the flows and payloads for retrieving a list of accounts and their transactions. The API endpoints described here allow a AISP to: * Create the Consent with the appropriate permissions in order to be able to access the API Endpoints * Retrieve the list of accounts * Retrieve an account's details * Retrieve an account's balances * Retrieve an account's transactions * Retrieve an account's beneficiaries * Retrieve an account's standing orders * Retrieve an account's party * Retrieve an account's scheduled payments * Retrieve an account's statements ## Quick Getting Started 1. **Login/Register** to the NBG Technology HUB 2. Go to **"APPS"** 3. Select your Organization and go to step 4. If you want to create a new Organization click **\"CREATE AN ORGANIZATION\"** and follow the steps below: 1. Enter the title of your Organization 2. Enter a short description of your Organization (optional) 3. Click **"SUBMIT"** 4. Select the Organization of choice and click **"ADD AN APPLICATION"** 1. Fill in the forms (title and short description) 2. Check **\"Authorization Code\" and \"Client Credentials\"** 3. Enter the **OAuth Redirect and Post Logout URIs** (these are the URIs that we will redirect the user upon logging in and logging out respectively) You can use the following redirect URL to easily test the API through the portal: *https://developer.nbg.gr/oauth2/redoc-callback* 4. Click **"SUBMIT"** 5. Store the APPs **"Client ID"** and **"Client Secret"** 5. Go to **"API PRODUCTS"** and select the **ACCOUNT INFORMATION - UK OPEN BANKING API** 6. Click **\"START USING THIS API\"**, choose your app and click **"SUBSCRIBE"** 7. Get an Access Token using the Access Token Flow and the API scopes provided in the Authentication and Authorization (OAuth2) section below 8. Create a Sandbox 9. Play with the API ### Sandbox Flow The Sandbox Flow matches the Production Flow. The difference lies into the Data used. Instead of live data, the Sandbox flow uses mocked data. ### Production Flow The Production Flow is described in the [UK Open Banking v3.1.5 Specification](https://openbankinguk.github.io/read-write-api-site3/v3.1.5/profiles/account-and-transaction-api-profile.html) More details about the implementation specifics followed, please visit section **UK OPB Implementation Specifics** ## Authentication and Authorization (OAuth2) This API version uses the OAuth2 protocol for authentication and authorization, which means that a Bearer (access token) should be acquired. An access token can be retrieved using the client_id and client_secret of the APP that you created and subscribed in this API, and your own credentials (username, password) that you use to sign in the NBG Technology HUB. The scopes are defined below: **Authorization Endpoint:** https://my.nbg.gr/identity/connect/authorize **Token Endpoint:** https://my.nbg.gr/identity/connect/token ### Authorization Code ### **Sandbox Scopes:** sandbox-uk-account-info-api-v1 offline_access **Production Scopes:** accounts offline_access ### Client Credentials ### **Sandbox Scopes:** sandbox-uk-account-info-api-v1 **Production Scopes:** accounts See more [here](https://developer.nbg.gr/oauth-document) ## QWAC Certificates TPPs are required to present a QWAC certificate during API consumption. The API checks that this certificate has been provided and is valid. In sandbox mode the certificate validations are optional. To validate your certificate in sandbox implementation, please send us your QWAC certificate at developer@nbg.gr and set the HTTP Header **\"x-sandbox-qwac-certificate-check\"** with the value **\"true\"** in your requests. ## SMS Challenge (One Time Password) In order to successfully authorize an Accounts Access you will need to provide the SMS OTP (One Time Password) in the corresponding Accounts Consent UI Screen. By default the SMS OTP will be sent to the mobile number declared upon singing up in the NBG Technology HUB. ## Create your Sandbox Create a new Sandbox application by invoking the POST /sandbox. This call will generate a new Sandbox with a unique sandbox-id. __Important!__ Before proceeding save the sandbox id you just created. When you create a sandbox, users and sandbox specific data are generated as sample data. ## Start Testing Once you have your sandbox-id, you can start invoking the rest of the operations by providing the mandatory http header **sandbox-id** and the http headers described below. ## Important notes **Request headers** The following HTTP header parameters are required for every call: 1. Authorization. The Auth2 Token 2. sandbox-id. Your Sandbox ID **Consent** In order to be able to effectively start using the Endpoints the appropriate Consent needs to be created and set to the 'Authorised' status. In order to create the Consent you need to at least set the required **permissions** and the **Risk** sections. Optionally you may set the 1. ExpirationDateTime. When the Consent expires 2. TransactionFromDateTime. Start Date to retrieve the transactions 3. TransactionToDateTime. End Date to retrieve the transactions **Not Implemented Endpoints** The following endpoints are not implemented in the API 1. GET /balances 2. GET /transactions 3. GET /beneficiaries 4. GET /accounts/\{AccountId\}/direct-debits 5. GET /direct-debits 6. GET /standing-orders 7. GET /accounts/\{AccountId\}/product 8. GET /products 9. GET /accounts/\{AccountId\}/offers 10. GET /offers 11. GET /scheduled-payments 12. GET /statements ## Error Codes The error codes and their description can be found [here](https://openbankinguk.github.io/read-write-api-site3/v3.1.5/profiles/read-write-data-api-profile.html#error-response-structure) # UK OPB Implementation Specifics Below you may find more specific information & limitations regarding the implementation followed in the Production API. ## Token Endpoint Client Authentication At this point the supported __Client Authentication__ method is "__Client Secret Basic__" - usage of "Client ID" & "Client Secret". ## Consent Authorization For a PSU to Authorize a Consent, they need to be redirected to the appropriate Consent UI. For this redirection to take place the TPP needs to follow the Authorization Endpoint by amending the generated "Consent ID", like this: https://my.nbg.gr/identity/connect/authorize?consent_id={{consent_id}}&client_id={{client_id}}&scope={{scope}}&redirect_uri={{redirect_uri}}&response_type=code Once the PSU is redirected to the Consent Authorization Screen, they need to enter their IBank (Production) or Developer Portal (Sandbox) Credentials and either Authorize or Reject the Consent. At this point the Consent is binded with the PSU. ## Debtor Account Currently, only the "UK.OBIE.IBAN" scheme is supported. # Feedback and Questions We would love to hear your feedback and answer your questions. Send us at [developer@nbg.gr](developer@nbg.gr) Check out our [Sandbox Postman Collection](https://github.com/NBG-Developer-Portal/Account-Information-UK-Open-Banking)! ________________________________________ Created by [**NBG**](https://www.nbg.gr/). # Entities Below, the main entities are documented. <a name=OBExternalPermissions1Code></a> ## OBExternalPermissions1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.| <ul style="padding-left: 0"><li>ReadAccountsBasic</li><li>ReadAccountsDetail</li><li>ReadBalances</li><li>ReadBeneficiariesBasic</li><li>ReadBeneficiariesDetail</li><li>ReadDirectDebits</li><li>ReadOffers</li><li>ReadPAN</li><li>ReadParty</li><li>ReadPartyPSU</li><li>ReadProducts</li><li>ReadScheduledPaymentsBasic</li><li>ReadScheduledPaymentsDetail</li><li>ReadStandingOrdersBasic</li><li>ReadStandingOrdersDetail</li><li>ReadStatementsBasic</li><li>ReadStatementsDetail</li><li>ReadTransactionsBasic</li><li>ReadTransactionsCredits</li><li>ReadTransactionsDebits</li><li>ReadTransactionsDetail</li></ul>| <a name=OBReadData1></a> ## OBReadData1 ### Attributes | Name| Description| Values| | -----| -----| -----| | Permissions| Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.| array[[OBExternalPermissions1Code](#OBExternalPermissions1Code)]| | ExpirationDateTime| Specified date and time the permissions will expire. If this is not populated, the permissions will be open ended. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | TransactionFromDateTime| Specified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | TransactionToDateTime| Specified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| <a name=OBRisk2></a> ## OBRisk2 The Risk section is sent by the initiating party to the ASPSP. It is used to specify additional details for risk scoring for Account Info. ### Attributes | Name| Description| Values| | -----| -----| -----| <a name=OBReadConsent1></a> ## OBReadConsent1 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadData1](#OBReadData1)</summary><ul><li>Permissions [array[[OBExternalPermissions1Code](#OBExternalPermissions1Code)]]</li> <li>ExpirationDateTime [string]</li> <li>TransactionFromDateTime [string]</li> <li>TransactionToDateTime [string]</li> </ul></details> | | Risk | Entity | <details><summary>[OBRisk2](#OBRisk2)</summary><ul></ul></details> | <a name=ErrorCode></a> ## ErrorCode ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| This is Data Type gives a low level textual error code to help categorise an error response. The applicable HTTP response code is also given.| <ul style="padding-left: 0"><li>UK.OBIE.Field.Expected</li><li>UK.OBIE.Field.Invalid</li><li>UK.OBIE.Field.InvalidDate</li><li>UK.OBIE.Field.Missing</li><li>UK.OBIE.Field.Unexpected</li><li>UK.OBIE.Header.Invalid</li><li>UK.OBIE.Header.Missing</li><li>UK.OBIE.Resource.ConsentMismatch</li><li>UK.OBIE.Resource.InvalidConsentStatus</li><li>UK.OBIE.Resource.InvalidFormat</li><li>UK.OBIE.Resource.NotFound</li><li>UK.OBIE.Rules.AfterCutOffDateTime</li><li>UK.OBIE.Rules.DuplicateReference</li><li>UK.OBIE.Signature.Invalid</li><li>UK.OBIE.Signature.InvalidClaim</li><li>UK.OBIE.Signature.MissingClaim</li><li>UK.OBIE.Signature.Malformed</li><li>UK.OBIE.Signature.Missing</li><li>UK.OBIE.Signature.Unexpected</li><li>UK.OBIE.Unsupported.AccountIdentifier</li><li>UK.OBIE.Unsupported.AccountSecondaryIdentifier</li><li>UK.OBIE.Unsupported.Currency</li><li>UK.OBIE.Unsupported.EventType</li><li>UK.OBIE.Unsupported.Frequency</li><li>UK.OBIE.Unsupported.LocalInstrument</li><li>UK.OBIE.Unsupported.Scheme</li><li>UK.OBIE.Reauthenticate</li><li>UK.OBIE.Rules.ResourceAlreadyExists</li><li>UK.OBIE.UnexpectedError</li></ul>| <a name=OBError1></a> ## OBError1 ### Attributes | Name| Description| Values| | -----| -----| -----| | ErrorCode | Entity | <details><summary>[ErrorCode](#ErrorCode)</summary><ul></ul></details> | | Message| A description of the error that occurred. e.g., 'A mandatory field isn't supplied' or 'RequestedExecutionDateTime must be in future'OBIE doesn't standardise this field| string| | Path| Recommended but optional reference to the JSON Path of the field with error, e.g., Data.Initiation.InstructedAmount.Currency| string| <a name=OBErrorResponse1></a> ## OBErrorResponse1 An array of detail error codes, and messages, and URLs to documentation to help remediation. ### Attributes | Name| Description| Values| | -----| -----| -----| | Code| High level textual error code, to help categorize the errors.| string| | Id| A unique reference for the error instance, for audit purposes, in case of unknown/unclassified errors.| string| | Message| Brief Error message, e.g., 'There is something wrong with the request parameters provided'| string| | Errors| Gets or Sets Errors| array[[OBError1](#OBError1)]| <a name=OBExternalRequestStatus1Code></a> ## OBExternalRequestStatus1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| Specifies the status of consent resource in code form.| <ul style="padding-left: 0"><li>Authorised</li><li>AwaitingAuthorisation</li><li>Rejected</li><li>Revoked</li></ul>| <a name=OBReadDataConsentResponse1></a> ## OBReadDataConsentResponse1 ### Attributes | Name| Description| Values| | -----| -----| -----| | ConsentId| Unique identification as assigned to identify the account access consent resource.| string| | CreationDateTime| Date and time at which the resource was created. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | Status | Entity | <details><summary>[OBExternalRequestStatus1Code](#OBExternalRequestStatus1Code)</summary><ul></ul></details> | | StatusUpdateDateTime| Date and time at which the resource status was updated. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | Permissions| Specifies the Open Banking account access data types. This is a list of the data clusters being consented by the PSU, and requested for authorisation with the ASPSP.| array[[OBExternalPermissions1Code](#OBExternalPermissions1Code)]| | ExpirationDateTime| Specified date and time the permissions will expire. If this is not populated, the permissions will be open ended. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | TransactionFromDateTime| Specified start date and time for the transaction query period. If this is not populated, the start date will be open ended, and data will be returned from the earliest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | TransactionToDateTime| Specified end date and time for the transaction query period. If this is not populated, the end date will be open ended, and data will be returned to the latest available transaction. All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| <a name=Links></a> ## Links Links relevant to the payload ### Attributes | Name| Description| Values| | -----| -----| -----| | Self| -| string| | First| -| string| | Prev| -| string| | Next| -| string| | Last| -| string| <a name=Meta></a> ## Meta Meta Data relevant to the payload ### Attributes | Name| Description| Values| | -----| -----| -----| | TotalPages| -| integer| | FirstAvailableDateTime| All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | LastAvailableDateTime| All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| <a name=OBReadConsentResponse1></a> ## OBReadConsentResponse1 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataConsentResponse1](#OBReadDataConsentResponse1)</summary><ul><li>ConsentId [string]</li> <li>CreationDateTime [string]</li> <li><details><summary>Status [[OBExternalRequestStatus1Code](#OBExternalRequestStatus1Code)]</summary><ul></ul></details></li><li>StatusUpdateDateTime [string]</li> <li>Permissions [array[[OBExternalPermissions1Code](#OBExternalPermissions1Code)]]</li> <li>ExpirationDateTime [string]</li> <li>TransactionFromDateTime [string]</li> <li>TransactionToDateTime [string]</li> </ul></details> | | Risk | Entity | <details><summary>[OBRisk2](#OBRisk2)</summary><ul></ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBExternalAccountType1Code></a> ## OBExternalAccountType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>Business</li><li>Personal</li></ul>| <a name=OBExternalAccountSubType1Code></a> ## OBExternalAccountSubType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>ChargeCard</li><li>CreditCard</li><li>CurrentAccount</li><li>EMoney</li><li>Loan</li><li>Mortgage</li><li>PrePaidCard</li><li>Savings</li></ul>| <a name=OBCashAccount5></a> ## OBCashAccount5 ### Attributes | Name| Description| Values| | -----| -----| -----| | SchemeName| Name of the identification scheme, in a coded form as published in an external list.| string| | Identification| Identification assigned by an institution to identify an account. This identification is known by the account owner.| string| | Name| The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.| string| | SecondaryIdentification| This is secondary identification of the account, as assigned by the account servicing institution. This can be used by building societies to additionally identify accounts with a roll number(in addition to a sort code and account number combination).| string| <a name=OBBranchAndFinancialInstitutionIdentification5></a> ## OBBranchAndFinancialInstitutionIdentification5 ### Attributes | Name| Description| Values| | -----| -----| -----| | SchemeName| Name of the identification scheme, in a coded form as published in an external list.| string| | Identification| Unique and unambiguous identification of the servicing institution.| string| <a name=OBAccount6></a> ## OBAccount6 Unambiguous identification of the account to which credit and debit entries are made. ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | Currency| Identification of the currency in which the account is held. Usage: Currency should only be used in case one and the same account number covers several currencies and the initiating party needs to identify which currency needs to be used for settlement on the account.| string| | AccountType | Entity | <details><summary>[OBExternalAccountType1Code](#OBExternalAccountType1Code)</summary><ul></ul></details> | | AccountSubType | Entity | <details><summary>[OBExternalAccountSubType1Code](#OBExternalAccountSubType1Code)</summary><ul></ul></details> | | Description| Specifies the description of the account type.| string| | Nickname| The nickname of the account, assigned by the account owner in order to provide an additional means of identification of the account.| string| | OpeningDate| Date on which the account and related basic services are effectively operational for the account owner.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | Account| Provides the details to identify an account.| array[[OBCashAccount5](#OBCashAccount5)]| | Servicer | Entity | <details><summary>[OBBranchAndFinancialInstitutionIdentification5](#OBBranchAndFinancialInstitutionIdentification5)</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> </ul></details> | <a name=OBReadDataAccount5></a> ## OBReadDataAccount5 ### Attributes | Name| Description| Values| | -----| -----| -----| | Account| Unambiguous identification of the account to which credit and debit entries are made.| array[[OBAccount6](#OBAccount6)]| <a name=OBReadAccount5></a> ## OBReadAccount5 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataAccount5](#OBReadDataAccount5)</summary><ul><li>Account [array[[OBAccount6](#OBAccount6)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBCreditDebitCode></a> ## OBCreditDebitCode ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>Credit</li><li>Debit</li></ul>| <a name=OBBalanceType1Code></a> ## OBBalanceType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>ClosingAvailable</li><li>ClosingBooked</li><li>ClosingCleared</li><li>Expected</li><li>ForwardAvailable</li><li>Information</li><li>InterimAvailable</li><li>InterimBooked</li><li>InterimCleared</li><li>OpeningAvailable</li><li>OpeningBooked</li><li>OpeningCleared</li><li>PreviouslyClosedBooked</li></ul>| <a name=OBActiveOrHistoricCurrencyAndAmount></a> ## OBActiveOrHistoricCurrencyAndAmount ### Attributes | Name| Description| Values| | -----| -----| -----| | Amount| A number of monetary units specified in an active currency where the unit of currency is explicit and compliant with ISO 4217.| string| | Currency| A code allocated to a currency by a Maintenance Agency under an international identification scheme, as described in the latest edition of the international standard ISO 4217 "Codes for the representation of currencies and funds".| string| <a name=OBExternalLimitType1Code></a> ## OBExternalLimitType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>Available</li><li>Credit</li><li>Emergency</li><li>Pre-Agreed</li><li>Temporary</li></ul>| <a name=OBCreditLine1></a> ## OBCreditLine1 ### Attributes | Name| Description| Values| | -----| -----| -----| | Included| Indicates whether or not the credit line is included in the balance of the account. Usage: If not present, credit line is not included in the balance amount of the account.| boolean| | Type | Entity | <details><summary>[OBExternalLimitType1Code](#OBExternalLimitType1Code)</summary><ul></ul></details> | | Amount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | <a name=OBCashBalance1></a> ## OBCashBalance1 Set of elements used to define the balance details. ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | CreditDebitIndicator | Entity | <details><summary>[OBCreditDebitCode](#OBCreditDebitCode)</summary><ul></ul></details> | | Type | Entity | <details><summary>[OBBalanceType1Code](#OBBalanceType1Code)</summary><ul></ul></details> | | DateTime| Indicates the date (and time) of the balance.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00| string| | Amount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | CreditLine| Set of elements used to provide details on the credit line.| array[[OBCreditLine1](#OBCreditLine1)]| <a name=OBReadDataBalance1></a> ## OBReadDataBalance1 ### Attributes | Name| Description| Values| | -----| -----| -----| | Balance| Set of elements used to define the balance details.| array[[OBCashBalance1](#OBCashBalance1)]| <a name=OBReadBalance1></a> ## OBReadBalance1 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataBalance1](#OBReadDataBalance1)</summary><ul><li>Balance [array[[OBCashBalance1](#OBCashBalance1)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBBeneficiaryType1Code></a> ## OBBeneficiaryType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| Specifies the Beneficiary Type.| <ul style="padding-left: 0"><li>Trusted</li><li>Ordinary</li></ul>| <a name=OBBeneficiary5></a> ## OBBeneficiary5 ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | BeneficiaryType | Entity | <details><summary>[OBBeneficiaryType1Code](#OBBeneficiaryType1Code)</summary><ul></ul></details> | | CreditorAccount | Entity | <details><summary>[OBCashAccount5](#OBCashAccount5)</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> <li>SecondaryIdentification [string]</li> </ul></details> | <a name=OBReadDataBeneficiary5></a> ## OBReadDataBeneficiary5 ### Attributes | Name| Description| Values| | -----| -----| -----| | Beneficiary| -| array[[OBBeneficiary5](#OBBeneficiary5)]| <a name=OBReadBeneficiary5></a> ## OBReadBeneficiary5 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataBeneficiary5](#OBReadDataBeneficiary5)</summary><ul><li>Beneficiary [array[[OBBeneficiary5](#OBBeneficiary5)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBParty2></a> ## OBParty2 ### Attributes | Name| Description| Values| | -----| -----| -----| | PartyId| A unique and immutable identifier used to identify the customer resource. This identifier has no meaning to the account owner.| string| | Name| Name by which a party is known and which is usually used to identify that party.| string| <a name=OBReadDataParty2></a> ## OBReadDataParty2 ### Attributes | Name| Description| Values| | -----| -----| -----| | Party | Entity | <details><summary>[OBParty2](#OBParty2)</summary><ul><li>PartyId [string]</li> <li>Name [string]</li> </ul></details> | <a name=OBReadParty2></a> ## OBReadParty2 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataParty2](#OBReadDataParty2)</summary><ul><li><details><summary>Party [[OBParty2](#OBParty2)]</summary><ul><li>PartyId [string]</li> <li>Name [string]</li> </ul></details></li></ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBReadDataParty3></a> ## OBReadDataParty3 ### Attributes | Name| Description| Values| | -----| -----| -----| | Party| -| array[[OBParty2](#OBParty2)]| <a name=OBReadParty3></a> ## OBReadParty3 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataParty3](#OBReadDataParty3)</summary><ul><li>Party [array[[OBParty2](#OBParty2)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=SandboxRequest></a> ## SandboxRequest Request to create a new sandbox ### Attributes | Name| Description| Values| | -----| -----| -----| | sandboxId| Sandbox Id| string| <a name=ErrorResponse></a> ## ErrorResponse ### Attributes | Name| Description| Values| | -----| -----| -----| | errorMessage| -| string| <a name=SandboxRetryCacheEntry></a> ## SandboxRetryCacheEntry Keeps the number of calls without x-fapi-customer-ip-address header present ### Attributes | Name| Description| Values| | -----| -----| -----| | cacheKey| Cache key| string| | count| Number of retries ( up to 4 )| integer| | expirationTimestamp| Expiration timestamp of the entry| string| <a name=SandboxBankAccountInfo></a> ## SandboxBankAccountInfo General account information ### Attributes | Name| Description| Values| | -----| -----| -----| | currency| Currency (EUR, USD ...)| string| | iban| Account's IBAN| string| | accountType| Account's type (Business, Personal)| string| | accountSubType| Account's sub-type (ChargeCard, CreditCard, CurrentAccount ...)| string| | description| Account's description| string| | alias| Account's alias| string| | openingDate| Account's opening date| string| | availableBalance| Account's available balance| number| | ledgerBalance| Account's ledger balance| number| | overdraftLimit| Account's overdraft limit| number| <a name=SandboxParty></a> ## SandboxParty Connected party information ### Attributes | Name| Description| Values| | -----| -----| -----| | id| Party id| string| | name| Name| string| <a name=SandboxBeneficiary></a> ## SandboxBeneficiary Beneficiary information ### Attributes | Name| Description| Values| | -----| -----| -----| | name| Beneficiary name| string| <a name=SandboxStandingOrder></a> ## SandboxStandingOrder Standing order information ### Attributes | Name| Description| Values| | -----| -----| -----| | description| Standing order short description| string| | frequency| Standing order frequency| string| | firstPaymentDate| Standing order first collection date| string| | nextPaymentDate| Standing order next collection date| string| | finalPaymentDate| Standing order final collection date| string| | lastPaymentDate| Standing order last executed payment date| string| | status| Standing order status (Active, Inactive)| string| | amount| Standing order amount| number| <a name=SandboxScheduledPayment></a> ## SandboxScheduledPayment Scheduled payment information ### Attributes | Name| Description| Values| | -----| -----| -----| | description| Scheduled payment's short description| string| | executionDate| Scheduled payment's execution date| string| | amount| Amount| number| | senderReference| Debtor / Sender reference| string| <a name=SandboxStatement></a> ## SandboxStatement Statement information ### Attributes | Name| Description| Values| | -----| -----| -----| | number| Statement number| string| | year| Statement year| integer| | month| Statement month| integer| <a name=SandboxTransaction></a> ## SandboxTransaction Transaction information ### Attributes | Name| Description| Values| | -----| -----| -----| | reference| Transaction reference| string| | amount| Amount| number| | currency| Currency (EUR, USD ...)| string| | creditDebit| Credit / Debit indicator| string| | valueDateTime| Valeur| string| | bookingDateTime| Booking date time| string| | description| Description| string| | accountingBalance| Balance| number| | relatedAccount| Related account| string| | relatedName| Related account| string| | transactionCode| Transaction code| string| <a name=SandboxBankAccount></a> ## SandboxBankAccount Sandbox bank account ### Attributes | Name| Description| Values| | -----| -----| -----| | info | Entity | <details><summary>[SandboxBankAccountInfo](#SandboxBankAccountInfo)</summary><ul><li>currency [string]</li> <li>iban [string]</li> <li>accountType [string]</li> <li>accountSubType [string]</li> <li>description [string]</li> <li>alias [string]</li> <li>openingDate [string]</li> <li>availableBalance [number]</li> <li>ledgerBalance [number]</li> <li>overdraftLimit [number]</li> </ul></details> | | party | Entity | <details><summary>[SandboxParty](#SandboxParty)</summary><ul><li>id [string]</li> <li>name [string]</li> </ul></details> | | beneficiaries| List of account's beneficiaries| array[[SandboxBeneficiary](#SandboxBeneficiary)]| | standingOrders| List of account's standing orders| array[[SandboxStandingOrder](#SandboxStandingOrder)]| | scheduledPayments| List of account's scheduled payments| array[[SandboxScheduledPayment](#SandboxScheduledPayment)]| | statements| List of account's statements| array[[SandboxStatement](#SandboxStatement)]| | transactions| List of account's transactions| array[[SandboxTransaction](#SandboxTransaction)]| <a name=SandboxCardInfo></a> ## SandboxCardInfo Sandbox card information ### Attributes | Name| Description| Values| | -----| -----| -----| | number| Card number| string| | description| Description| string| | holderName| Holder name| string| | expiration| Expiration date (05/2022)| string| | type| Type| string| | subType| Sub type| string| | availableBalance| Available balance| number| | ledgerBalance| Ledger balance| number| | creditLimit| Credit limit ( applicable to credit cards )| number| <a name=SandboxCard></a> ## SandboxCard Sandbox card ### Attributes | Name| Description| Values| | -----| -----| -----| | info | Entity | <details><summary>[SandboxCardInfo](#SandboxCardInfo)</summary><ul><li>number [string]</li> <li>description [string]</li> <li>holderName [string]</li> <li>expiration [string]</li> <li>type [string]</li> <li>subType [string]</li> <li>availableBalance [number]</li> <li>ledgerBalance [number]</li> <li>creditLimit [number]</li> </ul></details> | | party | Entity | <details><summary>[SandboxParty](#SandboxParty)</summary><ul><li>id [string]</li> <li>name [string]</li> </ul></details> | | statements| Card statements| array[[SandboxStatement](#SandboxStatement)]| | transactions| Card transactions| array[[SandboxTransaction](#SandboxTransaction)]| <a name=SandboxUser></a> ## SandboxUser User data ### Attributes | Name| Description| Values| | -----| -----| -----| | userId| Connected user id| string| | retryCacheEntries| Retry cache entries| array[[SandboxRetryCacheEntry](#SandboxRetryCacheEntry)]| | accounts| List of accounts| array[[SandboxBankAccount](#SandboxBankAccount)]| | cards| List of cards| array[[SandboxCard](#SandboxCard)]| <a name=Sandbox></a> ## Sandbox Sandbox model ### Attributes | Name| Description| Values| | -----| -----| -----| | sandboxId| Sandbox id| string| | users| List of users| array[[SandboxUser](#SandboxUser)]| <a name=OBExternalScheduleType1Code></a> ## OBExternalScheduleType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>Arrival</li><li>Execution</li></ul>| <a name=OBScheduledPayment3></a> ## OBScheduledPayment3 ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | ScheduledPaymentId| A unique and immutable identifier used to identify the scheduled payment resource. This identifier has no meaning to the account owner.| string| | ScheduledPaymentDateTime| The date on which the scheduled payment will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | ScheduledType | Entity | <details><summary>[OBExternalScheduleType1Code](#OBExternalScheduleType1Code)</summary><ul></ul></details> | | Reference| Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.| string| | DebtorReference| A reference value provided by the PSU to the PISP while setting up the scheduled payment.| string| | InstructedAmount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | CreditorAccount | Entity | <details><summary>[OBCashAccount5](#OBCashAccount5)</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> <li>SecondaryIdentification [string]</li> </ul></details> | <a name=OBReadDataScheduledPayment3></a> ## OBReadDataScheduledPayment3 ### Attributes | Name| Description| Values| | -----| -----| -----| | ScheduledPayment| -| array[[OBScheduledPayment3](#OBScheduledPayment3)]| <a name=OBReadScheduledPayment3></a> ## OBReadScheduledPayment3 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataScheduledPayment3](#OBReadDataScheduledPayment3)</summary><ul><li>ScheduledPayment [array[[OBScheduledPayment3](#OBScheduledPayment3)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBExternalStandingOrderStatus1Code></a> ## OBExternalStandingOrderStatus1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>Active</li><li>Inactive</li></ul>| <a name=OBStandingOrder5></a> ## OBStandingOrder5 ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | StandingOrderId| A unique and immutable identifier used to identify the standing order resource. This identifier has no meaning to the account owner.| string| | Frequency| Individual Definitions: IntrvlMnthDay - An interval specified in months(between 01, 02, 03, 04, 06, 12, 24), specifying the day within the month(01 to 31) Full Regular Expression: ^(IntrvlMnthDay:(0[1,2,3,4,6]|12|24):(0[1-9]|[12] [0-9]|3[01]))$| string| | Reference| Unique reference, as assigned by the creditor, to unambiguously refer to the payment transaction. Usage: If available, the initiating party should provide this reference in the structured remittance information, to enable reconciliation by the creditor upon receipt of the amount of money. If the business context requires the use of a creditor reference or a payment remit identification, and only one identifier can be passed through the end-to-end chain, the creditor's reference or payment remittance identification should be quoted in the end-to-end transaction identification.| string| | FirstPaymentDateTime| The date on which the first payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | NextPaymentDateTime| The date on which the next payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | LastPaymentDateTime| The date on which the last (most recent) payment for a Standing Order schedule was made.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | FinalPaymentDateTime| The date on which the final payment for a Standing Order schedule will be made.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | StandingOrderStatusCode | Entity | <details><summary>[OBExternalStandingOrderStatus1Code](#OBExternalStandingOrderStatus1Code)</summary><ul></ul></details> | | FirstPaymentAmount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | NextPaymentAmount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | LastPaymentAmount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | FinalPaymentAmount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | CreditorAccount | Entity | <details><summary>[OBCashAccount5](#OBCashAccount5)</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> <li>SecondaryIdentification [string]</li> </ul></details> | <a name=OBReadDataStandingOrder5></a> ## OBReadDataStandingOrder5 ### Attributes | Name| Description| Values| | -----| -----| -----| | StandingOrder| -| array[[OBStandingOrder5](#OBStandingOrder5)]| <a name=OBReadStandingOrder6></a> ## OBReadStandingOrder6 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataStandingOrder5](#OBReadDataStandingOrder5)</summary><ul><li>StandingOrder [array[[OBStandingOrder5](#OBStandingOrder5)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBExternalStatementType1Code></a> ## OBExternalStatementType1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>AccountClosure</li><li>AccountOpening</li><li>Annual</li><li>Interim</li><li>RegularPeriodic</li></ul>| <a name=OBStatement2></a> ## OBStatement2 Provides further details on a statement resource. ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | StatementId| Unique identifier for the statement resource within an servicing institution. This identifier is both unique and immutable.| string| | StatementReference| Unique reference for the statement. This reference may be optionally populated if available.| string| | Type | Entity | <details><summary>[OBExternalStatementType1Code](#OBExternalStatementType1Code)</summary><ul></ul></details> | | StartDateTime| Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | EndDateTime| Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | CreationDateTime| Date and time at which the statement period starts.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| <a name=OBReadDataStatement2></a> ## OBReadDataStatement2 ### Attributes | Name| Description| Values| | -----| -----| -----| | Statement| Provides further details on a statement resource.| array[[OBStatement2](#OBStatement2)]| <a name=OBReadStatement2></a> ## OBReadStatement2 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataStatement2](#OBReadDataStatement2)</summary><ul><li>Statement [array[[OBStatement2](#OBStatement2)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | <a name=OBEntryStatus1Code></a> ## OBEntryStatus1Code ### Attributes | Type| Description| Example| Values| | -----| -----| -----| -----| | enum| -| <ul style="padding-left: 0"><li>Booked</li><li>Pending</li></ul>| <a name=ProprietaryBankTransactionCodeStructure1></a> ## ProprietaryBankTransactionCodeStructure1 Set of elements to fully identify a proprietary bank transaction code. ### Attributes | Name| Description| Values| | -----| -----| -----| | Code| Proprietary bank transaction code to identify the underlying transaction.| string| | Issuer| Identification of the issuer of the proprietary bank transaction code.| string| <a name=OBTransactionCashBalance></a> ## OBTransactionCashBalance Set of elements used to define the balance as a numerical representation of the net increases and decreases in an account after a transaction entry is applied to the account. ### Attributes | Name| Description| Values| | -----| -----| -----| | CreditDebitIndicator | Entity | <details><summary>[OBCreditDebitCode](#OBCreditDebitCode)</summary><ul></ul></details> | | Type | Entity | <details><summary>[OBBalanceType1Code](#OBBalanceType1Code)</summary><ul></ul></details> | | Amount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | <a name=OBCashAccount6></a> ## OBCashAccount6 Unambiguous identification of the account of the creditor, in the case of a debit transaction. ### Attributes | Name| Description| Values| | -----| -----| -----| | SchemeName| Name of the identification scheme, in a coded form as published in an external list.| string| | Identification| Identification assigned by an institution to identify an account. This identification is known by the account owner.| string| | Name| The account name is the name or names of the account owner(s) represented at an account level, as displayed by the ASPSP's online channels. Note, the account name is not the product name or the nickname of the account.| string| <a name=OBTransaction6></a> ## OBTransaction6 Provides further details on an entry in the report. ### Attributes | Name| Description| Values| | -----| -----| -----| | AccountId| A unique and immutable identifier used to identify the account resource. This identifier has no meaning to the account owner.| string| | TransactionReference| Unique reference for the transaction. This reference is optionally populated, and may as an example be the FPID in the Faster Payments context.| string| | CreditDebitIndicator | Entity | <details><summary>[OBCreditDebitCode](#OBCreditDebitCode)</summary><ul></ul></details> | | Status | Entity | <details><summary>[OBEntryStatus1Code](#OBEntryStatus1Code)</summary><ul></ul></details> | | BookingDateTime| Date and time when a transaction entry is posted to an account on the account servicer's books. Usage: Booking date is the expected booking date, unless the status is booked, in which case it is the actual booking date.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | ValueDateTime| Date and time at which assets become available to the account owner in case of a credit entry, or cease to be available to the account owner in case of a debit transaction entry. Usage: If transaction entry status is pending and value date is present, then the value date refers to an expected/requested value date. For transaction entries subject to availability/float and for which availability information is provided, the value date must not be used.In this case the availability component identifies the number of availability days.All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone.An example is below: 2017-04-05T10:43:07+00:00| string| | TransactionInformation| Further details of the transaction. This is the transaction narrative, which is unstructured text.| string| | Amount | Entity | <details><summary>[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details> | | ProprietaryBankTransactionCode | Entity | <details><summary>[ProprietaryBankTransactionCodeStructure1](#ProprietaryBankTransactionCodeStructure1)</summary><ul><li>Code [string]</li> <li>Issuer [string]</li> </ul></details> | | Balance | Entity | <details><summary>[OBTransactionCashBalance](#OBTransactionCashBalance)</summary><ul><li><details><summary>CreditDebitIndicator [[OBCreditDebitCode](#OBCreditDebitCode)]</summary><ul></ul></details></li><li><details><summary>Type [[OBBalanceType1Code](#OBBalanceType1Code)]</summary><ul></ul></details></li><li><details><summary>Amount [[OBActiveOrHistoricCurrencyAndAmount](#OBActiveOrHistoricCurrencyAndAmount)]</summary><ul><li>Amount [string]</li> <li>Currency [string]</li> </ul></details></li></ul></details> | | CreditorAccount | Entity | <details><summary>[OBCashAccount6](#OBCashAccount6)</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> </ul></details> | | DebtorAccount | Entity | <details><summary>[OBCashAccount6](#OBCashAccount6)</summary><ul><li>SchemeName [string]</li> <li>Identification [string]</li> <li>Name [string]</li> </ul></details> | <a name=OBReadDataTransaction6></a> ## OBReadDataTransaction6 ### Attributes | Name| Description| Values| | -----| -----| -----| | Transaction| Provides further details on an entry in the report.| array[[OBTransaction6](#OBTransaction6)]| <a name=OBReadTransaction6></a> ## OBReadTransaction6 ### Attributes | Name| Description| Values| | -----| -----| -----| | Data | Entity | <details><summary>[OBReadDataTransaction6](#OBReadDataTransaction6)</summary><ul><li>Transaction [array[[OBTransaction6](#OBTransaction6)]]</li> </ul></details> | | Links | Entity | <details><summary>[Links](#Links)</summary><ul><li>Self [string]</li> <li>First [string]</li> <li>Prev [string]</li> <li>Next [string]</li> <li>Last [string]</li> </ul></details> | | Meta | Entity | <details><summary>[Meta](#Meta)</summary><ul><li>TotalPages [integer]</li> <li>FirstAvailableDateTime [string]</li> <li>LastAvailableDateTime [string]</li> </ul></details> | # Authentication <!-- ReDoc-Inject: <security-definitions> -->
[nFusion Solutions](https://nfusionsolutions.com) provides [REST APIs](https://nfusionsolutions.com/data-feeds/) that deliver enterprise-grade financial data. Data sets include real-time and historical pricing for Spot prices of precious metals such as Gold, Silver, Platinum, and Palladium, exchange rates for major currency pairs, exchange rates for Crypto Currencies such as BTC, ETH, and LTC. All API access requires authentication. In order to be issued access credentials you must first enter into a service agreement with nFusion Solutions and acquire a commercial license. For information on how to obtain a licence [take a tour of our products](https://nfusionsolutions.com/nfusion-solutions-metals-gold-price-feed-tour/) or email sales@nfusionsolutions.com.
NOWPayments is a non-custodial cryptocurrency payment processing platform. Accept payments in a wide range of cryptos and get them instantly converted into a coin of your choice and sent to your wallet. Keeping it simple – no excess. # Sandbox Before production usage, you can test our API using the Sandbox. Details can be found [here](https://documenter.getpostman.com/view/7907941/T1LSCRHC) # Authentication To use the NOWPayments API you should do the following: * Sign up at [nowpayments.io](https://nowpayments.io) * Specify your outcome wallet * Generate an API key # Standard e-commerce flow for NOWPayments API: 1. API - Check API availability with the ["GET API status"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#9998079f-dcc8-4e07-9ac7-3d52f0fd733a) method. If required, check the list of available payment currencies with the ["GET available currencies"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#1c268f89-4fe7-471e-81b4-5a3153577b73) method. 2. UI - Ask a customer to select item/items for purchase to determine the total sum; 3. UI - Ask a customer to select payment currency 4. API - Get the minimum payment amount for the selected currency pair (payment currency to your Outcome Wallet currency) with the ["GET Minimum payment amount"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#41b02221-2d58-4fcf-9529-59d3763d6434) method; 5. API - Get the estimate of the total amount in crypto with ["GET Estimated price"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#7025cacf-7040-4c7b-a83f-f9ff0a22a822) and check that it is larger than the minimum payment amount from step 4; 6. API - Call the ["POST Create payment"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#5e37f3ad-0fa1-4292-af51-5c7f95730486) method to create a payment and get the deposit address (in our example, the generated BTC wallet address is returned from this method); 7. UI - Ask a customer to send the payment to the generated deposit address (in our example, user has to send BTC coins); 8. UI - A customer sends coins, NOWPayments processes and exchanges them (if required), and settles the payment to your Outcome Wallet (in our example, to your ETH address); 9. API - You can get the payment status either via our IPN callbacks or manually, using ["GET Payment Status"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#0b77a8e3-2344-4760-a0bd-247da067db6d) and display it to a customer so that they know when their payment has been processed. 10. API - you call the list of payments made to your account via the ["GET List of payments"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#c8399c0e-d798-4f01-83ae-ddaa6905c2da) method. Additionally, you can see all of this information in your [Account](https://account.nowpayments.io/payments) on NOWPayments website. ## Alternative flow 1. API - Check API availability with the ["GET API status"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#9998079f-dcc8-4e07-9ac7-3d52f0fd733a) method. If required, check the list of available payment currencies with the ["GET available currencies"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#1c268f89-4fe7-471e-81b4-5a3153577b73) method. 2. UI - Ask a customer to select item/items for purchase to determine the total sum; 3. UI - Ask a customer to select payment currency 4. API - Get the minimum payment amount for the selected currency pair (payment currency to your Outcome Wallet currency) with the ["GET Minimum payment amount"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#41b02221-2d58-4fcf-9529-59d3763d6434) method; 5. API - Get the estimate of the total amount in crypto with ["GET Estimated price"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#7025cacf-7040-4c7b-a83f-f9ff0a22a822) and check that it is larger than the minimum payment amount from step 4; 6. API - Call the ["POST Create Invoice](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#3e3ce25e-f43f-4636-bbd9-11560e46048b) method to create an invoice. Set "success_url" - parameter so that the user will be redirected to your website after successful payment. 7. UI - display the invoice url or redirect the user to the generated link. 8. NOWPayments - the customer completes the payment and is redirected back to your website (only if "success_url" parameter is configured correctly!). 9. API - You can get the payment status either via our IPN callbacks or manually, using ["GET Payment Status"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#0b77a8e3-2344-4760-a0bd-247da067db6d) and display it to a customer so that they know when their payment has been processed. 10. API - you call the list of payments made to your account via the ["GET List of payments"](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#c8399c0e-d798-4f01-83ae-ddaa6905c2da) method. Additionally, you can see all of this information in your [Account](https://account.nowpayments.io/invoices) on NOWPayments website. # API Documentation ## Instant Payments Notifications IPN (Instant payment notifications, or callbacks) are used to notify you when transaction status is changed. To use them, you should complete the following steps: 1. Generate and save the IPN Secret key in Store Settings tab at the Dashboard. 2. Insert your URL address where you want to get callbacks in create_payment request. The parameter name is ipn_callback_url. You will receive payment updates (statuses) to this URL address. 3. You will receive all the parameters at the URL address you specified in (2) by POST request. The POST request will contain the *x-nowpayments-sig* parameter in the header. The body of the request is similiar to a [get payment status](https://documenter.getpostman.com/view/7907941/S1a32n38?version=latest#0b77a8e3-2344-4760-a0bd-247da067db6d) response body. Example: {"payment_id":5077125051,"payment_status":"waiting","pay_address":"0xd1cDE08A07cD25adEbEd35c3867a59228C09B606","price_amount":170,"price_currency":"usd","pay_amount":155.38559757,"actually_paid":0,"pay_currency":"mana","order_id":"2","order_description":"Apple Macbook Pro 2019 x 1","purchase_id":"6084744717","created_at":"2021-04-12T14:22:54.942Z","updated_at":"2021-04-12T14:23:06.244Z","outcome_amount":1131.7812095,"outcome_currency":"trx"} 4. Sort all the parameters from the POST request in alphabetical order. 5. Convert them to string using [JSON.stringify](https://developer.mozilla.org/en-US/docs/Web/JavaScript/Reference/Global_Objects/JSON/stringify) (params, Object.keys(params).sort()) or the same function. 6. Sign a string with an IPN-secret key with HMAC and sha-512 key 7. Compare the signed string from the previous step with the x-nowpayments-sig , which is stored in the header of the callback request. If these strings are similar it is a success. Otherwise, contact us on [support@nowpayments.io](mailto:support@nowpayments.io) to solve the problem. Example of creating a signed string at Node.JS ``` const hmac = crypto.createHmac('sha512', notificationsKey); hmac.update(JSON.stringify(params, Object.keys(params).sort())); const signature = hmac.digest('hex'); ``` Example of comparing signed strings in PHP ``` function check_ipn_request_is_valid() { $error_msg = "Unknown error"; $auth_ok = false; $request_data = null; if (isset($_SERVER['HTTP_X_NOWPAYMENTS_SIG']) && !empty($_SERVER['HTTP_X_NOWPAYMENTS_SIG'])) { $recived_hmac = $_SERVER['HTTP_X_NOWPAYMENTS_SIG']; $request_json = file_get_contents('php://input'); $request_data = json_decode($request_json, true); ksort($request_data); $sorted_request_json = json_encode($request_data, JSON_UNESCAPED_SLASHES); if ($request_json !== false && !empty($request_json)) { $hmac = hash_hmac("sha512", $sorted_request_json, trim($this->ipn_secret)); if ($hmac == $recived_hmac) { $auth_ok = true; } else { $error_msg = 'HMAC signature does not match'; } } else { $error_msg = 'Error reading POST data'; } } else { $error_msg = 'No HMAC signature sent.'; } } ``` ## Recurrent payment notifications If an error is detected, the payment is flagged and will receive additional recurrent notifications (number of recurrent notifications can be changed in your Store Settings-> Instant Payment Notifications). If an error is received again during processing of the payment, recurrent notifications will be initiated again. Example: "Timeout" is set to 1 minute and "Number of recurrent notifications" is set to 3. Once an error is detected, you will receive 3 notifications at 1 minute intervals. ## Several payments for one order If you want to create several payments for one Order you should do the following: * Create a payment for the full order amount. * Save "purchase_id" which will be in "create_payment" response * Create next payment or payments with this "purchase_id" in "create_payment" request. * **Only works for partially_paid payments** It may be useful if you want to give your customers opportunity to pay a full order with several payments, for example, one part in BTC and one part in ETH. Also, if your customer accidentally paid you only part of a full amount, you can automatically ask them to make another payment. ## Packages Please find our out-of-the box packages for easy integration below: [JavaScript package](https://www.npmjs.com/package/@nowpaymentsio/nowpayments-api-js) \[PHP package\] ([https://packagist.org/packages/nowpayments/nowpayments-api-php](https://packagist.org/packages/nowpayments/nowpayments-api-php)) More coming soon! ## Payments