cloudcommerce 0.0.133 → 0.1.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/.vscode/settings.json +2 -1
- package/CHANGELOG.md +25 -0
- package/action.yml +13 -5
- package/ecomplus-stores/monocard/functions/core/package.json +1 -1
- package/ecomplus-stores/monocard/functions/events/package.json +1 -1
- package/ecomplus-stores/monocard/functions/modules/package.json +1 -1
- package/ecomplus-stores/monocard/functions/passport/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/core/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/events/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/modules/package.json +1 -1
- package/ecomplus-stores/tia-sonia/functions/passport/package.json +1 -1
- package/package.json +8 -9
- package/packages/api/fetch-polyfill.js +1 -1
- package/packages/api/package.json +1 -1
- package/packages/api/tests/index.test.ts +0 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/CHANGELOG.md +1 -0
- package/packages/apps/custom-payment/README.md +1 -0
- package/packages/apps/custom-payment/lib/custom-payment-create-transaction.d.ts +68 -0
- package/packages/apps/custom-payment/lib/custom-payment-create-transaction.js +55 -0
- package/packages/apps/custom-payment/lib/custom-payment-create-transaction.js.map +1 -0
- package/packages/apps/custom-payment/lib/custom-payment-list-payments.d.ts +3 -0
- package/packages/apps/custom-payment/lib/custom-payment-list-payments.js +79 -0
- package/packages/apps/custom-payment/lib/custom-payment-list-payments.js.map +1 -0
- package/packages/apps/custom-payment/lib/custom-payment.d.ts +68 -0
- package/packages/apps/custom-payment/lib/custom-payment.js +11 -0
- package/packages/apps/custom-payment/lib/custom-payment.js.map +1 -0
- package/packages/apps/custom-payment/lib/index.d.ts +1 -0
- package/packages/apps/custom-payment/lib/index.js +2 -0
- package/packages/apps/custom-payment/lib/index.js.map +1 -0
- package/packages/apps/custom-payment/package.json +27 -0
- package/packages/apps/custom-payment/src/custom-payment-create-transaction.ts +67 -0
- package/packages/apps/custom-payment/src/custom-payment-list-payments.ts +96 -0
- package/packages/apps/custom-payment/src/custom-payment.ts +11 -0
- package/packages/apps/custom-payment/src/index.ts +1 -0
- package/packages/apps/custom-payment/tsconfig.json +6 -0
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +2 -2
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/CHANGELOG.md +1 -0
- package/packages/apps/galaxpay/README.md +1 -0
- package/packages/apps/galaxpay/assets/onload-expression.js +23 -0
- package/packages/apps/galaxpay/events.js +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/all-parses.d.ts +5 -0
- package/packages/apps/galaxpay/lib/functions-lib/all-parses.js +79 -0
- package/packages/apps/galaxpay/lib/functions-lib/all-parses.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.d.ts +3 -0
- package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js +75 -0
- package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.d.ts +11 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.js +60 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.d.ts +2 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.js +20 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.d.ts +2 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.js +32 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.d.ts +30 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.js +73 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.d.ts +8 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js +56 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.d.ts +3 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js +291 -0
- package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js.map +1 -0
- package/packages/apps/galaxpay/lib/functions-lib/utils.d.ts +8 -0
- package/packages/apps/galaxpay/lib/functions-lib/utils.js +17 -0
- package/packages/apps/galaxpay/lib/functions-lib/utils.js.map +1 -0
- package/packages/apps/galaxpay/lib/galaxpay-create-transaction.d.ts +71 -0
- package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js +199 -0
- package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js.map +1 -0
- package/packages/apps/galaxpay/lib/galaxpay-events.d.ts +6 -0
- package/packages/apps/galaxpay/lib/galaxpay-events.js +21 -0
- package/packages/apps/galaxpay/lib/galaxpay-events.js.map +1 -0
- package/packages/apps/galaxpay/lib/galaxpay-list-payments.d.ts +7 -0
- package/packages/apps/galaxpay/lib/galaxpay-list-payments.js +105 -0
- package/packages/apps/galaxpay/lib/galaxpay-list-payments.js.map +1 -0
- package/packages/apps/galaxpay/lib/galaxpay.d.ts +76 -0
- package/packages/apps/galaxpay/lib/galaxpay.js +12 -0
- package/packages/apps/galaxpay/lib/galaxpay.js.map +1 -0
- package/packages/apps/galaxpay/lib/index.d.ts +1 -0
- package/packages/apps/galaxpay/lib/index.js +3 -0
- package/packages/apps/galaxpay/lib/index.js.map +1 -0
- package/packages/apps/galaxpay/package.json +36 -0
- package/packages/apps/galaxpay/scripts/build.sh +5 -0
- package/packages/apps/galaxpay/src/functions-lib/all-parses.ts +91 -0
- package/packages/apps/galaxpay/src/functions-lib/ecom/events-to-galaxpay.ts +85 -0
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/create-access.ts +80 -0
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/create-axios.ts +21 -0
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/gerate-token.ts +36 -0
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/handle-plans.ts +92 -0
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/update-subscription.ts +73 -0
- package/packages/apps/galaxpay/src/functions-lib/galaxpay/webhook.ts +381 -0
- package/packages/apps/galaxpay/src/functions-lib/utils.ts +23 -0
- package/packages/apps/galaxpay/src/galaxpay-create-transaction.ts +240 -0
- package/packages/apps/galaxpay/src/galaxpay-events.ts +28 -0
- package/packages/apps/galaxpay/src/galaxpay-list-payments.ts +130 -0
- package/packages/apps/galaxpay/src/galaxpay.ts +12 -0
- package/packages/apps/galaxpay/src/index.ts +2 -0
- package/packages/apps/galaxpay/tsconfig.json +6 -0
- package/packages/apps/galaxpay/types/config-app.d.ts +99 -0
- package/packages/apps/infinitepay/lib/infinitepay.js +1 -2
- package/packages/apps/infinitepay/lib/infinitepay.js.map +1 -1
- package/packages/apps/infinitepay/lib/ip-create-transaction.d.ts +1 -2
- package/packages/apps/infinitepay/lib/ip-create-transaction.js +3 -2
- package/packages/apps/infinitepay/lib/ip-create-transaction.js.map +1 -1
- package/packages/apps/infinitepay/lib/ip-list-payments.d.ts +1 -2
- package/packages/apps/infinitepay/lib/ip-list-payments.js.map +1 -1
- package/packages/apps/infinitepay/package.json +3 -3
- package/packages/apps/infinitepay/src/infinitepay.ts +1 -2
- package/packages/apps/infinitepay/src/ip-create-transaction.ts +8 -6
- package/packages/apps/infinitepay/src/ip-list-payments.ts +5 -3
- package/packages/apps/jadlog/CHANGELOG.md +1 -0
- package/packages/apps/jadlog/README.md +1 -0
- package/packages/apps/jadlog/lib/index.d.ts +1 -0
- package/packages/apps/jadlog/lib/index.js +2 -0
- package/packages/apps/jadlog/lib/index.js.map +1 -0
- package/packages/apps/jadlog/lib/jadlog.d.ts +2 -0
- package/packages/apps/jadlog/lib/jadlog.js +6 -0
- package/packages/apps/jadlog/lib/jadlog.js.map +1 -0
- package/packages/apps/jadlog/lib-mjs/calculate-jadlog.mjs +408 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-0.mjs +147 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-1.mjs +1149 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-2.mjs +1137 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-3.mjs +1638 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-4.mjs +1089 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-5.mjs +1101 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-6.mjs +1893 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-7.mjs +1371 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-8.mjs +1401 -0
- package/packages/apps/jadlog/lib-mjs/deadlines/range-9.mjs +963 -0
- package/packages/apps/jadlog/lib-mjs/jadlog-get-deadlines.mjs +32 -0
- package/packages/apps/jadlog/package.json +28 -0
- package/packages/apps/jadlog/src/index.ts +1 -0
- package/packages/apps/jadlog/src/jadlog.ts +7 -0
- package/packages/apps/jadlog/tsconfig.json +6 -0
- package/packages/apps/mercadopago/lib/mercadopago.js +1 -2
- package/packages/apps/mercadopago/lib/mercadopago.js.map +1 -1
- package/packages/apps/mercadopago/lib/mp-create-transaction.d.ts +1 -2
- package/packages/apps/mercadopago/lib/mp-create-transaction.js +3 -2
- package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
- package/packages/apps/mercadopago/lib/mp-list-payments.d.ts +1 -2
- package/packages/apps/mercadopago/lib/mp-list-payments.js +2 -1
- package/packages/apps/mercadopago/lib/mp-list-payments.js.map +1 -1
- package/packages/apps/mercadopago/package.json +3 -3
- package/packages/apps/mercadopago/src/mercadopago.ts +1 -2
- package/packages/apps/mercadopago/src/mp-create-transaction.ts +12 -10
- package/packages/apps/mercadopago/src/mp-list-payments.ts +9 -7
- package/packages/apps/pagarme/lib/pagarme-create-transaction.js.map +1 -1
- package/packages/apps/pagarme/lib/pagarme-list-payments.d.ts +1 -2
- package/packages/apps/pagarme/lib/pagarme-list-payments.js.map +1 -1
- package/packages/apps/pagarme/package.json +3 -3
- package/packages/apps/pagarme/src/pagarme-create-transaction.ts +5 -3
- package/packages/apps/pagarme/src/pagarme-list-payments.ts +5 -3
- package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js +1 -1
- package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js.map +1 -1
- package/packages/apps/pix/lib/pix-create-transaction.d.ts +1 -2
- package/packages/apps/pix/lib/pix-create-transaction.js +6 -5
- package/packages/apps/pix/lib/pix-create-transaction.js.map +1 -1
- package/packages/apps/pix/lib/pix-list-payments.d.ts +1 -2
- package/packages/apps/pix/lib/pix-list-payments.js.map +1 -1
- package/packages/apps/pix/lib/pix-webhook.js +1 -1
- package/packages/apps/pix/lib/pix-webhook.js.map +1 -1
- package/packages/apps/pix/lib/pix.js +1 -2
- package/packages/apps/pix/lib/pix.js.map +1 -1
- package/packages/apps/pix/package.json +3 -3
- package/packages/apps/pix/src/functions-lib/pix-auth/construtor.ts +1 -1
- package/packages/apps/pix/src/pix-create-transaction.ts +10 -9
- package/packages/apps/pix/src/pix-list-payments.ts +5 -3
- package/packages/apps/pix/src/pix-webhook.ts +1 -1
- package/packages/apps/pix/src/pix.ts +1 -2
- package/packages/apps/tiny-erp/package.json +3 -3
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +2 -2
- package/packages/events/lib/firebase.js +2 -0
- package/packages/events/lib/firebase.js.map +1 -1
- package/packages/events/package.json +4 -3
- package/packages/events/src/firebase.ts +2 -0
- package/packages/firebase/lib/config.d.ts +10 -0
- package/packages/firebase/lib/config.js +13 -0
- package/packages/firebase/lib/config.js.map +1 -1
- package/packages/firebase/lib/init.d.ts +0 -1
- package/packages/firebase/lib/init.js +0 -1
- package/packages/firebase/lib/init.js.map +1 -1
- package/packages/firebase/package.json +3 -4
- package/packages/firebase/src/config.ts +14 -0
- package/packages/firebase/src/init.ts +0 -1
- package/packages/i18n/lib/en_us/i19get$1back.txt +1 -0
- package/packages/i18n/lib/en_us.d.ts +1 -0
- package/packages/i18n/lib/en_us.js +1 -0
- package/packages/i18n/lib/en_us.js.map +1 -1
- package/packages/i18n/lib/pt_br/i19get$1back.txt +1 -0
- package/packages/i18n/lib/pt_br/i19get.txt +1 -1
- package/packages/i18n/lib/pt_br.d.ts +2 -1
- package/packages/i18n/lib/pt_br.js +2 -1
- package/packages/i18n/lib/pt_br.js.map +1 -1
- package/packages/i18n/package.json +1 -1
- package/packages/i18n/src/en_us.ts +1 -0
- package/packages/i18n/src/pt_br.ts +2 -1
- package/packages/modules/lib/firebase/call-app-module.js +71 -51
- package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
- package/packages/modules/package.json +6 -3
- package/packages/modules/src/firebase/call-app-module.ts +37 -24
- package/packages/passport/package.json +3 -3
- package/packages/ssr/lib/firebase.js +1 -2
- package/packages/ssr/lib/firebase.js.map +1 -1
- package/packages/ssr/package.json +5 -5
- package/packages/ssr/src/firebase.ts +1 -2
- package/packages/storefront/.eslintrc.cjs +1 -1
- package/packages/storefront/.nvmrc +1 -0
- package/packages/storefront/dist/client/HeaderButtons.f1c92fd8.js +1 -0
- package/packages/storefront/dist/client/Prices.795d082c.js +1 -0
- package/packages/storefront/dist/client/ProductCard.f477b7a1.js +1 -0
- package/packages/storefront/dist/client/assets/_...slug_.15766f41.css +1 -0
- package/packages/storefront/dist/client/assets/index.e6a09532.css +1 -0
- package/packages/storefront/dist/client/assets/server.4d9646d8.css +1 -0
- package/packages/storefront/dist/client/chunks/HeaderButtons.27ab2180.js +1 -0
- package/packages/storefront/dist/client/chunks/{LoginForm.83fec3a1.js → LoginForm.36774236.js} +1 -1
- package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.522e4ac4.js +1 -0
- package/packages/storefront/dist/client/chunks/_plugin-vue_export-helper.979dc9e3.js +1 -0
- package/packages/storefront/dist/client/chunks/{price.130e6005.js → price.ecf7fed4.js} +1 -1
- package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.6c012e5d.js +1 -0
- package/packages/storefront/dist/client/client.8b4e336b.js +1 -0
- package/packages/storefront/dist/client/hoisted.f6ee2883.js +1 -0
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/entry.mjs +704 -70
- package/packages/storefront/package.json +12 -9
- package/packages/storefront/src/lib/assets/base.css +4 -0
- package/packages/storefront/src/lib/components/Prices.vue +165 -0
- package/packages/storefront/src/lib/components/ProductCard.vue +36 -0
- package/packages/storefront/src/lib/components/globals/Fade.vue +171 -0
- package/packages/storefront/src/lib/composables/use-component-variant.ts +13 -0
- package/packages/storefront/src/lib/composables/use-prices.ts +172 -0
- package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -0
- package/packages/storefront/src/lib/pages/_vue.ts +13 -1
- package/packages/storefront/src/lib/state/modules-info.ts +1 -1
- package/packages/storefront/src/vue-globals.d.ts +9 -2
- package/packages/storefront/tailwind.config.cjs +1 -0
- package/packages/storefront/uno.config.cjs +1 -0
- package/packages/types/package.json +1 -1
- package/store.renovate.json +2 -1
- package/packages/storefront/dist/client/HeaderButtons.1968a9ac.js +0 -1
- package/packages/storefront/dist/client/Price.c4aab3ea.js +0 -1
- package/packages/storefront/dist/client/assets/_...slug_.580c5aa4.css +0 -1
- package/packages/storefront/dist/client/chunks/HeaderButtons.5a0e371e.js +0 -1
- package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.4dae6bc1.js +0 -1
- package/packages/storefront/dist/client/chunks/runtime-dom.esm-bundler.7a999c6c.js +0 -1
- package/packages/storefront/dist/client/client.79a40b9d.js +0 -1
- package/packages/storefront/dist/client/hoisted.cce93d56.js +0 -1
- package/packages/storefront/src/lib/components/Price/PriceCashback.vue +0 -13
- package/packages/storefront/src/lib/components/Price/PriceCompare.vue +0 -13
- package/packages/storefront/src/lib/components/Price/PriceDiscountLabel.vue +0 -13
- package/packages/storefront/src/lib/components/Price/PriceInstallments.vue +0 -13
- package/packages/storefront/src/lib/components/Price/PriceSale.vue +0 -13
- package/packages/storefront/src/lib/components/Price/PriceWithDiscount.vue +0 -13
- package/packages/storefront/src/lib/components/Price.vue +0 -57
|
@@ -0,0 +1,73 @@
|
|
|
1
|
+
// type Gateway = ListPaymentsResponse['payment_gateways'][number]
|
|
2
|
+
const handleGateway = (appData) => {
|
|
3
|
+
const plans = [];
|
|
4
|
+
if (appData.plans) {
|
|
5
|
+
// Newer versions of the app will have a list of plans
|
|
6
|
+
appData.plans.forEach((plan) => {
|
|
7
|
+
plans.push(plan);
|
|
8
|
+
});
|
|
9
|
+
}
|
|
10
|
+
return plans;
|
|
11
|
+
};
|
|
12
|
+
// for create-transaction
|
|
13
|
+
const findPlanToCreateTransction = (label, appData) => {
|
|
14
|
+
let sendPlan;
|
|
15
|
+
if (appData.plans) {
|
|
16
|
+
/*
|
|
17
|
+
More recent versions of the application will have a list of plans,
|
|
18
|
+
where it will be necessary to find the plan by name,
|
|
19
|
+
and return it since it will be necessary to use the periodicity and quantity property
|
|
20
|
+
*/
|
|
21
|
+
// find plan by name (label)
|
|
22
|
+
appData.plans.forEach((plan) => {
|
|
23
|
+
// if the name of the plan is blank, on the list-payments side it is set to 'Plano'
|
|
24
|
+
let planLabel = plan.label || 'Plano';
|
|
25
|
+
planLabel = `${planLabel} ${plan.periodicity}`;
|
|
26
|
+
label = label?.trim();
|
|
27
|
+
if (label === planLabel) {
|
|
28
|
+
sendPlan = plan;
|
|
29
|
+
}
|
|
30
|
+
});
|
|
31
|
+
}
|
|
32
|
+
return sendPlan;
|
|
33
|
+
};
|
|
34
|
+
const discountPlan = (planDiscount, amount) => {
|
|
35
|
+
if (planDiscount && planDiscount.value > 0) {
|
|
36
|
+
// default discount option
|
|
37
|
+
const discountOption = {
|
|
38
|
+
value: planDiscount.value,
|
|
39
|
+
apply_at: (planDiscount.apply_at === 'frete' ? 'freight' : planDiscount),
|
|
40
|
+
type: planDiscount.percentage ? 'percentage' : 'fixed',
|
|
41
|
+
};
|
|
42
|
+
if (amount.total) {
|
|
43
|
+
// check amount value to apply discount
|
|
44
|
+
if (planDiscount.min_amount && amount.total < planDiscount.min_amount) {
|
|
45
|
+
planDiscount.value = 0;
|
|
46
|
+
} else {
|
|
47
|
+
delete planDiscount.min_amount;
|
|
48
|
+
const maxDiscount = amount[discountOption.apply_at || 'subtotal'];
|
|
49
|
+
let discountValue;
|
|
50
|
+
if (maxDiscount && discountOption.type === 'percentage') {
|
|
51
|
+
discountValue = (maxDiscount * planDiscount.value) / 100;
|
|
52
|
+
} else {
|
|
53
|
+
discountValue = planDiscount.value;
|
|
54
|
+
if (maxDiscount && discountValue > maxDiscount) {
|
|
55
|
+
discountValue = maxDiscount;
|
|
56
|
+
}
|
|
57
|
+
}
|
|
58
|
+
if (discountValue && discountValue > 0) {
|
|
59
|
+
amount.discount = (amount.discount || 0) + discountValue;
|
|
60
|
+
amount.total -= discountValue;
|
|
61
|
+
if (amount.total < 0) {
|
|
62
|
+
amount.total = 0;
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
}
|
|
67
|
+
return discountOption;
|
|
68
|
+
}
|
|
69
|
+
return null;
|
|
70
|
+
};
|
|
71
|
+
|
|
72
|
+
export { handleGateway, findPlanToCreateTransction, discountPlan };
|
|
73
|
+
// # sourceMappingURL=handle-plans.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"handle-plans.js","sourceRoot":"","sources":["../../../src/functions-lib/galaxpay/handle-plans.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
import type { Orders, Applications } from '@cloudcommerce/types';
|
|
2
|
+
declare const checkAmountItemsOrder: (amount: Orders['amount'], items: Exclude<Orders['items'], undefined>, plan: {
|
|
3
|
+
[x: string]: any;
|
|
4
|
+
}) => number;
|
|
5
|
+
declare const updateValueSubscription: (appData: Applications, subscriptionId: string, amount: Orders['amount'], items: Exclude<Orders['items'], undefined>, plan: {
|
|
6
|
+
[x: string]: any;
|
|
7
|
+
}) => Promise<unknown>;
|
|
8
|
+
export { updateValueSubscription, checkAmountItemsOrder, };
|
|
@@ -0,0 +1,56 @@
|
|
|
1
|
+
import GalaxpayAxios from './auth/create-access.js';
|
|
2
|
+
|
|
3
|
+
const checkAmountItemsOrder = (amount, items, plan) => {
|
|
4
|
+
let subtotal = 0;
|
|
5
|
+
let item;
|
|
6
|
+
for (let i = 0; i < items.length; i++) {
|
|
7
|
+
item = items[i];
|
|
8
|
+
if (item.flags && (item.flags.includes('freebie') || item.flags.includes('discount-set-free'))) {
|
|
9
|
+
items.splice(i, 1);
|
|
10
|
+
} else {
|
|
11
|
+
subtotal += item.quantity * (item.final_price || item.price);
|
|
12
|
+
}
|
|
13
|
+
}
|
|
14
|
+
amount.subtotal = subtotal;
|
|
15
|
+
amount.total = amount.subtotal + (amount.tax || 0) + (amount.freight || 0) + (amount.extra || 0);
|
|
16
|
+
let planDiscount;
|
|
17
|
+
if (plan && plan.discount) {
|
|
18
|
+
if (plan.discount.percentage) {
|
|
19
|
+
planDiscount = amount[plan.discount.apply_at];
|
|
20
|
+
planDiscount *= ((plan.discount.value) / 100);
|
|
21
|
+
}
|
|
22
|
+
}
|
|
23
|
+
// if the plan doesn't exist, because it's subscription before the update
|
|
24
|
+
if (plan) {
|
|
25
|
+
amount.discount = (plan.discount && !plan.discount.percentage
|
|
26
|
+
? plan.discount.value : planDiscount) || 0;
|
|
27
|
+
}
|
|
28
|
+
if (amount.discount) {
|
|
29
|
+
amount.total -= amount.discount;
|
|
30
|
+
}
|
|
31
|
+
const total = amount.total - (amount.discount || 0); // BUG :(
|
|
32
|
+
return Math.floor(total.toFixed(2) * 100);
|
|
33
|
+
};
|
|
34
|
+
const updateValueSubscription = (appData, subscriptionId, amount, items, plan) => {
|
|
35
|
+
const value = checkAmountItemsOrder({ ...amount }, [...items], { ...plan });
|
|
36
|
+
return new Promise((resolve, reject) => {
|
|
37
|
+
const galaxpayAxios = new GalaxpayAxios({
|
|
38
|
+
galaxpayId: appData.hidden_data?.galaxpay_id,
|
|
39
|
+
galaxpayHash: appData.hidden_data?.galaxpay_hash,
|
|
40
|
+
});
|
|
41
|
+
galaxpayAxios.preparing
|
|
42
|
+
.then(async () => {
|
|
43
|
+
if (galaxpayAxios.axios) {
|
|
44
|
+
const { data } = await galaxpayAxios.axios.put(`subscriptions/${subscriptionId}/myId`, { value });
|
|
45
|
+
if (data.type) {
|
|
46
|
+
resolve(true);
|
|
47
|
+
}
|
|
48
|
+
}
|
|
49
|
+
}).catch((err) => {
|
|
50
|
+
reject(err);
|
|
51
|
+
});
|
|
52
|
+
});
|
|
53
|
+
};
|
|
54
|
+
|
|
55
|
+
export { updateValueSubscription, checkAmountItemsOrder };
|
|
56
|
+
// # sourceMappingURL=update-subscription.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-subscription.js","sourceRoot":"","sources":["../../../src/functions-lib/galaxpay/update-subscription.ts"],"names":[],"mappings":"AACA,OAAO,aAAa,MAAM,sBAAsB,CAAC;AAEjD,MAAM,qBAAqB,GAAG,CAC5B,MAAwB,EACxB,KAA0C,EAC1C,IAA0B,EAC1B,EAAE;IACF,IAAI,QAAQ,GAAG,CAAC,CAAC;IACjB,IAAI,IAAiD,CAAC;IACtD,KAAK,IAAI,CAAC,GAAG,CAAC,EAAE,CAAC,GAAG,KAAK,CAAC,MAAM,EAAE,CAAC,EAAE,EAAE;QACrC,IAAI,GAAG,KAAK,CAAC,CAAC,CAAC,CAAC;QAChB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,SAAS,CAAC,IAAI,IAAI,CAAC,KAAK,CAAC,QAAQ,CAAC,mBAAmB,CAAC,CAAC,EAAE;YAC9F,KAAK,CAAC,MAAM,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;SACpB;aAAM;YACL,QAAQ,IAAI,IAAI,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,WAAW,IAAI,IAAI,CAAC,KAAK,CAAC,CAAC;SAC9D;KACF;IACD,MAAM,CAAC,QAAQ,GAAG,QAAQ,CAAC;IAC3B,MAAM,CAAC,KAAK,GAAG,MAAM,CAAC,QAAQ,GAAG,CAAC,MAAM,CAAC,GAAG,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,OAAO,IAAI,CAAC,CAAC,GAAG,CAAC,MAAM,CAAC,KAAK,IAAI,CAAC,CAAC,CAAC;IACjG,IAAI,YAAY,CAAC;IACjB,IAAI,IAAI,IAAI,IAAI,CAAC,QAAQ,EAAE;QACzB,IAAI,IAAI,CAAC,QAAQ,CAAC,UAAU,EAAE;YAC5B,YAAY,GAAG,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC,CAAC;YAC9C,YAAY,IAAI,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,GAAG,GAAG,CAAC,CAAC;SAC/C;KACF;IACD,yEAAyE;IACzE,IAAI,IAAI,EAAE;QACR,MAAM,CAAC,QAAQ,GAAG,CAAC,IAAI,CAAC,QAAQ,IAAI,CAAC,IAAI,CAAC,QAAQ,CAAC,UAAU;YAC3D,CAAC,CAAC,IAAI,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC,CAAC,YAAY,CAAC,IAAI,CAAC,CAAC;KAC9C;IACD,IAAI,MAAM,CAAC,QAAQ,EAAE;QACnB,MAAM,CAAC,KAAK,IAAI,MAAM,CAAC,QAAQ,CAAC;KACjC;IACD,MAAM,KAAK,GAAQ,MAAM,CAAC,KAAK,GAAG,CAAC,MAAM,CAAC,QAAQ,IAAI,CAAC,CAAC,CAAC,CAAC,SAAS;IACnE,OAAO,IAAI,CAAC,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,CAAC;AAC5C,CAAC,CAAC;AAEF,MAAM,uBAAuB,GAAG,CAC9B,OAAqB,EACrB,cAAsB,EACtB,MAAwB,EACxB,KAA0C,EAC1C,IAA0B,EAE1B,EAAE;IACF,MAAM,KAAK,GAAG,qBAAqB,CAAC,EAAE,GAAG,MAAM,EAAE,EAAE,CAAC,GAAG,KAAK,CAAC,EAAE,EAAE,GAAG,IAAI,EAAE,CAAC,CAAC;IAE5E,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,aAAa,GAAG,IAAI,aAAa,CAAC;YACtC,UAAU,EAAE,OAAO,CAAC,WAAW,EAAE,WAAW;YAC5C,YAAY,EAAE,OAAO,CAAC,WAAW,EAAE,aAAa;SACjD,CAAC,CAAC;QAEH,aAAa,CAAC,SAAS;aACpB,IAAI,CAAC,KAAK,IAAI,EAAE;YACf,IAAI,aAAa,CAAC,KAAK,EAAE;gBACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,aAAa,CAAC,KAAK,CAAC,GAAG,CAAC,iBAAiB,cAAc,OAAO,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC;gBAClG,IAAI,IAAI,CAAC,IAAI,EAAE;oBACb,OAAO,CAAC,IAAI,CAAC,CAAC;iBACf;aACF;QACH,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,GAAG,EAAE,EAAE;YACf,MAAM,CAAC,GAAG,CAAC,CAAC;QACd,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,OAAO,EACL,uBAAuB,EACvB,qBAAqB,GACtB,CAAC"}
|
|
@@ -0,0 +1,291 @@
|
|
|
1
|
+
import api from '@cloudcommerce/api';
|
|
2
|
+
import { getFirestore } from 'firebase-admin/firestore';
|
|
3
|
+
import logger from 'firebase-functions/logger';
|
|
4
|
+
import { parseStatus, parsePeriodicityToEcom, gerateId } from '../all-parses.js';
|
|
5
|
+
import { updateValueSubscription, checkAmountItemsOrder } from './update-subscription.js';
|
|
6
|
+
|
|
7
|
+
const collectionSubscription = getFirestore().collection('subscriptions');
|
|
8
|
+
const getApp = async () => {
|
|
9
|
+
return new Promise((resolve, reject) => {
|
|
10
|
+
api.get('applications?app_id=123188&fields=hidden_data')
|
|
11
|
+
.then(({ data: result }) => {
|
|
12
|
+
resolve(result[0]);
|
|
13
|
+
})
|
|
14
|
+
.catch((err) => {
|
|
15
|
+
reject(err);
|
|
16
|
+
});
|
|
17
|
+
});
|
|
18
|
+
};
|
|
19
|
+
const checkStatus = (financialStatus, GalaxPayTransaction) => {
|
|
20
|
+
if (financialStatus.current === parseStatus(GalaxPayTransaction.status)) {
|
|
21
|
+
return true;
|
|
22
|
+
}
|
|
23
|
+
if ((financialStatus.current === 'paid' || financialStatus.current === 'authorized')
|
|
24
|
+
&& parseStatus(GalaxPayTransaction.status) !== 'refunded') {
|
|
25
|
+
return true;
|
|
26
|
+
}
|
|
27
|
+
return false;
|
|
28
|
+
};
|
|
29
|
+
const checkStatusNotValid = (status) => {
|
|
30
|
+
const parsedStatus = parseStatus(status);
|
|
31
|
+
// logger.log('>> Status (', status, ')=> ', parsedStatus);
|
|
32
|
+
if (parsedStatus === 'unauthorized' || parsedStatus === 'refunded' || parsedStatus === 'voided') {
|
|
33
|
+
return true;
|
|
34
|
+
}
|
|
35
|
+
return false;
|
|
36
|
+
};
|
|
37
|
+
const checkPayDay = (strDate) => {
|
|
38
|
+
// check if today is 3 days before payday.
|
|
39
|
+
const payDay = new Date(strDate);
|
|
40
|
+
const nowTime = new Date().getTime() + 259200000; // add 3day to today
|
|
41
|
+
const now = new Date(nowTime);
|
|
42
|
+
return (now >= payDay);
|
|
43
|
+
};
|
|
44
|
+
const findOrderByTransactionId = (transactionId) => {
|
|
45
|
+
return new Promise((resolve, reject) => {
|
|
46
|
+
api.get(`orders?transactions._id=${transactionId}`)
|
|
47
|
+
.then(({ data: response }) => {
|
|
48
|
+
const resp = response; // TODO:
|
|
49
|
+
resolve(resp);
|
|
50
|
+
})
|
|
51
|
+
.catch((err) => {
|
|
52
|
+
reject(err);
|
|
53
|
+
});
|
|
54
|
+
});
|
|
55
|
+
};
|
|
56
|
+
const findOrderById = async (orderId) => new Promise((resolve) => {
|
|
57
|
+
api.get(`orders/${orderId}?fields=transactions,financial_status`).then(({ data: order }) => {
|
|
58
|
+
resolve(order);
|
|
59
|
+
});
|
|
60
|
+
});
|
|
61
|
+
const createTransaction = async (res, subscriptionLabel, plan, orderNumber, galaxpayFristTransactionId, GalaxPayTransaction, GalaxPaySubscription, GalaxPayTransactionValue, originalOrderId) => {
|
|
62
|
+
if (galaxpayFristTransactionId !== GalaxPayTransaction.galaxPayId) {
|
|
63
|
+
// let body;
|
|
64
|
+
const originalOrder = (await api.get(`orders/${originalOrderId}`)).data;
|
|
65
|
+
// logger.log('> Create new Order ')
|
|
66
|
+
if (originalOrder.transactions && originalOrder.items) {
|
|
67
|
+
const { installment } = GalaxPayTransaction;
|
|
68
|
+
const {
|
|
69
|
+
buyers, items, domain, amount,
|
|
70
|
+
} = originalOrder;
|
|
71
|
+
const channelType = originalOrder.channel_type;
|
|
72
|
+
const shippingLines = originalOrder.shipping_lines;
|
|
73
|
+
const shippingMethodLabel = originalOrder.shipping_method_label;
|
|
74
|
+
const paymentMethodLabel = originalOrder.payment_method_label;
|
|
75
|
+
const originalTransaction = originalOrder.transactions[0];
|
|
76
|
+
const quantity = installment;
|
|
77
|
+
const periodicity = parsePeriodicityToEcom(GalaxPaySubscription.periodicity);
|
|
78
|
+
const dateUpdate = GalaxPayTransaction.datetimeLastSentToOperator
|
|
79
|
+
? new Date(GalaxPayTransaction.datetimeLastSentToOperator).toISOString()
|
|
80
|
+
: new Date().toISOString();
|
|
81
|
+
// remove items free in new orders subscription
|
|
82
|
+
checkAmountItemsOrder(amount, items, plan);
|
|
83
|
+
if (amount.balance) {
|
|
84
|
+
delete amount.balance;
|
|
85
|
+
}
|
|
86
|
+
const transactionId = String(gerateId(GalaxPayTransaction.galaxPayId));
|
|
87
|
+
const transactions = [
|
|
88
|
+
{
|
|
89
|
+
amount: originalTransaction.amount,
|
|
90
|
+
status: {
|
|
91
|
+
updated_at: dateUpdate,
|
|
92
|
+
current: parseStatus(GalaxPayTransaction.status),
|
|
93
|
+
},
|
|
94
|
+
intermediator: {
|
|
95
|
+
transaction_id: GalaxPayTransaction.tid || '',
|
|
96
|
+
transaction_code: GalaxPayTransaction.authorizationCode || '',
|
|
97
|
+
},
|
|
98
|
+
payment_method: originalTransaction.payment_method,
|
|
99
|
+
app: originalTransaction.app,
|
|
100
|
+
_id: transactionId,
|
|
101
|
+
notes: `Parcela #${quantity} referente à ${subscriptionLabel} ${periodicity}`,
|
|
102
|
+
custom_fields: originalTransaction.custom_fields,
|
|
103
|
+
},
|
|
104
|
+
];
|
|
105
|
+
transactions[0].payment_link = GalaxPaySubscription.paymentLink;
|
|
106
|
+
const financialStatus = {
|
|
107
|
+
updated_at: dateUpdate,
|
|
108
|
+
current: parseStatus(GalaxPayTransaction.status),
|
|
109
|
+
};
|
|
110
|
+
const body = {
|
|
111
|
+
opened_at: new Date().toISOString(),
|
|
112
|
+
items,
|
|
113
|
+
shipping_lines: shippingLines,
|
|
114
|
+
buyers,
|
|
115
|
+
channel_type: channelType,
|
|
116
|
+
domain,
|
|
117
|
+
amount,
|
|
118
|
+
shipping_method_label: shippingMethodLabel,
|
|
119
|
+
payment_method_label: paymentMethodLabel,
|
|
120
|
+
transactions,
|
|
121
|
+
financial_status: financialStatus,
|
|
122
|
+
subscription_order: {
|
|
123
|
+
_id: originalOrderId,
|
|
124
|
+
number: parseInt(orderNumber, 10),
|
|
125
|
+
},
|
|
126
|
+
notes: `Pedido #${quantity} referente à ${subscriptionLabel} ${periodicity}`,
|
|
127
|
+
staff_notes: `Valor cobrado no GalaxPay R$${GalaxPayTransactionValue}`,
|
|
128
|
+
};
|
|
129
|
+
const { result } = await findOrderByTransactionId(transactionId);
|
|
130
|
+
if (!result.length) {
|
|
131
|
+
await api.post('orders', body);
|
|
132
|
+
// logger.log('> Created new order API')
|
|
133
|
+
return res.sendStatus(200);
|
|
134
|
+
}
|
|
135
|
+
// Order Exists
|
|
136
|
+
return res.sendStatus(200);
|
|
137
|
+
}
|
|
138
|
+
}
|
|
139
|
+
// logger.log('> Not Found Subscritpion or Transaction exists')
|
|
140
|
+
return res.sendStatus(404);
|
|
141
|
+
};
|
|
142
|
+
const handleWehook = async (req, res) => {
|
|
143
|
+
// https://docs.galaxpay.com.br/webhooks
|
|
144
|
+
// POST transaction.updateStatus update Transation status
|
|
145
|
+
// POST subscription.addTransaction add transation in subscription
|
|
146
|
+
const galaxpayHook = req.body;
|
|
147
|
+
const type = galaxpayHook.event;
|
|
148
|
+
const GalaxPaySubscription = galaxpayHook.Subscription;
|
|
149
|
+
const GalaxPaySubscriptionQuantity = GalaxPaySubscription.quantity;
|
|
150
|
+
const originalOrderId = GalaxPaySubscription.myId;
|
|
151
|
+
const GalaxPayTransaction = galaxpayHook.Transaction;
|
|
152
|
+
const GalaxPayTransactionValue = GalaxPayTransaction.value / 100;
|
|
153
|
+
logger.log(`> (App GalaxPay) WebHook ${type}, Body ${JSON.stringify(galaxpayHook)}, quantity:
|
|
154
|
+
${GalaxPaySubscriptionQuantity}, status: ${GalaxPayTransaction.status} <`);
|
|
155
|
+
// if (galaxpayHook.confirmHash) {
|
|
156
|
+
// logger.log('> ', galaxpayHook.confirmHash);
|
|
157
|
+
// }
|
|
158
|
+
try {
|
|
159
|
+
if (type === 'transaction.updateStatus') {
|
|
160
|
+
const documentSnapshot = await collectionSubscription.doc(originalOrderId).get();
|
|
161
|
+
if (documentSnapshot && documentSnapshot.exists) {
|
|
162
|
+
const docSubscription = documentSnapshot.data();
|
|
163
|
+
if (docSubscription) {
|
|
164
|
+
const {
|
|
165
|
+
galaxpayFristTransactionId, plan, orderNumber, subscriptionLabel,
|
|
166
|
+
} = docSubscription.data();
|
|
167
|
+
if (galaxpayFristTransactionId === GalaxPayTransaction.galaxPayId) {
|
|
168
|
+
// update frist payment
|
|
169
|
+
const order = await findOrderById(originalOrderId);
|
|
170
|
+
// Update value Subscription in GalaxPay
|
|
171
|
+
// logger.log('plan-> ', JSON.stringify(plan));
|
|
172
|
+
// not update subscripton canceled
|
|
173
|
+
if (!checkStatusNotValid(GalaxPayTransaction.status) && order.items) {
|
|
174
|
+
const app = await getApp();
|
|
175
|
+
await updateValueSubscription(app, originalOrderId, order.amount, order.items, plan);
|
|
176
|
+
}
|
|
177
|
+
// logger.log('ORDER: ', JSON.stringify(order.amount), ' **');
|
|
178
|
+
// logger.log('> order ', order)
|
|
179
|
+
if (order.financial_status
|
|
180
|
+
&& checkStatus(order.financial_status, GalaxPayTransaction)) {
|
|
181
|
+
return res.sendStatus(200);
|
|
182
|
+
}
|
|
183
|
+
if (order.transactions) {
|
|
184
|
+
// update payment
|
|
185
|
+
const transactionId = order.transactions[0]._id;
|
|
186
|
+
const bodyPaymentHistory = {
|
|
187
|
+
date_time: new Date().toISOString(),
|
|
188
|
+
status: parseStatus(GalaxPayTransaction.status),
|
|
189
|
+
transaction_id: transactionId,
|
|
190
|
+
notification_code: `${type};${galaxpayHook.webhookId}`,
|
|
191
|
+
flags: ['GalaxPay'],
|
|
192
|
+
}; // TODO: incompatible type=> amount and status;;
|
|
193
|
+
await api.post(`orders/${order._id}/payments_history`, bodyPaymentHistory);
|
|
194
|
+
await api.patch(`orders/${order._id}/transactions/${transactionId}`, {
|
|
195
|
+
intermediator: {
|
|
196
|
+
transaction_id: GalaxPayTransaction.tid || '',
|
|
197
|
+
transaction_code: GalaxPayTransaction.authorizationCode || '',
|
|
198
|
+
},
|
|
199
|
+
});
|
|
200
|
+
return res.sendStatus(200);
|
|
201
|
+
}
|
|
202
|
+
} else {
|
|
203
|
+
/*
|
|
204
|
+
add order, because recurrence creates all transactions in the
|
|
205
|
+
first transaction when quantity is non-zero,search for the order by ID,
|
|
206
|
+
if not found, create the transaction, and if found, check if it will be
|
|
207
|
+
necessary to update the transaction status
|
|
208
|
+
*/
|
|
209
|
+
const transactionId = String(gerateId(GalaxPayTransaction.galaxPayId));
|
|
210
|
+
const { result } = await findOrderByTransactionId(transactionId);
|
|
211
|
+
if (!result || !result.length) {
|
|
212
|
+
// logger.log('> Not found Transaction in API')
|
|
213
|
+
if (!checkStatusNotValid(GalaxPayTransaction.status)
|
|
214
|
+
&& checkPayDay(GalaxPayTransaction.payday)) {
|
|
215
|
+
// necessary to create order
|
|
216
|
+
return createTransaction(res, subscriptionLabel, plan, orderNumber, galaxpayFristTransactionId, GalaxPayTransaction, GalaxPaySubscription, GalaxPayTransactionValue, originalOrderId);
|
|
217
|
+
}
|
|
218
|
+
// TODO: status 400 or 500?
|
|
219
|
+
return res.status(404).send('Status or checkPayDay invalid');
|
|
220
|
+
}
|
|
221
|
+
const order = result[0];
|
|
222
|
+
if (order.financial_status
|
|
223
|
+
&& checkStatus(order.financial_status, GalaxPayTransaction)) {
|
|
224
|
+
// logger.log('> Equals Status')
|
|
225
|
+
return res.sendStatus(200);
|
|
226
|
+
}
|
|
227
|
+
// logger.log('> Order id ')
|
|
228
|
+
// update payment
|
|
229
|
+
const bodyPaymentHistory = {
|
|
230
|
+
date_time: new Date().toISOString(),
|
|
231
|
+
status: parseStatus(GalaxPayTransaction.status),
|
|
232
|
+
transaction_id: transactionId,
|
|
233
|
+
notification_code: `${type};${galaxpayHook.webhookId}`,
|
|
234
|
+
flags: ['GalaxPay'],
|
|
235
|
+
}; // TODO: incompatible type=> amount and status;
|
|
236
|
+
await api.post(`orders/${order._id}/payments_history`, bodyPaymentHistory);
|
|
237
|
+
// logger.log('> create Payment History')
|
|
238
|
+
await api.patch(`orders/${order._id}/transactions/${transactionId}`, {
|
|
239
|
+
intermediator: {
|
|
240
|
+
transaction_id: GalaxPayTransaction.tid || '',
|
|
241
|
+
transaction_code: GalaxPayTransaction.authorizationCode || '',
|
|
242
|
+
},
|
|
243
|
+
});
|
|
244
|
+
if (parseStatus(GalaxPayTransaction.status) === 'voided'
|
|
245
|
+
|| parseStatus(GalaxPayTransaction.status) === 'refunded') {
|
|
246
|
+
await api.patch(`orders/${order._id}`, { status: 'cancelled' });
|
|
247
|
+
// logger.log('> UPDATE ORDER OK')
|
|
248
|
+
return res.sendStatus(200);
|
|
249
|
+
}
|
|
250
|
+
// logger.log('> UPDATE Transaction OK')
|
|
251
|
+
return res.sendStatus(200);
|
|
252
|
+
}
|
|
253
|
+
}
|
|
254
|
+
}
|
|
255
|
+
//
|
|
256
|
+
return res.status(404).send('Document not found in firestore');
|
|
257
|
+
}
|
|
258
|
+
if (type === 'subscription.addTransaction') {
|
|
259
|
+
if (GalaxPaySubscriptionQuantity === 0) {
|
|
260
|
+
// find transaction in firebase
|
|
261
|
+
const documentSnapshot = await collectionSubscription.doc(originalOrderId).get();
|
|
262
|
+
if (documentSnapshot && documentSnapshot.exists) {
|
|
263
|
+
const docSubscription = documentSnapshot.data();
|
|
264
|
+
if (docSubscription) {
|
|
265
|
+
const {
|
|
266
|
+
galaxpayFristTransactionId, plan, orderNumber, subscriptionLabel,
|
|
267
|
+
} = docSubscription.data();
|
|
268
|
+
if (checkPayDay(GalaxPayTransaction.payday)) {
|
|
269
|
+
return createTransaction(res, subscriptionLabel, plan, orderNumber, galaxpayFristTransactionId, GalaxPayTransaction, GalaxPaySubscription, GalaxPayTransactionValue, originalOrderId);
|
|
270
|
+
}
|
|
271
|
+
}
|
|
272
|
+
}
|
|
273
|
+
//
|
|
274
|
+
return res.status(404).send('Document not found in firestore');
|
|
275
|
+
}
|
|
276
|
+
// Avoid retries of this GalaxPay webhook
|
|
277
|
+
return res.status(200)
|
|
278
|
+
.send(`Subscription webhook with non-zero quantity.
|
|
279
|
+
The Order will be analyzed with the updateStatus webhook.`);
|
|
280
|
+
}
|
|
281
|
+
//
|
|
282
|
+
return res.status(404).send('Unidentified webhook type');
|
|
283
|
+
} catch (err) {
|
|
284
|
+
// verificar catch
|
|
285
|
+
logger.error(err);
|
|
286
|
+
return res.sendStatus(500);
|
|
287
|
+
}
|
|
288
|
+
};
|
|
289
|
+
|
|
290
|
+
export default handleWehook;
|
|
291
|
+
// # sourceMappingURL=webhook.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhook.js","sourceRoot":"","sources":["../../../src/functions-lib/galaxpay/webhook.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
declare const readFile: (path: string) => string;
|
|
2
|
+
declare const responseError: (status: number | null, error: string, message: string) => {
|
|
3
|
+
status: number;
|
|
4
|
+
error: string;
|
|
5
|
+
message: string;
|
|
6
|
+
};
|
|
7
|
+
declare const isSandbox = false;
|
|
8
|
+
export { readFile, responseError, isSandbox, };
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
import * as fs from 'fs';
|
|
2
|
+
import url from 'url';
|
|
3
|
+
import { join as joinPath } from 'path';
|
|
4
|
+
|
|
5
|
+
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
6
|
+
const readFile = (path) => fs.readFileSync(joinPath(__dirname, path), 'utf8');
|
|
7
|
+
const responseError = (status, error, message) => {
|
|
8
|
+
return {
|
|
9
|
+
status: status || 409,
|
|
10
|
+
error,
|
|
11
|
+
message,
|
|
12
|
+
};
|
|
13
|
+
};
|
|
14
|
+
const isSandbox = false; // TODO: false
|
|
15
|
+
|
|
16
|
+
export { readFile, responseError, isSandbox };
|
|
17
|
+
// # sourceMappingURL=utils.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"utils.js","sourceRoot":"","sources":["../../src/functions-lib/utils.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,MAAM,IAAI,CAAC;AACzB,OAAO,GAAG,MAAM,KAAK,CAAC;AACtB,OAAO,EAAE,IAAI,IAAI,QAAQ,EAAE,MAAM,MAAM,CAAC;AAExC,MAAM,SAAS,GAAG,GAAG,CAAC,aAAa,CAAC,IAAI,GAAG,CAAC,GAAG,EAAE,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC;AAEnE,MAAM,QAAQ,GAAG,CAAC,IAAY,EAAE,EAAE,CAAC,EAAE,CAAC,YAAY,CAAC,QAAQ,CAAC,SAAS,EAAE,IAAI,CAAC,EAAE,MAAM,CAAC,CAAC;AAEtF,MAAM,aAAa,GAAG,CAAC,MAAqB,EAAE,KAAa,EAAE,OAAe,EAAE,EAAE;IAC9E,OAAO;QACL,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,KAAK;QACL,OAAO;KACR,CAAC;AACJ,CAAC,CAAC;AAEF,MAAM,SAAS,GAAG,KAAK,CAAC,CAAC,cAAc;AAEvC,OAAO,EACL,QAAQ,EACR,aAAa,EACb,SAAS,GACV,CAAC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import type { AppModuleBody } from '@cloudcommerce/types';
|
|
2
|
+
declare const _default: (appData: AppModuleBody) => Promise<{
|
|
3
|
+
status: number;
|
|
4
|
+
error: string;
|
|
5
|
+
message: string;
|
|
6
|
+
} | {
|
|
7
|
+
redirect_to_payment: boolean;
|
|
8
|
+
transaction: {
|
|
9
|
+
payment_link?: string | undefined;
|
|
10
|
+
payment_instructions?: string | undefined;
|
|
11
|
+
intermediator?: {
|
|
12
|
+
transaction_id?: string | undefined;
|
|
13
|
+
transaction_code?: string | undefined;
|
|
14
|
+
transaction_reference?: string | undefined;
|
|
15
|
+
payment_method?: {
|
|
16
|
+
code: string;
|
|
17
|
+
name?: string | undefined;
|
|
18
|
+
} | undefined;
|
|
19
|
+
buyer_id?: string | undefined;
|
|
20
|
+
} | undefined;
|
|
21
|
+
credit_card?: {
|
|
22
|
+
holder_name?: string | undefined;
|
|
23
|
+
avs_result_code?: string | null | undefined;
|
|
24
|
+
cvv_result_code?: string | null | undefined;
|
|
25
|
+
bin?: number | undefined;
|
|
26
|
+
company?: string | undefined;
|
|
27
|
+
last_digits?: string | undefined;
|
|
28
|
+
token?: string | undefined;
|
|
29
|
+
error_code?: "incorrect_number" | "invalid_number" | "invalid_expiry_date" | "invalid_cvc" | "expired_card" | "incorrect_cvc" | "incorrect_zip" | "incorrect_address" | "card_declined" | "processing_error" | "call_issuer" | "pick_up_card" | undefined;
|
|
30
|
+
} | undefined;
|
|
31
|
+
banking_billet?: {
|
|
32
|
+
code?: string | undefined;
|
|
33
|
+
valid_thru?: string | undefined;
|
|
34
|
+
text_lines?: string[] | undefined;
|
|
35
|
+
link?: string | undefined;
|
|
36
|
+
} | undefined;
|
|
37
|
+
loyalty_points?: {
|
|
38
|
+
name?: string | undefined;
|
|
39
|
+
program_id: string;
|
|
40
|
+
points_value: number;
|
|
41
|
+
ratio?: number | undefined;
|
|
42
|
+
} | undefined;
|
|
43
|
+
currency_id?: string | undefined;
|
|
44
|
+
currency_symbol?: string | undefined;
|
|
45
|
+
discount?: number | undefined;
|
|
46
|
+
amount: number;
|
|
47
|
+
installments?: {
|
|
48
|
+
number: number;
|
|
49
|
+
value?: number | undefined;
|
|
50
|
+
tax?: boolean | undefined;
|
|
51
|
+
total?: number | undefined;
|
|
52
|
+
} | undefined;
|
|
53
|
+
creditor_fees?: {
|
|
54
|
+
installment?: number | undefined;
|
|
55
|
+
operational?: number | undefined;
|
|
56
|
+
intermediation?: number | undefined;
|
|
57
|
+
other?: number | undefined;
|
|
58
|
+
} | undefined;
|
|
59
|
+
status?: {
|
|
60
|
+
updated_at?: string | undefined;
|
|
61
|
+
current: "pending" | "authorized" | "paid" | "unauthorized" | "refunded" | "voided" | "unknown" | "under_analysis" | "in_dispute";
|
|
62
|
+
} | undefined;
|
|
63
|
+
flags?: string[] | undefined;
|
|
64
|
+
custom_fields?: {
|
|
65
|
+
field: string;
|
|
66
|
+
value: string;
|
|
67
|
+
}[] | undefined;
|
|
68
|
+
notes?: string | undefined;
|
|
69
|
+
};
|
|
70
|
+
}>;
|
|
71
|
+
export default _default;
|