// SETTINGS // These are the general settings for the service. There's also a settings.development.json // and a settings.production.json, each one containing environment-specific settings. // In 99% of the cases, customizations should be set on the settings.private.json file. { "amazon": { // You can add an extra to every Amazon payment, to cover for occasional fees and late // payments. For instance set this to 1.01 to add a 1% on top of amazon order values // transferred to your Amazon account. "paymentMultiplier": 1, // Refunds should be processed 8 days after refund email is received by default. "refundDays": 8 }, "app": { // Web admin authentication. "auth": { // Default username is admin, but you can of course change to your desired username. "user": "admin", // Password needed to access the web admin UI. Please change this on your private settings! "password": null }, // Port in which the server should run. "port": 8833, // Name of this service, will also be used as the device name when connecting to bunq. "title": "Jarbunq", // Frontend files served by Expresser are all located on /assets. "publicPath": "./assets/", // Use PUG for view rendering. "viewEngine": "pug", "viewPath": "./assets/views/" }, "bunq": { "api": { // Default 16 bytes crypto hex key for API communication, it's strongly advised that you update // this value on your settings.private.json file! "cryptoKey": "13841C2E4529CFB112324B7DE0EDB781" }, // Enable callbacks (notification filters)? If so, bunq will push certain events from your bank // accounts to Jarbunq (mostly payments and transactions), so it can act upon them. "callbacks": { "enabled": true, // Which event categories should Jarbunq listen to? The default categories listed below // are related to payment and transactions only. To add more, see the full list of // categories at https://doc.bunq.com/ "categories": [ "MUTATION", "DRAFT_PAYMENT", "CARD_TRANSACTION_FAILED" ], // Save original full body of incoming notifications from bunq on the database? // If true, the orginal body will be added to the "raw" property of notifications. "saveRaw": false }, // Set to false to NOT add Jarbunq related notes to the payments. Default is true, // and it's highly recommended to keep it true :-) "addPaymentNotes": true, // Set to true to use draft payments (that needs approval) by default. // Please note parts of the code can still force the options.draff. "draftPayment": false, // Safeguard to avoid automatic payments of large amounts, default is 800 EUR. // Payments with value higher than that will automatically be set as draft payments. "maxPaymentAmount": 800, // Safeguard to avoid low balances on accounts, for example you could set to 50 EUR // to make sure no transactions made by Jarbunq will result in a less-than 50 balance. "minBalance": 0, // Auto refresh user data automatically once per hour by default, value in minutes. "refreshMinutes": 60, // OAuth authorizations must be renewed at least once every 90 days. "tokenLifetimehDays": 90 }, // Connect Assets module options. "connectAssets": { "buildDir": "assets/build", "paths": ["assets/scripts", "assets/styles"] }, "database": { "crypto": { // Cipher used for database encryption. The default "aes-256-ctr" is pretty secure. "cipher": "aes-256-ctr", // Default encryption key, it's HIGHLY RECOMMENDED that you change this key to your own either // via the settings.private.json, or using the $SMU_database_crypto_key environment variable. "key": "bunq-DB-cryp7o-k3y-plssss-CHANGE", // Database encryption is enabled by default. "enabled": true }, // Size limits for collections on the database. Each key represents the collection name, and // value is the max size of the collection array. "sizeLimits": { "payments": 2000, "processedEmails": 2000, "stravaPayments": 2000, "callbacks": 1000 } }, "email": { // Auto upgrade connection to TLS when needed? "autoTLS": true, // If true, incoming emails will have its headers checked for extra security. // Change to false if you're having problems with email signatures, for instance // if you host your own email server and you don't want to validate SPF / DKIM / DMARC headers. "checkSecurity": true, // Check for additional headers on incoming emails. For instance, to only accept incoming emails // if they were forwarded to my@email.com, you could set: // "checkHeaders:" { "x-forwarded-for": "my@email.com" }, "checkHeaders": null, // When the app starts up, it will initially fetch emails received on the last 24 hours. // Then emails are fetched as they arrive. "fetchHours": 24, // Mark processed messages as read? Set to false to keep all messages unread. "markAsRead": true, // How many times should it retry to connect before aborting? "maxRetry": 5, // When failed to open the email inbox, retry after 2 minutes by default, value in milliseconds. "retryInterval": 120000, // Send weekly reports to the owner's email? "weeklyReports": true }, // Eventhooks must be defined on your settings.private.json file! "eventhooks": { // For detailed instructions, see https://github.com/igoramadas/jarbunq/wiki/Eventhooks }, "general": { // Use UTF8 as default encoding for files and streams. "encoding": "utf8" }, // Notification options (from Jarbunq to the user). Not to be confused with notification // filters / callbacks from bunq to Jarbunq. "notification": { "events": { // Notify successful payments? "paymentSuccess": true, // Notify payment failures? "paymentError": true }, // Push notifications options. The defaults below are for Pushover, but you can easily // customize to other services (WirePusher, Push All, etc...). If using Pushover, you // must set the POST token and user on your settings.private.json file. More details: // https://github.com/igoramadas/jarbunq/wiki/SMS-and-push-notifications "push": { "enabled": false, // URL of the push service. "url": "https://api.pushover.net/1/messages.json", // Field name that represents the subject of a message. "subjectField": "title", // Field name that represents the body of a message. "messageField": "message", // Key pairs with additional body to be sent in case of POST. // Set to false to use GET instead. "post": null } }, "routes": { // IP whitelistig. Each key represents a route, plus the "global" route. "ipWhitelist": { // By default accept from any IP. Ideally you should have a firewall with the correct // IP whitelisting running in front of Jarbunq (your router if hosting at home, or // load balancer in the cloud). But you cal set the value below to an array of // valid IPs if you want to do this check directly on Jarbunq. "global": null } }, // Scheduler options. "scheduler": { // Ignore jobs that had their execution time passed? By default (false), the Scheduler // will execute all jobs that missed their target datetimee, for instance if the // Jarbunq server was down for some hours or days. "ignoreDelayed": false }, "strava": { // API endpoints and credentials from Strava. You should add the clientId and // clientSecret on your settings.private.json file. "api": { "baseUrl": "https://www.strava.com/api/v3", "authUrl": "https://www.strava.com/oauth/authorize", "tokenUrl": "https://www.strava.com/oauth/token", "scope": "activity:read_all,profile:read_all" }, "payments": { // How much should be paid per kilometer ridden (distance)? Default 9 cents. "pricePerKm": 0.09, // How much should be paid per kilometer climbed (elevation)? Default 1.19 EUR. "pricePerClimbedKm": 1.19, // Process activities and payment daily or weekly. // If daily weekly payments will happen on Mondays. "interval": "weekly", // Time of the day in which payments are processed (24h, HH:MM format, local time). "time": "16:00" } }, // Zalando settings (defaults are for Zalando.de, in Germany). "zalando": { // Automatically schedule draft payments for Zalando invoices? // Default is 8 days, set to 0 or false to disable. "autoScheduleDays": 8, // Target IBAN for Zalando invoice payments. "iban": "DE86210700200123010101", // Target name for Zalando invoice payments. "name": "Zalando Payments GmbH" } }