A.P.I dokumentation

(API: Application Programming Interface)

Betalingsanmodninger

Du kan, som ERP udbyder, bruge vores HTTPS/REST API til at foretage banktransaktioner på dine kunders vegne.
Denne side omhandler alene API funktioner til at oprette betalingsanmodninger i banken.

Alle anmodninger skal godkendes, se mere her: beregning af godkendelses header


Betalingsanmodninger sendes til slutpunktet:
POST
https://api.bankintegration.dk/payment

I HTTP forespørgsels body medsendes anmodningen som et JSON objekt.
En anmodning kan indeholde mange betalinger, gerne af forskellige typer, men kun fra samme konto!
Kontonummeret, sammen med kundens integrationskode til den pågældende konto, udgør sikkerheden bag anmodningen.

Et eksempel på indholdet af en betalingsanmodning med 2 betalinger kan ses herunder.
Alt data er til information og er ikke gengiveligt produktionsdata!

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2015-04-15",
      "amount": 154.0,
      "currency": "DKK",
      "account": "80790000820049",
      "text": "Tekst på mit kontoudtog",
      "creditorText": "På modtagers kontoudtog",
      "creditor": {
        "name": "BankIntegration ApS"
      }
    },
    {
      "paymentId": "PAY_02",
      "paymentDate": "2015-04-16",
      "urgency": 2, // SameDay
      "amount": 217.5,
      "currency": "DKK",
      "account": "80790000820064",
      "text": "Anden tekst på kontoudtog",
      "creditorText": "På modtagers kontoudtog",
      "creditorMessage": [
        "Dette er test nr. 2",
        "fra mig til dig ;-)"
      ],
      "creditor": {
        "name": "Peter Hansen",
        "streetName": "Per Gøgls Vej",
        "streetNbr": "54",
        "postalCode": "1234",
        "city": "Gødstrup"
      }
    }
  ],
  options: {
    "waitForBankResponse": true,
    "checkPaymentStatus": true,
    "moveToNextBankDate": true,
    "useIban": false,
    "skipDuplicateCheck": false
  }
}

Request:

  • requestId: [string, required] ERP udbyderens ID af pågældende anmodning.
  • transaktions: [object, array, required] Et array af Transaktions objekter. Minimum et objekt (se beskrivelse nedenfor)
  • options: [object, optional] Et valgfrit objekt til diverse muligheder på anmodning niveua (se beskrivelse nedenfor)

{
  "requestId": "string",
  "transactions": [ "object:Transaction", "object:Transaction" ],
  "options": "object:RequestOptions"
}
Transaction:

  • paymentId: [string, required] ERP udbyderens ID af pågældende transaktion.
  • paymentDate: [date, required] Betalingsdato. Skal være større eller lig med dags dato. Format "yyyy-MM-dd".
  • urgency: [enum, optional] Betalingshastighed, se nedenfor.
  • account: [string, required] Modtagers konto, Giro/FI kode linje eller CVR/CPR nr.
  • type: [enum, optional] Betalings type. Afgøreres type normalt af modtagerkonto. Skal angives ved udenlandske betalinger.
  • amount: [double, required] Beløb til betaling (afrundes til to decimaler)
  • currency: [string, optional] Valuta for beløb. Standard er DKK.
  • text: [string, optional] Tekst på eget kontoudtog (max. 20/35 karakterer ih. til bank)
  • creditorText: [string, optional] Tekst på modtagers kontoudtog (max. 20/35 karakterer ih. til bank)
  • creditorMessage: [string, array, optional]: Et array af string til udvidet besked til modtager (max. 5 linjer af 35 karakterer)
  • debtor: [object, optional] Betaler, hvis beløbet overføres på vegne af en anden.
  • creditor: [object, (required)] Modtager af betaling. Ikke altid påkrævet (se mere nedenfor)
  • charges: [enum, optional] I tilfælde af gebyrer, typisk udenlandske overførelser, angives hvilken part gebyret pålægges.
Urgency kan angives til:
  • 1="Normal": Normal betaling. Udføres typisk if. med bankens clearing.
  • 2="SameDay": Sammedags betaling. Udføres samme dag på hverdage.
  • 3="Urgent": Straksbetaling. Udføres typisk med det samme indenfor alm. bank åbningstid.
Angives Urgency ikke er standard værdi 1="Normal".
Bemærk at der som i netbank kan pålægges gebyrer på de forskellige betaling

Type kan angives til:
  • 1="Domestic": Indenlansk betaling.
  • 2="Easy": Nem-betaling, til enten CVR eller CPR-nr.
  • 3="Giro01": Giro 01 indbetalingskort.
  • 4="Giro04": Giro 04 indbetalingskort.
  • 5="Giro15": Giro 15 indbetalingskort.
  • 6="Fi71": Fælles indbetalingskort type 71.
  • 7="Fi73": Fælles indbetalingskort type 73.
  • 8="Fi75": Fælles indbetalingskort type 75.
  • 9="Salery": Lønudbetaling fra eget lønsystem.
  • 10"Sepa": Single Euro Payments Area betaling. Udenlansk betaling til EU/IØS lande i EUR.
  • 11="Foreign": Udenlansk standard betaling.
Type bestemmes normalt af modtagerkonto. Dvs. angives modtagers konto til ex. +71 betalingskort "+71<000000001234567+88776655<" vælges automatisk type 6="Fi71".
For en udenlandsk betaling skal type angives til enten 10="Sepa" eller 11="Foreign".
Findes en udenlandsk betaling at opfylde kriterier for en SEPA betaling skiftes automatisk til type 10="Sepa" da denne vil være billigere og bedre automatiserbar i banken.
For betaling til udenlandske konti skal SWIFT/BIC på modtagers bank angives på kreditor, og ligeledes skal eget IBAN kontonr. være udfyldt på dine kontooplysninger i BankIntegration.

Charges bruges ved standard udenlanske betalinger ved gebyr deling. For SEPA benyttes denne ikke og kan ikke ændres.
Charges kan angives til:
  • 1="Shared": Betaler/modtager deler gebyret.
  • 2="Sender": Afsender betaler gebyret.
  • 3="Receiver": Modtager betaler gebyret.

{
  "paymentId": "string",
  "paymentDate": "date",
  "urgency": "integer",
  "amount": double,
  "type": integer,
  "currency": "string",
  "account": "string",
  "text": "string",
  "creditorText": "string",
  "creditorMessage": [ "string", "string" ],
  "debtor": "object:Debtor",
  "creditor": "object:Creditor",
  "creditorRef": "object:CreditorReferences",
  "charges": integer
}
Debtor (betaler)

Betaler angives hvis beløbet skal betales på vegne af en anden. Som standard vil kontohaver altid angives som betaler.

  • name: [string] Navn på betaler.
  • streetName: [string, optional] Gadenavn.
  • streetNbr: [string, optional] Husnummer.
  • postalCode: [string, optional] Post nr.
  • city: [string, optional] Navn på by.
  • country: [string, optional] Landkode (eksv. "DK", "DE"). Standard er "DK".
  • address: [string, array, optional] Et array af adresse linjer (max. 7 linjer med hver 70 karakterer).

{
  "name": "string",
  "streetName": "string",
  "streetNbr": "string",
  "postalCode": "string",
  "city": "string",
  "country": "string",
  "address: [ "string", "string" ]
}
Creditor (modtager)

Modtager angives hvis transaktionen er indlansk, udenlandsk eller NEM kontooverførelse.
Skal ikke angives hvis transaktionen er Giro type 01 eller FI kort type 17 eller 75

  • name: [string, optional] Navn på betaler.
  • streetName: [string, optional] Gadenavn.
  • streetNbr: [string, optional] Husnummer.
  • postalCode: [string, optional] Post nr.
  • city: [string, optional] Navn på by.
  • country: [string, optional] Landkode (eksv. "DK", "DE"). Standard er "DK".
  • address: [string, array, optional] Et array af adresse linjer (max. 7 linjer med hver 70 karakterer).
  • bic: [string, optional] Modtagers bank SWIFT/BIC kode. Skal angives ved udenlandske betalinger.

{
  "name": "string",
  "streetName": "string",
  "streetNbr": "string",
  "postalCode": "string",
  "city": "string",
  "country": "string",
  "address: [ "string", "string" ],
  "bic": "string"
}
CreditorReference

Valgfrit kan referencer til betalingen angives af betaler til modtager. Dette vil, efter aftale, lette identifikationen af indbetalingen ved modtager.

  • debitorsPaymentId: [string, optional] Modtagers identifikation af betalingen.
  • primaryReference: [string, optional] Modtagers primære reference.
  • debitorId: [string, optional] Modtagers ID af betaler.

{
  "debitorsPaymentId": "string",
  "primaryReference": "string",
  "debitorId": "string"
}
Options

Valgfrit kan diverse indstillinger medsendes. Hvis disse udelades benyttes hver indstillings standard værdi.

  • waitForBankResponse: [bool, optional] Hvis "true" så ventes på bankens svar på modtagelse inden kaldet returneres.
    Standard værdi er "true".
  • checkPaymentStatus: [bool, optional] Hvis "true" så tjekkes status på betaling umiddelbart efter betaling er modtaget i banken inden kaldet returneres. WaitForBankResponse skal være "true". Standard er værdi "true".
  • moveToNextBankDate: [bool, optional] Hvis "true" flyttes en betalingsdato automatisk til næstkommende bankdag, ellers overføres betaling uændret. Nogle banker flytter automatisk betalingsdato til næste bank dato, andre ikke. Standard værdi er "true".
  • useIban: [bool, optional] Hvis "true" benyttes afsenders IBAN konto nr. i stedet for alm. bank konto nr.
    For udenlandske betalinger benyttes altid IBAN konto nr. Standard er værdi "false".
  • skipDuplicateCheck: [bool, optional] Hvis "true" undlades kontrol om betaling er modtaget før, ellers kontrolleres alle betalinger.
    Standard værdi er "false".

{
  "waitForBankResponse": true,
  "checkPaymentStatus": true,
  "moveToNextBankDate": true,
  "useIban": false,
  "skipDuplicateCheck": false
}
Svar på betalingsanmodninger

På en betalingsanmodning sendes et status JSON objekt tilbage i svarets body.
Svaret indeholder status på de indsendte betalinger.

Se yderligere under Status

Diverse eksempler på betalingsanmodninger

Normal konto til konto overførelse:

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2015-04-15",
      "amount": 15.25,
      "currency": "DKK",
      "account": "80790000820049",
      "text": "Tekst på mit kontoudtog",
      "creditorText": "På modtagers kontoudtog",
      "creditor": {
        "name": "BankIntegration ApS"
      }
    }
  ]
}

Straksbetaling:

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2015-04-15",
      "amount": 15.25,
      "currency": "DKK",
      "urgency": 3, // Straksbetaling
      "account": "80790000820049",
      "text": "Tekst på mit kontoudtog",
      "creditorText": "På modtagers kontoudtog",
      "creditor": {
        "name": "BankIntegration ApS"
      }
    }
  ]
}

Betaling af +71 indbetalingskort:

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2017-08-02",
      "amount": 150.0,
      "currency": "DKK",
      "account": "+71<000000001234567+88776655<",
      "text": "Tekst på mit kontoudtog"
    }
  ]
}

Konto til konto overførelse med lang advisering, på vegne af anden betaler:

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2015-04-15",
      "amount": 1005.25,
      "currency": "DKK",
      "account": "80790000820049",
      "text": "Tekst på mit kontoudtog",
      "debtor": {
        "name": "Peter Hansen",
        "address": "Skolegade 5",
        "postalCode": "9887",
        "city": "Herred"
      },
      "creditorMessage": [
        "Dette betaling af faktura:",
        "Fak. 4555784 if. med projekt",
        "Højgaards Plads 477"
      ],
      "creditor": {
        "name": "BankIntegration ApS"
      }
    }
  ]
}

SEPA betaling:

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2017-08-02",
      "amount": 788.0,
      "currency": "EUR",
      "type": 10, // Udenlansk SEPA
      "account": "DE89370400440532013000",
      "text": "Tekst på mit kontoudtog",
      "creditor": {
        "name": "Nordexus Gmbh",
        "address": [
          "Langehorner Chaussee 40",
          "27819 Hamburg",
          "Germany"
        ],
        "bic": "COBADEFF"
      }
    }
  ]
}

Udenlandsk betaling:

{
  "requestId": "REQ_01",
  "transactions": [
    {
      "paymentId": "PAY_01",
      "paymentDate": "2017-07-22",
      "amount": 45.10,
      "currency": "USD",
      "type": 11, // Udenlandsk standard
      "account": "6677889900",
      "text": "Tekst på mit kontoudtog",
      "creditor": {
        "name": "BestPrinter Inc.",
        "address": [
          "40. street vest/side",
          "US-124479 New York"
        ],
        "bic": "CHASUS33"
      },
      "charges": 2 // Afsender betaler
    }
  ]
}