2020-03-17 15:46:08 +00:00
|
|
|
const path = require('path');
|
|
|
|
require('dotenv').config({ path: path.resolve(__dirname, '../.env') });
|
2020-03-16 09:02:35 +00:00
|
|
|
|
2019-11-19 15:00:47 +00:00
|
|
|
// Configuration for client side
|
|
|
|
const durationsConfig = {
|
|
|
|
year: 'yearly',
|
2020-03-20 06:12:57 +00:00
|
|
|
// month: 'monthly', // We have disabled montly payments
|
2019-11-19 15:00:47 +00:00
|
|
|
onetime: 'one-time'
|
|
|
|
};
|
|
|
|
const amountsConfig = {
|
2020-03-19 13:18:58 +00:00
|
|
|
year: [100000, 25000, 6000],
|
2020-03-20 06:12:57 +00:00
|
|
|
month: [5000, 3500, 500],
|
|
|
|
onetime: [100000, 25000, 6000]
|
2019-11-19 15:00:47 +00:00
|
|
|
};
|
2019-11-20 06:17:46 +00:00
|
|
|
const defaultAmount = {
|
2020-03-19 13:18:58 +00:00
|
|
|
year: 6000,
|
2019-12-20 10:44:16 +00:00
|
|
|
month: 3500,
|
2019-11-20 06:17:46 +00:00
|
|
|
onetime: 25000
|
|
|
|
};
|
2019-11-19 15:00:47 +00:00
|
|
|
const defaultStateConfig = {
|
2020-03-19 19:03:20 +00:00
|
|
|
donationAmount: defaultAmount['year'],
|
|
|
|
donationDuration: 'year'
|
2019-11-19 15:00:47 +00:00
|
|
|
};
|
2019-12-20 10:44:16 +00:00
|
|
|
const modalDefaultStateConfig = {
|
2020-03-19 13:18:58 +00:00
|
|
|
donationAmount: 6000,
|
|
|
|
donationDuration: 'year'
|
2019-12-20 10:44:16 +00:00
|
|
|
};
|
2019-11-19 15:00:47 +00:00
|
|
|
|
|
|
|
// Configuration for server side
|
|
|
|
const durationKeysConfig = ['year', 'month', 'onetime'];
|
2020-03-20 06:12:57 +00:00
|
|
|
const donationOneTimeConfig = [100000, 25000, 6000];
|
2019-11-19 15:00:47 +00:00
|
|
|
const donationSubscriptionConfig = {
|
|
|
|
duration: {
|
|
|
|
year: 'Yearly',
|
|
|
|
month: 'Monthly'
|
|
|
|
},
|
|
|
|
plans: {
|
2020-03-20 06:12:57 +00:00
|
|
|
year: [100000, 25000, 6000],
|
2019-11-19 15:00:47 +00:00
|
|
|
month: [5000, 3500, 500]
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2020-03-13 09:25:57 +00:00
|
|
|
// Shared paypal configuration
|
2020-03-16 09:02:35 +00:00
|
|
|
const paypalConfigTypes = {
|
|
|
|
live: {
|
2020-03-20 01:33:27 +00:00
|
|
|
month: {
|
|
|
|
'500': {
|
|
|
|
planId: 'P-1L11422374370240ULZKX3PA'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
year: {
|
|
|
|
'6000': {
|
|
|
|
planId: 'P-9Y661558DW462253NLZZ2IMQ'
|
|
|
|
},
|
|
|
|
'25000': {
|
|
|
|
planId: 'P-3NN39392MK1889318LZZ2KQY'
|
|
|
|
},
|
|
|
|
'100000': {
|
|
|
|
planId: 'P-7YN43286C4599382LLZZ2JUI'
|
2020-03-13 09:25:57 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
},
|
2020-03-16 09:02:35 +00:00
|
|
|
staging: {
|
2020-03-20 01:33:27 +00:00
|
|
|
month: {
|
|
|
|
'500': {
|
|
|
|
planId: 'P-37N14480BW163382FLZYPVMA'
|
|
|
|
}
|
|
|
|
},
|
|
|
|
year: {
|
|
|
|
'6000': {
|
|
|
|
planId: 'P-0UY77185EM3077131LZYP6VY'
|
2020-03-17 15:46:08 +00:00
|
|
|
},
|
2020-03-20 01:33:27 +00:00
|
|
|
'25000': {
|
|
|
|
planId: 'P-7K1585908S634694XLZZTHUQ'
|
|
|
|
},
|
|
|
|
'100000': {
|
|
|
|
planId: 'P-0J5231134H608574XLZZTDLQ'
|
2020-03-13 09:25:57 +00:00
|
|
|
}
|
|
|
|
}
|
|
|
|
}
|
|
|
|
};
|
|
|
|
|
2020-03-17 15:46:08 +00:00
|
|
|
const paypalConfig =
|
|
|
|
process.env.DEPLOYMENT_ENV && process.env.DEPLOYMENT_ENV === 'live'
|
|
|
|
? paypalConfigTypes['live']
|
|
|
|
: paypalConfigTypes['staging'];
|
2020-03-16 09:02:35 +00:00
|
|
|
|
2020-03-20 01:33:27 +00:00
|
|
|
const paypalConfigurator = (donationAmount, donationDuration) => {
|
|
|
|
if (donationDuration === 'onetime') {
|
|
|
|
return { amount: donationAmount, duration: donationDuration };
|
|
|
|
}
|
|
|
|
return {
|
|
|
|
amount: donationAmount,
|
|
|
|
duration: donationDuration,
|
|
|
|
planId: paypalConfig[donationDuration]['' + donationAmount].planId
|
|
|
|
};
|
|
|
|
};
|
|
|
|
|
2019-11-19 15:00:47 +00:00
|
|
|
module.exports = {
|
|
|
|
durationsConfig,
|
|
|
|
amountsConfig,
|
2019-11-20 06:17:46 +00:00
|
|
|
defaultAmount,
|
2019-11-19 15:00:47 +00:00
|
|
|
defaultStateConfig,
|
|
|
|
durationKeysConfig,
|
|
|
|
donationOneTimeConfig,
|
2019-12-20 10:44:16 +00:00
|
|
|
donationSubscriptionConfig,
|
2020-03-13 09:25:57 +00:00
|
|
|
modalDefaultStateConfig,
|
2020-03-20 01:33:27 +00:00
|
|
|
paypalConfig,
|
|
|
|
paypalConfigurator
|
2019-11-19 15:00:47 +00:00
|
|
|
};
|