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.
Files changed (260) hide show
  1. package/.vscode/settings.json +2 -1
  2. package/CHANGELOG.md +25 -0
  3. package/action.yml +13 -5
  4. package/ecomplus-stores/monocard/functions/core/package.json +1 -1
  5. package/ecomplus-stores/monocard/functions/events/package.json +1 -1
  6. package/ecomplus-stores/monocard/functions/modules/package.json +1 -1
  7. package/ecomplus-stores/monocard/functions/passport/package.json +1 -1
  8. package/ecomplus-stores/tia-sonia/functions/core/package.json +1 -1
  9. package/ecomplus-stores/tia-sonia/functions/events/package.json +1 -1
  10. package/ecomplus-stores/tia-sonia/functions/modules/package.json +1 -1
  11. package/ecomplus-stores/tia-sonia/functions/passport/package.json +1 -1
  12. package/package.json +8 -9
  13. package/packages/api/fetch-polyfill.js +1 -1
  14. package/packages/api/package.json +1 -1
  15. package/packages/api/tests/index.test.ts +0 -1
  16. package/packages/apps/correios/package.json +1 -1
  17. package/packages/apps/custom-payment/CHANGELOG.md +1 -0
  18. package/packages/apps/custom-payment/README.md +1 -0
  19. package/packages/apps/custom-payment/lib/custom-payment-create-transaction.d.ts +68 -0
  20. package/packages/apps/custom-payment/lib/custom-payment-create-transaction.js +55 -0
  21. package/packages/apps/custom-payment/lib/custom-payment-create-transaction.js.map +1 -0
  22. package/packages/apps/custom-payment/lib/custom-payment-list-payments.d.ts +3 -0
  23. package/packages/apps/custom-payment/lib/custom-payment-list-payments.js +79 -0
  24. package/packages/apps/custom-payment/lib/custom-payment-list-payments.js.map +1 -0
  25. package/packages/apps/custom-payment/lib/custom-payment.d.ts +68 -0
  26. package/packages/apps/custom-payment/lib/custom-payment.js +11 -0
  27. package/packages/apps/custom-payment/lib/custom-payment.js.map +1 -0
  28. package/packages/apps/custom-payment/lib/index.d.ts +1 -0
  29. package/packages/apps/custom-payment/lib/index.js +2 -0
  30. package/packages/apps/custom-payment/lib/index.js.map +1 -0
  31. package/packages/apps/custom-payment/package.json +27 -0
  32. package/packages/apps/custom-payment/src/custom-payment-create-transaction.ts +67 -0
  33. package/packages/apps/custom-payment/src/custom-payment-list-payments.ts +96 -0
  34. package/packages/apps/custom-payment/src/custom-payment.ts +11 -0
  35. package/packages/apps/custom-payment/src/index.ts +1 -0
  36. package/packages/apps/custom-payment/tsconfig.json +6 -0
  37. package/packages/apps/custom-shipping/package.json +1 -1
  38. package/packages/apps/discounts/package.json +1 -1
  39. package/packages/apps/emails/package.json +2 -2
  40. package/packages/apps/frenet/package.json +1 -1
  41. package/packages/apps/galaxpay/CHANGELOG.md +1 -0
  42. package/packages/apps/galaxpay/README.md +1 -0
  43. package/packages/apps/galaxpay/assets/onload-expression.js +23 -0
  44. package/packages/apps/galaxpay/events.js +1 -0
  45. package/packages/apps/galaxpay/lib/functions-lib/all-parses.d.ts +5 -0
  46. package/packages/apps/galaxpay/lib/functions-lib/all-parses.js +79 -0
  47. package/packages/apps/galaxpay/lib/functions-lib/all-parses.js.map +1 -0
  48. package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.d.ts +3 -0
  49. package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js +75 -0
  50. package/packages/apps/galaxpay/lib/functions-lib/ecom/events-to-galaxpay.js.map +1 -0
  51. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.d.ts +11 -0
  52. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.js +60 -0
  53. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-access.js.map +1 -0
  54. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.d.ts +2 -0
  55. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.js +20 -0
  56. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/create-axios.js.map +1 -0
  57. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.d.ts +2 -0
  58. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.js +32 -0
  59. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/auth/gerate-token.js.map +1 -0
  60. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.d.ts +30 -0
  61. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.js +73 -0
  62. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/handle-plans.js.map +1 -0
  63. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.d.ts +8 -0
  64. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js +56 -0
  65. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/update-subscription.js.map +1 -0
  66. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.d.ts +3 -0
  67. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js +291 -0
  68. package/packages/apps/galaxpay/lib/functions-lib/galaxpay/webhook.js.map +1 -0
  69. package/packages/apps/galaxpay/lib/functions-lib/utils.d.ts +8 -0
  70. package/packages/apps/galaxpay/lib/functions-lib/utils.js +17 -0
  71. package/packages/apps/galaxpay/lib/functions-lib/utils.js.map +1 -0
  72. package/packages/apps/galaxpay/lib/galaxpay-create-transaction.d.ts +71 -0
  73. package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js +199 -0
  74. package/packages/apps/galaxpay/lib/galaxpay-create-transaction.js.map +1 -0
  75. package/packages/apps/galaxpay/lib/galaxpay-events.d.ts +6 -0
  76. package/packages/apps/galaxpay/lib/galaxpay-events.js +21 -0
  77. package/packages/apps/galaxpay/lib/galaxpay-events.js.map +1 -0
  78. package/packages/apps/galaxpay/lib/galaxpay-list-payments.d.ts +7 -0
  79. package/packages/apps/galaxpay/lib/galaxpay-list-payments.js +105 -0
  80. package/packages/apps/galaxpay/lib/galaxpay-list-payments.js.map +1 -0
  81. package/packages/apps/galaxpay/lib/galaxpay.d.ts +76 -0
  82. package/packages/apps/galaxpay/lib/galaxpay.js +12 -0
  83. package/packages/apps/galaxpay/lib/galaxpay.js.map +1 -0
  84. package/packages/apps/galaxpay/lib/index.d.ts +1 -0
  85. package/packages/apps/galaxpay/lib/index.js +3 -0
  86. package/packages/apps/galaxpay/lib/index.js.map +1 -0
  87. package/packages/apps/galaxpay/package.json +36 -0
  88. package/packages/apps/galaxpay/scripts/build.sh +5 -0
  89. package/packages/apps/galaxpay/src/functions-lib/all-parses.ts +91 -0
  90. package/packages/apps/galaxpay/src/functions-lib/ecom/events-to-galaxpay.ts +85 -0
  91. package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/create-access.ts +80 -0
  92. package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/create-axios.ts +21 -0
  93. package/packages/apps/galaxpay/src/functions-lib/galaxpay/auth/gerate-token.ts +36 -0
  94. package/packages/apps/galaxpay/src/functions-lib/galaxpay/handle-plans.ts +92 -0
  95. package/packages/apps/galaxpay/src/functions-lib/galaxpay/update-subscription.ts +73 -0
  96. package/packages/apps/galaxpay/src/functions-lib/galaxpay/webhook.ts +381 -0
  97. package/packages/apps/galaxpay/src/functions-lib/utils.ts +23 -0
  98. package/packages/apps/galaxpay/src/galaxpay-create-transaction.ts +240 -0
  99. package/packages/apps/galaxpay/src/galaxpay-events.ts +28 -0
  100. package/packages/apps/galaxpay/src/galaxpay-list-payments.ts +130 -0
  101. package/packages/apps/galaxpay/src/galaxpay.ts +12 -0
  102. package/packages/apps/galaxpay/src/index.ts +2 -0
  103. package/packages/apps/galaxpay/tsconfig.json +6 -0
  104. package/packages/apps/galaxpay/types/config-app.d.ts +99 -0
  105. package/packages/apps/infinitepay/lib/infinitepay.js +1 -2
  106. package/packages/apps/infinitepay/lib/infinitepay.js.map +1 -1
  107. package/packages/apps/infinitepay/lib/ip-create-transaction.d.ts +1 -2
  108. package/packages/apps/infinitepay/lib/ip-create-transaction.js +3 -2
  109. package/packages/apps/infinitepay/lib/ip-create-transaction.js.map +1 -1
  110. package/packages/apps/infinitepay/lib/ip-list-payments.d.ts +1 -2
  111. package/packages/apps/infinitepay/lib/ip-list-payments.js.map +1 -1
  112. package/packages/apps/infinitepay/package.json +3 -3
  113. package/packages/apps/infinitepay/src/infinitepay.ts +1 -2
  114. package/packages/apps/infinitepay/src/ip-create-transaction.ts +8 -6
  115. package/packages/apps/infinitepay/src/ip-list-payments.ts +5 -3
  116. package/packages/apps/jadlog/CHANGELOG.md +1 -0
  117. package/packages/apps/jadlog/README.md +1 -0
  118. package/packages/apps/jadlog/lib/index.d.ts +1 -0
  119. package/packages/apps/jadlog/lib/index.js +2 -0
  120. package/packages/apps/jadlog/lib/index.js.map +1 -0
  121. package/packages/apps/jadlog/lib/jadlog.d.ts +2 -0
  122. package/packages/apps/jadlog/lib/jadlog.js +6 -0
  123. package/packages/apps/jadlog/lib/jadlog.js.map +1 -0
  124. package/packages/apps/jadlog/lib-mjs/calculate-jadlog.mjs +408 -0
  125. package/packages/apps/jadlog/lib-mjs/deadlines/range-0.mjs +147 -0
  126. package/packages/apps/jadlog/lib-mjs/deadlines/range-1.mjs +1149 -0
  127. package/packages/apps/jadlog/lib-mjs/deadlines/range-2.mjs +1137 -0
  128. package/packages/apps/jadlog/lib-mjs/deadlines/range-3.mjs +1638 -0
  129. package/packages/apps/jadlog/lib-mjs/deadlines/range-4.mjs +1089 -0
  130. package/packages/apps/jadlog/lib-mjs/deadlines/range-5.mjs +1101 -0
  131. package/packages/apps/jadlog/lib-mjs/deadlines/range-6.mjs +1893 -0
  132. package/packages/apps/jadlog/lib-mjs/deadlines/range-7.mjs +1371 -0
  133. package/packages/apps/jadlog/lib-mjs/deadlines/range-8.mjs +1401 -0
  134. package/packages/apps/jadlog/lib-mjs/deadlines/range-9.mjs +963 -0
  135. package/packages/apps/jadlog/lib-mjs/jadlog-get-deadlines.mjs +32 -0
  136. package/packages/apps/jadlog/package.json +28 -0
  137. package/packages/apps/jadlog/src/index.ts +1 -0
  138. package/packages/apps/jadlog/src/jadlog.ts +7 -0
  139. package/packages/apps/jadlog/tsconfig.json +6 -0
  140. package/packages/apps/mercadopago/lib/mercadopago.js +1 -2
  141. package/packages/apps/mercadopago/lib/mercadopago.js.map +1 -1
  142. package/packages/apps/mercadopago/lib/mp-create-transaction.d.ts +1 -2
  143. package/packages/apps/mercadopago/lib/mp-create-transaction.js +3 -2
  144. package/packages/apps/mercadopago/lib/mp-create-transaction.js.map +1 -1
  145. package/packages/apps/mercadopago/lib/mp-list-payments.d.ts +1 -2
  146. package/packages/apps/mercadopago/lib/mp-list-payments.js +2 -1
  147. package/packages/apps/mercadopago/lib/mp-list-payments.js.map +1 -1
  148. package/packages/apps/mercadopago/package.json +3 -3
  149. package/packages/apps/mercadopago/src/mercadopago.ts +1 -2
  150. package/packages/apps/mercadopago/src/mp-create-transaction.ts +12 -10
  151. package/packages/apps/mercadopago/src/mp-list-payments.ts +9 -7
  152. package/packages/apps/pagarme/lib/pagarme-create-transaction.js.map +1 -1
  153. package/packages/apps/pagarme/lib/pagarme-list-payments.d.ts +1 -2
  154. package/packages/apps/pagarme/lib/pagarme-list-payments.js.map +1 -1
  155. package/packages/apps/pagarme/package.json +3 -3
  156. package/packages/apps/pagarme/src/pagarme-create-transaction.ts +5 -3
  157. package/packages/apps/pagarme/src/pagarme-list-payments.ts +5 -3
  158. package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js +1 -1
  159. package/packages/apps/pix/lib/functions-lib/pix-auth/construtor.js.map +1 -1
  160. package/packages/apps/pix/lib/pix-create-transaction.d.ts +1 -2
  161. package/packages/apps/pix/lib/pix-create-transaction.js +6 -5
  162. package/packages/apps/pix/lib/pix-create-transaction.js.map +1 -1
  163. package/packages/apps/pix/lib/pix-list-payments.d.ts +1 -2
  164. package/packages/apps/pix/lib/pix-list-payments.js.map +1 -1
  165. package/packages/apps/pix/lib/pix-webhook.js +1 -1
  166. package/packages/apps/pix/lib/pix-webhook.js.map +1 -1
  167. package/packages/apps/pix/lib/pix.js +1 -2
  168. package/packages/apps/pix/lib/pix.js.map +1 -1
  169. package/packages/apps/pix/package.json +3 -3
  170. package/packages/apps/pix/src/functions-lib/pix-auth/construtor.ts +1 -1
  171. package/packages/apps/pix/src/pix-create-transaction.ts +10 -9
  172. package/packages/apps/pix/src/pix-list-payments.ts +5 -3
  173. package/packages/apps/pix/src/pix-webhook.ts +1 -1
  174. package/packages/apps/pix/src/pix.ts +1 -2
  175. package/packages/apps/tiny-erp/package.json +3 -3
  176. package/packages/cli/package.json +1 -1
  177. package/packages/config/package.json +1 -1
  178. package/packages/emails/package.json +2 -2
  179. package/packages/events/lib/firebase.js +2 -0
  180. package/packages/events/lib/firebase.js.map +1 -1
  181. package/packages/events/package.json +4 -3
  182. package/packages/events/src/firebase.ts +2 -0
  183. package/packages/firebase/lib/config.d.ts +10 -0
  184. package/packages/firebase/lib/config.js +13 -0
  185. package/packages/firebase/lib/config.js.map +1 -1
  186. package/packages/firebase/lib/init.d.ts +0 -1
  187. package/packages/firebase/lib/init.js +0 -1
  188. package/packages/firebase/lib/init.js.map +1 -1
  189. package/packages/firebase/package.json +3 -4
  190. package/packages/firebase/src/config.ts +14 -0
  191. package/packages/firebase/src/init.ts +0 -1
  192. package/packages/i18n/lib/en_us/i19get$1back.txt +1 -0
  193. package/packages/i18n/lib/en_us.d.ts +1 -0
  194. package/packages/i18n/lib/en_us.js +1 -0
  195. package/packages/i18n/lib/en_us.js.map +1 -1
  196. package/packages/i18n/lib/pt_br/i19get$1back.txt +1 -0
  197. package/packages/i18n/lib/pt_br/i19get.txt +1 -1
  198. package/packages/i18n/lib/pt_br.d.ts +2 -1
  199. package/packages/i18n/lib/pt_br.js +2 -1
  200. package/packages/i18n/lib/pt_br.js.map +1 -1
  201. package/packages/i18n/package.json +1 -1
  202. package/packages/i18n/src/en_us.ts +1 -0
  203. package/packages/i18n/src/pt_br.ts +2 -1
  204. package/packages/modules/lib/firebase/call-app-module.js +71 -51
  205. package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
  206. package/packages/modules/package.json +6 -3
  207. package/packages/modules/src/firebase/call-app-module.ts +37 -24
  208. package/packages/passport/package.json +3 -3
  209. package/packages/ssr/lib/firebase.js +1 -2
  210. package/packages/ssr/lib/firebase.js.map +1 -1
  211. package/packages/ssr/package.json +5 -5
  212. package/packages/ssr/src/firebase.ts +1 -2
  213. package/packages/storefront/.eslintrc.cjs +1 -1
  214. package/packages/storefront/.nvmrc +1 -0
  215. package/packages/storefront/dist/client/HeaderButtons.f1c92fd8.js +1 -0
  216. package/packages/storefront/dist/client/Prices.795d082c.js +1 -0
  217. package/packages/storefront/dist/client/ProductCard.f477b7a1.js +1 -0
  218. package/packages/storefront/dist/client/assets/_...slug_.15766f41.css +1 -0
  219. package/packages/storefront/dist/client/assets/index.e6a09532.css +1 -0
  220. package/packages/storefront/dist/client/assets/server.4d9646d8.css +1 -0
  221. package/packages/storefront/dist/client/chunks/HeaderButtons.27ab2180.js +1 -0
  222. package/packages/storefront/dist/client/chunks/{LoginForm.83fec3a1.js → LoginForm.36774236.js} +1 -1
  223. package/packages/storefront/dist/client/chunks/Prices.vue_vue_type_script_setup_true_lang.522e4ac4.js +1 -0
  224. package/packages/storefront/dist/client/chunks/_plugin-vue_export-helper.979dc9e3.js +1 -0
  225. package/packages/storefront/dist/client/chunks/{price.130e6005.js → price.ecf7fed4.js} +1 -1
  226. package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.6c012e5d.js +1 -0
  227. package/packages/storefront/dist/client/client.8b4e336b.js +1 -0
  228. package/packages/storefront/dist/client/hoisted.f6ee2883.js +1 -0
  229. package/packages/storefront/dist/client/sw.js +1 -1
  230. package/packages/storefront/dist/server/entry.mjs +704 -70
  231. package/packages/storefront/package.json +12 -9
  232. package/packages/storefront/src/lib/assets/base.css +4 -0
  233. package/packages/storefront/src/lib/components/Prices.vue +165 -0
  234. package/packages/storefront/src/lib/components/ProductCard.vue +36 -0
  235. package/packages/storefront/src/lib/components/globals/Fade.vue +171 -0
  236. package/packages/storefront/src/lib/composables/use-component-variant.ts +13 -0
  237. package/packages/storefront/src/lib/composables/use-prices.ts +172 -0
  238. package/packages/storefront/src/lib/layouts/BaseBody.astro +1 -0
  239. package/packages/storefront/src/lib/pages/_vue.ts +13 -1
  240. package/packages/storefront/src/lib/state/modules-info.ts +1 -1
  241. package/packages/storefront/src/vue-globals.d.ts +9 -2
  242. package/packages/storefront/tailwind.config.cjs +1 -0
  243. package/packages/storefront/uno.config.cjs +1 -0
  244. package/packages/types/package.json +1 -1
  245. package/store.renovate.json +2 -1
  246. package/packages/storefront/dist/client/HeaderButtons.1968a9ac.js +0 -1
  247. package/packages/storefront/dist/client/Price.c4aab3ea.js +0 -1
  248. package/packages/storefront/dist/client/assets/_...slug_.580c5aa4.css +0 -1
  249. package/packages/storefront/dist/client/chunks/HeaderButtons.5a0e371e.js +0 -1
  250. package/packages/storefront/dist/client/chunks/runtime-core.esm-bundler.4dae6bc1.js +0 -1
  251. package/packages/storefront/dist/client/chunks/runtime-dom.esm-bundler.7a999c6c.js +0 -1
  252. package/packages/storefront/dist/client/client.79a40b9d.js +0 -1
  253. package/packages/storefront/dist/client/hoisted.cce93d56.js +0 -1
  254. package/packages/storefront/src/lib/components/Price/PriceCashback.vue +0 -13
  255. package/packages/storefront/src/lib/components/Price/PriceCompare.vue +0 -13
  256. package/packages/storefront/src/lib/components/Price/PriceDiscountLabel.vue +0 -13
  257. package/packages/storefront/src/lib/components/Price/PriceInstallments.vue +0 -13
  258. package/packages/storefront/src/lib/components/Price/PriceSale.vue +0 -13
  259. package/packages/storefront/src/lib/components/Price/PriceWithDiscount.vue +0 -13
  260. 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":"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"}
@@ -0,0 +1,3 @@
1
+ import type { Request, Response } from 'firebase-functions';
2
+ declare const handleWehook: (req: Request, res: Response) => Promise<Response<any>>;
3
+ export default handleWehook;
@@ -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;