cloudcommerce 0.16.4 → 0.18.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 +41 -0
- package/package.json +1 -1
- package/packages/api/package.json +1 -1
- package/packages/apps/affilate-program/package.json +1 -1
- package/packages/apps/correios/package.json +1 -1
- package/packages/apps/custom-payment/package.json +1 -1
- package/packages/apps/custom-shipping/package.json +1 -1
- package/packages/apps/datafrete/package.json +1 -1
- package/packages/apps/discounts/package.json +1 -1
- package/packages/apps/emails/package.json +1 -1
- package/packages/apps/fb-conversions/package.json +1 -1
- package/packages/apps/flash-courier/package.json +1 -1
- package/packages/apps/frenet/package.json +1 -1
- package/packages/apps/galaxpay/package.json +1 -1
- package/packages/apps/google-analytics/package.json +1 -1
- package/packages/apps/jadlog/package.json +1 -1
- package/packages/apps/loyalty-points/package.json +1 -1
- package/packages/apps/melhor-envio/package.json +1 -1
- package/packages/apps/mercadopago/package.json +1 -1
- package/packages/apps/pagarme/package.json +1 -1
- package/packages/apps/paghiper/package.json +1 -1
- package/packages/apps/pix/package.json +1 -1
- package/packages/apps/tiny-erp/package.json +1 -1
- package/packages/apps/webhooks/package.json +1 -1
- package/packages/cli/package.json +1 -1
- package/packages/config/package.json +1 -1
- package/packages/emails/package.json +1 -1
- package/packages/events/lib/firebase.js +0 -2
- package/packages/events/lib/firebase.js.map +1 -1
- package/packages/events/package.json +1 -2
- package/packages/events/src/firebase.ts +0 -2
- package/packages/feeds/package.json +1 -1
- package/packages/firebase/lib/config.d.ts +0 -3
- package/packages/firebase/lib/config.js +0 -3
- package/packages/firebase/lib/config.js.map +1 -1
- package/packages/firebase/package.json +1 -1
- package/packages/firebase/src/config.ts +0 -3
- package/packages/i18n/package.json +1 -1
- package/packages/modules/lib/firebase/call-app-module.js +0 -12
- package/packages/modules/lib/firebase/call-app-module.js.map +1 -1
- package/packages/modules/package.json +1 -2
- package/packages/modules/src/firebase/call-app-module.ts +0 -12
- package/packages/passport/package.json +1 -1
- package/packages/ssr/lib/firebase/serve-storefront.js +144 -45
- package/packages/ssr/lib/firebase/serve-storefront.js.map +1 -1
- package/packages/ssr/package.json +1 -1
- package/packages/ssr/src/firebase/serve-storefront.ts +153 -49
- package/packages/storefront/.eslintrc.cjs +1 -0
- package/packages/storefront/dist/client/_astro/{Carousel.f39be3c0.js → Carousel.533b4b19.js} +1 -1
- package/packages/storefront/dist/client/_astro/HeroSlider.359c76cc.js +1 -0
- package/packages/storefront/dist/client/_astro/PitchBar.75d2999f.js +1 -0
- package/packages/storefront/dist/client/_astro/Prices.bd0d3474.js +1 -0
- package/packages/storefront/dist/client/_astro/ProductShelf.83c66e3e.js +1 -0
- package/packages/storefront/dist/client/_astro/ShopHeader.f66a56cb.js +4 -0
- package/packages/storefront/dist/client/_astro/_...slug_.b19aabfc.css +1 -0
- package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.4e6dc3af.js +1 -0
- package/packages/storefront/dist/client/_astro/client.24201f93.js +1 -0
- package/packages/storefront/dist/client/_astro/{img.517fec8e.js → img.22ad29ec.js} +1 -1
- package/packages/storefront/dist/client/_astro/{index.33347cbd.js → index.ddc27a3a.js} +1 -1
- package/packages/storefront/dist/client/_astro/modules-info.d6bd555b.js +1 -0
- package/packages/storefront/dist/client/_astro/{runtime-dom.esm-bundler.00b967e0.js → runtime-dom.esm-bundler.578d6e91.js} +1 -1
- package/packages/storefront/dist/client/sw.js +1 -1
- package/packages/storefront/dist/server/chunks/{_...06f412d0.mjs → _...ed1d4ed7.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/{account@_@astro.d58b2d34.mjs → account@_@astro.97e06bd2.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/{endpoint@_@js.ce919661.mjs → endpoint@_@js.e9171d18.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/{fallback@_@astro.6c7c4acd.mjs → fallback@_@astro.4a1f8c08.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/{index@_@astro.f7e2409d.mjs → index@_@astro.7472fe37.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/{index@_@astro.8e359cb4.mjs → index@_@astro.de13f221.mjs} +2 -2
- package/packages/storefront/dist/server/chunks/pages/{_...slug_.astro.f0a57b8d.mjs → _...slug_.astro.9e731356.mjs} +279 -133
- package/packages/storefront/dist/server/chunks/pages/{endpoint.js.1d889b2f.mjs → endpoint.js.96a9b7f9.mjs} +1 -1
- package/packages/storefront/dist/server/chunks/pages/{fallback.astro.42f81a9a.mjs → fallback.astro.3ebb4e85.mjs} +3 -2
- package/packages/storefront/dist/server/chunks/pages/{index.astro.533679e1.mjs → index.astro.8d786fcb.mjs} +27 -25
- package/packages/storefront/dist/server/entry.mjs +8 -8
- package/packages/storefront/dist/server/renderers.mjs +4 -3
- package/packages/storefront/package.json +1 -1
- package/packages/storefront/src/lib/components/Drawer.vue +6 -2
- package/packages/storefront/src/lib/components/globals/AImg.vue +2 -1
- package/packages/storefront/src/lib/composables/use-prices.ts +10 -8
- package/packages/storefront/src/lib/composables/use-product-card.ts +15 -15
- package/packages/storefront/src/lib/layouts/BaseBody.astro +3 -3
- package/packages/storefront/src/lib/layouts/main/use-page-sections.ts +5 -0
- package/packages/storefront/src/lib/layouts/{use-page-layout.ts → use-page-header.ts} +24 -4
- package/packages/storefront/src/lib/ssr-context.ts +1 -1
- package/packages/storefront/src/lib/state/modules-info.ts +25 -0
- package/packages/storefront/src/lib/state/shopping-cart.ts +6 -0
- package/packages/types/package.json +1 -1
- package/packages/apps/infinitepay/CHANGELOG.md +0 -1
- package/packages/apps/infinitepay/README.md +0 -1
- package/packages/apps/infinitepay/assets/onload-expression.js +0 -57
- package/packages/apps/infinitepay/lib/functions-lib/add-installments.d.ts +0 -55
- package/packages/apps/infinitepay/lib/functions-lib/add-installments.js +0 -63
- package/packages/apps/infinitepay/lib/functions-lib/add-installments.js.map +0 -1
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.d.ts +0 -14
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.js +0 -67
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-access.js.map +0 -1
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-axios.d.ts +0 -2
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-axios.js +0 -19
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/create-axios.js.map +0 -1
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/oauth.d.ts +0 -2
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/oauth.js +0 -25
- package/packages/apps/infinitepay/lib/functions-lib/ip-auth/oauth.js.map +0 -1
- package/packages/apps/infinitepay/lib/functions-lib/utils.d.ts +0 -8
- package/packages/apps/infinitepay/lib/functions-lib/utils.js +0 -17
- package/packages/apps/infinitepay/lib/functions-lib/utils.js.map +0 -1
- package/packages/apps/infinitepay/lib/index.d.ts +0 -1
- package/packages/apps/infinitepay/lib/index.js +0 -3
- package/packages/apps/infinitepay/lib/index.js.map +0 -1
- package/packages/apps/infinitepay/lib/infinitepay.d.ts +0 -80
- package/packages/apps/infinitepay/lib/infinitepay.js +0 -12
- package/packages/apps/infinitepay/lib/infinitepay.js.map +0 -1
- package/packages/apps/infinitepay/lib/ip-create-transaction.d.ts +0 -75
- package/packages/apps/infinitepay/lib/ip-create-transaction.js +0 -324
- package/packages/apps/infinitepay/lib/ip-create-transaction.js.map +0 -1
- package/packages/apps/infinitepay/lib/ip-list-payments.d.ts +0 -7
- package/packages/apps/infinitepay/lib/ip-list-payments.js +0 -146
- package/packages/apps/infinitepay/lib/ip-list-payments.js.map +0 -1
- package/packages/apps/infinitepay/lib/ip-webhook.d.ts +0 -5
- package/packages/apps/infinitepay/lib/ip-webhook.js +0 -152
- package/packages/apps/infinitepay/lib/ip-webhook.js.map +0 -1
- package/packages/apps/infinitepay/package.json +0 -38
- package/packages/apps/infinitepay/scripts/build.sh +0 -4
- package/packages/apps/infinitepay/src/functions-lib/add-installments.ts +0 -78
- package/packages/apps/infinitepay/src/functions-lib/ip-auth/create-access.ts +0 -89
- package/packages/apps/infinitepay/src/functions-lib/ip-auth/create-axios.ts +0 -20
- package/packages/apps/infinitepay/src/functions-lib/ip-auth/oauth.ts +0 -30
- package/packages/apps/infinitepay/src/functions-lib/utils.ts +0 -23
- package/packages/apps/infinitepay/src/index.ts +0 -2
- package/packages/apps/infinitepay/src/infinitepay.ts +0 -12
- package/packages/apps/infinitepay/src/ip-create-transaction.ts +0 -441
- package/packages/apps/infinitepay/src/ip-list-payments.ts +0 -178
- package/packages/apps/infinitepay/src/ip-webhook.ts +0 -183
- package/packages/apps/infinitepay/tsconfig.json +0 -6
- package/packages/apps/infinitepay/webhook.js +0 -1
- package/packages/storefront/dist/client/_astro/HeroSlider.3d4a1d1c.js +0 -1
- package/packages/storefront/dist/client/_astro/PitchBar.c53e6d0b.js +0 -1
- package/packages/storefront/dist/client/_astro/Prices.de6df3cb.js +0 -1
- package/packages/storefront/dist/client/_astro/ProductShelf.f013b3ee.js +0 -1
- package/packages/storefront/dist/client/_astro/ShopHeader.c0ba5061.js +0 -4
- package/packages/storefront/dist/client/_astro/_...slug_.45bc69ca.css +0 -1
- package/packages/storefront/dist/client/_astro/_plugin-vue_export-helper.d3aaeb0d.js +0 -1
- package/packages/storefront/dist/client/_astro/client.2d950540.js +0 -1
- package/packages/storefront/dist/client/_astro/format-money.3b884fcb.js +0 -1
- package/packages/storefront/dist/client/_astro/idle-callback.889bf0ea.js +0 -1
- package/packages/storefront/dist/client/_astro/modules-info.ad27b027.js +0 -1
|
@@ -1 +0,0 @@
|
|
|
1
|
-
{"version":3,"file":"ip-webhook.js","sourceRoot":"","sources":["../src/ip-webhook.ts"],"names":[],"mappings":"AAGA,OAAO,kCAAkC,CAAC;AAC1C,OAAO,GAAG,MAAM,oBAAoB,CAAC;AACrC,OAAO,MAAM,MAAM,2BAA2B,CAAC;AAC/C,OAAO,EAAE,YAAY,EAAE,MAAM,0BAA0B,CAAC;AACxD,OAAO,KAAK,SAAS,MAAM,uBAAuB,CAAC;AACnD,OAAO,MAAM,MAAM,oCAAoC,CAAC;AACxD,OAAO,QAAQ,MAAM,WAAW,CAAC;AAQjC,MAAM,WAAW,GAAG,CAAC,KAAU,EAAE,GAAa,EAAE,MAAe,EAAE,EAAE;IACjE,MAAM,EAAE,QAAQ,EAAE,GAAG,KAAK,CAAC;IAC3B,IAAI,QAAQ,EAAE;QACZ,MAAM,GAAG,QAAQ,CAAC,MAAM,CAAC;QACzB,MAAM,GAAG,GAAG;YACV,OAAO,EAAE,kCAAkC,MAAM,EAAE;YACnD,GAAG,EAAE,EAAE;YACP,MAAM,EAAE,CAAC;YACT,QAAQ,EAAE,EAAE;SACb,CAAC;QACF,GAAG,CAAC,GAAG,GAAG,KAAK,CAAC,MAAM,IAAI,KAAK,CAAC,MAAM,CAAC,GAAG,CAAC;QAC3C,GAAG,CAAC,MAAM,GAAG,MAAM,IAAI,GAAG,CAAC;QAC3B,GAAG,CAAC,QAAQ,GAAG,IAAI,CAAC,SAAS,CAAC,QAAQ,CAAC,IAAI,CAAC,CAAC;QAC7C,MAAM,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC;KACnB;IAED,OAAO,GAAG,CAAC,IAAI,CAAC;QACd,MAAM,EAAE,MAAM,IAAI,GAAG;QACrB,OAAO,EAAE,iCAAiC;KAC3C,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,iBAAiB,GAAG,CACxB,sBAA6F,EAC7F,aAAqB,EACO,EAAE;IAC9B,OAAO,IAAI,OAAO,CAAC,CAAC,OAAO,EAAE,MAAM,EAAE,EAAE;QACrC,MAAM,WAAW,GAAG,sBAAsB,CAAC,GAAG,CAAC,aAAa,CAAC,CAAC;QAC9D,WAAW,CAAC,GAAG,EAAE;aACd,IAAI,CAAC,CAAC,gBAAgB,EAAE,EAAE;YACzB,IAAI,gBAAgB,CAAC,MAAM,EAAE;gBAC3B,MAAM,YAAY,GAAG,gBAAgB,CAAC,IAAI,EAAuB,CAAC;gBAElE,MAAM,EAAE,OAAO,EAAE,GAAG,YAAY,CAAC;gBACjC,MAAM,EAAE,MAAM,EAAE,GAAG,YAAY,CAAC;gBAChC,MAAM,EAAE,oBAAoB,EAAE,GAAG,YAAY,CAAC;gBAC9C,IAAI,OAAO,IAAI,MAAM,IAAI,oBAAoB,EAAE;oBAC7C,OAAO,CAAC;wBACN,OAAO,EAAE,MAAM,EAAE,oBAAoB;qBACtC,CAAC,CAAC;iBACJ;gBACD,MAAM,CAAC,IAAI,KAAK,CAAC,kCAAkC,CAAC,CAAC,CAAC;aACvD;YACD,MAAM,CAAC,IAAI,KAAK,CAAC,uBAAuB,CAAC,CAAC,CAAC;QAC7C,CAAC,CAAC;aACD,KAAK,CAAC,CAAC,CAAM,EAAE,EAAE;YAChB,MAAM,CAAC,CAAC,CAAC,CAAC;QACZ,CAAC,CAAC,CAAC;IACP,CAAC,CAAC,CAAC;AACL,CAAC,CAAC;AAEF,MAAM,OAAO,GAAG,KAAK,EAAE,GAAY,EAAE,GAAa,EAAE,EAAE;IACpD,kFAAkF;IAClF,6DAA6D;IAC7D,MAAM,MAAM,GAAG,GAAG,CAAC,KAAK,IAAI,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAC1C,MAAM,aAAa,GAAG,4BAA4B,CAAC;IAEnD,MAAM,CAAC,GAAG,CAAC,+BAA+B,MAAM,CAAC,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,IAAI,CAAC,CAAC;IAEnE,IAAI,MAAM,IAAI,MAAM,KAAK,SAAS,EAAE;QAClC,MAAM,sBAAsB,GAAG,YAAY,EAAE,CAAC,UAAU,CAAC,aAAa,CAAC,CAAC;QACxE,2CAA2C;QAC3C,MAAM,KAAK,GAAG,GAAG,CAAC,IAAI,CAAC,0BAA0B,CAAC;QAClD,IAAI,KAAK,EAAE;YACT,IAAI,OAAmB,CAAC;YACxB,IAAI,MAAc,CAAC;YACnB,IAAI,oBAA4B,CAAC;YACjC,IAAI,KAAa,CAAC;YAClB,IAAI;gBACF,MAAM,OAAO,GAAG,MAAM,iBAAiB,CAAC,sBAAsB,EAAE,KAAK,CAAC,CAAC;gBACvE,OAAO,GAAG,OAAO,CAAC,OAAO,CAAC;gBAC1B,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;gBACxB,oBAAoB,GAAG,OAAO,CAAC,oBAAoB,CAAC;gBACpD,4EAA4E;gBAC5E,IAAI,MAAM,IAAI,OAAO,IAAI,oBAAoB,EAAE;oBAC7C,oEAAoE;oBACpE,MAAM,SAAS,GAAG,GAAG,CAAC,OAAO,CAAC,sBAAsB,CAAC,CAAC;oBACtD,MAAM,kBAAkB,GAAG,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,SAAS,CAAC,GAAG,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;yBAC7E,QAAQ,EAAE,CAAC;oBACd,IAAI,kBAAkB,KAAK,SAAS,EAAE;wBACpC,uBAAuB;wBACvB,KAAK,GAAG,CAAC,MAAM,GAAG,CAAC,GAAG,CAAC,UAAU,OAAO,EAAE,CAAC,CAAC,CAAC,IAAI,CAAC;wBAClD,gDAAgD;wBAChD,MAAM,WAAW,GAAG,KAAK,CAAC,YAAY,EAAE,IAAI,CAAC,CAAC,EAAE,aAAa,EAAE,EAAE,EAAE;4BACjE,OAAO,aAAa;mCACf,aAAa,CAAC,qBAAqB,KAAK,GAAG,oBAAoB,EAAE,CAAC;wBACzE,CAAC,CAAC,CAAC;wBACH,oEAAoE;wBAEpE,MAAM,kBAAkB,GAAG;4BACzB,SAAS,EAAE,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE;4BACnC,MAAM,EAAE,MAAM;4BACd,KAAK,EAAE,CAAC,aAAa,CAAC;yBAChB,CAAC,CAAC,+CAA+C;wBACzD,IAAI,WAAW,EAAE;4BACf,kBAAkB,CAAC,cAAc,GAAG,WAAW,CAAC,GAAG,CAAC;4BAEpD,MAAM,GAAG,CAAC,IAAI,CAAC,UAAU,OAAO,mBAAmB,EAAE,kBAAkB,CAAC,CAAC;4BAEzE,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC,CAAC,mBAAmB;4BAExC,IAAI,EAAE,KAAK,EAAE,GAAG,WAAW,CAAC;4BAC5B,KAAK,GAAG,KAAK,IAAI,KAAK,CAAC,OAAO,CAAC,eAAe,EAAE,cAAc,CAAC,CAAC,CAAC,kBAAkB;4BACnF,KAAK,GAAG,GAAG,KAAK,iBAAiB,CAAC;4BAClC,WAAW,CAAC,KAAK,GAAG,KAAK,CAAC;4BAE1B,MAAM,GAAG,CAAC,KAAK,CACb,UAAU,KAAK,CAAC,GAAG,iBAAiB,WAAW,CAAC,GAAG,EAAE,EACrD,EAAE,KAAK,EAAE,CACV,CAAC;4BAEF,MAAM,SAAS,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;4BAC3C,sBAAsB,CAAC,GAAG,CAAC,KAAK,CAAC;iCAC9B,GAAG,CAAC;gCACH,MAAM,EAAE,MAAM;gCACd,SAAS;6BACV,EAAE,EAAE,KAAK,EAAE,IAAI,EAAE,CAAC;iCAClB,KAAK,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;4BAEvB,OAAO,IAAI,CAAC;yBACb;wBAED,OAAO,GAAG,CAAC,IAAI,CAAC;4BACd,MAAM,EAAE,GAAG;4BACX,OAAO,EAAE,+CAA+C,OAAO,EAAE;yBAClE,CAAC,CAAC;qBACJ;oBAED,yEAAyE;oBACzE,OAAO,GAAG,CAAC,IAAI,CAAC;wBACd,MAAM,EAAE,GAAG;wBACX,OAAO,EAAE,oDAAoD;qBAC9D,CAAC,CAAC;iBACJ;gBAED,OAAO,GAAG,CAAC,IAAI,CAAC;oBACd,MAAM,EAAE,GAAG;oBACX,OAAO,EAAE,sBAAsB,KAAK,oCAAoC;iBACzE,CAAC,CAAC;aACJ;YAAC,OAAO,GAAQ,EAAE;gBACjB,MAAM,CAAC,KAAK,CAAC,0BAA0B,EAAE,GAAG,CAAC,CAAC;gBAC9C,OAAO,WAAW,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;aAC9B;SACF;aAAM;YACL,OAAO,GAAG,CAAC,IAAI,CAAC;gBACd,MAAM,EAAE,GAAG;gBACX,OAAO,EAAE,sBAAsB,KAAK,oCAAoC;aACzE,CAAC,CAAC;SACJ;KACF;IACD,OAAO,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;AAC7B,CAAC,CAAC;AAEF,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,OAAO,EAAE,SAAS;SACf,MAAM,CAAC,MAAM,CAAC,GAAG,EAAE,CAAC,oBAAoB,CAAC,MAAM,CAAC;SAChD,KAAK,CAAC,SAAS,CAAC,KAAK,EAAE,GAAG,EAAE,GAAG,EAAE,EAAE;QAClC,MAAM,EAAE,MAAM,EAAE,GAAG,GAAG,CAAC;QAEvB,IAAI,MAAM,KAAK,MAAM,EAAE;YACrB,OAAO,CAAC,GAAG,EAAE,GAAG,CAAC,CAAC;SACnB;aAAM;YACL,GAAG,CAAC,UAAU,CAAC,GAAG,CAAC,CAAC;SACrB;IACH,CAAC,CAAC;CACL,CAAC"}
|
|
@@ -1,38 +0,0 @@
|
|
|
1
|
-
{
|
|
2
|
-
"name": "@cloudcommerce/app-infinitepay",
|
|
3
|
-
"type": "module",
|
|
4
|
-
"version": "0.16.4",
|
|
5
|
-
"description": "E-Com Plus Cloud Commerce app to integrate InfinitePay",
|
|
6
|
-
"main": "lib/infinitepay.js",
|
|
7
|
-
"exports": {
|
|
8
|
-
".": "./lib/infinitepay.js",
|
|
9
|
-
"./webhook": "./lib/ip-webhook.js"
|
|
10
|
-
},
|
|
11
|
-
"repository": {
|
|
12
|
-
"type": "git",
|
|
13
|
-
"url": "git+https://github.com/ecomplus/cloud-commerce.git",
|
|
14
|
-
"directory": "packages/apps/infinitepay"
|
|
15
|
-
},
|
|
16
|
-
"author": "E-Com Club Softwares para E-commerce <ti@e-com.club>",
|
|
17
|
-
"license": "Apache 2.0 with Commons Clause",
|
|
18
|
-
"bugs": {
|
|
19
|
-
"url": "https://github.com/ecomplus/cloud-commerce/issues"
|
|
20
|
-
},
|
|
21
|
-
"homepage": "https://github.com/ecomplus/cloud-commerce/tree/main/packages/apps/infinitepay#readme",
|
|
22
|
-
"scripts": {
|
|
23
|
-
"build": "bash scripts/build.sh"
|
|
24
|
-
},
|
|
25
|
-
"dependencies": {
|
|
26
|
-
"@cloudcommerce/api": "workspace:*",
|
|
27
|
-
"@cloudcommerce/firebase": "workspace:*",
|
|
28
|
-
"axios": "^1.4.0",
|
|
29
|
-
"crypto-js": "^4.1.1",
|
|
30
|
-
"firebase-admin": "^11.9.0",
|
|
31
|
-
"firebase-functions": "^4.4.1"
|
|
32
|
-
},
|
|
33
|
-
"devDependencies": {
|
|
34
|
-
"@cloudcommerce/types": "workspace:*",
|
|
35
|
-
"@firebase/app-types": "^0.9.0",
|
|
36
|
-
"@types/crypto-js": "^4.1.1"
|
|
37
|
-
}
|
|
38
|
-
}
|
|
@@ -1,78 +0,0 @@
|
|
|
1
|
-
import type { ListPaymentsResponse } from '@cloudcommerce/types';
|
|
2
|
-
|
|
3
|
-
const standardMonthlyInterest = [
|
|
4
|
-
4.20,
|
|
5
|
-
1.3390,
|
|
6
|
-
1.5041,
|
|
7
|
-
1.5992,
|
|
8
|
-
1.6630,
|
|
9
|
-
1.7057,
|
|
10
|
-
2.3454,
|
|
11
|
-
2.3053,
|
|
12
|
-
2.2755,
|
|
13
|
-
2.2490,
|
|
14
|
-
2.2306,
|
|
15
|
-
2.2111,
|
|
16
|
-
];
|
|
17
|
-
|
|
18
|
-
type Gateway = ListPaymentsResponse['payment_gateways'][number]
|
|
19
|
-
|
|
20
|
-
const addInstallments = (
|
|
21
|
-
total: number | undefined,
|
|
22
|
-
installments: { [key: string]: any },
|
|
23
|
-
gateway: Gateway,
|
|
24
|
-
response?: ListPaymentsResponse,
|
|
25
|
-
) => {
|
|
26
|
-
const maxInterestFree = installments.max_interest_free;
|
|
27
|
-
const minInstallment = installments.min_installment || 5;
|
|
28
|
-
const qtyPosssibleInstallment = total ? Math.floor((total / minInstallment)) : 12;
|
|
29
|
-
const maxInstallments = installments.max_number
|
|
30
|
-
|| (qtyPosssibleInstallment < 12 ? qtyPosssibleInstallment : 12);
|
|
31
|
-
|
|
32
|
-
const monthlyInterest = installments.monthly_interest || 0;
|
|
33
|
-
let monthlyInstallmentInterest = 0;
|
|
34
|
-
|
|
35
|
-
if (maxInterestFree <= 1) {
|
|
36
|
-
const IPInterestMonthly = standardMonthlyInterest[maxInstallments - 1];
|
|
37
|
-
|
|
38
|
-
monthlyInstallmentInterest = (monthlyInterest > IPInterestMonthly ? monthlyInterest
|
|
39
|
-
: IPInterestMonthly);
|
|
40
|
-
}
|
|
41
|
-
|
|
42
|
-
if (maxInstallments > 1) {
|
|
43
|
-
if (response) {
|
|
44
|
-
response.installments_option = {
|
|
45
|
-
min_installment: minInstallment,
|
|
46
|
-
max_number: maxInterestFree > 1 ? maxInterestFree : maxInstallments,
|
|
47
|
-
monthly_interest: monthlyInstallmentInterest,
|
|
48
|
-
};
|
|
49
|
-
}
|
|
50
|
-
|
|
51
|
-
// list installment options
|
|
52
|
-
gateway.installment_options = [];
|
|
53
|
-
if (total) {
|
|
54
|
-
for (let number = 2; number <= maxInstallments; number++) {
|
|
55
|
-
const tax = !(maxInterestFree >= number);
|
|
56
|
-
let interest;
|
|
57
|
-
if (tax) {
|
|
58
|
-
const IPMonthInterestRate = standardMonthlyInterest[number - 1];
|
|
59
|
-
interest = (monthlyInterest > IPMonthInterestRate ? monthlyInterest : IPMonthInterestRate)
|
|
60
|
-
/ 100;
|
|
61
|
-
}
|
|
62
|
-
const value = !tax ? (total / number)
|
|
63
|
-
: total * (interest / (1 - (1 + interest) ** -number));
|
|
64
|
-
|
|
65
|
-
if (value && value >= 1) {
|
|
66
|
-
gateway.installment_options.push({
|
|
67
|
-
number,
|
|
68
|
-
value,
|
|
69
|
-
tax,
|
|
70
|
-
});
|
|
71
|
-
}
|
|
72
|
-
}
|
|
73
|
-
}
|
|
74
|
-
}
|
|
75
|
-
return { response, gateway };
|
|
76
|
-
};
|
|
77
|
-
|
|
78
|
-
export default addInstallments;
|
|
@@ -1,89 +0,0 @@
|
|
|
1
|
-
import type { AxiosInstance } from 'axios';
|
|
2
|
-
import { getFirestore } from 'firebase-admin/firestore';
|
|
3
|
-
import logger from 'firebase-functions/logger';
|
|
4
|
-
import auth from './oauth';
|
|
5
|
-
import Axios from './create-axios';
|
|
6
|
-
|
|
7
|
-
const firestoreColl = 'infinitepayTokens';
|
|
8
|
-
|
|
9
|
-
type Option = {
|
|
10
|
-
clientId?: string;
|
|
11
|
-
clientSecret?: string;
|
|
12
|
-
typeScope: string,
|
|
13
|
-
isSandbox?: boolean
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
export default class IPAxios {
|
|
17
|
-
preparing: Promise<unknown>;
|
|
18
|
-
axios: AxiosInstance | undefined;
|
|
19
|
-
cardTokenization: string | undefined;
|
|
20
|
-
|
|
21
|
-
constructor(options: Option) {
|
|
22
|
-
const {
|
|
23
|
-
clientId,
|
|
24
|
-
clientSecret,
|
|
25
|
-
typeScope,
|
|
26
|
-
isSandbox,
|
|
27
|
-
} = options;
|
|
28
|
-
|
|
29
|
-
const self = this;
|
|
30
|
-
|
|
31
|
-
let documentRef;
|
|
32
|
-
if (firestoreColl) {
|
|
33
|
-
documentRef = getFirestore()
|
|
34
|
-
.doc(`${firestoreColl}/${typeScope}`);
|
|
35
|
-
}
|
|
36
|
-
|
|
37
|
-
this.preparing = new Promise((resolve, reject) => {
|
|
38
|
-
// typeScope === card, if scope card_tokenization
|
|
39
|
-
// typeScope === transaction, if scope for transaction
|
|
40
|
-
|
|
41
|
-
let scope = 'transactions';
|
|
42
|
-
if (typeScope === 'card') {
|
|
43
|
-
scope = 'card_tokenization';
|
|
44
|
-
}
|
|
45
|
-
|
|
46
|
-
const authenticate = (accessToken: string) => {
|
|
47
|
-
if (scope === 'transactions') {
|
|
48
|
-
self.axios = Axios(accessToken, isSandbox);
|
|
49
|
-
} else {
|
|
50
|
-
self.cardTokenization = accessToken;
|
|
51
|
-
}
|
|
52
|
-
resolve(self);
|
|
53
|
-
};
|
|
54
|
-
|
|
55
|
-
const handleAuth = () => {
|
|
56
|
-
logger.log('>(App: InfinitePay) Auth ');
|
|
57
|
-
|
|
58
|
-
if (clientId && clientSecret) {
|
|
59
|
-
auth(clientId, clientSecret, scope, isSandbox)
|
|
60
|
-
.then((resp: any) => {
|
|
61
|
-
authenticate(resp.access_token);
|
|
62
|
-
if (documentRef) {
|
|
63
|
-
documentRef.set({ ...resp, isSandbox }).catch(logger.error);
|
|
64
|
-
}
|
|
65
|
-
})
|
|
66
|
-
.catch(reject);
|
|
67
|
-
} else {
|
|
68
|
-
reject(new Error('InfinitePay credentials unset'));
|
|
69
|
-
}
|
|
70
|
-
};
|
|
71
|
-
|
|
72
|
-
if (documentRef) {
|
|
73
|
-
documentRef.get()
|
|
74
|
-
.then((documentSnapshot) => {
|
|
75
|
-
const data = documentSnapshot.data() || null;
|
|
76
|
-
if (documentSnapshot.exists && data && data.expires_in
|
|
77
|
-
&& new Date(data.expires_in).getTime() > Date.now()) {
|
|
78
|
-
authenticate(data.access_token);
|
|
79
|
-
} else {
|
|
80
|
-
handleAuth();
|
|
81
|
-
}
|
|
82
|
-
})
|
|
83
|
-
.catch(logger.error);
|
|
84
|
-
} else {
|
|
85
|
-
handleAuth();
|
|
86
|
-
}
|
|
87
|
-
});
|
|
88
|
-
}
|
|
89
|
-
}
|
|
@@ -1,20 +0,0 @@
|
|
|
1
|
-
import axios from 'axios';
|
|
2
|
-
|
|
3
|
-
export default (accessToken: null | string, isSandbox?: boolean) => {
|
|
4
|
-
// https://github.com/ecomplus/app-infinitepay/issues/77#issuecomment-1189795488
|
|
5
|
-
|
|
6
|
-
const headers = {
|
|
7
|
-
'Content-Type': 'application/json',
|
|
8
|
-
};
|
|
9
|
-
if (accessToken) {
|
|
10
|
-
// logger.log('> token ', accessToken);
|
|
11
|
-
Object.assign(headers, {
|
|
12
|
-
Authorization: `Bearer ${accessToken}`,
|
|
13
|
-
});
|
|
14
|
-
}
|
|
15
|
-
|
|
16
|
-
return axios.create({
|
|
17
|
-
baseURL: `https://api${isSandbox ? '-staging' : ''}.infinitepay.io`,
|
|
18
|
-
headers,
|
|
19
|
-
});
|
|
20
|
-
};
|
|
@@ -1,30 +0,0 @@
|
|
|
1
|
-
import logger from 'firebase-functions/logger';
|
|
2
|
-
import Axios from './create-axios';
|
|
3
|
-
|
|
4
|
-
export default (
|
|
5
|
-
clienId: string,
|
|
6
|
-
clientSecret: string,
|
|
7
|
-
scope: string,
|
|
8
|
-
isSandbox?: boolean,
|
|
9
|
-
) => new Promise((resolve, reject) => {
|
|
10
|
-
// https://github.com/ecomplus/app-infinitepay/issues/77#issuecomment-1189795488
|
|
11
|
-
const axios = Axios(null, isSandbox);
|
|
12
|
-
|
|
13
|
-
const request = (isRetry?: boolean) => {
|
|
14
|
-
logger.log(`>>(App: InfinitePay) Auth ${scope} ${isSandbox ? 'Sandbox' : ''}`);
|
|
15
|
-
axios.post('/v2/oauth/token', {
|
|
16
|
-
grant_type: 'client_credentials',
|
|
17
|
-
client_id: clienId,
|
|
18
|
-
client_secret: clientSecret,
|
|
19
|
-
scope,
|
|
20
|
-
})
|
|
21
|
-
.then(({ data }) => resolve(data))
|
|
22
|
-
.catch((err: any) => {
|
|
23
|
-
if (!isRetry && err.response && err.response.status >= 429) {
|
|
24
|
-
setTimeout(() => request(true), 7000);
|
|
25
|
-
}
|
|
26
|
-
reject(err);
|
|
27
|
-
});
|
|
28
|
-
};
|
|
29
|
-
request();
|
|
30
|
-
});
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
import * as fs from 'node:fs';
|
|
2
|
-
import url from 'node:url';
|
|
3
|
-
import { join as joinPath } from 'node:path';
|
|
4
|
-
|
|
5
|
-
const __dirname = url.fileURLToPath(new URL('.', import.meta.url));
|
|
6
|
-
|
|
7
|
-
const readFile = (path: string) => fs.readFileSync(joinPath(__dirname, path), 'utf8');
|
|
8
|
-
|
|
9
|
-
const responseError = (status: number | null, error: string, message: string) => {
|
|
10
|
-
return {
|
|
11
|
-
status: status || 409,
|
|
12
|
-
error,
|
|
13
|
-
message: `${message} (shopkeeper must configure the application)`,
|
|
14
|
-
};
|
|
15
|
-
};
|
|
16
|
-
|
|
17
|
-
const isSandbox = false; // TODO: false
|
|
18
|
-
|
|
19
|
-
export {
|
|
20
|
-
readFile,
|
|
21
|
-
responseError,
|
|
22
|
-
isSandbox,
|
|
23
|
-
};
|
|
@@ -1,12 +0,0 @@
|
|
|
1
|
-
import type { AppModuleBody } from '@cloudcommerce/types';
|
|
2
|
-
import '@cloudcommerce/firebase/lib/init';
|
|
3
|
-
import handleListPayments from './ip-list-payments';
|
|
4
|
-
import handleCreateTransaction from './ip-create-transaction';
|
|
5
|
-
|
|
6
|
-
export const listPayments = async (modBody: AppModuleBody) => {
|
|
7
|
-
return handleListPayments(modBody);
|
|
8
|
-
};
|
|
9
|
-
|
|
10
|
-
export const createTransaction = async (modBody: AppModuleBody) => {
|
|
11
|
-
return handleCreateTransaction(modBody);
|
|
12
|
-
};
|