Skip to Content

General

Where can I find a list of BBAN numbers mapped to Danish banks?

There are various lists online, here is one from Mastercard.

What are the timeout for APIs?

There are different timeouts on the individual APIs. The maximum timeout is 30 seconds.

Is payment recalls possible?

You can recall a payment by sending an email to supportbankingservices@lunar.app, then we will help with a recall. It is the same for all currencies.

Will our company name be reflected on the payment somewhere?

Your company will be the sender of a payment shown to the receiver, but only in Denmark and Norway, and for Sweden only applicable for instant transfers.

Intraday in Sweden will show no data, thus being empty and only show amount.

Does the ’*’ sign in the documentation mean a specific field is mandatory?

Yes, * is mandatory.

What is the difference between shortReceiverMessage and longReceiverMessage?

For the markets where both messages are possible, you decide what you want to send in the shortReceiverMessage and longReceiverMessage. If you look at a normal transfer in your webbank/app, the transaction name is the shortReceiverMessage and the longReceiverMessage is an additional text that can be provided.

What is the length of ShortReceiverMessage?

ShortReceiverMessage chars in each country is limited to

  • NO: 70 chars
  • SE: 12 chars
  • DK: 20 chars

Which Holidays should we consider?

In regards to international payments, they are following they EBA public Holiday calendar. For Lunar internally in regards to help, unless it is critical, we are following they Holidays from Nationalbanken.

For SEK batches (before instant), Holidays from Riksbanken, for NOK batches (before instant) Holidays for Norges Bank.

Where can I find an overview of Bank Account numbers?

  • Sweden
  • Norway - No public site for account numbers
  • Denmark - No public site for account numbers

How can we defund/sweep our DKK account(s)?

For the defunding of your DKK account (this is very specific for DKK), you will need to transfer the amount to a shadow account we will create for you and send an email to bas-liquidity-requests@lunar.app with the amount and receiver message. Both funds and email should arrive at Lunar before 9am CET and Lunar will ensure a transfer is made each business day (if needed each day).

Account number rules for SEK

Depending on the type of the receiver account according to the rules from bankgirot. The following validation is currently being done by Lunar:

Validation rules

Reg. no.BankModulus validationNumber of digits to use
1100-1199Nordeamod 1110
1200-1399DanskeBankmod 1110
1400-2099Nordeamod 1110
2300-2399Aalandsbankenmod 1111
2400-2499DanskeBankmod 1110
3000-3299Nordeamod 1110
3301-3399Nordeamod 1110
3400-3409Lansforsikringarmod 1110
3410-3781Nordeamod 1110
3783-3999Nordeamod 1110
4000-4999Nordeamod 1111
5000-5999SEBmod 1110
7000-7999Swedbankmod 1110
9020-9029Lansforsikringarmod 1111
9040-9049Citibankmod 1111
9060-9069Lansforsikringarmod 1110
9070-9079MultitudeBankmod 1110
9100-9109Nordnetmod 1111
9120-9124SEBmod 1110
9130-9149SEBmod 1110
9150-9169Skandiamod 1111
9170-9179IKANOmod 1110
9190-9199DNBmod 1111
9230-9239Marginalenmod 1110
9250-9259SBABmod 1110
9260-9269DNBmod 1111
9270-9279ICAmod 1110
9280-9289Resursmod 1110
9390-9399Landshypotekmod 1111
9460-9469Santandermod 1110
9470-9479BNPmod 1111
9550-9569AvanzaBankmod 1111
9590-9599ErikPensermod 1111
9630-9639LaanOgSparmod 1110
9640-9649Nordaxmod 1111
9660-9669Sveamod 1111
9670-9679Jakmod 1111
9680-9689BlueStepmod 1110
9700-9709Ekobankenmod 1111
9710-9719Lunarmod 1111
9750-9759Northmillmod 1111
9780-9789Klarnamod 1111
9880-9889Riksgaeldenmod 1111
9580-9589AionBankmod 1110
3300-3300Nordeamod 1010
3782-3782Nordeamod 1010
6000-6999Handelsbankenmod 119
8000-8999Swedbank*mod 1010
9180-9189DanskeBankmod 1010
9300-9349Swedbankmod 1010
9500-9549Nordeamod 1010
9570-9579Sparbankenmod 1010
9890-9899Riksgaeldenmod 1010
9960-9969Nordeamod 1010

[*] Swedbank 8000_8999 validation: According to Tab 4 in the Bankgirot documentation, the account number consists of 10 Digits. Checksum calculation uses the ten last Digits in the account number using the modulus 10 check. Additionally, the 5th digit is a checksum for the clearing number using mod10.

Furthermore, for some accounts in the 8xxx range, the clearing number is in fact 5 Digits. Swedbank has a page telling their users how to specify the account number in other banks and the normal practice is to prefix with 0’s. See the page here: 5-siffriga clearingnummer som börjar på siffran 8. Also see the documentation of possible clearing 8xxx numbers with 5 Digits: Swedbank och sparbankerna.

Which payment rails are you currently part of?

  • DKK: Straksclearing
  • SEK: RIX RTGS, currently testing in production with RiX INST.
  • NOK: NICS Netto

How long does it take for a payment to return to our account?

If it fails in validation you will be declined instant and money will not be deducted. If the money for some reason needs to be returned, it is up to the receiving bank and Lunar cannot control the timeframe. If an automatic rejection is set up by the beneficiary bank, you will see the return almost instant and In the posting API you will be able to see a reversal as well as the ID of posting that has been reversed. In Norway and Sweden it is optional to add the ID of the original payment. If the bank did not fill in this information, the payment will have a Reversal; true but no ID of the original payment.

How to truncate names?

When the first name and last name exceed the 35 limit which one is better to truncate the last name or first name? The last name is the most important, if anything needs to be truncated. This is how we do it internally:

Truncation stops when the max combined length is <= the limit.

  1. Truncate first names to initials starting from the right leaving the first unchanged
  2. Truncate last names to initials starting from the left leaving the last unchanged
  3. Remove everything except first word in first name, leaving the last name unchanged
  4. Remove everything except last word in last name, leaving the first name unchanged
  5. Truncate first name to initial
  6. Drop first name completely
  7. Truncate last name from the end

Is there some indication which accounts are clients’ money and which ones are operational or we select these?

On the web portal it is not mentioned what type of account it is, that information is only available in your account statement you received when accounts were opened. Your Safeguarding accounts are for your client funds and the temporary corporate accounts are for the testing in production

Can you have multiple Swish accounts linked to your Lunar bank account?

Yes. However, we cannot use your organisation ID, since that can only be linked once, but we can enroll you with an alias. Something that we (Lunar) will do - the customer does not have to do anything.

Can we get instant notification of fund settlement with Lunar API?

No, not yet. We are working on a Webhook - TBA.

Posting API is the solution in the meantime.

Expected remittance speed

Depending on the scheme.

DKK, seconds,

NOK is currently batch 4 times a day. When instant it will be seconds.

SEK intraday is batch 4 times a day. Instant is seconds. We are currently sending instant payments to Danske Bank, ICA, SEB.

What happens if the beneficiary account number or SLS details are incorrect

If the account number formatting is incorrect, then Lunar will reject the payment.

If the formatting is correct, but the account number is closed, doesn’t exist etc., then the receiving bank will reject it when receiving it from the scheme

Are both IBAN and local bank account numbers supported for the unique beneficiary account number?

For Denmark and Norway the number must be a BBAN. For Sweden the number must be the clearing number and account number concatenated.

SEK is special and not as easy as Denmark and Norway. Do you have any current validation you can use for SEK? Otherwise, I can send you the validation we are using.

Do you accept IBAN for domestic payments?

No

Supported transaction types

C2C, B2C, C2B, B2B

Percentage requirements for name matching?

You are to send the full name of the ultimate sender and receiver

Merchant and Money Transfer APIs

If a transfer has been POSTED, how will a reversal look like?

The reversal will be a new posting on the account, containing the postingID from the original payment.

Which danish banks do not participate in straksclearing in Denmark?

  • Saxo bank, reg number 1149
  • CitiBank, reg number 5100
  • DNB, reg number 5290
  • Maj Bank, reg number 7574
  • BNP PARIBAS, reg number 8149
  • Banking Circle, reg number 8900

and therefore transferring to these banks the default is noninstantanious intradagclearing.

What are the clearing cycles for intradag clearing?

Denmark (intradag clearing): Is cleared and settled in batches at 01:30, 09:00, 12:00, 14:00 CET/CEST all banking days. This will only be used for the banks not able to receive instant payments.

Norway (NICS Netto): Is cleared and settled in batches at 05:30, 09:30, 11:30, 13:30, 15:30 CET/CEST all banking days. Be aware, banks have cut-off 15 minutes before.

Sweden (Dataclearingen): Is cleared and settled in batches at 07:30, 10:30, 13:05, 15:20 CET/CEST all banking days. Be aware, banks have cut-off 1 hour before.

Instant payment processing time?

For instant transfers there is 24/7 365 availability. In DKK there is however a window during evening/night 22:15-03:15 CET where instant transfers made to your account will be posted later.

How do I see which user access I have?

Your administrator will be able to tell you which user role(s) you have.

Is it possible to do a manual transfer?

Yes, you can perform a payment through the Lunar Web Portal.

Are there any additional cost if using all available fields in the API or web portal?

No, there is no additional cost. So please do what makes the logic for matching better.

How many are supposed to approve a transfer?

API: You have an implicit approval through your authorization token and therefore no one else is needed.

Web portal: We have 4-eye principle.

What is the payments limits per currency?

There is a limit in all clearing schemes. In DK instant it is 500,000 DKK and SE intraday it is 500,000 SEK. NO is very high with around 25MNOK.

When providing instant payments in SEK the limit will still be 500.000 SEK and for NOK it will be 500.000 NOK.

What is the minimum amount of a payment?

0.01 in DKK, SEK and NOK.

What information should be provided in the field senderMessage?

It is up to you what you want to write in the senderMessage, it is a message for yourself.

Who should be put as a receiver?

We are always to know the ultimate sender and receiver inbound/outbound.

Does Lunar do beneficiary account number checks?

Lunar can validate if the account number matches the logic for the specific scheme and will do so. Lunar is however not able to validate if the account number exist or is open before a payment is processed.

What data will be available on a SEK instant payment?

  • Originator bank BIC
  • Beneficiary bank BIC
  • Debtor account IBAN
  • Creditor account IBAN
  • Amount
  • Debtor and creditor identification
  • (Business): BIC or LRI (legal entity identification), CVR
  • (Private): Date and place of birth, CPR

Can we make a KID payment?

Yes, in Norway you can make a KID payment.

If a KID payment is rejected, which violation will that be?

"SCHEME_DETAILS_INVALID"

Why is the payment pending when receiver has already received the payment?

In the intraday clearing it can take some time for our partner to reply back to us, that the payment is processed in the clearing - hence the money is sent before we get a reply back.

What to provide under Transfer parties?

You must send the ultimate receiver or sender under Transfer Parties.

What is the payment state sequence?

The state diagram below shows the state sequence:

Is the PENDING, POSTED, REJECTED states for both incoming and outgoing transfers?

The PENDING, POSTED, REJECTED is only something you can see on payments you initiate from the APIs. A payment made to your account is posted when received.

How long does it take for a payment to shift state?

Normally it takes around 1 second to complete a payment - it can be longer due to screening of the payment.

What is the format of receiverAccountNumber?

For Denmark and Norway the number must be a BBAN. For Sweden the number must be the clearing number and account number concatenated.

What is the limits for name and address lines?

  • full_name: max 35 iso-8859-1 chars
  • address: max 70 iso-8859-1 chars
  • country: iso alpha2 code
  • city: max 35 iso-8859-1 chars
  • postal_code: max 9 iso-8869-1 chars

Which name will be shown to beneficiary on Money Transfers?

Denmark and Norway: Lunar will send both the ultimate sender and your company to the scheme. Receiving bank will show your name, as you are the last sender of the funds.

Sweden: There is currently no way to send any names at all due to the intraday scheme in Sweden.

International payments API

What is the limit for international payments?

There is no limit for international payments in DKK, SEK and NOK.

How can we defund/sweep our NOK/SEK account(s)?

We have a specific international payments API available you can use for this. Lunar needs to whitelist your IBANs for you to be able to make the transfer. IBANs possible to whitelist is the ones owned by you.

Account API

How do I find our account number(s)?

You call the Account API and you will get all of your accounts and their currencies.

Postings API

What data will I see on an incoming NOK payment?

Possible fields: date, name, address (optional), amount, message (optional), account number.

What data will I see on an incoming SEK payment?

In the intraday scheme, the information you will receive on a deposit on your account, will be a reference, a date and amount.

In the instant scheme, the information you will receive is:

  • Originator bank BIC
  • Beneficiary bank BIC
  • Debtor account IBAN
  • Creditor account IBAN
  • Amount (all mandatory)
  • Debtor and creditor identification (optional)

What data will I see on an incoming DKK payment?

Possible fields: date, name, address, amount, message.

Is reversal reason available?

The reason for a reversal will be available on SEK and NOK payments, unfortunately not on DKK payments.

How long does it take for a payment to return to our account?

If it fails in validation you will be declined instant and money will not be extracted. If the money for some reason needs to be returned, it is up to the receiving bank and Lunar cannot control the timeframe. If an automatic rejection is set up by the beneficiary bank, you will see the return almost instant and in the posting API you will be able to see it is a reversal as well as the ID of the posting that has been reversed.

Do we receive a callback notification with the transaction ID if a reversal occurs?

If the bank is making a proper return, it will be connected to the original transfers and we can map it, so you will get a “reversal”: true, and a “reversedPosting”: ID.

We are having trouble generating XX date. We only see old transactions.

The requests only provide the account number, and since no query parameters such as cursor or from/to are provided, you receive the first 100 postings on the account every time (as 100 is the default page size). The API enables clients to use a cursor to keep track of which postings they have seen already.

The nextCursor is returned on responses and can be provided as the query parameter cursor on the next request. Below documentation describes other query parameters such as from/to/pageSize: https://docs.banking-services.lunar.app/spec/postings#tag/postings

We need a monthly Statement of Account for reconciliation purposes. How can we get that?

You can gather all the transactions through our Posting API, for the period you would like to.

Sandbox

Where can I find our IBAN numbers for the sandbox accounts?

As it is a closed environment IBAN will have no meaning or not be used for anything - so you are welcome to make some random for whatever you need.

SWISH merchant onboarding API

What to pass as organisation number when business does not have one?

You can pass a unique identifier you create as Organisation number.

Web Portal

How do I log in to the web portal?

https://banking-services.lunar.app/auth/signin

Where to contact if there is a need to add/remove users in Banking Portal?

For partners with Lunar Auth0 solution: Every partner has an Admin user who can remove/add access in Auth0. If an admin is to be added, name and email should be sent to Lunar supportbankingservices@lunar.app.

For partners with own solution: Lunar cannot add or remove any users for the Banking Portal, please reach out internally.

How to set up own SSO for web portal?

You will need the following data:

And in return we need:

  • client id
  • client secret
  • issuer url
  • email domain

User & Roles:

Any user that does not have a specific role, will be granted default access.

There are currently 3 roles in the web portal:

  • transfer_initiator - this role can initiate transfers and FX
  • transfer_approver - this role can approve already initiated transfers and FX
  • “View Only Role” - not a role as such. “View Only” is the default access to the Web Portal, only giving access to viewing and downloading files with no editorial rights

Which you need to propagate in a claim in the id_token.

Let us know which claim contains the list of roles and which roles from our site you want to map to the 3 Lunar roles.

Please also let us know if there is any extra scope that should be specified for the OIDC flow, for getting these roles.

What is the end of day balance in the web portal?

By choosing a date in the web portal, you are also seeing the end of day balance 11:59 PM CET/CEST.

Last updated on