@tagadapay/plugin-sdk 2.7.41 → 2.8.1

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.
@@ -210,6 +210,15 @@ export async function loadLocalConfig(configName = 'default', defaultConfig) {
210
210
  */
211
211
  export async function createRawPluginConfig() {
212
212
  try {
213
+ // Only run in true localhost - production should use meta tags
214
+ const isLocalhost = typeof window !== 'undefined' &&
215
+ (window.location.hostname === 'localhost' ||
216
+ window.location.hostname.includes('.localhost') ||
217
+ window.location.hostname.includes('127.0.0.1'));
218
+ if (!isLocalhost) {
219
+ console.log('[createRawPluginConfig] Not localhost, skipping - will use meta tags in production');
220
+ return undefined;
221
+ }
213
222
  const storeId = resolveEnvValue('TAGADA_STORE_ID');
214
223
  const accountId = resolveEnvValue('TAGADA_ACCOUNT_ID');
215
224
  const basePath = resolveEnvValue('TAGADA_BASE_PATH');
@@ -23,7 +23,7 @@ export type { ToggleOrderBumpResponse, VipOffer, VipPreviewResponse } from './co
23
23
  export type { StoreConfig } from './core/resources/storeConfig';
24
24
  export { FunnelEventType } from './core/resources/funnel';
25
25
  export type { BackNavigationEventData, DirectNavigationEventData, FunnelContextUpdateRequest, FunnelContextUpdateResponse, FunnelAction as FunnelEvent, FunnelInitializeRequest, FunnelInitializeResponse, FunnelNavigateRequest, FunnelNavigateResponse, FunnelNavigationAction, FunnelNavigationResult, NextEvent, PaymentSuccessEventData, SimpleFunnelContext } from './core/resources/funnel';
26
- export { ApplePayButton, ExpressPaymentMethodsProvider, GooglePayButton, TagadaProvider, formatMoney, getAvailableLanguages, queryKeys, useApiMutation, useApiQuery, useAuth, useCheckout, useCheckoutToken, useClubOffers, useCountryOptions, useCurrency, useCustomer, useCustomerInfos, useCustomerOrders, useCustomerSubscriptions, useDiscounts, useExpressPaymentMethods, useFunnel, useGeoLocation, useGoogleAutocomplete, useISOData, useInvalidateQuery, useLanguageImport, useLogin, useOffers, useOrder, useOrderBump, usePayment, usePluginConfig, usePostPurchases, usePreloadQuery, useProducts, usePromotions, useRegionOptions, useRemappableParams, useShippingRates, useSimpleFunnel, useStoreConfig, useTagadaContext, useThreeds, useThreedsModal, useTranslation, useVipOffers } from './react';
26
+ export { ApplePayButton, ExpressPaymentMethodsProvider, formatMoney, getAvailableLanguages, GooglePayButton, queryKeys, TagadaProvider, useApiMutation, useApiQuery, useAuth, useCheckout, useCheckoutToken, useClubOffers, useCountryOptions, useCurrency, useCustomer, useCustomerInfos, useCustomerOrders, useCustomerSubscriptions, useDiscounts, useExpressPaymentMethods, useFunnel, useGeoLocation, useGoogleAutocomplete, useInvalidateQuery, useISOData, useLanguageImport, useLogin, useOffers, useOrder, useOrderBump, usePayment, usePluginConfig, usePostPurchases, usePreloadQuery, useProducts, usePromotions, useRegionOptions, useRemappableParams, useShippingRates, useSimpleFunnel, useStoreConfig, useTagadaContext, useThreeds, useThreedsModal, useTranslation, useVipOffers } from './react';
27
27
  export type { TranslateFunction, TranslationText, UseTranslationOptions, UseTranslationResult } from './react/hooks/useTranslation';
28
28
  export type { ClubOffer, ClubOfferItem, ClubOfferLineItem, ClubOfferSummary, UseClubOffersOptions, UseClubOffersResult } from './react/hooks/useClubOffers';
29
29
  export type { UseLoginOptions, UseLoginResult } from './react/hooks/useLogin';
package/dist/v2/index.js CHANGED
@@ -15,4 +15,4 @@ export * from './core/utils/products';
15
15
  export * from './core/pathRemapping';
16
16
  export { FunnelEventType } from './core/resources/funnel';
17
17
  // React exports (hooks and components only, types are exported above)
18
- export { ApplePayButton, ExpressPaymentMethodsProvider, GooglePayButton, TagadaProvider, formatMoney, getAvailableLanguages, queryKeys, useApiMutation, useApiQuery, useAuth, useCheckout, useCheckoutToken, useClubOffers, useCountryOptions, useCurrency, useCustomer, useCustomerInfos, useCustomerOrders, useCustomerSubscriptions, useDiscounts, useExpressPaymentMethods, useFunnel, useGeoLocation, useGoogleAutocomplete, useISOData, useInvalidateQuery, useLanguageImport, useLogin, useOffers, useOrder, useOrderBump, usePayment, usePluginConfig, usePostPurchases, usePreloadQuery, useProducts, usePromotions, useRegionOptions, useRemappableParams, useShippingRates, useSimpleFunnel, useStoreConfig, useTagadaContext, useThreeds, useThreedsModal, useTranslation, useVipOffers } from './react';
18
+ export { ApplePayButton, ExpressPaymentMethodsProvider, formatMoney, getAvailableLanguages, GooglePayButton, queryKeys, TagadaProvider, useApiMutation, useApiQuery, useAuth, useCheckout, useCheckoutToken, useClubOffers, useCountryOptions, useCurrency, useCustomer, useCustomerInfos, useCustomerOrders, useCustomerSubscriptions, useDiscounts, useExpressPaymentMethods, useFunnel, useGeoLocation, useGoogleAutocomplete, useInvalidateQuery, useISOData, useLanguageImport, useLogin, useOffers, useOrder, useOrderBump, usePayment, usePluginConfig, usePostPurchases, usePreloadQuery, useProducts, usePromotions, useRegionOptions, useRemappableParams, useShippingRates, useSimpleFunnel, useStoreConfig, useTagadaContext, useThreeds, useThreedsModal, useTranslation, useVipOffers } from './react';
@@ -9,7 +9,7 @@ export interface UsePostPurchasesQueryOptions {
9
9
  autoInitializeCheckout?: boolean;
10
10
  }
11
11
  export interface UsePostPurchasesQueryResult {
12
- offers: PostPurchaseOffer[];
12
+ offers: PostPurchaseOffer[] | undefined;
13
13
  isLoading: boolean;
14
14
  error: Error | null;
15
15
  acceptOffer: (offerId: string, items: PostPurchaseOfferItem[]) => Promise<{
@@ -165,7 +165,7 @@ export function usePostPurchasesQuery(options) {
165
165
  }
166
166
  }, [session?.customerId, orderId, postPurchasesResource, fetchOrderSummary]);
167
167
  // Main post-purchase offers query
168
- const { data: offers = [], isLoading, error, refetch, } = useQuery({
168
+ const { data: offers = undefined, isLoading, error, refetch, } = useQuery({
169
169
  queryKey: ['post-purchase-offers', orderId],
170
170
  queryFn: async () => {
171
171
  // Double-check token is available before making the request
@@ -193,7 +193,7 @@ export function usePostPurchasesQuery(options) {
193
193
  });
194
194
  // Auto-initialize checkout sessions if enabled
195
195
  useEffect(() => {
196
- if (autoInitializeCheckout && offers.length > 0 && session?.customerId && isSessionInitialized) {
196
+ if (autoInitializeCheckout && offers && offers.length > 0 && session?.customerId && isSessionInitialized) {
197
197
  // Initialize checkout sessions for all offers
198
198
  offers.forEach((offer) => {
199
199
  // The initializeOfferCheckout function will check if already initialized or initializing
@@ -293,21 +293,21 @@ export function usePostPurchasesQuery(options) {
293
293
  return await postPurchasesResource.initCheckoutSessionWithVariants(offerId, orderId, lineItems);
294
294
  },
295
295
  getOffer: (offerId) => {
296
- return offers.find(offer => offer.id === offerId);
296
+ return offers?.find(offer => offer.id === offerId);
297
297
  },
298
298
  getTotalValue: () => {
299
- return offers.reduce((total, offer) => {
299
+ return offers?.reduce((total, offer) => {
300
300
  return total + offer.summaries.reduce((summaryTotal, summary) => {
301
301
  return summaryTotal + summary.totalAmount;
302
302
  }, 0);
303
- }, 0);
303
+ }, 0) ?? 0;
304
304
  },
305
305
  getTotalSavings: () => {
306
- return offers.reduce((total, offer) => {
306
+ return offers?.reduce((total, offer) => {
307
307
  return total + offer.summaries.reduce((summaryTotal, summary) => {
308
308
  return summaryTotal + (summary.totalAmount - summary.totalAdjustedAmount);
309
309
  }, 0);
310
- }, 0);
310
+ }, 0) ?? 0;
311
311
  },
312
312
  // Checkout session management - exact same as V1
313
313
  getCheckoutSessionState: (offerId) => {
@@ -177,7 +177,6 @@ rawPluginConfig, }) {
177
177
  const config = getEnvironmentConfig(detectedEnv);
178
178
  console.log('envFromVariables', envFromVariables);
179
179
  console.log('detectedEnv', detectedEnv);
180
- console.log('config', config);
181
180
  // Log environment detection for debugging
182
181
  if (environment) {
183
182
  console.log(`[TagadaSDK] Using explicit environment: ${environment}`);
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@tagadapay/plugin-sdk",
3
- "version": "2.7.41",
3
+ "version": "2.8.1",
4
4
  "description": "Modern React SDK for building Tagada Pay plugins",
5
5
  "main": "dist/index.js",
6
6
  "types": "dist/index.d.ts",