FinTech API

Introduction

Welcome to the PayJinn FinTech API documentation. PayJinn unites almost all of the German banks in one easy to use API. PayJinn FinTech API eases development of new software services which require special online banking infrastructure.

Transaction Types

Following transaction types are supported by the PayJinn FinTech API.

  • Get Account Transactions
  • Get Account Balance
  • Get Account Statement
  • Initiate Single SEPA Money Transfer
  • Initiate Batch SEPA Money Transfer
  • Initiate Single Direct Debit
  • Initiate Batch Direct Debit
INFO: Should you need additional functionality please do not hesitate to contact us either by sending an email or by using our contact page. Depending on your needs more transaction types may be added to our API.

Base URL

All PayJinn FinTech API URLs have the following base:

https://www.payjinn.com/api/OnlineBanking

Our API is served only over HTTPS in order to ensure data security. Unencrypted HTTP protocol is not supported.

Demo Account

Below client id and api key can be used for development and testing purposes.
  • Client Id: TEST0001
  • API Key: 12345678

Provided that the request data formats are valid, API calls using this demo account will always be approved by the system and synthetic data or results will be returned back to client.

Get Account Transactions

This API can be used to fetch account transactions of any given bank account as long as valid online banking credendials are used.

TRY IT NOW:
You can start a test session using this link to get a better idea of Get Account Transactions API.

HBCI / FinTS Security:

<User Name> + <PIN>

Accepts:

HTTP POST

API URL:

https://www.payjinn.com/api/OnlineBanking/GetAccountTransactions

Inputs:

Field Name

Type

Length

Info

clientId

String

8

Mandatory

blz

String

8

Mandatory

iban

String

22

Mandatory

userName

String

Any

Mandatory

customerNumber

String

Any

Mandatory

pin

String

Any

Mandatory

dateBegin

String

10

Mandatory

YYYY-MM-DD

dateEnd

String

10

Mandatory

YYYY-MM-DD


Outputs:

Field Name

Type

Length

Info

processed

Boolean

 

Mandatory

i.e: true / false

replyCode

Integer

 

Mandatory

0: Approved

Other values: Rejected

errorMessage

String

Any

Mandatory

transactionsList

Array of Account Transaction

Any

Mandatory when replyCode = 0


Account Transaction Format:

Field Name

Type

Length

Info

booked

Boolean

 

Mandatory

i.e: true / false

date

String

10

Mandatory

YYYY-MM-DD

valueDate

String

10

Mandatory

YYYY-MM-DD

type

String

Max 128

Mandatory

typeCode

String

Max 128

Mandatory

counterAccountBLZ

String

8

Mandatory

Can be an empty string depending on the transaction type

counterAccountBIC

String

11

Mandatory

Can be an empty string depending on the transaction type

counterAccountIBAN

String

34

Mandatory

Can be an empty string depending on the transaction type

counterAccountOwnerName

String

Any

Mandatory

Can be an empty string depending on the transaction type

reference

String

Any

Mandatory

amount

Decimal

Any

Mandatory

2 decimal places and dot <.> character is used for decimal seperation. (i.e: 1.25)

amountCurrency

String

3

Mandatory- ie: EUR

balance

Decimal

Any

Mandatory

2 decimal places and dot <.> character is used for decimal seperation. (i.e: 1.25)

balanceCurrency

String

3

Mandatory - ie: EUR

bankReference

String

Any

Optional

(Some bank's do not provide this information)


REMARK I: Although API response format is static, please note that not all banks use the same notation for same type of transactions. In this aspect, client programs should be especially be agnostic on type, type code and reference fields.

Example: For a single SEPA money transfer following notations are used by two different banks.

  • Bank: HypoVereinsbank
    Type: SEPA Online-Ueberweisung
  • Bank: Hamburger Sparkasse
    Type: SB-SEPA-Ueberweisung

REMARK II: Some banks provide information about pending transaction which have not been completed yet. Pending transactions can be differentiated from normal ones via <booked> field. After successful completion <booked> flag will become true. If a pending transaction cannot be completed due to technical reasons, your bank will remove it from the transaction list at the next call.

Request Example (JSON):

{
  "clientId": "TEST0001",
  "blz": "12345678",
  "iban": "DE11111111111111111111",
  "userName": "12345",
  "customerNumber": "12345",
  "pin": "12345",
  "dateBegin": "2016-01-01",
  "dateEnd": "2016-02-01"
}

Response Example (JSON):

{
  "processed": true,
  "replyCode": 0,
  "errorMessage": "APPROVED",
  "transactionsList": [
    {
      "booked": true,
      "date": "2016-08-29",
      "valueDate": "2016-08-29",
      "type": "SEPA Gutschrift",
      "typeCode": "166",
      "counterAccountBLZ": "00000000",
      "counterAccountBIC": "PAYJDEPJXXX",
      "counterAccountIBAN": "DE00000000000000000000",
      "counterAccountOwnerName": "PAYJINN",
      "reference": "1283056391",
      "amount": "172.00",
      "amountCurrency": "EUR",
      "balance": "5497.00",
      "balanceCurrency": "EUR",
      "bankReference": "1234567890"
    },
    {
      "booked": true,
      "date": "2016-08-29",
      "valueDate": "2016-08-29",
      "type": "Kartenzahlung",
      "typeCode": "106",
      "counterAccountBLZ": "00000000",
      "counterAccountBIC": "PAYJDEPJXXX",
      "counterAccountIBAN": "DE00000000000000000000",
      "counterAccountOwnerName": "PAYJINN",
      "reference": "643517918",
      "amount": "-25.00",
      "amountCurrency": "EUR",
      "balance": "3015.00",
      "balanceCurrency": "EUR",
      "bankReference": "1234567890"
    },
    {
      "booked": true,
      "date": "2016-08-29",
      "valueDate": "2016-08-29",
      "type": "SEPA Basislastschrift",
      "typeCode": "105",
      "counterAccountBLZ": "00000000",
      "counterAccountBIC": "PAYJDEPJXXX",
      "counterAccountIBAN": "DE00000000000000000000",
      "counterAccountOwnerName": "PAYJINN",
      "reference": "1079921687",
      "amount": "-540.00",
      "amountCurrency": "EUR",
      "balance": "697.00",
      "balanceCurrency": "EUR",
      "bankReference": "1234567890"
    },
    {
      "booked": true,
      "date": "2016-08-29",
      "valueDate": "2016-08-29",
      "type": "SEPA Online-Ueberweisung",
      "typeCode": "177",
      "counterAccountBLZ": "00000000",
      "counterAccountBIC": "PAYJDEPJXXX",
      "counterAccountIBAN": "DE00000000000000000000",
      "counterAccountOwnerName": "PAYJINN",
      "reference": "4674237",
      "amount": "-226.00",
      "amountCurrency": "EUR",
      "balance": "7771.00",
      "balanceCurrency": "EUR",
      "bankReference": "1234567890"
    },
    {
      "booked": true,
      "date": "2016-08-29",
      "valueDate": "2016-08-29",
      "type": "Geld Rueckzug",
      "typeCode": "203",
      "counterAccountBLZ": "",
      "counterAccountBIC": "",
      "counterAccountIBAN": "",
      "counterAccountOwnerName": "",
      "reference": "1446520503",
      "amount": "-93.00",
      "amountCurrency": "EUR",
      "balance": "7859.00",
      "balanceCurrency": "EUR",
      "bankReference": "1234567890"
    }
  ]
}

Other Transactions

Documentation of other transaction types are not made public on purpose. Should you need more information about these transactions, please do not hesitate to contact us either by sending an email or by using our contact page.