diff --git a/platforms/android/CLAUDE.md b/platforms/android/CLAUDE.md
index c0a439b1..37f6c795 100644
--- a/platforms/android/CLAUDE.md
+++ b/platforms/android/CLAUDE.md
@@ -15,7 +15,7 @@ The sample is a separate Gradle composite (`samples/MobileBuyIntegration/setting
## Where to make changes
-- Library source: `lib/src/main/java/com/shopify/checkoutkit/`. Flat package at the top level with a few subpackages (`errorevents/`, `lifecycleevents/`, `pixelevents/`).
+- Library source: `lib/src/main/java/com/shopify/checkoutkit/`. Flat package at the top level with a few subpackages (`errorevents/`, `lifecycleevents/`).
- Library tests: `lib/src/test/java/com/shopify/checkoutkit/`. "No test, no merge" is a listed reject criterion in the repo-root `.github/CONTRIBUTING.md`.
- Java interop is a first-class concern — the library is commonly consumed from Java code. `lib/src/test/java/com/shopify/checkoutkit/InteropTest.java` exercises the public API from Java specifically; treat breakage there as a consumer-facing issue.
@@ -28,7 +28,7 @@ The sample is a separate Gradle composite (`samples/MobileBuyIntegration/setting
- **`FallbackWebView.kt`** — minimal WebView swapped in during error recovery when the primary path fails.
- **`CheckoutBridge.kt`** — the JS ↔ native bridge. `SCHEMA_VERSION` is a cross-boundary contract with the web checkout team; bumping it requires coordination with them.
- **`Configuration.kt`** — runtime config container (color scheme, preload enable, log level, error recovery policy). Any config change clears the WebView cache.
-- **`CheckoutEventProcessor.kt`** + **`DefaultCheckoutEventProcessor`** — consumer-implemented lifecycle interface (completion, failure, pixel events, permission prompts, link clicks). Changes here are consumer API changes.
+- **`CheckoutEventProcessor.kt`** + **`DefaultCheckoutEventProcessor`** — consumer-implemented lifecycle interface (completion, failure, permission prompts, link clicks). Changes here are consumer API changes.
## Testing patterns
diff --git a/platforms/android/README.md b/platforms/android/README.md
index 00006621..8fb983e3 100644
--- a/platforms/android/README.md
+++ b/platforms/android/README.md
@@ -6,7 +6,7 @@
-**Shopify's Checkout Kit for Android** is a library that enables Android apps to provide the world's highest converting, customizable, one-page checkout within an app. The presented experience is a fully-featured checkout that preserves all of the store customizations: Checkout UI extensions, Functions, Web Pixels, and more. It also provides idiomatic defaults such as support for light and dark mode, and convenient developer APIs to embed, customize and follow the lifecycle of the checkout experience. Check out our developer blog to [learn how Checkout Kit is built](https://www.shopify.com/partners/blog/mobile-checkout-sdks-for-ios-and-android).
+**Shopify's Checkout Kit for Android** is a library that enables Android apps to provide the world's highest converting, customizable, one-page checkout within an app. The presented experience is a fully-featured checkout that preserves all of the store customizations: Checkout UI extensions, Functions, and more. It also provides idiomatic defaults such as support for light and dark mode, and convenient developer APIs to embed, customize and follow the lifecycle of the checkout experience. Check out our developer blog to [learn how Checkout Kit is built](https://www.shopify.com/partners/blog/mobile-checkout-sdks-for-ios-and-android).
**Note**: This library was previously published as `com.shopify:checkout-sheet-kit`. It has been renamed to `com.shopify:checkout-kit`. Update your Gradle/Maven dependency if upgrading from an older version.
@@ -30,7 +30,6 @@
- [Error handling](#error-handling)
- [`CheckoutException`](#checkoutexception)
- [Exception Hierarchy](#exception-hierarchy)
- - [Integrating with Web Pixels, monitoring behavioral data](#integrating-with-web-pixels-monitoring-behavioral-data)
- [Integrating identity \& customer accounts](#integrating-identity--customer-accounts)
- [Cart: buyer bag, identity, and preferences](#cart-buyer-bag-identity-and-preferences)
- [Multipass](#multipass)
@@ -368,11 +367,6 @@ val processor = object : DefaultCheckoutEventProcessor(activity) {
// `Unrecognized scheme for link clicked in checkout` along with the uri.
}
- override fun onWebPixelEvent(event: PixelEvent) {
- // Called when a web pixel event is emitted in checkout.
- // Use this to submit events to your analytics system, see below.
- }
-
override fun onShowFileChooser(
webView: WebView,
filePathCallback: ValueCallback>,
@@ -414,7 +408,6 @@ There are some caveats to note when this scenario occurs:
1. The checkout experience may look different to buyers. Though the sheet kit will attempt to load any checkoput customizations for the storefront, there is no guarantee they will show in recovery mode.
2. The `onCheckoutCompleted(checkoutCompletedEvent: CheckoutCompletedEvent)` will be emitted with partial data. Invocations will only received the order ID via `checkoutCompletedEvent.orderDetails.id`.
-3. `onWebPixelEvent(event: PixelEvent)` lifecycle methods will **not** be emitted.
Should you wish to opt-out of this fallback experience entirely, you can do so by overriding `shouldRecoverFromError`. Errors given to the `onCheckoutFailed(error: CheckoutException)` lifecycle method will contain an `isRecoverable` property by default indicating whether the request should be retried or not.
@@ -495,49 +488,6 @@ classDiagram
}
```
-### Integrating with Web Pixels, monitoring behavioral data
-
-App developers can use [lifecycle events](#monitoring-the-lifecycle-of-a-checkout-session) to
-monitor and log the status of a checkout session.
-
-For behavioral monitoring, [standard](https://shopify.dev/docs/api/web-pixels-api/standard-events) and [custom](https://shopify.dev/docs/api/web-pixels-api/emitting-data) Web Pixel events will be relayed back to your application through the `onWebPixelEvent` checkout event processor function. App developers should only subscribe to pixel events if they have proper levels of consent from merchants/buyers and are responsible for adherence to local regulations like GDPR and ePrivacy directive before disseminating these events to first-party and third-party systems.
-
-Here's how you might intercept these events:
-
-```kotlin
-fun onWebPixelEvent(event: PixelEvent) {
- if (!hasPermissionToCaptureEvents()) {
- return
- }
-
- when (event) {
- is StandardPixelEvent -> processStandardEvent(event)
- is CustomPixelEvent -> processCustomEvent(event)
- }
-}
-
-fun processStandardEvent(event: StandardPixelEvent) {
- val endpoint = "https://example.com/pixel?id=${accountID}&uid=${userId}"
-
- val payload = AnalyticsPayload(
- eventTime = event.timestamp,
- action = event.name,
- details = event.data.checkout
- )
-
- // Send events to third-party servers
- httpClient.post(endpoint, payload)
-}
-
-// ... other functions, incl. processCustomEvent(event)
-```
-
-> [!Note]
-> You may need to augment these events with customer/session information derived from app state.
-
-> [!Note]
-> The `customData` attribute of CustomPixelEvent can take on any shape. As such, this attribute will be returned as a String. Client applications should define a custom data type and deserialize the `customData` string into that type.
-
## Integrating identity & customer accounts
Buyer-aware checkout experience reduces friction and increases conversion. Depending on the context
diff --git a/platforms/android/lib/api/lib.api b/platforms/android/lib/api/lib.api
index 268dcabb..3466f9ef 100644
--- a/platforms/android/lib/api/lib.api
+++ b/platforms/android/lib/api/lib.api
@@ -674,7 +674,6 @@ public abstract interface class com/shopify/checkoutkit/CheckoutEventProcessor {
public abstract fun onGeolocationPermissionsShowPrompt (Ljava/lang/String;Landroid/webkit/GeolocationPermissions$Callback;)V
public abstract fun onPermissionRequest (Landroid/webkit/PermissionRequest;)V
public abstract fun onShowFileChooser (Landroid/webkit/WebView;Landroid/webkit/ValueCallback;Landroid/webkit/WebChromeClient$FileChooserParams;)Z
- public abstract fun onWebPixelEvent (Lcom/shopify/checkoutkit/pixelevents/PixelEvent;)V
}
public abstract class com/shopify/checkoutkit/CheckoutException : java/lang/Exception {
@@ -1377,7 +1376,6 @@ public abstract class com/shopify/checkoutkit/DefaultCheckoutEventProcessor : co
public fun onGeolocationPermissionsShowPrompt (Ljava/lang/String;Landroid/webkit/GeolocationPermissions$Callback;)V
public fun onPermissionRequest (Landroid/webkit/PermissionRequest;)V
public fun onShowFileChooser (Landroid/webkit/WebView;Landroid/webkit/ValueCallback;Landroid/webkit/WebChromeClient$FileChooserParams;)Z
- public fun onWebPixelEvent (Lcom/shopify/checkoutkit/pixelevents/PixelEvent;)V
}
public final class com/shopify/checkoutkit/Display {
@@ -4448,22 +4446,22 @@ public final class com/shopify/checkoutkit/lifecycleevents/CartInfo$Companion {
public final class com/shopify/checkoutkit/lifecycleevents/CartLine {
public static final field Companion Lcom/shopify/checkoutkit/lifecycleevents/CartLine$Companion;
- public fun (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;)V
- public synthetic fun (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;)V
+ public synthetic fun (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/util/List;
public final fun component2 ()Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;
public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
+ public final fun component4 ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
public final fun component5 ()Ljava/lang/String;
public final fun component6 ()I
public final fun component7 ()Ljava/lang/String;
- public final fun copy (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;)Lcom/shopify/checkoutkit/lifecycleevents/CartLine;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/CartLine;Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/CartLine;
+ public final fun copy (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;)Lcom/shopify/checkoutkit/lifecycleevents/CartLine;
+ public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/CartLine;Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;Ljava/lang/String;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;ILjava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/CartLine;
public fun equals (Ljava/lang/Object;)Z
public final fun getDiscounts ()Ljava/util/List;
public final fun getImage ()Lcom/shopify/checkoutkit/lifecycleevents/CartLineImage;
public final fun getMerchandiseId ()Ljava/lang/String;
- public final fun getPrice ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
+ public final fun getPrice ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
public final fun getProductId ()Ljava/lang/String;
public final fun getQuantity ()I
public final fun getTitle ()Ljava/lang/String;
@@ -4612,17 +4610,17 @@ public final class com/shopify/checkoutkit/lifecycleevents/DeliveryInfo$Companio
public final class com/shopify/checkoutkit/lifecycleevents/Discount {
public static final field Companion Lcom/shopify/checkoutkit/lifecycleevents/Discount$Companion;
public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
+ public fun (Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
+ public synthetic fun (Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
public final fun component2 ()Ljava/lang/String;
public final fun component3 ()Ljava/lang/String;
public final fun component4 ()Ljava/lang/Double;
public final fun component5 ()Ljava/lang/String;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)Lcom/shopify/checkoutkit/lifecycleevents/Discount;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/Discount;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/Discount;
+ public final fun copy (Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)Lcom/shopify/checkoutkit/lifecycleevents/Discount;
+ public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/Discount;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/Discount;
public fun equals (Ljava/lang/Object;)Z
- public final fun getAmount ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
+ public final fun getAmount ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
public final fun getApplicationType ()Ljava/lang/String;
public final fun getTitle ()Ljava/lang/String;
public final fun getValue ()Ljava/lang/Double;
@@ -4646,6 +4644,37 @@ public final class com/shopify/checkoutkit/lifecycleevents/Discount$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
+public final class com/shopify/checkoutkit/lifecycleevents/MoneyV2 {
+ public static final field Companion Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2$Companion;
+ public fun ()V
+ public fun (Ljava/lang/Double;Ljava/lang/String;)V
+ public synthetic fun (Ljava/lang/Double;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public final fun component1 ()Ljava/lang/Double;
+ public final fun component2 ()Ljava/lang/String;
+ public final fun copy (Ljava/lang/Double;Ljava/lang/String;)Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Ljava/lang/Double;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public fun equals (Ljava/lang/Object;)Z
+ public final fun getAmount ()Ljava/lang/Double;
+ public final fun getCurrencyCode ()Ljava/lang/String;
+ public fun hashCode ()I
+ public fun toString ()Ljava/lang/String;
+}
+
+public final class com/shopify/checkoutkit/lifecycleevents/MoneyV2$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
+ public static final field INSTANCE Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2$$serializer;
+ public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
+ public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
+ public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
+ public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;)V
+ public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
+ public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
+}
+
+public final class com/shopify/checkoutkit/lifecycleevents/MoneyV2$Companion {
+ public final fun serializer ()Lkotlinx/serialization/KSerializer;
+}
+
public final class com/shopify/checkoutkit/lifecycleevents/OrderDetails {
public static final field Companion Lcom/shopify/checkoutkit/lifecycleevents/OrderDetails$Companion;
public fun (Lcom/shopify/checkoutkit/lifecycleevents/Address;Lcom/shopify/checkoutkit/lifecycleevents/CartInfo;Ljava/util/List;Ljava/lang/String;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
@@ -4719,21 +4748,21 @@ public final class com/shopify/checkoutkit/lifecycleevents/PaymentMethod$Compani
public final class com/shopify/checkoutkit/lifecycleevents/Price {
public static final field Companion Lcom/shopify/checkoutkit/lifecycleevents/Price$Companion;
public fun ()V
- public fun (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;)V
- public synthetic fun (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
+ public fun (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;)V
+ public synthetic fun (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
public final fun component1 ()Ljava/util/List;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component3 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component4 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component5 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun copy (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;)Lcom/shopify/checkoutkit/lifecycleevents/Price;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/Price;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/Price;
+ public final fun component2 ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun component3 ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun component4 ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun component5 ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun copy (Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;)Lcom/shopify/checkoutkit/lifecycleevents/Price;
+ public static synthetic fun copy$default (Lcom/shopify/checkoutkit/lifecycleevents/Price;Ljava/util/List;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;ILjava/lang/Object;)Lcom/shopify/checkoutkit/lifecycleevents/Price;
public fun equals (Ljava/lang/Object;)Z
public final fun getDiscounts ()Ljava/util/List;
- public final fun getShipping ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getSubtotal ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getTaxes ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getTotal ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
+ public final fun getShipping ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun getSubtotal ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun getTaxes ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
+ public final fun getTotal ()Lcom/shopify/checkoutkit/lifecycleevents/MoneyV2;
public fun hashCode ()I
public fun toString ()Ljava/lang/String;
}
@@ -4753,1310 +4782,3 @@ public final class com/shopify/checkoutkit/lifecycleevents/Price$Companion {
public final fun serializer ()Lkotlinx/serialization/KSerializer;
}
-public final class com/shopify/checkoutkit/pixelevents/Attribute {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Attribute$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Attribute;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Attribute;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Attribute;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getKey ()Ljava/lang/String;
- public final fun getValue ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Attribute$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Attribute$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Attribute;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Attribute;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Attribute$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Checkout {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Checkout$Companion;
- public fun ()V
- public fun (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Delivery;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/Localization;Lcom/shopify/checkoutkit/pixelevents/Order;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Lcom/shopify/checkoutkit/pixelevents/ShippingRate;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/util/List;)V
- public synthetic fun (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Delivery;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/Localization;Lcom/shopify/checkoutkit/pixelevents/Order;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Lcom/shopify/checkoutkit/pixelevents/ShippingRate;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/util/List;
- public final fun component10 ()Ljava/util/List;
- public final fun component11 ()Lcom/shopify/checkoutkit/pixelevents/Localization;
- public final fun component12 ()Lcom/shopify/checkoutkit/pixelevents/Order;
- public final fun component13 ()Ljava/lang/String;
- public final fun component14 ()Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public final fun component15 ()Lcom/shopify/checkoutkit/pixelevents/ShippingRate;
- public final fun component16 ()Ljava/lang/String;
- public final fun component17 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component18 ()Ljava/lang/String;
- public final fun component19 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public final fun component20 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component21 ()Ljava/util/List;
- public final fun component3 ()Ljava/lang/Boolean;
- public final fun component4 ()Ljava/lang/Boolean;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Lcom/shopify/checkoutkit/pixelevents/Delivery;
- public final fun component7 ()Ljava/util/List;
- public final fun component8 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component9 ()Ljava/lang/String;
- public final fun copy (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Delivery;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/Localization;Lcom/shopify/checkoutkit/pixelevents/Order;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Lcom/shopify/checkoutkit/pixelevents/ShippingRate;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/util/List;)Lcom/shopify/checkoutkit/pixelevents/Checkout;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Checkout;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Ljava/lang/Boolean;Ljava/lang/Boolean;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Delivery;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/Localization;Lcom/shopify/checkoutkit/pixelevents/Order;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Lcom/shopify/checkoutkit/pixelevents/ShippingRate;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/util/List;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Checkout;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAttributes ()Ljava/util/List;
- public final fun getBillingAddress ()Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public final fun getBuyerAcceptsEmailMarketing ()Ljava/lang/Boolean;
- public final fun getBuyerAcceptsSmsMarketing ()Ljava/lang/Boolean;
- public final fun getCurrencyCode ()Ljava/lang/String;
- public final fun getDelivery ()Lcom/shopify/checkoutkit/pixelevents/Delivery;
- public final fun getDiscountApplications ()Ljava/util/List;
- public final fun getDiscountsAmount ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getEmail ()Ljava/lang/String;
- public final fun getLineItems ()Ljava/util/List;
- public final fun getLocalization ()Lcom/shopify/checkoutkit/pixelevents/Localization;
- public final fun getOrder ()Lcom/shopify/checkoutkit/pixelevents/Order;
- public final fun getPhone ()Ljava/lang/String;
- public final fun getShippingAddress ()Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public final fun getShippingLine ()Lcom/shopify/checkoutkit/pixelevents/ShippingRate;
- public final fun getSmsMarketingPhone ()Ljava/lang/String;
- public final fun getSubtotalPrice ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getToken ()Ljava/lang/String;
- public final fun getTotalPrice ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getTotalTax ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getTransactions ()Ljava/util/List;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Checkout$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Checkout$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Checkout;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Checkout;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Checkout$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/CheckoutLineItem {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem$Companion;
- public fun ()V
- public fun (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/ProductVariant;)V
- public synthetic fun (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/ProductVariant;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/util/List;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/util/List;
- public final fun component5 ()Ljava/lang/Double;
- public final fun component6 ()Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;
- public final fun component7 ()Ljava/lang/String;
- public final fun component8 ()Lcom/shopify/checkoutkit/pixelevents/ProductVariant;
- public final fun copy (Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/ProductVariant;)Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem;Ljava/util/List;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/util/List;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/ProductVariant;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getDiscountAllocations ()Ljava/util/List;
- public final fun getFinalLinePrice ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getId ()Ljava/lang/String;
- public final fun getProperties ()Ljava/util/List;
- public final fun getQuantity ()Ljava/lang/Double;
- public final fun getSellingPlanAllocation ()Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;
- public final fun getTitle ()Ljava/lang/String;
- public final fun getVariant ()Lcom/shopify/checkoutkit/pixelevents/ProductVariant;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/CheckoutLineItem$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/CheckoutLineItem;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/CheckoutLineItem$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Context {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Context$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/Document;Lcom/shopify/checkoutkit/pixelevents/Navigator;Lcom/shopify/checkoutkit/pixelevents/Window;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/Document;Lcom/shopify/checkoutkit/pixelevents/Navigator;Lcom/shopify/checkoutkit/pixelevents/Window;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/Document;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/Navigator;
- public final fun component3 ()Lcom/shopify/checkoutkit/pixelevents/Window;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/Document;Lcom/shopify/checkoutkit/pixelevents/Navigator;Lcom/shopify/checkoutkit/pixelevents/Window;)Lcom/shopify/checkoutkit/pixelevents/Context;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Context;Lcom/shopify/checkoutkit/pixelevents/Document;Lcom/shopify/checkoutkit/pixelevents/Navigator;Lcom/shopify/checkoutkit/pixelevents/Window;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Context;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getDocument ()Lcom/shopify/checkoutkit/pixelevents/Document;
- public final fun getNavigator ()Lcom/shopify/checkoutkit/pixelevents/Navigator;
- public final fun getWindow ()Lcom/shopify/checkoutkit/pixelevents/Window;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Context$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Context$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Context;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Context;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Context$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Country {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Country$Companion;
- public fun ()V
- public fun (Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Country;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Country;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Country;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getIsoCode ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Country$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Country$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Country;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Country;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Country$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/CustomPixelEvent : com/shopify/checkoutkit/pixelevents/PixelEvent {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Lcom/shopify/checkoutkit/pixelevents/EventType;
- public final fun component5 ()Lcom/shopify/checkoutkit/pixelevents/Context;
- public final fun component6 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getContext ()Lcom/shopify/checkoutkit/pixelevents/Context;
- public final fun getCustomData ()Ljava/lang/String;
- public fun getId ()Ljava/lang/String;
- public fun getName ()Ljava/lang/String;
- public fun getTimestamp ()Ljava/lang/String;
- public fun getType ()Lcom/shopify/checkoutkit/pixelevents/EventType;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/CustomPixelEvent$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/CustomPixelEvent;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/CustomPixelEvent$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Customer {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Customer$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/Double;
- public final fun component6 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Customer;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Customer;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Customer;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getEmail ()Ljava/lang/String;
- public final fun getFirstName ()Ljava/lang/String;
- public final fun getId ()Ljava/lang/String;
- public final fun getLastName ()Ljava/lang/String;
- public final fun getOrdersCount ()Ljava/lang/Double;
- public final fun getPhone ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Customer$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Customer$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Customer;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Customer;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Customer$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Delivery {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Delivery$Companion;
- public fun ()V
- public fun (Ljava/util/List;)V
- public synthetic fun (Ljava/util/List;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/util/List;
- public final fun copy (Ljava/util/List;)Lcom/shopify/checkoutkit/pixelevents/Delivery;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Delivery;Ljava/util/List;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Delivery;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getSelectedDeliveryOptions ()Ljava/util/List;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Delivery$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Delivery$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Delivery;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Delivery;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Delivery$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DeliveryOption {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/DeliveryOption$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Ljava/lang/String;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/DeliveryOption;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/DeliveryOption;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/DeliveryOption;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCost ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getCostAfterDiscounts ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getDescription ()Ljava/lang/String;
- public final fun getHandle ()Ljava/lang/String;
- public final fun getTitle ()Ljava/lang/String;
- public final fun getType ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DeliveryOption$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/DeliveryOption$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/DeliveryOption;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/DeliveryOption;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DeliveryOption$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DiscountAllocation {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;)Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAmount ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getDiscountApplication ()Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DiscountAllocation$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/DiscountAllocation;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DiscountAllocation$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DiscountApplication {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/DiscountApplication$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Value;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Value;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Lcom/shopify/checkoutkit/pixelevents/Value;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Value;)Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Value;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAllocationMethod ()Ljava/lang/String;
- public final fun getTargetSelection ()Ljava/lang/String;
- public final fun getTargetType ()Ljava/lang/String;
- public final fun getTitle ()Ljava/lang/String;
- public final fun getType ()Ljava/lang/String;
- public final fun getValue ()Lcom/shopify/checkoutkit/pixelevents/Value;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DiscountApplication$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/DiscountApplication$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/DiscountApplication;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/DiscountApplication$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Document {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Document$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/Location;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Document;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Document;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Document;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCharacterSet ()Ljava/lang/String;
- public final fun getLocation ()Lcom/shopify/checkoutkit/pixelevents/Location;
- public final fun getReferrer ()Ljava/lang/String;
- public final fun getTitle ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Document$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Document$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Document;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Document;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Document$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/EventType : java/lang/Enum {
- public static final field CUSTOM Lcom/shopify/checkoutkit/pixelevents/EventType;
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/EventType$Companion;
- public static final field STANDARD Lcom/shopify/checkoutkit/pixelevents/EventType;
- public static fun getEntries ()Lkotlin/enums/EnumEntries;
- public final fun getTypeName ()Ljava/lang/String;
- public static fun valueOf (Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/EventType;
- public static fun values ()[Lcom/shopify/checkoutkit/pixelevents/EventType;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/EventType$Companion {
- public final fun fromTypeName (Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/EventType;
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Image {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Image$Companion;
- public fun ()V
- public fun (Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Image;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Image;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Image;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getSrc ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Image$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Image$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Image;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Image;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Image$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/JsonObjectAsStringSerializer : kotlinx/serialization/KSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/JsonObjectAsStringSerializer;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/String;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/String;)V
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Language {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Language$Companion;
- public fun ()V
- public fun (Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Language;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Language;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Language;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getIsoCode ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Language$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Language$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Language;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Language;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Language$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Localization {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Localization$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/Country;Lcom/shopify/checkoutkit/pixelevents/Language;Lcom/shopify/checkoutkit/pixelevents/Market;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/Country;Lcom/shopify/checkoutkit/pixelevents/Language;Lcom/shopify/checkoutkit/pixelevents/Market;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/Country;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/Language;
- public final fun component3 ()Lcom/shopify/checkoutkit/pixelevents/Market;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/Country;Lcom/shopify/checkoutkit/pixelevents/Language;Lcom/shopify/checkoutkit/pixelevents/Market;)Lcom/shopify/checkoutkit/pixelevents/Localization;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Localization;Lcom/shopify/checkoutkit/pixelevents/Country;Lcom/shopify/checkoutkit/pixelevents/Language;Lcom/shopify/checkoutkit/pixelevents/Market;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Localization;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCountry ()Lcom/shopify/checkoutkit/pixelevents/Country;
- public final fun getLanguage ()Lcom/shopify/checkoutkit/pixelevents/Language;
- public final fun getMarket ()Lcom/shopify/checkoutkit/pixelevents/Market;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Localization$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Localization$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Localization;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Localization;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Localization$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Location {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Location$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Ljava/lang/String;
- public final fun component7 ()Ljava/lang/String;
- public final fun component8 ()Ljava/lang/String;
- public final fun component9 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Location;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Location;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getHash ()Ljava/lang/String;
- public final fun getHost ()Ljava/lang/String;
- public final fun getHostname ()Ljava/lang/String;
- public final fun getHref ()Ljava/lang/String;
- public final fun getOrigin ()Ljava/lang/String;
- public final fun getPathname ()Ljava/lang/String;
- public final fun getPort ()Ljava/lang/String;
- public final fun getProtocol ()Ljava/lang/String;
- public final fun getSearch ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Location$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Location$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Location;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Location;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Location$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/MailingAddress {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/MailingAddress$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component10 ()Ljava/lang/String;
- public final fun component11 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Ljava/lang/String;
- public final fun component7 ()Ljava/lang/String;
- public final fun component8 ()Ljava/lang/String;
- public final fun component9 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/MailingAddress;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAddress1 ()Ljava/lang/String;
- public final fun getAddress2 ()Ljava/lang/String;
- public final fun getCity ()Ljava/lang/String;
- public final fun getCountry ()Ljava/lang/String;
- public final fun getCountryCode ()Ljava/lang/String;
- public final fun getFirstName ()Ljava/lang/String;
- public final fun getLastName ()Ljava/lang/String;
- public final fun getPhone ()Ljava/lang/String;
- public final fun getProvince ()Ljava/lang/String;
- public final fun getProvinceCode ()Ljava/lang/String;
- public final fun getZip ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/MailingAddress$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/MailingAddress$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/MailingAddress;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/MailingAddress;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/MailingAddress$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Market {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Market$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Market;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Market;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Market;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getHandle ()Ljava/lang/String;
- public final fun getId ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Market$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Market$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Market;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Market;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Market$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/MoneyV2 {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/MoneyV2$Companion;
- public fun ()V
- public fun (Ljava/lang/Double;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/Double;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/Double;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/Double;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/Double;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAmount ()Ljava/lang/Double;
- public final fun getCurrencyCode ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/MoneyV2$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/MoneyV2$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/MoneyV2$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Navigator {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Navigator$Companion;
- public fun ()V
- public fun (Ljava/lang/Boolean;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/Boolean;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/Boolean;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/util/List;
- public final fun component4 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/Boolean;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Navigator;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Navigator;Ljava/lang/Boolean;Ljava/lang/String;Ljava/util/List;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Navigator;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCookieEnabled ()Ljava/lang/Boolean;
- public final fun getLanguage ()Ljava/lang/String;
- public final fun getLanguages ()Ljava/util/List;
- public final fun getUserAgent ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Navigator$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Navigator$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Navigator;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Navigator;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Navigator$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Order {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Order$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;Ljava/lang/String;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Order;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Order;Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Order;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCustomer ()Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;
- public final fun getId ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Order$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Order$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Order;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Order;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Order$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/OrderCustomer {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/OrderCustomer$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/Boolean;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/Boolean;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/Boolean;
- public final fun copy (Ljava/lang/String;Ljava/lang/Boolean;)Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;Ljava/lang/String;Ljava/lang/Boolean;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getId ()Ljava/lang/String;
- public fun hashCode ()I
- public final fun isFirstOrder ()Ljava/lang/Boolean;
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/OrderCustomer$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/OrderCustomer$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/OrderCustomer;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/OrderCustomer$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public abstract interface class com/shopify/checkoutkit/pixelevents/PixelEvent {
- public abstract fun getId ()Ljava/lang/String;
- public abstract fun getName ()Ljava/lang/String;
- public abstract fun getTimestamp ()Ljava/lang/String;
- public abstract fun getType ()Lcom/shopify/checkoutkit/pixelevents/EventType;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/PricingPercentageValue {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue$Companion;
- public fun ()V
- public fun (Ljava/lang/Double;)V
- public synthetic fun (Ljava/lang/Double;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/Double;
- public final fun copy (Ljava/lang/Double;)Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue;Ljava/lang/Double;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getPercentage ()Ljava/lang/Double;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/PricingPercentageValue$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/PricingPercentageValue;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/PricingPercentageValue$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Product {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Product$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Product;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Product;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Product;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getId ()Ljava/lang/String;
- public final fun getTitle ()Ljava/lang/String;
- public final fun getType ()Ljava/lang/String;
- public final fun getUntranslatedTitle ()Ljava/lang/String;
- public final fun getUrl ()Ljava/lang/String;
- public final fun getVendor ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Product$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Product$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Product;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Product;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Product$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/ProductVariant {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/ProductVariant$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Image;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/Product;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Image;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/Product;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Lcom/shopify/checkoutkit/pixelevents/Image;
- public final fun component3 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component4 ()Lcom/shopify/checkoutkit/pixelevents/Product;
- public final fun component5 ()Ljava/lang/String;
- public final fun component6 ()Ljava/lang/String;
- public final fun component7 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Image;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/Product;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/ProductVariant;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/ProductVariant;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/Image;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Lcom/shopify/checkoutkit/pixelevents/Product;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/ProductVariant;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getId ()Ljava/lang/String;
- public final fun getImage ()Lcom/shopify/checkoutkit/pixelevents/Image;
- public final fun getPrice ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getProduct ()Lcom/shopify/checkoutkit/pixelevents/Product;
- public final fun getSku ()Ljava/lang/String;
- public final fun getTitle ()Ljava/lang/String;
- public final fun getUntranslatedTitle ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/ProductVariant$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/ProductVariant$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/ProductVariant;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/ProductVariant;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/ProductVariant$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Property {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Property$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/Property;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Property;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Property;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getKey ()Ljava/lang/String;
- public final fun getValue ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Property$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Property$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Property;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Property;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Property$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Screen {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Screen$Companion;
- public fun ()V
- public fun (Ljava/lang/Double;Ljava/lang/Double;)V
- public synthetic fun (Ljava/lang/Double;Ljava/lang/Double;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/Double;
- public final fun component2 ()Ljava/lang/Double;
- public final fun copy (Ljava/lang/Double;Ljava/lang/Double;)Lcom/shopify/checkoutkit/pixelevents/Screen;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Screen;Ljava/lang/Double;Ljava/lang/Double;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Screen;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getHeight ()Ljava/lang/Double;
- public final fun getWidth ()Ljava/lang/Double;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Screen$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Screen$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Screen;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Screen;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Screen$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/SellingPlan {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/SellingPlan$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/SellingPlan;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/SellingPlan;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/SellingPlan;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getId ()Ljava/lang/String;
- public final fun getName ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/SellingPlan$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/SellingPlan$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/SellingPlan;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/SellingPlan;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/SellingPlan$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/SellingPlanAllocation {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation$Companion;
- public fun (Lcom/shopify/checkoutkit/pixelevents/SellingPlan;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/SellingPlan;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/SellingPlan;)Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;Lcom/shopify/checkoutkit/pixelevents/SellingPlan;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getSellingPlan ()Lcom/shopify/checkoutkit/pixelevents/SellingPlan;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/SellingPlanAllocation$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/SellingPlanAllocation;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/SellingPlanAllocation$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/ShippingRate {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/ShippingRate$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;)Lcom/shopify/checkoutkit/pixelevents/ShippingRate;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/ShippingRate;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/ShippingRate;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getPrice ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/ShippingRate$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/ShippingRate$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/ShippingRate;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/ShippingRate;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/ShippingRate$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/StandardPixelEvent : com/shopify/checkoutkit/pixelevents/PixelEvent {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/String;
- public final fun component4 ()Lcom/shopify/checkoutkit/pixelevents/EventType;
- public final fun component5 ()Lcom/shopify/checkoutkit/pixelevents/Context;
- public final fun component6 ()Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;)Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent;Ljava/lang/String;Ljava/lang/String;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/EventType;Lcom/shopify/checkoutkit/pixelevents/Context;Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getContext ()Lcom/shopify/checkoutkit/pixelevents/Context;
- public final fun getData ()Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;
- public fun getId ()Ljava/lang/String;
- public fun getName ()Ljava/lang/String;
- public fun getTimestamp ()Ljava/lang/String;
- public fun getType ()Lcom/shopify/checkoutkit/pixelevents/EventType;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/StandardPixelEvent$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/StandardPixelEvent;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/StandardPixelEvent$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/StandardPixelEventData {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/Checkout;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/Checkout;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/Checkout;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/Checkout;)Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;Lcom/shopify/checkoutkit/pixelevents/Checkout;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getCheckout ()Lcom/shopify/checkoutkit/pixelevents/Checkout;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/StandardPixelEventData$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/StandardPixelEventData;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/StandardPixelEventData$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Transaction {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Transaction$Companion;
- public fun ()V
- public fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;)V
- public synthetic fun (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;
- public final fun copy (Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;)Lcom/shopify/checkoutkit/pixelevents/Transaction;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Transaction;Lcom/shopify/checkoutkit/pixelevents/MoneyV2;Ljava/lang/String;Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Transaction;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAmount ()Lcom/shopify/checkoutkit/pixelevents/MoneyV2;
- public final fun getGateway ()Ljava/lang/String;
- public final fun getPaymentMethod ()Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Transaction$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Transaction$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Transaction;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Transaction;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Transaction$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/TransactionPaymentMethod {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod$Companion;
- public fun ()V
- public fun (Ljava/lang/String;Ljava/lang/String;)V
- public synthetic fun (Ljava/lang/String;Ljava/lang/String;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/String;
- public final fun component2 ()Ljava/lang/String;
- public final fun copy (Ljava/lang/String;Ljava/lang/String;)Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;Ljava/lang/String;Ljava/lang/String;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getName ()Ljava/lang/String;
- public final fun getType ()Ljava/lang/String;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/TransactionPaymentMethod$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/TransactionPaymentMethod;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/TransactionPaymentMethod$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Value {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Value$Companion;
- public fun ()V
- public fun (Ljava/lang/Double;Ljava/lang/String;Ljava/lang/Double;)V
- public synthetic fun (Ljava/lang/Double;Ljava/lang/String;Ljava/lang/Double;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/Double;
- public final fun component2 ()Ljava/lang/String;
- public final fun component3 ()Ljava/lang/Double;
- public final fun copy (Ljava/lang/Double;Ljava/lang/String;Ljava/lang/Double;)Lcom/shopify/checkoutkit/pixelevents/Value;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Value;Ljava/lang/Double;Ljava/lang/String;Ljava/lang/Double;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Value;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getAmount ()Ljava/lang/Double;
- public final fun getCurrencyCode ()Ljava/lang/String;
- public final fun getPercentage ()Ljava/lang/Double;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Value$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Value$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Value;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Value;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Value$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Window {
- public static final field Companion Lcom/shopify/checkoutkit/pixelevents/Window$Companion;
- public fun ()V
- public fun (Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Screen;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;)V
- public synthetic fun (Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Screen;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;ILkotlin/jvm/internal/DefaultConstructorMarker;)V
- public final fun component1 ()Ljava/lang/Double;
- public final fun component10 ()Ljava/lang/Double;
- public final fun component11 ()Ljava/lang/Double;
- public final fun component12 ()Ljava/lang/Double;
- public final fun component13 ()Ljava/lang/Double;
- public final fun component2 ()Ljava/lang/Double;
- public final fun component3 ()Lcom/shopify/checkoutkit/pixelevents/Location;
- public final fun component4 ()Ljava/lang/String;
- public final fun component5 ()Ljava/lang/Double;
- public final fun component6 ()Ljava/lang/Double;
- public final fun component7 ()Ljava/lang/Double;
- public final fun component8 ()Ljava/lang/Double;
- public final fun component9 ()Lcom/shopify/checkoutkit/pixelevents/Screen;
- public final fun copy (Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Screen;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;)Lcom/shopify/checkoutkit/pixelevents/Window;
- public static synthetic fun copy$default (Lcom/shopify/checkoutkit/pixelevents/Window;Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Location;Ljava/lang/String;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Lcom/shopify/checkoutkit/pixelevents/Screen;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;Ljava/lang/Double;ILjava/lang/Object;)Lcom/shopify/checkoutkit/pixelevents/Window;
- public fun equals (Ljava/lang/Object;)Z
- public final fun getInnerHeight ()Ljava/lang/Double;
- public final fun getInnerWidth ()Ljava/lang/Double;
- public final fun getLocation ()Lcom/shopify/checkoutkit/pixelevents/Location;
- public final fun getOrigin ()Ljava/lang/String;
- public final fun getOuterHeight ()Ljava/lang/Double;
- public final fun getOuterWidth ()Ljava/lang/Double;
- public final fun getPageXOffset ()Ljava/lang/Double;
- public final fun getPageYOffset ()Ljava/lang/Double;
- public final fun getScreen ()Lcom/shopify/checkoutkit/pixelevents/Screen;
- public final fun getScreenX ()Ljava/lang/Double;
- public final fun getScreenY ()Ljava/lang/Double;
- public final fun getScrollX ()Ljava/lang/Double;
- public final fun getScrollY ()Ljava/lang/Double;
- public fun hashCode ()I
- public fun toString ()Ljava/lang/String;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Window$$serializer : kotlinx/serialization/internal/GeneratedSerializer {
- public static final field INSTANCE Lcom/shopify/checkoutkit/pixelevents/Window$$serializer;
- public fun childSerializers ()[Lkotlinx/serialization/KSerializer;
- public fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Lcom/shopify/checkoutkit/pixelevents/Window;
- public synthetic fun deserialize (Lkotlinx/serialization/encoding/Decoder;)Ljava/lang/Object;
- public fun getDescriptor ()Lkotlinx/serialization/descriptors/SerialDescriptor;
- public fun serialize (Lkotlinx/serialization/encoding/Encoder;Lcom/shopify/checkoutkit/pixelevents/Window;)V
- public synthetic fun serialize (Lkotlinx/serialization/encoding/Encoder;Ljava/lang/Object;)V
- public fun typeParametersSerializers ()[Lkotlinx/serialization/KSerializer;
-}
-
-public final class com/shopify/checkoutkit/pixelevents/Window$Companion {
- public final fun serializer ()Lkotlinx/serialization/KSerializer;
-}
-
diff --git a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutBridge.kt b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutBridge.kt
index 1930545a..37354192 100644
--- a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutBridge.kt
+++ b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutBridge.kt
@@ -26,18 +26,15 @@ import android.webkit.JavascriptInterface
import com.shopify.checkoutkit.CheckoutBridge.CheckoutWebOperation.COMPLETED
import com.shopify.checkoutkit.CheckoutBridge.CheckoutWebOperation.ERROR
import com.shopify.checkoutkit.CheckoutBridge.CheckoutWebOperation.MODAL
-import com.shopify.checkoutkit.CheckoutBridge.CheckoutWebOperation.WEB_PIXELS
import com.shopify.checkoutkit.ShopifyCheckoutKit.log
import com.shopify.checkoutkit.errorevents.CheckoutErrorDecoder
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEventDecoder
-import com.shopify.checkoutkit.pixelevents.PixelEventDecoder
import kotlinx.serialization.Serializable
import kotlinx.serialization.json.Json
internal class CheckoutBridge(
private var eventProcessor: CheckoutWebViewEventProcessor,
private val decoder: Json = Json { ignoreUnknownKeys = true },
- private val pixelEventDecoder: PixelEventDecoder = PixelEventDecoder(decoder, log),
private val checkoutCompletedEventDecoder: CheckoutCompletedEventDecoder = CheckoutCompletedEventDecoder(
decoder,
log
@@ -54,7 +51,6 @@ internal class CheckoutBridge(
enum class CheckoutWebOperation(val key: String) {
COMPLETED("completed"),
MODAL("checkoutBlockingEvent"),
- WEB_PIXELS("webPixels"),
ERROR("error");
companion object {
@@ -94,16 +90,6 @@ internal class CheckoutBridge(
}
}
- WEB_PIXELS -> {
- log.d(LOG_TAG, "Received WebPixel message. Attempting to decode.")
- pixelEventDecoder.decode(decodedMsg)?.let { event ->
- log.d(LOG_TAG, "Decoded message $event.")
- onMainThread {
- eventProcessor.onWebPixelEvent(event)
- }
- }
- }
-
ERROR -> {
log.d(LOG_TAG, "Received Error message. Attempting to decode.")
checkoutErrorDecoder.decode(decodedMsg)?.let { exception ->
diff --git a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutEventProcessor.kt b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutEventProcessor.kt
index 04c1696d..f3761978 100644
--- a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutEventProcessor.kt
+++ b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutEventProcessor.kt
@@ -32,7 +32,6 @@ import android.webkit.ValueCallback
import android.webkit.WebChromeClient
import android.webkit.WebView
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent
-import com.shopify.checkoutkit.pixelevents.PixelEvent
/**
* Interface to implement to allow responding to lifecycle events in checkout.
@@ -69,12 +68,6 @@ public interface CheckoutEventProcessor {
*/
public fun onPermissionRequest(permissionRequest: PermissionRequest)
- /**
- * Web Pixel event emitted from checkout, that can be optionally transformed, enhanced (e.g. with user and session identifiers),
- * and processed
- */
- public fun onWebPixelEvent(event: PixelEvent)
-
/**
* Called when the client should show a file chooser. This is called to handle HTML forms with 'file' input type, in response to the
* user pressing the "Select File" button. To cancel the request, call filePathCallback.onReceiveValue(null) and return true.
@@ -114,10 +107,6 @@ internal class NoopEventProcessor : CheckoutEventProcessor {
/* noop */
}
- override fun onWebPixelEvent(event: PixelEvent) {
- /* noop */
- }
-
override fun onShowFileChooser(
webView: WebView,
filePathCallback: ValueCallback>,
@@ -158,10 +147,6 @@ public abstract class DefaultCheckoutEventProcessor @JvmOverloads constructor(
}
}
- override fun onWebPixelEvent(event: PixelEvent) {
- // no-op, override to implement
- }
-
override fun onPermissionRequest(permissionRequest: PermissionRequest) {
// no-op override to implement
}
diff --git a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutWebViewEventProcessor.kt b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutWebViewEventProcessor.kt
index ecda6e7b..732f7203 100644
--- a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutWebViewEventProcessor.kt
+++ b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/CheckoutWebViewEventProcessor.kt
@@ -32,7 +32,6 @@ import android.webkit.WebChromeClient.FileChooserParams
import android.webkit.WebView
import com.shopify.checkoutkit.ShopifyCheckoutKit.log
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent
-import com.shopify.checkoutkit.pixelevents.PixelEvent
/**
* Event processor that can handle events internally, delegate to the CheckoutEventProcessor
@@ -110,11 +109,6 @@ internal class CheckoutWebViewEventProcessor(
}
}
- fun onWebPixelEvent(event: PixelEvent) {
- log.d(LOG_TAG, "Calling onWebPixelEvent for $event.")
- eventProcessor.onWebPixelEvent(event)
- }
-
companion object {
private const val LOG_TAG = "CheckoutWebViewEventProcessor"
}
diff --git a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/CompletedEvent.kt b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/CompletedEvent.kt
index f78a6b7f..5997e288 100644
--- a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/CompletedEvent.kt
+++ b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/CompletedEvent.kt
@@ -22,7 +22,6 @@
*/
package com.shopify.checkoutkit.lifecycleevents
-import com.shopify.checkoutkit.pixelevents.MoneyV2
import kotlinx.serialization.Serializable
@Serializable
diff --git a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/pixelevents/PixelEventDecoder.kt b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/MoneyV2.kt
similarity index 51%
rename from platforms/android/lib/src/main/java/com/shopify/checkoutkit/pixelevents/PixelEventDecoder.kt
rename to platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/MoneyV2.kt
index 9b40a147..c330f5c1 100644
--- a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/pixelevents/PixelEventDecoder.kt
+++ b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/lifecycleevents/MoneyV2.kt
@@ -20,29 +20,24 @@
* LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
* OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
*/
-package com.shopify.checkoutkit.pixelevents
+package com.shopify.checkoutkit.lifecycleevents
-import com.shopify.checkoutkit.LogWrapper
-import com.shopify.checkoutkit.WebToSdkEvent
-import kotlinx.serialization.json.Json
-import kotlinx.serialization.json.decodeFromJsonElement
-import kotlinx.serialization.json.jsonPrimitive
+import kotlinx.serialization.Serializable
-internal class PixelEventDecoder @JvmOverloads constructor(
- private val decoder: Json,
- private val log: LogWrapper = LogWrapper()
-) {
- fun decode(decodedMsg: WebToSdkEvent): PixelEvent? {
- return try {
- val eventWrapper = decoder.decodeFromString(decodedMsg.body)
- when (EventType.fromTypeName(eventWrapper.event["type"]?.jsonPrimitive?.content)) {
- EventType.STANDARD -> decoder.decodeFromJsonElement(eventWrapper.event)
- EventType.CUSTOM -> decoder.decodeFromJsonElement(eventWrapper.event)
- else -> return null
- }
- } catch (e: Exception) {
- log.e("CheckoutBridge", "Failed to decode pixel event", e)
- null
- }
- }
-}
+/**
+ * A monetary value with currency.
+ */
+@Serializable
+public data class MoneyV2(
+ /**
+ * The decimal money amount.
+ */
+ public val amount: Double? = null,
+
+ /**
+ * The three-letter code that represents the currency, for example, USD.
+ * Supported codes include standard ISO 4217 codes, legacy codes, and non-
+ * standard codes.
+ */
+ public val currencyCode: String? = null,
+)
diff --git a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/pixelevents/PixelEvent.kt b/platforms/android/lib/src/main/java/com/shopify/checkoutkit/pixelevents/PixelEvent.kt
deleted file mode 100644
index 10ddbf9a..00000000
--- a/platforms/android/lib/src/main/java/com/shopify/checkoutkit/pixelevents/PixelEvent.kt
+++ /dev/null
@@ -1,1127 +0,0 @@
-/*
- * MIT License
- *
- * Copyright 2023-present, Shopify Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-package com.shopify.checkoutkit.pixelevents
-
-import kotlinx.serialization.KSerializer
-import kotlinx.serialization.SerialName
-import kotlinx.serialization.Serializable
-import kotlinx.serialization.descriptors.PrimitiveKind
-import kotlinx.serialization.descriptors.PrimitiveSerialDescriptor
-import kotlinx.serialization.descriptors.SerialDescriptor
-import kotlinx.serialization.encoding.Decoder
-import kotlinx.serialization.encoding.Encoder
-import kotlinx.serialization.json.JsonObject
-
-@Serializable
-internal class PixelEventWrapper(
- internal val name: String,
- internal val event: JsonObject,
-)
-
-@Serializable
-public enum class EventType(public val typeName: String) {
- @SerialName("standard")
- STANDARD("standard"),
-
- @SerialName("custom")
- CUSTOM("custom");
-
- public companion object {
- public fun fromTypeName(typeName: String?): EventType? {
- if (typeName == null) {
- return null
- }
- return entries.firstOrNull {
- it.typeName == typeName
- }
- }
- }
-}
-
-public sealed interface PixelEvent {
- /**
- * The ID of the customer event
- */
- public val id: String?
-
- /**
- * The name of the customer event
- */
- public val name: String?
-
- /**
- * The timestamp of when the customer event occurred, in [ISO
- * 8601](https://en.wikipedia.org/wiki/ISO_8601) format
- */
- public val timestamp: String?
-
- /**
- * The type of event, standard or custom.
- * See https://shopify.dev/docs/api/web-pixels-api#customer-events-reference
- */
- public val type: EventType?
-}
-
-@Serializable
-public data class StandardPixelEvent(
- public override val id: String? = null,
- public override val name: String? = null,
- public override val timestamp: String? = null,
- public override val type: EventType? = null,
- public val context: Context? = null,
- public val data: StandardPixelEventData? = null,
-) : PixelEvent
-
-@Serializable
-public data class StandardPixelEventData(
- public val checkout: Checkout? = null
-)
-
-/**
- * A snapshot of various read-only properties of the browser at the time of
- * event
- */
-@Serializable
-public data class Context(
- /**
- * Snapshot of a subset of properties of the `document` object in the top
- * frame of the browser
- */
- public val document: Document? = null,
-
- /**
- * Snapshot of a subset of properties of the `navigator` object in the top
- * frame of the browser
- */
- public val navigator: Navigator? = null,
-
- /**
- * Snapshot of a subset of properties of the `window` object in the top frame
- * of the browser
- */
- public val window: Window? = null
-)
-
-/**
- * Snapshot of a subset of properties of the `document` object in the top
- * frame of the browser
- *
- * A snapshot of a subset of properties of the `document` object in the top
- * frame of the browser
- */
-@Serializable
-public data class Document(
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document),
- * returns the character set being used by the document
- */
- public val characterSet: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document),
- * returns the URI of the current document
- */
- public val location: Location? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document),
- * returns the URI of the page that linked to this page
- */
- public val referrer: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document),
- * returns the title of the current document
- */
- public val title: String? = null
-)
-
-/**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document),
- * returns the URI of the current document
- *
- * A snapshot of a subset of properties of the `location` object in the top
- * frame of the browser
- *
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * location, or current URL, of the window object
- */
-@Serializable
-public data class Location(
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing a `'#'` followed by the fragment identifier of the URL
- */
- public val hash: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing the host, that is the hostname, a `':'`, and the port of
- * the URL
- */
- public val host: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing the domain of the URL
- */
- public val hostname: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing the entire URL
- */
- public val href: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing the canonical form of the origin of the specific location
- */
- public val origin: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing an initial `'/'` followed by the path of the URL, not
- * including the query string or fragment
- */
- public val pathname: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing the port number of the URL
- */
- public val port: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing the protocol scheme of the URL, including the final `':'`
- */
- public val protocol: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Location), a
- * string containing a `'?'` followed by the parameters or "querystring" of
- * the URL
- */
- public val search: String? = null
-)
-
-/**
- * Snapshot of a subset of properties of the `navigator` object in the top
- * frame of the browser
- *
- * A snapshot of a subset of properties of the `navigator` object in the top
- * frame of the browser
- */
-@Serializable
-public data class Navigator(
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Navigator),
- * returns `false` if setting a cookie will be ignored and true otherwise
- */
- public val cookieEnabled: Boolean? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Navigator),
- * returns a string representing the preferred language of the user, usually
- * the language of the browser UI. The `null` value is returned when this
- * is unknown
- */
- public val language: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Navigator),
- * returns an array of strings representing the languages known to the user,
- * by order of preference
- */
- public val languages: List? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Navigator),
- * returns the user agent string for the current browser
- */
- public val userAgent: String? = null
-)
-
-/**
- * Snapshot of a subset of properties of the `window` object in the top frame
- * of the browser
- *
- * A snapshot of a subset of properties of the `window` object in the top frame
- * of the browser
- */
-@Serializable
-public data class Window(
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window),
- * gets the height of the content area of the browser window including, if
- * rendered, the horizontal scrollbar
- */
- public val innerHeight: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), gets
- * the width of the content area of the browser window including, if rendered,
- * the vertical scrollbar
- */
- public val innerWidth: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * location, or current URL, of the window object
- */
- public val location: Location? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * global object's origin, serialized as a string
- */
- public val origin: String? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), gets
- * the height of the outside of the browser window
- */
- public val outerHeight: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), gets
- * the width of the outside of the browser window
- */
- public val outerWidth: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), an
- * alias for window.scrollX
- */
- public val pageXOffset: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), an
- * alias for window.scrollY
- */
- public val pageYOffset: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Screen), the
- * interface representing a screen, usually the one on which the current
- * window is being rendered
- */
- public val screen: Screen? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * horizontal distance from the left border of the user's browser viewport to
- * the left side of the screen
- */
- public val screenX: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * vertical distance from the top border of the user's browser viewport to the
- * top side of the screen
- */
- public val screenY: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * number of pixels that the document has already been scrolled horizontally
- */
- public val scrollX: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window), the
- * number of pixels that the document has already been scrolled vertically
- */
- public val scrollY: Double? = null
-)
-
-/**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Screen), the
- * interface representing a screen, usually the one on which the current
- * window is being rendered
- *
- * The interface representing a screen, usually the one on which the current
- * window is being rendered
- */
-@Serializable
-public data class Screen(
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Screen/height),
- * the height of the screen
- */
- public val height: Double? = null,
-
- /**
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Screen/width),
- * the width of the screen
- */
- public val width: Double? = null
-)
-
-/**
- * A monetary value with currency.
- */
-@Serializable
-public data class MoneyV2(
- /**
- * The decimal money amount.
- */
- public val amount: Double? = null,
-
- /**
- * The three-letter code that represents the currency, for example, USD.
- * Supported codes include standard ISO 4217 codes, legacy codes, and non-
- * standard codes.
- */
- public val currencyCode: String? = null
-)
-
-/**
- * The merchandise that the buyer intends to purchase.
- *
- * A product variant represents a different version of a product, such as
- * differing sizes or differing colors.
- */
-@Serializable
-public data class ProductVariant(
- /**
- * A globally unique identifier.
- */
- public val id: String? = null,
-
- /**
- * Image associated with the product variant. This field falls back to the
- * product image if no image is available.
- */
- public val image: Image? = null,
-
- /**
- * The product variant’s price.
- */
- public val price: MoneyV2? = null,
-
- /**
- * The product object that the product variant belongs to.
- */
- public val product: Product? = null,
-
- /**
- * The SKU (stock keeping unit) associated with the variant.
- */
- public val sku: String? = null,
-
- /**
- * The product variant’s title.
- */
- public val title: String? = null,
-
- /**
- * The product variant’s untranslated title.
- */
- public val untranslatedTitle: String? = null
-)
-
-/**
- * An image resource.
- */
-@Serializable
-public data class Image(
- /**
- * The location of the image as a URL.
- */
- public val src: String? = null
-)
-
-/**
- * The product object that the product variant belongs to.
- *
- * A product is an individual item for sale in a Shopify store.
- */
-@Serializable
-public data class Product(
- /**
- * The ID of the product.
- */
- public val id: String? = null,
-
- /**
- * The product’s title.
- */
- public val title: String? = null,
-
- /**
- * The [product
- * type](https://help.shopify.com/en/manual/products/details/product-type)
- * specified by the merchant.
- */
- public val type: String? = null,
-
- /**
- * The product’s untranslated title.
- */
- public val untranslatedTitle: String? = null,
-
- /**
- * The relative URL of the product.
- */
- public val url: String? = null,
-
- /**
- * The product’s vendor name.
- */
- public val vendor: String? = null
-)
-
-/**
- * A container for all the information required to add items to checkout and
- * pay.
- */
-@Serializable
-public data class Checkout(
- /**
- * A list of attributes accumulated throughout the checkout process.
- */
- public val attributes: List? = null,
-
- /**
- * The billing address to where the order will be charged.
- */
- public val billingAddress: MailingAddress? = null,
-
- /**
- * Indicates whether the customer has consented to be sent marketing material via email.
- */
- public val buyerAcceptsEmailMarketing: Boolean? = null,
-
- /**
- * Indicates whether the customer has consented to be sent marketing material via SMS.
- */
- public val buyerAcceptsSmsMarketing: Boolean? = null,
-
- /**
- * The three-letter code that represents the currency, for example, USD.
- * Supported codes include standard ISO 4217 codes, legacy codes, and non-
- * standard codes.
- */
- public val currencyCode: String? = null,
-
- /**
- * Represents the selected delivery options for a checkout.
- */
- public val delivery: Delivery? = null,
-
- /**
- * A list of discount applications.
- */
- public val discountApplications: List? = null,
-
- /**
- * The total amount of the discounts applied to the price of the checkout.
- */
- public val discountsAmount: MoneyV2? = null,
-
- /**
- * The email attached to this checkout.
- */
- public val email: String? = null,
-
- /**
- * A list of line item objects, each one containing information about an item
- * in the checkout.
- */
- public val lineItems: List? = null,
-
- /**
- * Information about the active localized experience.
- */
- public val localization: Localization? = null,
-
- /**
- * The resulting order from a paid checkout.
- */
- public val order: Order? = null,
-
- /**
- * A unique phone number for the customer. Formatted using E.164 standard. For
- * example, *+16135551111*.
- */
- public val phone: String? = null,
-
- /**
- * The shipping address to where the line items will be shipped.
- */
- public val shippingAddress: MailingAddress? = null,
-
- /**
- * Once a shipping rate is selected by the customer it is transitioned to a
- * `shipping_line` object.
- */
- public val shippingLine: ShippingRate? = null,
-
- /**
- * The phone number provided by the buyer after opting in to SMS marketing.
- */
- public val smsMarketingPhone: String? = null,
-
- /**
- * The price at checkout before duties, shipping, and taxes.
- */
- public val subtotalPrice: MoneyV2? = null,
-
- /**
- * A unique identifier for a particular checkout.
- */
- public val token: String? = null,
-
- /**
- * The sum of all the prices of all the items in the checkout, including
- * duties, taxes, and discounts.
- */
- public val totalPrice: MoneyV2? = null,
-
- /**
- * The sum of all the taxes applied to the line items and shipping lines in
- * the checkout.
- */
- public val totalTax: MoneyV2? = null,
-
- /**
- * A list of transactions associated with a checkout or order.
- */
- public val transactions: List? = null
-)
-
-/**
- * Custom attributes left by the customer to the merchant, either in their cart
- * or during checkout.
- */
-@Serializable
-public data class Attribute(
- /**
- * The key for the attribute.
- */
- public val key: String? = null,
-
- /**
- * The value for the attribute.
- */
- public val value: String? = null
-)
-
-@Serializable
-public data class Country(
- /**
- * The ISO-3166-1 code for this country, for example, "US".
- */
- public val isoCode: String? = null,
-)
-
-@Serializable
-public data class Language(
- /**
- * The BCP-47 language tag. It may contain a dash followed by an ISO 3166-1 alpha-2 region code, for example, "en-US".
- */
- public val isoCode: String? = null,
-)
-
-@Serializable
-public data class Market(
- /**
- * A human-readable, shop-scoped identifier.
- */
- public val handle: String? = null,
-
- /**
- * A globally unique identifier.
- */
- public val id: String? = null,
-)
-
-@Serializable
-public data class Localization(
- /**
- * The country of the active localized experience.
- */
- public val country: Country? = null,
-
- /**
- * The language of the active localized experience.
- */
- public val language: Language? = null,
-
- /**
- * The market including the country of the active localized experience.
- */
- public val market: Market? = null,
-)
-
-/**
- * A mailing address for customers and shipping.
- */
-@Serializable
-public data class MailingAddress(
- /**
- * The first line of the address. This is usually the street address or a P.O.
- * Box number.
- */
- public val address1: String? = null,
-
- /**
- * The second line of the address. This is usually an apartment, suite, or
- * unit number.
- */
- public val address2: String? = null,
-
- /**
- * The name of the city, district, village, or town.
- */
- public val city: String? = null,
-
- /**
- * The name of the country.
- */
- public val country: String? = null,
-
- /**
- * The two-letter code that represents the country, for example, US.
- * The country codes generally follows ISO 3166-1 alpha-2 guidelines.
- */
- public val countryCode: String? = null,
-
- /**
- * The customer’s first name.
- */
- public val firstName: String? = null,
-
- /**
- * The customer’s last name.
- */
- public val lastName: String? = null,
-
- /**
- * The phone number for this mailing address as entered by the customer.
- */
- public val phone: String? = null,
-
- /**
- * The region of the address, such as the province, state, or district.
- */
- public val province: String? = null,
-
- /**
- * The two-letter code for the region.
- * For example, ON.
- */
- public val provinceCode: String? = null,
-
- /**
- * The ZIP or postal code of the address.
- */
- public val zip: String? = null
-)
-
-/**
- * The information about the intent of the discount.
- */
-@Serializable
-public data class DiscountApplication(
- /**
- * The method by which the discount's value is applied to its entitled items.
- *
- * - `ACROSS`: The value is spread across all entitled lines.
- * - `EACH`: The value is applied onto every entitled line.
- */
- public val allocationMethod: String? = null,
-
- /**
- * How the discount amount is distributed on the discounted lines.
- *
- * - `ALL`: The discount is allocated onto all the lines.
- * - `ENTITLED`: The discount is allocated onto only the lines that it's
- * entitled for.
- * - `EXPLICIT`: The discount is allocated onto explicitly chosen lines.
- */
- public val targetSelection: String? = null,
-
- /**
- * The type of line (i.e. line item or shipping line) on an order that the
- * discount is applicable towards.
- *
- * - `LINE_ITEM`: The discount applies onto line items.
- * - `SHIPPING_LINE`: The discount applies onto shipping lines.
- */
- public val targetType: String? = null,
-
- /**
- * The customer-facing name of the discount. If the type of discount is
- * a `DISCOUNT_CODE`, this `title` attribute represents the code of the
- * discount.
- */
- public val title: String? = null,
-
- /**
- * The type of the discount.
- *
- * - `AUTOMATIC`: A discount automatically at checkout or in the cart without
- * the need for a code.
- * - `DISCOUNT_CODE`: A discount applied onto checkouts through the use of
- * a code.
- * - `MANUAL`: A discount that is applied to an order by a merchant or store
- * owner manually, rather than being automatically applied by the system or
- * through a script.
- * - `SCRIPT`: A discount applied to a customer's order using a script
- */
- public val type: String? = null,
-
- /**
- * The value of the discount. Fixed discounts return a `Money` Object, while
- * Percentage discounts return a `PricingPercentageValue` object.
- */
- public val value: Value? = null
-)
-
-/**
- * The value of the discount.
- */
-@Serializable
-public data class Value(
- /**
- * The decimal money amount.
- */
- public val amount: Double? = null,
-
- /**
- * The three-letter code that represents the currency, for example, USD.
- * Supported codes include standard ISO 4217 codes, legacy codes, and non-
- * standard codes.
- */
- public val currencyCode: String? = null,
-
- /**
- * The percentage value of the object.
- */
- public val percentage: Double? = null
-)
-
-/**
- * A single line item in the checkout, grouped by variant and attributes.
- */
-@Serializable
-public data class CheckoutLineItem(
- /**
- * The discounts that have been applied to the checkout line item by a
- * discount application.
- */
- public val discountAllocations: List? = null,
-
- /**
- * The combined price of all of the items in the line item after line-level discounts have been applied.
- */
- public val finalLinePrice: MoneyV2? = null,
-
- /**
- * A globally unique identifier.
- */
- public val id: String? = null,
-
- /**
- * The properties of the line item. A shop may add, or enable customers to add custom information to a line item. Line item properties
- * consist of a key and value pair.
- */
- public val properties: List? = null,
-
- /**
- * The quantity of the line item.
- */
- public val quantity: Double? = null,
-
- /**
- * The selling plan associated with the line item and the effect that each selling plan has on variants when they're purchased.
- */
- public val sellingPlanAllocation: SellingPlanAllocation? = null,
-
- /**
- * The title of the line item. Defaults to the product's title.
- */
- public val title: String? = null,
-
- /**
- * Product variant of the line item.
- */
- public val variant: ProductVariant? = null
-)
-
-@Serializable
-public data class Delivery(
- /**
- * The selected delivery options for the event.
- */
- public val selectedDeliveryOptions: List? = null,
-)
-
-@Serializable
-public data class DeliveryOption(
- /**
- * The cost of the delivery option.
- */
- public val cost: MoneyV2? = null,
-
- /**
- * The cost of the delivery option after discounts have been applied.
- */
- public val costAfterDiscounts: MoneyV2? = null,
-
- /**
- * The description of the delivery option.
- */
- public val description: String? = null,
-
- /**
- * The unique identifier of the delivery option.
- */
- public val handle: String? = null,
-
- /**
- * The title of the delivery option.
- */
- public val title: String? = null,
-
- /**
- * The type of delivery option, e.g. pickup, pickupPoint, shipping, local.
- */
- public val type: String? = null,
-)
-
-/**
- * The discount that has been applied to the checkout line item.
- */
-@Serializable
-public data class DiscountAllocation(
- /**
- * The monetary value with currency allocated to the discount.
- */
- public val amount: MoneyV2? = null,
-
- /**
- * The information about the intent of the discount.
- */
- public val discountApplication: DiscountApplication? = null
-)
-
-/**
- * An order is a customer’s completed request to purchase one or more products
- * from a shop. An order is created when a customer completes the checkout
- * process.
- */
-@Serializable
-public data class Order(
-
- /**
- * The customer that placed the order.
- */
- public val customer: OrderCustomer? = null,
-
- /**
- * The ID of the order.
- */
- public val id: String? = null
-)
-
-@Serializable
-public data class OrderCustomer(
- /**
- * The ID of the customer.
- */
- public val id: String? = null,
-
- public val isFirstOrder: Boolean? = null,
-)
-
-@Serializable
-public data class Property(
- /**
- * The key for the property.
- */
- public val key: String? = null,
- /**
- * The value for the property.
- */
- public val value: String? = null,
-)
-
-@Serializable
-public data class SellingPlanAllocation(
- /**
- * A representation of how products and variants can be sold and purchased. For example, an individual selling plan could be
- * '6 weeks of prepaid granola, delivered weekly'.
- */
- public val sellingPlan: SellingPlan,
-)
-
-@Serializable
-public data class SellingPlan(
- /**
- * A globally unique identifier.
- */
- public val id: String? = null,
- /**
- * The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'.
- */
- public val name: String? = null,
-)
-
-/**
- * A shipping rate to be applied to a checkout.
- */
-@Serializable
-public data class ShippingRate(
- /**
- * Price of this shipping rate.
- */
- public val price: MoneyV2? = null
-)
-
-/**
- * A transaction associated with a checkout or order.
- */
-@Serializable
-public data class Transaction(
- /**
- * The monetary value with currency allocated to the transaction method.
- */
- public val amount: MoneyV2? = null,
-
- /**
- * The name of the payment provider used for the transaction.
- */
- public val gateway: String? = null,
-
- /**
- * The payment method used for the transaction.
- */
- public val paymentMethod: TransactionPaymentMethod? = null,
-)
-
-@Serializable
-public data class TransactionPaymentMethod(
- /**
- * The name of the payment method used for the transaction. This may further specify the payment method used.
- */
- public val name: String? = null,
-
- /**
- * The type of payment method used for the transaction.
- *
- * - creditCard: A vaulted or manually entered credit card.
- * - redeemable: A redeemable payment method, such as a gift card or store credit.
- * - deferred: A deferred payment, such as invoicing the buyer and collecting payment later.
- * - local: A local payment method specific to the current region or market.
- * - manualPayment: A manual payment method, such as an in-person retail transaction.
- * - paymentOnDelivery: A payment that will be collected on delivery.
- * - wallet: An integrated wallet, such as PayPal, Google Pay, Apple Pay, etc.
- * - offsite: A payment processed outside of Shopify's checkout, excluding integrated wallets.
- * - customOnSite: A custom payment method that is processed through a checkout extension with a payments app.
- * - other: Another type of payment not defined here.
- */
- public val type: String? = null,
-)
-
-/**
- * This event represents any custom events emitted by partners or merchants via
- * the `publish` method
- */
-@Serializable
-public data class CustomPixelEvent(
- public override val id: String? = null,
- public override val name: String? = null,
- public override val timestamp: String? = null,
- public override val type: EventType? = null,
- public val context: Context? = null,
- // Clients are expected to define their own type for each custom event, and deserialize from String
- @Serializable(with = JsonObjectAsStringSerializer::class)
- public val customData: String? = null,
-) : PixelEvent
-
-public object JsonObjectAsStringSerializer : KSerializer {
- override val descriptor: SerialDescriptor = PrimitiveSerialDescriptor("WithCustomDefault", PrimitiveKind.STRING)
-
- override fun serialize(encoder: Encoder, value: String) {
- encoder.encodeString(value)
- }
-
- override fun deserialize(decoder: Decoder): String {
- return decoder.decodeSerializableValue(JsonObject.serializer()).toString()
- }
-}
-
-/**
- * A customer represents a customer account with the shop. Customer accounts
- * store contact information for the customer, saving logged-in customers the
- * trouble of having to provide it at every checkout.
- */
-@Serializable
-public data class Customer(
- /**
- * The customer’s email address.
- */
- public val email: String? = null,
-
- /**
- * The customer’s first name.
- */
- public val firstName: String? = null,
-
- /**
- * The ID of the customer.
- */
- public val id: String? = null,
-
- /**
- * The customer’s last name.
- */
- public val lastName: String? = null,
-
- /**
- * The total number of orders that the customer has placed.
- */
- public val ordersCount: Double? = null,
-
- /**
- * The customer’s phone number.
- */
- public val phone: String? = null
-)
-
-/**
- * A value given to a customer when a discount is applied to an order. The
- * application of a discount with this value gives the customer the specified
- * percentage off a specified item.
- */
-@Serializable
-public data class PricingPercentageValue(
- /**
- * The percentage value of the object.
- */
- public val percentage: Double? = null
-)
diff --git a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutBridgeTest.kt b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutBridgeTest.kt
index 95f1566c..04a32af2 100644
--- a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutBridgeTest.kt
+++ b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutBridgeTest.kt
@@ -24,8 +24,6 @@ package com.shopify.checkoutkit
import com.shopify.checkoutkit.CheckoutBridge.CheckoutWebOperation.COMPLETED
import com.shopify.checkoutkit.CheckoutBridge.CheckoutWebOperation.MODAL
-import com.shopify.checkoutkit.pixelevents.PixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import org.assertj.core.api.Assertions.assertThat
@@ -89,39 +87,6 @@ class CheckoutBridgeTest {
verifyNoInteractions(mockEventProcessor)
}
- @Test
- fun `calls onPixelEvent when valid webPixels event received`() {
- val eventString = """|
- |{
- | "name":"webPixels",
- | "body": "{
- | \"name\": \"checkout_started\",
- | \"event\": {
- | \"type\": \"standard\",
- | \"id\": \"sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B\",
- | \"name\": \"checkout_started\",
- | \"timestamp\": \"2023-12-20T16:39:23+0000\",
- | \"data\": {
- | \"checkout\": {
- | \"order\": {
- | \"id\": \"123\"
- | }
- | }
- | }
- | }
- | }"
- |}
- |
- """.trimMargin()
-
- checkoutBridge.postMessage(eventString)
-
- val captor = argumentCaptor()
- verify(mockEventProcessor, timeout(2000).times(1)).onWebPixelEvent(captor.capture())
-
- assertThat(captor.firstValue).isInstanceOf(StandardPixelEvent::class.java)
- }
-
@Test
fun `should decode a checkout expired error payload and call processor#onCheckoutViewFailedWithError - invalid`() {
val eventString = """|
diff --git a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutCompletedEventDecoderTest.kt b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutCompletedEventDecoderTest.kt
index 73be00b2..36eed240 100644
--- a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutCompletedEventDecoderTest.kt
+++ b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/CheckoutCompletedEventDecoderTest.kt
@@ -29,9 +29,9 @@ import com.shopify.checkoutkit.lifecycleevents.CartLineImage
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEventDecoder
import com.shopify.checkoutkit.lifecycleevents.DeliveryDetails
import com.shopify.checkoutkit.lifecycleevents.DeliveryInfo
+import com.shopify.checkoutkit.lifecycleevents.MoneyV2
import com.shopify.checkoutkit.lifecycleevents.PaymentMethod
import com.shopify.checkoutkit.lifecycleevents.Price
-import com.shopify.checkoutkit.pixelevents.MoneyV2
import kotlinx.serialization.json.Json
import org.assertj.core.api.Assertions.assertThat
import org.junit.Test
diff --git a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/DefaultCheckoutEventProcessorTest.kt b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/DefaultCheckoutEventProcessorTest.kt
index 2b36250a..a993b809 100644
--- a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/DefaultCheckoutEventProcessorTest.kt
+++ b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/DefaultCheckoutEventProcessorTest.kt
@@ -28,7 +28,6 @@ import android.content.pm.PackageManager
import android.net.Uri
import androidx.activity.ComponentActivity
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent
-import com.shopify.checkoutkit.pixelevents.PixelEvent
import org.assertj.core.api.Assertions.assertThat
import org.junit.Before
import org.junit.Test
@@ -141,10 +140,6 @@ class DefaultCheckoutEventProcessorTest {
override fun onCheckoutCanceled() {
/* not implemented */
}
-
- override fun onWebPixelEvent(event: PixelEvent) {
- /* not implemented */
- }
}
val error = object : CheckoutUnavailableException("error description", "unknown", true) {}
diff --git a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/InteropTest.java b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/InteropTest.java
index 978f0c9f..b4c847a0 100644
--- a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/InteropTest.java
+++ b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/InteropTest.java
@@ -8,10 +8,6 @@
import com.shopify.checkoutkit.errorevents.CheckoutErrorDecoder;
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent;
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEventDecoder;
-import com.shopify.checkoutkit.pixelevents.PixelEvent;
-import com.shopify.checkoutkit.pixelevents.PixelEventDecoder;
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent;
-import com.shopify.checkoutkit.pixelevents.StandardPixelEventData;
import org.junit.After;
import org.junit.Before;
@@ -151,11 +147,6 @@ public void tearDown() {
public void canInstantiateCustomEventProcessorWithDefaultArg() {
try (ActivityController controller = Robolectric.buildActivity(ComponentActivity.class)) {
DefaultCheckoutEventProcessor processor = new DefaultCheckoutEventProcessor(controller.get()) {
- @Override
- public void onWebPixelEvent(@NonNull PixelEvent event) {
-
- }
-
@Override
public void onCheckoutCompleted(@NonNull CheckoutCompletedEvent checkoutCompletedEvent) {
@@ -176,43 +167,6 @@ public void onCheckoutCanceled() {
}
}
- // java tests lack access to internal kotlin classes in the project
- @SuppressWarnings("all")
- @Test
- public void canAccessFieldsOnPixelEvents() {
- String orderId = "123";
- String eventString = "{" +
- "\"name\": \"checkout_started\"," +
- "\"event\": {" +
- "\"type\": \"standard\"," +
- "\"id\": \"sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B\"," +
- "\"name\": \"checkout_started\"," +
- "\"timestamp\": \"2023-12-20T16:39:23+0000\"," +
- "\"data\": {" +
- "\"checkout\": {" +
- "\"order\": {" +
- "\"id\": \"" + orderId + "\"" +
- "}" +
- "}" +
- "}" +
- "}" +
- "}";
-
- WebToSdkEvent webEvent = new WebToSdkEvent("webPixels", eventString);
- Json json = Json.Default;
-
- PixelEventDecoder decoder = new PixelEventDecoder(json);
-
- PixelEvent event = decoder.decode(webEvent);
-
- assertThat(event).isInstanceOf(StandardPixelEvent.class);
- StandardPixelEvent checkoutStartedEvent = (StandardPixelEvent) event;
- StandardPixelEventData checkoutStartedData = checkoutStartedEvent.getData();
- String checkoutStartedOrderId = checkoutStartedData.getCheckout().getOrder().getId();
-
- assertThat(checkoutStartedOrderId).isEqualTo(orderId);
- }
-
@SuppressWarnings("all")
@Test
public void canAccessFieldsOnExceptions() {
diff --git a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/pixelevents/PixelEventDecoderTest.kt b/platforms/android/lib/src/test/java/com/shopify/checkoutkit/pixelevents/PixelEventDecoderTest.kt
deleted file mode 100644
index 9f06de69..00000000
--- a/platforms/android/lib/src/test/java/com/shopify/checkoutkit/pixelevents/PixelEventDecoderTest.kt
+++ /dev/null
@@ -1,301 +0,0 @@
-/*
- * MIT License
- *
- * Copyright 2023-present, Shopify Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-package com.shopify.checkoutkit.pixelevents
-
-import com.shopify.checkoutkit.LogWrapper
-import com.shopify.checkoutkit.WebToSdkEvent
-import kotlinx.serialization.Serializable
-import kotlinx.serialization.json.Json
-import org.assertj.core.api.Assertions.assertThat
-import org.junit.Test
-import org.mockito.Mockito.mock
-import org.mockito.Mockito.verify
-import org.mockito.Mockito.verifyNoInteractions
-import org.mockito.kotlin.any
-import org.mockito.kotlin.eq
-
-class PixelEventDecoderTest {
-
- private val logWrapper = mock()
- private val decoder = PixelEventDecoder(Json { ignoreUnknownKeys = true }, logWrapper)
-
- @Test
- fun `should deserialize a standard event - checkout started`() {
- val event = """|
- |{
- | "name": "checkout_started",
- | "event": {
- | "type": "standard",
- | "id": "sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B",
- | "name": "checkout_started",
- | "timestamp": "2023-12-20T16:39:23+0000",
- | "data": {
- | "checkout": {
- | "order": {
- | "id": "123",
- | "customer": {
- | "isFirstOrder": null
- | }
- | }
- | }
- | }
- | }
- |}
- |
- """.trimMargin()
- .toWebToSdkEvent()
-
- val result = decoder.decode(event)
-
- assertThat(result).isInstanceOf(StandardPixelEvent::class.java)
-
- val checkoutStartedEvent = result as StandardPixelEvent
- assertThat(checkoutStartedEvent.name).isEqualTo("checkout_started")
- assertThat(checkoutStartedEvent.timestamp).isEqualTo("2023-12-20T16:39:23+0000")
- assertThat(checkoutStartedEvent.id).isEqualTo("sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B")
- assertThat(checkoutStartedEvent.data?.checkout?.order?.id).isEqualTo("123")
- assertThat(checkoutStartedEvent.data?.checkout?.order?.customer?.isFirstOrder).isNull()
-
- verifyNoInteractions(logWrapper)
- }
-
- @Test
- fun `should deserialize a standard event - CheckoutCompleted`() {
- val event = """|
- |{
- | "name": "checkout_completed",
- | "event": {
- | "type": "standard",
- | "id": "sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B",
- | "name": "checkout_completed",
- | "timestamp": "2023-12-20T16:39:23+0000",
- | "data": {
- | "checkout": {
- | "totalPrice": {
- | "amount": 123.3,
- | "currencyCode": "USD"
- | },
- | "order": {
- | "id": "123",
- | "customer": {
- | "id": "456",
- | "isFirstOrder": true
- | }
- | }
- | }
- | }
- | }
- |}
- |
- """.trimMargin()
- .toWebToSdkEvent()
-
- val result = decoder.decode(event)
-
- assertThat(result).isInstanceOf(StandardPixelEvent::class.java)
-
- val checkoutStarted = result as StandardPixelEvent
- assertThat(checkoutStarted.name).isEqualTo("checkout_completed")
- assertThat(checkoutStarted.timestamp).isEqualTo("2023-12-20T16:39:23+0000")
- assertThat(checkoutStarted.id).isEqualTo("sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B")
- assertThat(checkoutStarted.data?.checkout?.order?.id).isEqualTo("123")
- assertThat(checkoutStarted.data?.checkout?.order?.customer?.isFirstOrder).isTrue()
- assertThat(checkoutStarted.data?.checkout?.totalPrice?.amount).isEqualTo(123.3)
- assertThat(checkoutStarted.data?.checkout?.totalPrice?.currencyCode).isEqualTo("USD")
-
- verifyNoInteractions(logWrapper)
- }
-
- @Test
- fun `should deserialize a custom event`() {
- val event = """|
- |{
- | "name": "my_custom_event",
- | "event": {
- | "type": "custom",
- | "id": "sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B",
- | "name": "my_custom_event",
- | "timestamp": "2023-12-20T16:39:23+0000",
- | "customData": {
- | "a": {
- | "b": {
- | "c": "d"
- | }
- | }
- | }
- | }
- |}
- |
- """.trimMargin()
- .toWebToSdkEvent()
-
- val result = decoder.decode(event)
-
- assertThat(result).isInstanceOf(CustomPixelEvent::class.java)
-
- val customPixelEvent = result as CustomPixelEvent
- assertThat(customPixelEvent.name).isEqualTo("my_custom_event")
- assertThat(customPixelEvent.timestamp).isEqualTo("2023-12-20T16:39:23+0000")
- assertThat(customPixelEvent.id).isEqualTo("sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B")
- val customData = Json.decodeFromString(customPixelEvent.customData!!)
- assertThat(customData.a.b.c).isEqualTo("d")
-
- verifyNoInteractions(logWrapper)
- }
-
- @Test
- @Suppress("LongMethod")
- fun `should deserialize a page viewed event`() {
- val event = """|
- |{
- | "name": "page_viewed",
- | "event": {
- | "type": "standard",
- | "id": "sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B",
- | "name": "page_viewed",
- | "timestamp": "2023-12-20T16:39:23+0000",
- | "context": {
- | "document": {
- | "location": {
- | "href": "https://test-store.myshopify.com/checkouts/cn/Z2NwLXVzLWNlbnRyYWwxOjAxSEs0U1BUSlozNDhFME5KTlM2MVhaOVE3?ew_m=f",
- | "hash": "",
- | "host": "test-store.myshopify.com",
- | "hostname": "test-store.myshopify.com",
- | "origin": "https://test-store.myshopify.com",
- | "pathname": "/checkouts/cn/Z2NwLXVzLWNlbnRyYWwxOjAxSEs0U1BUSlozNDhFME5KTlM2MVhaOVE3",
- | "port": "",
- | "protocol": "https:",
- | "search": "?ew_m=f"
- | },
- | "referrer": "https://test-store.myshopify.com/products/t-shirt",
- | "characterSet": "UTF-8",
- | "title": "Test Store"
- | },
- | "navigator": {
- | "language": "en-GB",
- | "cookieEnabled": true,
- | "languages": [
- | "en-GB",
- | "en-US",
- | "en",
- | "es"
- | ],
- | "userAgent": "Mozilla/5.0 (Macintosh; Intel Mac OS X 10_15_7) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/120.0.0.0 Safari/537.36"
- | },
- | "window": {
- | "innerHeight": 934,
- | "innerWidth": 1221,
- | "outerHeight": 1055,
- | "outerWidth": 1920,
- | "pageXOffset": 0,
- | "pageYOffset": 0,
- | "location": {
- | "href": "https://test-store.myshopify.com/checkouts/cn/Z2NwLXVzLWNlbnRyYWwxOjAxSEs0U1BUSlozNDhFME5KTlM2MVhaOVE3?ew_m=f",
- | "hash": "",
- | "host": "test-store.myshopify.com",
- | "hostname": "test-store.myshopify.com",
- | "origin": "https://test-store.myshopify.com",
- | "pathname": "/checkouts/cn/Z2NwLXVzLWNlbnRyYWwxOjAxSEs0U1BUSlozNDhFME5KTlM2MVhaOVE3",
- | "port": "",
- | "protocol": "https:",
- | "search": "?ew_m=f"
- | },
- | "origin": "https://test-store.myshopify.com",
- | "screen": {
- | "height": 1080,
- | "width": 1920
- | },
- | "screenX": 0,
- | "screenY": 25,
- | "scrollX": 0,
- | "scrollY": 0
- | }
- | }
- | }
- |}
- |
- """.trimMargin()
- .toWebToSdkEvent()
-
- val result = decoder.decode(event)
-
- assertThat(result).isInstanceOf(StandardPixelEvent::class.java)
-
- val pageViewedEvent = result as StandardPixelEvent
- assertThat(pageViewedEvent.name).isEqualTo("page_viewed")
- assertThat(pageViewedEvent.timestamp).isEqualTo("2023-12-20T16:39:23+0000")
- assertThat(pageViewedEvent.id).isEqualTo("sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B")
- assertThat(pageViewedEvent.data).isNull()
- assertThat(pageViewedEvent.context?.document?.location?.href)
- .isEqualTo(
- "https://test-store.myshopify.com/checkouts/cn/Z2NwLXVzLWNlbnRyYWwxOjAxSEs0U1BUSlozNDhFME5KTlM2MVhaOVE3?ew_m=f"
- )
-
- verifyNoInteractions(logWrapper)
- }
-
- @Test
- fun `should return null if event cannot be decoded`() {
- val event = """|
- |{
- | "name": "cart_viewed",
- | "event": {
- | "type": "standard",
- | "id": "sh-88153c5a-8F2D-4CCA-3231-EF5C032A4C3B",
- |}
- |
- """.trimMargin()
- .toWebToSdkEvent()
-
- val result = decoder.decode(event)
-
- assertThat(result).isNull()
- verify(logWrapper).e(
- eq("CheckoutBridge"),
- eq("Failed to decode pixel event"),
- any()
- )
- }
-}
-
-private fun String.toWebToSdkEvent(): WebToSdkEvent {
- return WebToSdkEvent(
- name = "webPixels",
- body = this,
- )
-}
-
-@Serializable
-data class ExampleClientDefinedType(
- val a: B
-)
-
-@Serializable
-data class B(
- val b: C
-)
-
-@Serializable
-data class C(
- val c: String
-)
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/MobileBuyEventProcessor.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/MobileBuyEventProcessor.kt
index 951a9130..c43f9bbf 100644
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/MobileBuyEventProcessor.kt
+++ b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/MobileBuyEventProcessor.kt
@@ -33,16 +33,11 @@ import androidx.navigation.NavController
import com.shopify.checkout_kit_mobile_buy_integration_sample.MainActivity
import com.shopify.checkout_kit_mobile_buy_integration_sample.R
import com.shopify.checkout_kit_mobile_buy_integration_sample.cart.CartViewModel
-import com.shopify.checkout_kit_mobile_buy_integration_sample.common.analytics.Analytics
-import com.shopify.checkout_kit_mobile_buy_integration_sample.common.analytics.toAnalyticsEvent
import com.shopify.checkout_kit_mobile_buy_integration_sample.common.logs.Logger
import com.shopify.checkout_kit_mobile_buy_integration_sample.common.navigation.Screen
import com.shopify.checkoutkit.CheckoutException
import com.shopify.checkoutkit.DefaultCheckoutEventProcessor
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent
-import com.shopify.checkoutkit.pixelevents.CustomPixelEvent
-import com.shopify.checkoutkit.pixelevents.PixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent
import kotlinx.coroutines.DelicateCoroutinesApi
import kotlinx.coroutines.Dispatchers
import kotlinx.coroutines.GlobalScope
@@ -95,18 +90,4 @@ class MobileBuyEventProcessor(
): Boolean {
return (context as MainActivity).onShowFileChooser(filePathCallback, fileChooserParams)
}
-
- override fun onWebPixelEvent(event: PixelEvent) {
- logger.log(event)
-
- // handle pixel events (e.g. transform, augment, and process), e.g.
- val analyticsEvent = when (event) {
- is StandardPixelEvent -> event.toAnalyticsEvent()
- is CustomPixelEvent -> event.toAnalyticsEvent()
- }
-
- analyticsEvent?.let {
- Analytics.record(analyticsEvent)
- }
- }
}
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/analytics/Analytics.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/analytics/Analytics.kt
deleted file mode 100644
index 566816af..00000000
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/analytics/Analytics.kt
+++ /dev/null
@@ -1,93 +0,0 @@
-/*
- * MIT License
- *
- * Copyright 2023-present, Shopify Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-package com.shopify.checkout_kit_mobile_buy_integration_sample.common.analytics
-
-import com.shopify.checkoutkit.pixelevents.CustomPixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent
-import kotlinx.serialization.json.Json
-
-object Analytics {
- fun userId(): String {
- // return ID associated with user in analytics system
- return "123"
- }
-
- fun record(analyticsEvent: AnalyticsEvent) {
- // implement record, e.g. via calling analytics sdk function
- println(analyticsEvent)
- }
-}
-
-data class AnalyticsEvent(
- val id: String,
- val name: String,
- val userId: String,
- val timestamp: String,
- val checkoutAmount: Double,
-)
-
-data class FirstCustomEventData(
- val attr1: Double,
-)
-
-data class SecondCustomEventData(
- val attr2: Double,
-)
-
-fun StandardPixelEvent.toAnalyticsEvent(): AnalyticsEvent {
- return AnalyticsEvent(
- id = id ?: "",
- name = name ?: "",
- timestamp = timestamp ?: "",
- userId = Analytics.userId(),
- checkoutAmount = data?.checkout?.totalPrice?.amount ?: 0.0
- )
-}
-fun CustomPixelEvent.toAnalyticsEvent(): AnalyticsEvent? {
- return when (name) {
- "first_custom_event" -> {
- val eventData = Json.decodeFromString(customData!!)
- AnalyticsEvent(
- id = id ?: "",
- name = name ?: "",
- timestamp = timestamp ?: "",
- userId = Analytics.userId(),
- checkoutAmount = eventData.attr1,
- )
- }
- "second_custom_event" -> {
- val eventData = Json.decodeFromString(customData!!)
- AnalyticsEvent(
- id = id ?: "",
- name = name ?: "",
- timestamp = timestamp ?: "",
- userId = Analytics.userId(),
- checkoutAmount = eventData.attr2,
- )
- }
- else -> {
- print("unknown event")
- null
- }
- }
-}
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/di/AppModule.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/di/AppModule.kt
index 90829ef0..afa3a26c 100644
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/di/AppModule.kt
+++ b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/di/AppModule.kt
@@ -34,6 +34,7 @@ import com.shopify.checkout_kit_mobile_buy_integration_sample.common.client.Stor
import com.shopify.checkout_kit_mobile_buy_integration_sample.common.logs.LogDatabase
import com.shopify.checkout_kit_mobile_buy_integration_sample.common.logs.Logger
import com.shopify.checkout_kit_mobile_buy_integration_sample.common.logs.MIGRATION_1_2
+import com.shopify.checkout_kit_mobile_buy_integration_sample.common.logs.MIGRATION_2_3
import com.shopify.checkout_kit_mobile_buy_integration_sample.home.HomeViewModel
import com.shopify.checkout_kit_mobile_buy_integration_sample.logs.LogsViewModel
import com.shopify.checkout_kit_mobile_buy_integration_sample.products.ProductsViewModel
@@ -89,7 +90,7 @@ val appModules = module {
single { Logger(logDb = get(), coroutineScope = CoroutineScope(Dispatchers.IO)) }
single {
Room.databaseBuilder(get(), LogDatabase::class.java, "log-db")
- .addMigrations(MIGRATION_1_2)
+ .addMigrations(MIGRATION_1_2, MIGRATION_2_3)
.build()
}
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogDatabase.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogDatabase.kt
index 2a6d1263..1086ca77 100644
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogDatabase.kt
+++ b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogDatabase.kt
@@ -30,7 +30,7 @@ import androidx.sqlite.db.SupportSQLiteDatabase
@Database(
entities = [LogLine::class],
- version = 2,
+ version = 3,
exportSchema = false,
)
@TypeConverters(Converters::class)
@@ -43,3 +43,31 @@ val MIGRATION_1_2 = object : Migration(1, 2) {
db.execSQL("ALTER TABLE LogLine ADD COLUMN checkout_completedorderDetails TEXT")
}
}
+
+val MIGRATION_2_3 = object : Migration(2, 3) {
+ override fun migrate(db: SupportSQLiteDatabase) {
+ db.execSQL(
+ """
+ CREATE TABLE LogLine_new (
+ id BLOB NOT NULL PRIMARY KEY,
+ createdAt INTEGER NOT NULL,
+ message TEXT NOT NULL,
+ type TEXT NOT NULL,
+ error_detailstype TEXT,
+ error_detailsmessage TEXT,
+ checkout_completedorderDetails TEXT
+ )
+ """.trimIndent()
+ )
+ db.execSQL(
+ """
+ INSERT INTO LogLine_new (id, createdAt, message, type, error_detailstype, error_detailsmessage, checkout_completedorderDetails)
+ SELECT id, createdAt, message, type, error_detailstype, error_detailsmessage, checkout_completedorderDetails
+ FROM LogLine
+ WHERE type IN ('STANDARD', 'ERROR', 'CHECKOUT_COMPLETED')
+ """.trimIndent()
+ )
+ db.execSQL("DROP TABLE LogLine")
+ db.execSQL("ALTER TABLE LogLine_new RENAME TO LogLine")
+ }
+}
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogLine.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogLine.kt
index c33a9169..234c4087 100644
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogLine.kt
+++ b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/LogLine.kt
@@ -1,18 +1,18 @@
/*
* MIT License
- *
+ *
* Copyright 2023-present, Shopify Inc.
- *
+ *
* Permission is hereby granted, free of charge, to any person obtaining a copy
* of this software and associated documentation files (the "Software"), to deal
* in the Software without restriction, including without limitation the rights
* to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
* copies of the Software, and to permit persons to whom the Software is
* furnished to do so, subject to the following conditions:
- *
+ *
* The above copyright notice and this permission notice shall be included in all
* copies or substantial portions of the Software.
- *
+ *
* THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
* IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
* FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
@@ -28,10 +28,6 @@ import androidx.room.PrimaryKey
import androidx.room.TypeConverter
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent
import com.shopify.checkoutkit.lifecycleevents.OrderDetails
-import com.shopify.checkoutkit.pixelevents.Context
-import com.shopify.checkoutkit.pixelevents.CustomPixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEventData
import kotlinx.serialization.encodeToString
import kotlinx.serialization.json.Json
import java.util.Date
@@ -43,14 +39,12 @@ data class LogLine(
val createdAt: Long = Date().time,
val message: String,
val type: LogType,
- @Embedded(prefix = "standard_pixel") val standardPixelEvent: StandardPixelEvent? = null,
- @Embedded(prefix = "custom_pixel") val customPixelEvent: CustomPixelEvent? = null,
@Embedded(prefix = "error_details") val errorDetails: ErrorDetails? = null,
@Embedded(prefix = "checkout_completed") val checkoutCompleted: CheckoutCompletedEvent? = null,
)
enum class LogType {
- STANDARD, ERROR, CUSTOM_PIXEL, STANDARD_PIXEL, CHECKOUT_COMPLETED
+ STANDARD, ERROR, CHECKOUT_COMPLETED
}
data class ErrorDetails(
@@ -59,26 +53,6 @@ data class ErrorDetails(
)
class Converters {
- @TypeConverter
- fun standardPixelEventDataToString(value: StandardPixelEventData): String {
- return Json.encodeToString(value)
- }
-
- @TypeConverter
- fun stringToStandardPixelEventData(value: String): StandardPixelEventData {
- return Json.decodeFromString(value)
- }
-
- @TypeConverter
- fun contextToString(value: Context): String {
- return Json.encodeToString(value)
- }
-
- @TypeConverter
- fun stringToContext(value: String): Context {
- return Json.decodeFromString(value)
- }
-
@TypeConverter
fun orderDetailsToString(value: OrderDetails): String {
return Json.encodeToString(value)
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/Logger.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/Logger.kt
index 434d96ee..9bfc8cb2 100644
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/Logger.kt
+++ b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/common/logs/Logger.kt
@@ -24,9 +24,6 @@ package com.shopify.checkout_kit_mobile_buy_integration_sample.common.logs
import com.shopify.checkoutkit.CheckoutException
import com.shopify.checkoutkit.lifecycleevents.CheckoutCompletedEvent
-import com.shopify.checkoutkit.pixelevents.CustomPixelEvent
-import com.shopify.checkoutkit.pixelevents.PixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent
import kotlinx.coroutines.CoroutineScope
import kotlinx.coroutines.launch
import java.util.Date
@@ -36,29 +33,6 @@ class Logger(
private val logDb: LogDatabase,
private val coroutineScope: CoroutineScope,
) {
- fun log(pixelEvent: PixelEvent) {
- when (pixelEvent) {
- is StandardPixelEvent -> {
- insert(
- LogLine(
- type = LogType.STANDARD_PIXEL,
- message = pixelEvent.name ?: "",
- standardPixelEvent = pixelEvent,
- )
- )
- }
- is CustomPixelEvent -> {
- insert(
- LogLine(
- type = LogType.CUSTOM_PIXEL,
- message = pixelEvent.name ?: "",
- customPixelEvent = pixelEvent,
- )
- )
- }
- }
- }
-
fun log(message: String) {
insert(
LogLine(
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/LogDetailModal.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/LogDetailModal.kt
index 34c4c6a9..eba90d44 100644
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/LogDetailModal.kt
+++ b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/LogDetailModal.kt
@@ -57,8 +57,6 @@ fun LogDetailModal(
when (logLine?.type) {
LogType.STANDARD -> LogDetails("Checkout Lifecycle Event", logLine.message, Modifier.fillMaxWidth())
LogType.ERROR -> LogDetails("Checkout Error", "${logLine.errorDetails}", Modifier.fillMaxWidth())
- LogType.STANDARD_PIXEL -> PixelEventDetails(logLine.standardPixelEvent, prettyJson)
- LogType.CUSTOM_PIXEL -> PixelEventDetails(logLine.customPixelEvent, prettyJson)
LogType.CHECKOUT_COMPLETED -> CheckoutCompletedDetails(logLine.checkoutCompleted, prettyJson)
else -> Text("Unknown log type ${logLine?.type}")
}
diff --git a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/PixelEventDetails.kt b/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/PixelEventDetails.kt
deleted file mode 100644
index 4ff7072e..00000000
--- a/platforms/android/samples/MobileBuyIntegration/app/src/main/java/com/shopify/checkout_kit_mobile_buy_integration_sample/logs/details/PixelEventDetails.kt
+++ /dev/null
@@ -1,81 +0,0 @@
-/*
- * MIT License
- *
- * Copyright 2023-present, Shopify Inc.
- *
- * Permission is hereby granted, free of charge, to any person obtaining a copy
- * of this software and associated documentation files (the "Software"), to deal
- * in the Software without restriction, including without limitation the rights
- * to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- * copies of the Software, and to permit persons to whom the Software is
- * furnished to do so, subject to the following conditions:
- *
- * The above copyright notice and this permission notice shall be included in all
- * copies or substantial portions of the Software.
- *
- * THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- * IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- * FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- * AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- * LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- * OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-package com.shopify.checkout_kit_mobile_buy_integration_sample.logs.details
-
-import androidx.compose.foundation.background
-import androidx.compose.foundation.layout.fillMaxWidth
-import androidx.compose.material3.MaterialTheme
-import androidx.compose.runtime.Composable
-import androidx.compose.ui.Modifier
-import com.shopify.checkoutkit.pixelevents.Context
-import com.shopify.checkoutkit.pixelevents.CustomPixelEvent
-import com.shopify.checkoutkit.pixelevents.PixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEvent
-import com.shopify.checkoutkit.pixelevents.StandardPixelEventData
-import kotlinx.serialization.encodeToString
-import kotlinx.serialization.json.Json
-
-@Composable
-fun PixelEventDetails(
- event: PixelEvent?,
- prettyJson: Json,
-) {
- val evenModifier = Modifier
- .fillMaxWidth()
- .background(color = MaterialTheme.colorScheme.surface)
- val oddModifier = Modifier
- .fillMaxWidth()
- .background(color = MaterialTheme.colorScheme.background)
-
- LogDetails(header = "Event Name", message = event?.name ?: "", evenModifier)
- LogDetails(header = "Timestamp", message = event?.timestamp ?: "", oddModifier)
- LogDetails(header = "ID", message = event?.id ?: "", evenModifier)
- LogDetails(header = "Type", message = event?.type?.name?.lowercase() ?: "", oddModifier)
-
- when (event) {
- is StandardPixelEvent -> {
- LogDetails(
- header = "Data",
- message = prettyJson.encodeDataToString(event.data),
- evenModifier,
- )
- LogDetails(header = "Context", message = prettyJson.encodeDataToString(event.context), oddModifier)
- }
-
- is CustomPixelEvent -> {
- LogDetails(
- header = "Custom Data",
- message = event.customData ?: "",
- evenModifier,
- )
- LogDetails(header = "Context", message = prettyJson.encodeDataToString(event.context), oddModifier)
- }
-
- else -> {}
- }
-}
-
-private inline fun Json.encodeDataToString(el: T?, default: String = "n/a"): String {
- if (el == null) return default
- return encodeToString(el)
-}
diff --git a/platforms/react-native/README.md b/platforms/react-native/README.md
index 467ddf60..7deabe0f 100644
--- a/platforms/react-native/README.md
+++ b/platforms/react-native/README.md
@@ -45,7 +45,6 @@ experiences.
- [Checkout lifecycle](#checkout-lifecycle)
- [`addEventListener(eventName, callback)`](#addeventlistenereventname-callback)
- [`removeEventListeners(eventName)`](#removeeventlistenerseventname)
-- [Behavioral data - Web pixels](#behavioral-data---web-pixels)
- [Identity \& customer accounts](#identity--customer-accounts)
- [Cart: buyer bag, identity, and preferences](#cart-buyer-bag-identity-and-preferences)
- [Multipass](#multipass)
@@ -600,7 +599,6 @@ methods - available on both the context provider as well as the class instance.
| `close` | `() => void` | Fired when the checkout has been closed. |
| `completed` | `(event: CheckoutCompletedEvent) => void` | Fired when the checkout has been successfully completed. |
| `error` | `(error: {message: string}) => void` | Fired when a checkout exception has been raised. |
-| `pixel` | `(event: PixelEvent) => void` | Fired when a Web Pixel event has been relayed from checkout. |
### `addEventListener(eventName, callback)`
@@ -633,22 +631,11 @@ useEffect(() => {
},
);
- const pixel = shopifyCheckout.addEventListener(
- 'pixel',
- (event: PixelEvent) => {
- // Dispatch web pixel events to third-party services
- if (hasPermissionToTrack) {
- sendEventToAnalyticsProvider(event);
- }
- },
- );
-
return () => {
// It is important to clear the subscription on unmount to prevent memory leaks
close?.remove();
completed?.remove();
error?.remove();
- pixel?.remove();
};
}, [shopifyCheckout]);
```
@@ -658,26 +645,6 @@ useEffect(() => {
On the rare occasion that you want to remove all event listeners for a given
`eventName`, you can use the `removeEventListeners(eventName)` method.
-## Behavioral data - Web pixels
-
-App developers can use
-[lifecycle events](#checkout-lifecycle) to monitor
-and log the status of a checkout session.
-
-For behavioural monitoring,
-["standard"](https://shopify.dev/docs/api/web-pixels-api/standard-events) and
-["custom"](https://shopify.dev/docs/api/web-pixels-api#custom-web-pixels) Web
-Pixel events will be relayed back to your application through the `"pixel"`
-event listener. App developers should only subscribe to pixel events if they have proper levels of consent from merchants/buyers and are responsible for adherence to Apple's privacy policy and local regulations like GDPR and
-ePrivacy directive before disseminating these events to first-party and
-third-party systems.
-
-> [!NOTE]
-> You will likely need to augment these events with customer/session information derived from app state.
-
-> [!NOTE]
-> The `customData` attribute of CustomPixelEvent can take on any shape. As such, this attribute will be returned as a String. Client applications should define a custom data type and deserialize the customData string into that type.
-
## Identity & customer accounts
Buyer-aware checkout experience reduces friction and increases conversion.
@@ -1017,9 +984,6 @@ Attach lifecycle handlers to respond when buyers finish, cancel, or encounter an
// event.state: 'loading' | 'rendered' | 'error'
setRenderState(event.state);
}}
- onWebPixelEvent={(event) => {
- analytics.track(event);
- }}
onClickLink={(url) => {
Linking.openURL(url);
}}
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/android/src/main/java/com/shopify/reactnative/checkoutkit/CustomCheckoutEventProcessor.java b/platforms/react-native/modules/@shopify/checkout-kit-react-native/android/src/main/java/com/shopify/reactnative/checkoutkit/CustomCheckoutEventProcessor.java
index 218b5cf1..557a329e 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/android/src/main/java/com/shopify/reactnative/checkoutkit/CustomCheckoutEventProcessor.java
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/android/src/main/java/com/shopify/reactnative/checkoutkit/CustomCheckoutEventProcessor.java
@@ -34,7 +34,6 @@ of this software and associated documentation files (the "Software"), to deal
import com.facebook.react.modules.core.DeviceEventManagerModule;
import com.facebook.react.bridge.WritableNativeMap;
import com.facebook.react.bridge.ReactApplicationContext;
-import com.shopify.checkoutsheetkit.pixelevents.PixelEvent;
import com.shopify.checkoutsheetkit.lifecycleevents.CheckoutCompletedEvent;
import com.fasterxml.jackson.databind.ObjectMapper;
import java.io.IOException;
@@ -107,16 +106,6 @@ public void onGeolocationPermissionsHidePrompt() {
this.geolocationOrigin = null;
}
- @Override
- public void onWebPixelEvent(@NonNull PixelEvent event) {
- try {
- String data = mapper.writeValueAsString(event);
- sendEventWithStringData("pixel", data);
- } catch (IOException e) {
- Log.e("ShopifyCheckoutSheetKit", "Error processing pixel event", e);
- }
- }
-
@Override
public void onCheckoutFailed(CheckoutException checkoutError) {
try {
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/AcceleratedCheckoutButtons.swift b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/AcceleratedCheckoutButtons.swift
index fcefb67c..6d152b69 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/AcceleratedCheckoutButtons.swift
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/AcceleratedCheckoutButtons.swift
@@ -131,7 +131,6 @@ class RCTAcceleratedCheckoutButtonsView: UIView {
@objc var onCancel: RCTBubblingEventBlock?
@objc var onRenderStateChange: RCTBubblingEventBlock?
@objc var onShouldRecoverFromError: RCTDirectEventBlock?
- @objc var onWebPixelEvent: RCTBubblingEventBlock?
@objc var onClickLink: RCTBubblingEventBlock?
// MARK: - Private
@@ -269,9 +268,6 @@ class RCTAcceleratedCheckoutButtonsView: UIView {
.onClickLink { [weak self] url in
self?.handleClickLink(url)
}
- .onWebPixelEvent { [weak self] event in
- self?.handleWebPixelEvent(event)
- }
}
private func updateView() {
@@ -367,10 +363,6 @@ class RCTAcceleratedCheckoutButtonsView: UIView {
onRenderStateChange?(ShopifyEventSerialization.serialize(renderState: state))
}
- private func handleWebPixelEvent(_ event: PixelEvent) {
- onWebPixelEvent?(ShopifyEventSerialization.serialize(pixelEvent: event))
- }
-
private func handleClickLink(_ url: URL) {
onClickLink?(ShopifyEventSerialization.serialize(clickEvent: url))
}
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit+EventSerialization.swift b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit+EventSerialization.swift
index 801937fb..e7cb27ef 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit+EventSerialization.swift
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit+EventSerialization.swift
@@ -66,34 +66,6 @@ internal enum ShopifyEventSerialization {
return encodeToJSON(from: event)
}
- /**
- * Converts a PixelEvent to a React Native compatible dictionary.
- */
- static func serialize(pixelEvent event: PixelEvent) -> [String: Any] {
- switch event {
- case let .standardEvent(standardEvent):
- let encoded = encodeToJSON(from: standardEvent)
- return [
- "context": encoded["context"] ?? NSNull(),
- "data": encoded["data"] ?? NSNull(),
- "id": encoded["id"] ?? NSNull(),
- "name": encoded["name"] ?? NSNull(),
- "timestamp": encoded["timestamp"] ?? NSNull(),
- "type": "STANDARD"
- ]
-
- case let .customEvent(customEvent):
- return [
- "context": encodeToJSON(from: customEvent.context),
- "customData": stringToJSON(from: customEvent.customData) ?? NSNull(),
- "id": customEvent.id,
- "name": customEvent.name,
- "timestamp": customEvent.timestamp,
- "type": "CUSTOM"
- ]
- }
- }
-
static func serialize(clickEvent url: URL) -> [String: URL] {
return ["url": url]
}
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.mm b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.mm
index 060c88e6..1efaed39 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.mm
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.mm
@@ -119,11 +119,6 @@ @interface RCT_EXTERN_MODULE (RCTAcceleratedCheckoutButtonsManager, RCTViewManag
*/
RCT_EXPORT_VIEW_PROPERTY(onShouldRecoverFromError, RCTDirectEventBlock)
-/**
- * Emitted when a web pixel event occurs during checkout.
- */
-RCT_EXPORT_VIEW_PROPERTY(onWebPixelEvent, RCTBubblingEventBlock)
-
/**
* Emitted when a link is clicked within the checkout experience. Payload contains the URL.
*/
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.swift b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.swift
index c500f0e4..f24fba21 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.swift
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/ios/ShopifyCheckoutKit.swift
@@ -54,7 +54,7 @@ class RCTShopifyCheckoutKit: RCTEventEmitter, CheckoutDelegate {
}
override func supportedEvents() -> [String]! {
- return ["close", "completed", "error", "pixel"]
+ return ["close", "completed", "error"]
}
override func startObserving() {
@@ -81,12 +81,6 @@ class RCTShopifyCheckoutKit: RCTEventEmitter, CheckoutDelegate {
sendEvent(withName: "error", body: ShopifyEventSerialization.serialize(checkoutError: error))
}
- func checkoutDidEmitWebPixelEvent(event: ShopifyCheckoutSheetKit.PixelEvent) {
- if hasListeners {
- sendEvent(withName: "pixel", body: ShopifyEventSerialization.serialize(pixelEvent: event))
- }
- }
-
func checkoutDidCancel() {
DispatchQueue.main.async {
if self.hasListeners {
@@ -97,6 +91,11 @@ class RCTShopifyCheckoutKit: RCTEventEmitter, CheckoutDelegate {
}
}
+ // TODO: remove when wrapper migrates off ShopifyCheckoutSheetKit.
+ // Required by CSK's CheckoutDelegate; intentionally no-ops since pixel events
+ // are no longer forwarded to JS.
+ func checkoutDidEmitWebPixelEvent(event _: ShopifyCheckoutSheetKit.PixelEvent) {}
+
@objc override func constantsToExport() -> [AnyHashable: Any]! {
return [
"version": ShopifyCheckoutSheetKit.version
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/package.snapshot.json b/platforms/react-native/modules/@shopify/checkout-kit-react-native/package.snapshot.json
index e5fcd643..7011f0d3 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/package.snapshot.json
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/package.snapshot.json
@@ -26,8 +26,6 @@
"lib/commonjs/index.d.js.map",
"lib/commonjs/index.js",
"lib/commonjs/index.js.map",
- "lib/commonjs/pixels.d.js",
- "lib/commonjs/pixels.d.js.map",
"lib/commonjs/specs/NativeShopifyCheckoutKit.js",
"lib/commonjs/specs/NativeShopifyCheckoutKit.js.map",
"lib/commonjs/specs/RCTAcceleratedCheckoutButtonsNativeComponent.js",
@@ -44,8 +42,6 @@
"lib/module/index.d.js.map",
"lib/module/index.js",
"lib/module/index.js.map",
- "lib/module/pixels.d.js",
- "lib/module/pixels.d.js.map",
"lib/module/specs/NativeShopifyCheckoutKit.js",
"lib/module/specs/NativeShopifyCheckoutKit.js.map",
"lib/module/specs/RCTAcceleratedCheckoutButtonsNativeComponent.js",
@@ -69,7 +65,6 @@
"src/events.d.ts",
"src/index.d.ts",
"src/index.ts",
- "src/pixels.d.ts",
"src/specs/NativeShopifyCheckoutKit.ts",
"src/specs/RCTAcceleratedCheckoutButtonsNativeComponent.ts"
]
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/components/AcceleratedCheckoutButtons.tsx b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/components/AcceleratedCheckoutButtons.tsx
index 782af21e..8b71755e 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/components/AcceleratedCheckoutButtons.tsx
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/components/AcceleratedCheckoutButtons.tsx
@@ -27,7 +27,6 @@ import type {
AcceleratedCheckoutWallet,
CheckoutCompletedEvent,
CheckoutException,
- PixelEvent,
} from '..';
import RCTAcceleratedCheckoutButtons from '../specs/RCTAcceleratedCheckoutButtonsNativeComponent';
@@ -121,11 +120,6 @@ interface CommonAcceleratedCheckoutButtonsProps {
*/
onRenderStateChange?: (event: RenderStateChangeEvent) => void;
- /**
- * Called when a web pixel event is triggered
- */
- onWebPixelEvent?: (event: PixelEvent) => void;
-
/**
* Called when a link is clicked within the checkout
*/
@@ -191,7 +185,6 @@ export const AcceleratedCheckoutButtons: React.FC<
onComplete,
onCancel,
onRenderStateChange,
- onWebPixelEvent,
onClickLink,
...props
}) => {
@@ -237,13 +230,6 @@ export const AcceleratedCheckoutButtons: React.FC<
[onRenderStateChange],
);
- const handleWebPixelEvent = useCallback(
- (event: {nativeEvent: unknown}) => {
- onWebPixelEvent?.(event.nativeEvent as PixelEvent);
- },
- [onWebPixelEvent],
- );
-
const handleClickLink = useCallback(
(event: {nativeEvent: unknown}) => {
const nativeEvent = event.nativeEvent as {url?: string};
@@ -314,7 +300,6 @@ export const AcceleratedCheckoutButtons: React.FC<
onComplete={handleComplete}
onCancel={handleCancel}
onRenderStateChange={handleRenderStateChange}
- onWebPixelEvent={handleWebPixelEvent}
onClickLink={handleClickLink}
onSizeChange={handleSizeChange}
/>
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.d.ts b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.d.ts
index 132d741a..d2b166d3 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.d.ts
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.d.ts
@@ -22,7 +22,6 @@ OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SO
*/
import type {EmitterSubscription} from 'react-native';
-import type {PixelEvent} from './pixels';
import type {CheckoutCompletedEvent} from './events';
import type {CheckoutException} from './errors';
@@ -175,8 +174,7 @@ export type CheckoutEvent =
| 'close'
| 'completed'
| 'error'
- | 'geolocationRequest'
- | 'pixel';
+ | 'geolocationRequest';
export interface GeolocationRequestEvent {
origin: string;
@@ -186,7 +184,6 @@ export type CloseEventCallback = () => void;
export type GeolocationRequestEventCallback = (
event: GeolocationRequestEvent,
) => void;
-export type PixelEventCallback = (event: PixelEvent) => void;
export type CheckoutExceptionCallback = (error: CheckoutException) => void;
export type CheckoutCompletedEventCallback = (
event: CheckoutCompletedEvent,
@@ -196,8 +193,7 @@ export type CheckoutEventCallback =
| CloseEventCallback
| CheckoutExceptionCallback
| CheckoutCompletedEventCallback
- | GeolocationRequestEventCallback
- | PixelEventCallback;
+ | GeolocationRequestEventCallback;
/**
* Available wallet types for accelerated checkout
@@ -285,11 +281,6 @@ function addEventListener(
callback: CheckoutExceptionCallback,
): Maybe;
-function addEventListener(
- event: 'pixel',
- callback: PixelEventCallback,
-): Maybe;
-
function addEventListener(
event: 'geolocationRequest',
callback: GeolocationRequestEventCallback,
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.ts b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.ts
index 4ecc9371..76d94f49 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.ts
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/index.ts
@@ -53,7 +53,6 @@ import {
} from './errors.d';
import {CheckoutErrorCode} from './errors.d';
import type {CheckoutCompletedEvent} from './events.d';
-import type {CustomEvent, PixelEvent, StandardEvent} from './pixels.d';
import {ApplePayLabel, ApplePayStyle} from './components/AcceleratedCheckoutButtons';
import type {
AcceleratedCheckoutButtonsProps,
@@ -183,13 +182,6 @@ class ShopifyCheckout implements ShopifyCheckoutKit {
let eventCallback;
switch (event) {
- case 'pixel':
- eventCallback = this.interceptEventEmission(
- 'pixel',
- callback,
- this.parseCustomPixelData,
- );
- break;
case 'completed':
eventCallback = this.interceptEventEmission('completed', callback);
break;
@@ -210,7 +202,6 @@ class ShopifyCheckout implements ShopifyCheckoutKit {
eventCallback = callback;
}
- // Default handler for all non-pixel events
return ShopifyCheckout.eventEmitter.addListener(event, eventCallback);
}
@@ -439,30 +430,6 @@ class ShopifyCheckout implements ShopifyCheckoutKit {
return logLevelValues.has(value) ? (value as LogLevel) : LogLevel.error;
}
- /**
- * Parses custom pixel event data from string to object if needed
- * @param eventData The pixel event data to parse
- * @returns Parsed PixelEvent object
- */
- private parseCustomPixelData(eventData: PixelEvent): PixelEvent {
- if (
- isCustomPixelEvent(eventData) &&
- eventData.hasOwnProperty('customData') &&
- typeof eventData.customData === 'string'
- ) {
- try {
- return {
- ...eventData,
- customData: JSON.parse(eventData.customData),
- };
- } catch {
- return eventData;
- }
- }
-
- return eventData;
- }
-
/**
* Converts native checkout errors into appropriate error class instances
* @param exception The native error to parse
@@ -533,10 +500,6 @@ class ShopifyCheckout implements ShopifyCheckoutKit {
}
}
-function isCustomPixelEvent(event: PixelEvent): event is CustomEvent {
- return event.type === 'CUSTOM';
-}
-
export class LifecycleEventParseError extends Error {
constructor(message?: string, options?: ErrorOptions) {
super(message, options);
@@ -582,12 +545,9 @@ export type {
CheckoutEventCallback,
CheckoutException,
Configuration,
- CustomEvent,
Features,
GeolocationRequestEvent,
- PixelEvent,
RenderStateChangeEvent,
- StandardEvent,
};
// Components
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/pixels.d.ts b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/pixels.d.ts
deleted file mode 100644
index f60c24ca..00000000
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/pixels.d.ts
+++ /dev/null
@@ -1,578 +0,0 @@
-/*
-MIT License
-
-Copyright 2023 - Present, Shopify Inc.
-
-Permission is hereby granted, free of charge, to any person obtaining a copy
-of this software and associated documentation files (the "Software"), to deal
-in the Software without restriction, including without limitation the rights
-to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
-copies of the Software, and to permit persons to whom the Software is
-furnished to do so, subject to the following conditions:
-
-The above copyright notice and this permission notice shall be included in all
-copies or substantial portions of the Software.
-
-THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
-IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
-FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
-AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
-LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
-OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
-*/
-
-export type PixelEvent = CustomEvent | StandardEvent;
-
-/**
- * A Standard Web Pixels event.
- *
- * See https://shopify.dev/docs/api/web-pixels-api/standard-events
- */
-export interface StandardEvent {
- /* A snapshot of various read-only properties of the browser at the time of the event */
- context?: Context;
- /* Event data */
- data?: StandardEventData;
- /* The ID of the event */
- id?: string;
- /* The name of the event */
- name?: string;
- /* A timestamp of when the event occurred (ISO_8601) */
- timestamp?: string;
- /* Event type */
- type?: 'STANDARD';
-}
-
-export interface StandardEventData {
- checkout?: Checkout;
-}
-
-/**
- * A Custom Web Pixels event.
- *
- * See https://shopify.dev/docs/api/web-pixels-api/emitting-data#publishing-custom-events
- */
-export interface CustomEvent {
- /* A snapshot of various read-only properties of the browser at the time of the event */
- context?: Context;
- /**
- * A free-form object representing data specific to a custom event provided by
- * the custom event publisher.
- */
- customData?: any;
- /* The ID of the event */
- id?: string;
- /* The name of the event */
- name?: string;
- /* The timestamp of when the event occurred (ISO_8601) */
- timestamp?: string;
- /* Event type */
- type?: 'CUSTOM';
-}
-
-interface Context {
- /* Snapshot of a subset of properties of the `document` object in the top */
- /* frame of the browser */
- document?: WebPixelsDocument;
- /* Snapshot of a subset of properties of the `navigator` object in the top */
- /* frame of the browser */
- navigator?: WebPixelsNavigator;
- /* Snapshot of a subset of properties of the `window` object in the top frame */
- /* of the browser */
- window?: WebPixelsWindow;
-}
-
-/**
- * A snapshot of a subset of properties of the `document` object in the top frame of the browser.
- *
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Document)
- * */
-interface WebPixelsDocument {
- /* The character set being used by the document */
- characterSet?: string;
- /* Returns the URI of the current document */
- location?: Location;
- /* Returns the URI of the page that linked to this page */
- referrer?: string;
- /* Returns the title of the current document */
- title?: string;
-}
-
-/**
- * The location, or current URL, of the window object.
- *
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window)
- */
-interface Location {
- /* String containing a `'#'` followed by the fragment identifier of the URL */
- hash?: string;
- /* String containing the host, that is the hostname, a `':'`, and the port of the URL */
- host?: string;
- /* String containing the domain of the URL */
- hostname?: string;
- /* String containing the entire URL */
- href?: string;
- /* String containing the canonical form of the origin of the specific location */
- origin?: string;
- /* String containing an initial `'/'` followed by the path of the URL, not including the query string or fragment */
- pathname?: string;
- /* String containing the port number of the URL */
- port?: string;
- /* String containing the protocol scheme of the URL, including the final `':'` */
- locationProtocol?: string;
- /* String containing a `'?'` followed by the parameters or "querystring" of */
- /* the URL */
- search?: string;
-}
-
-/**
- * A snapshot of a subset of properties based on the `navigator` object
- * in the top frame of the browser.
- *
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Navigator)
- */
-interface WebPixelsNavigator {
- /* Returns `false` if setting a cookie will be ignored and true otherwise */
- cookieEnabled?: boolean;
- /* Returns a string representing the preferred language of the user, usually */
- /* the language of the browser UI. The `null` value is returned when this */
- /* is unknown */
- language?: string;
- /* Returns an array of strings representing the languages known to the user, */
- /* by order of preference */
- languages?: string[];
- /* Returns the user agent string for the current browser */
- userAgent?: string;
-}
-
-/**
- * A snapshot of a subset of properties of the `window` object in the top frame of the browser.
- *
- * Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Window)
- */
-interface WebPixelsWindow {
- /* The height of the content area of the browser window including, if */
- /* rendered, the horizontal scrollbar */
- innerHeight?: number;
- /* The width of the content area of the browser window including, if rendered, */
- /* the vertical scrollbar */
- innerWidth?: number;
- /* Location, or current URL, of the window object */
- location?: Location;
- /* The global object's origin, serialized as a string */
- origin?: string;
- /* The height of the outside of the browser window */
- outerHeight?: number;
- /* The width of the outside of the browser window */
- outerWidth?: number;
- /* Alias for window.scrollX */
- pageXOffset?: number;
- /* Alias for window.scrollY */
- pageYOffset?: number;
- /* Interface representing a screen, usually the one on which the current window is being rendered */
- screen?: Screen;
- /* Horizontal distance from the left border of the user's browser viewport to */
- /* the left side of the screen */
- screenX?: number;
- /* Vertical distance from the top border of the user's browser viewport to the */
- /* top side of the screen */
- screenY?: number;
- /* Number of pixels that the document has already been scrolled horizontally */
- scrollX?: number;
- /* Number of pixels that the document has already been scrolled vertically */
- scrollY?: number;
-}
-
-/* Per [MDN](https://developer.mozilla.org/en-US/docs/Web/API/Screen), the */
-/* interface representing a screen, usually the one on which the current */
-/* window is being rendered */
-//
-/* The interface representing a screen, usually the one on which the current */
-/* window is being rendered */
-interface Screen {
- /* The height of the screen */
- height?: number;
- /* The width of the screen */
- width?: number;
-}
-
-/* A monetary value with currency allocated to the transaction method. */
-interface MoneyV2 {
- /* A decimal money amount. */
- amount?: number;
- /* Three-letter code that represents the currency, for example, USD. */
- /* Supported codes include standard ISO 4217 codes, legacy codes, and non- */
- /* standard codes. */
- currencyCode?: string;
-}
-
-/* Information about the merchandise in the cart. */
-interface CartLine {
- /* The cost of the merchandise that the customer will pay for at checkout. The */
- /* costs are subject to change and changes will be reflected at checkout. */
- cost?: CartLineCost;
- /* The merchandise that the buyer intends to purchase. */
- merchandise?: ProductVariant;
- /* The quantity of the merchandise that the customer intends to purchase. */
- quantity?: number;
-}
-
-/* The cost of the merchandise line that the customer will pay at checkout. */
-interface CartLineCost {
- /* The total cost of the merchandise line. */
- totalAmount?: MoneyV2;
-}
-
-/**
- * A product variant represents a different version of a product, such as
- * differing sizes or differing colors.
- * */
-interface ProductVariant {
- /* A globally unique identifier. */
- id?: string;
- /* Image associated with the product variant. This field falls back to the */
- /* product image if no image is available. */
- image?: Image;
- /* The product variant’s price. */
- price?: MoneyV2;
- /* The product object that the product variant belongs to. */
- product?: Product;
- /* The SKU (stock keeping unit) associated with the variant. */
- sku?: string;
- /* The product variant’s title. */
- title?: string;
- /* The product variant’s untranslated title. */
- untranslatedTitle?: string;
-}
-
-/* An image resource. */
-interface Image {
- /* The location of the image as a URL. */
- src?: string;
-}
-
-/* The product object that the product variant belongs to. */
-interface Product {
- /* The ID of the product. */
- id?: string;
- /* The product’s title. */
- title?: string;
- /* The [product type](https://help.shopify.com/en/manual/products/details/product-type) */
- type?: string;
- /* The product’s untranslated title. */
- untranslatedTitle?: string;
- /* The relative URL of the product. */
- url?: string;
- /* The product’s vendor name. */
- vendor?: string;
-}
-
-/* A container for all the information required to add items to checkout and pay. */
-interface Checkout {
- /* A list of attributes accumulated throughout the checkout process. */
- attributes?: Attribute[];
- /* The billing address to where the order will be charged. */
- billingAddress?: MailingAddress;
- /* Indicates whether the customer has consented to be sent marketing material via email. */
- buyerAcceptsEmailMarketing?: boolean;
- /*Indicates whether the customer has consented to be sent marketing material via SMS. */
- buyerAcceptsSmsMarketing?: boolean;
- /**
- * The three-letter code that represents the currency, for example, USD.
- * Supported codes include standard ISO 4217 codes, legacy codes, and non-
- * standard codes.
- */
- currencyCode?: string;
- /* Represents the selected delivery options for a checkout. */
- delivery?: Delivery;
- /* A list of discount applications. */
- discountApplications?: DiscountApplication[];
- /* The total amount of the discounts applied to the price of the checkout. */
- discountsAmount?: MoneyV2;
- /* The email attached to this checkout. */
- email?: string;
- /* A list of line item objects, each one containing information about an item */
- /* in the checkout. */
- lineItems?: CheckoutLineItem[];
- /* Information about the active localized experience. */
- localization?: Localization;
- /* The resulting order from a paid checkout. */
- order?: Order;
- /* A unique phone number for the customer. Formatted using E.164 standard. For */
- /* example, *+16135551111*. */
- phone?: string;
- /* The shipping address to where the line items will be shipped. */
- shippingAddress?: MailingAddress;
- /* Once a shipping rate is selected by the customer it is transitioned to a */
- /* `shipping_line` object. */
- shippingLine?: ShippingRate;
- /* The phone number provided by the buyer after opting in to SMS marketing. */
- smsMarketingPhone?: string;
- /* The price at checkout before duties, shipping, and taxes. */
- subtotalPrice?: MoneyV2;
- /* A unique identifier for a particular checkout. */
- token?: string;
- /* The sum of all the prices of all the items in the checkout, including */
- /* duties, taxes, and discounts. */
- totalPrice?: MoneyV2;
- /* The sum of all the taxes applied to the line items and shipping lines in */
- /* the checkout. */
- totalTax?: MoneyV2;
- /* A list of transactions associated with a checkout or order. */
- transactions?: Transaction[];
-}
-
-/* Custom attributes left by the customer to the merchant, either in their cart */
-/* or during checkout. */
-interface Attribute {
- /* The key for the attribute. */
- key?: string;
- /* The value for the attribute. */
- value?: string;
-}
-
-/* A single line item in the checkout, grouped by variant and attributes. */
-interface CheckoutLineItem {
- /* The discounts that have been applied to the checkout line item by a */
- /* discount application. */
- discountAllocations?: DiscountAllocation[];
- /* The combined price of all of the items in the line item after line-level discounts have been applied. */
- finalLinePrice?: MoneyV2;
- /* A globally unique identifier. */
- id?: string;
- /** The properties of the line item. A shop may add, or enable customers to add custom information to a line item.
- * Line item properties consist of a key and value pair.
- */
- properties?: Property[];
- /* The quantity of the line item. */
- quantity?: number;
- /* The title of the line item. Defaults to the product's title. */
- sellingPlanAllocation?: SellingPlanAllocation;
- title?: string;
- /* Product variant of the line item. */
- variant?: ProductVariant;
-}
-
-interface Country {
- /* The ISO-3166-1 code for this country, for example, "US". */
- isoCode?: string;
-}
-
-interface Delivery {
- selectedDeliveryOptions?: DeliveryOption[];
-}
-
-interface DeliveryOption {
- /* The delivery option that the customer has selected. */
- cost?: MoneyV2;
- /* The cost of the delivery option after discounts have been applied. */
- costAfterDiscounts?: MoneyV2;
- /* The description of the delivery option. */
- description?: string;
- /* The unique identifier of the delivery option. */
- handle?: string;
- /* The title of the delivery option. */
- title?: string;
- /* he type of delivery option, e.g. pickup, pickupPoint, shipping, local. */
- type?: string;
-}
-
-/* The discount that has been applied to the checkout line item. */
-interface DiscountAllocation {
- /* The monetary value with currency allocated to the discount. */
- amount?: MoneyV2;
- /* The information about the intent of the discount. */
- discountApplication?: DiscountApplication;
-}
-
-/* The information about the intent of the discount. */
-interface DiscountApplication {
- /* The method by which the discount's value is applied to its entitled items. */
- //
- /* - `ACROSS`: The value is spread across all entitled lines. */
- /* - `EACH`: The value is applied onto every entitled line. */
- allocationMethod?: string;
- /* How the discount amount is distributed on the discounted lines. */
- //
- /* - `ALL`: The discount is allocated onto all the lines. */
- /* - `ENTITLED`: The discount is allocated onto only the lines that it's */
- /* entitled for. */
- /* - `EXPLICIT`: The discount is allocated onto explicitly chosen lines. */
- targetSelection?: string;
- /* The type of line (i.e. line item or shipping line) on an order that the */
- /* discount is applicable towards. */
- //
- /* - `LINE_ITEM`: The discount applies onto line items. */
- /* - `SHIPPING_LINE`: The discount applies onto shipping lines. */
- targetType?: string;
- /* The customer-facing name of the discount. If the type of discount is */
- /* a `DISCOUNT_CODE`, this `title` attribute represents the code of the */
- /* discount. */
- title?: string;
- /* The type of the discount. */
- //
- /* - `AUTOMATIC`: A discount automatically at checkout or in the cart without */
- /* the need for a code. */
- /* - `DISCOUNT_CODE`: A discount applied onto checkouts through the use of */
- /* a code. */
- /* - `MANUAL`: A discount that is applied to an order by a merchant or store */
- /* owner manually, rather than being automatically applied by the system or */
- /* through a script. */
- /* - `SCRIPT`: A discount applied to a customer's order using a script */
- type?: string;
- /* The value of the discount. Fixed discounts return a `Money` Object, while */
- /* Percentage discounts return a `PricingPercentageValue` object. */
- value?: Value;
-}
-
-interface Language {
- /* The BCP-47 language tag. It may contain a dash followed by an ISO 3166-1 alpha-2 region code, for example, "en-US". */
- isoCode?: string;
-}
-
-interface Localization {
- /* The country of the active localized experience. */
- country?: Country;
- /* The language of the active localized experience. */
- language?: Language;
- /* The market including the country of the active localized experience. */
- market?: Market;
-}
-
-/* A mailing address for customers and shipping. */
-interface MailingAddress {
- /* The first line of the address. This is usually the street address or a P.O. */
- /* Box number. */
- address1?: string;
- /* The second line of the address. This is usually an apartment, suite, or */
- /* unit number. */
- address2?: string;
- /* The name of the city, district, village, or town. */
- city?: string;
- /* The name of the country. */
- country?: string;
- /* The two-letter code that represents the country, for example, US. */
- /* The country codes generally follows ISO 3166-1 alpha-2 guidelines. */
- countryCode?: string;
- /* The customer’s first name. */
- firstName?: string;
- /* The customer’s last name. */
- lastName?: string;
- /* The phone number for this mailing address as entered by the customer. */
- phone?: string;
- /* The region of the address, such as the province, state, or district. */
- province?: string;
- /* The two-letter code for the region. */
- /* For example, ON. */
- provinceCode?: string;
- /* The ZIP or postal code of the address. */
- zip?: string;
-}
-
-interface Market {
- /* A human-readable, shop-scoped identifier. */
- handle?: string;
- /* A globally unique identifier. */
- id?: string;
-}
-
-/**
- * An order is a customer’s completed request to purchase one or more products
- * from a shop. An order is created when a customer completes the checkout
- * process.
- */
-interface Order {
- /* The ID of the order. */
- id?: string;
- /* The customer that placed the order. */
- customer?: OrderCustomer;
-}
-
-interface OrderCustomer {
- /* The ID of the customer. */
- id?: string;
- /* Indicates whether the customer is a first-time buyer. */
- isFirstOrder?: boolean;
-}
-
-/**
- * A value given to a customer when a discount is applied to an order. The
- * application of a discount with this value gives the customer the specified
- * percentage off a specified item.
- */
-interface PricingPercentageValue {
- /* The percentage value of the object. */
- percentage?: number;
-}
-
-interface Property {
- /* The key for the property. */
- key?: string;
- /* The value for the property. */
- value?: string;
-}
-
-interface SellingPlan {
- /* A globally unique identifier. */
- id?: string;
- /* The name of the selling plan. For example, '6 weeks of prepaid granola, delivered weekly'. */
- name?: string;
-}
-
-interface SellingPlanAllocation {
- /**
- * A representation of how products and variants can be sold and purchased. For example, an individual selling plan could be
- * '6 weeks of prepaid granola, delivered weekly'.
- */
- sellingPlan?: SellingPlan;
-}
-
-/* A shipping rate to be applied to a checkout. */
-interface ShippingRate {
- /* Price of this shipping rate. */
- price?: MoneyV2;
-}
-
-/* A transaction associated with a checkout or order. */
-interface Transaction {
- /* The monetary value with currency allocated to the transaction method. */
- amount?: MoneyV2;
- /* The name of the payment provider used for the transaction. */
- gateway?: string;
- /* The payment method used for the transaction. */
- paymentMethod?: TransactionPaymentMethod;
-}
-
-interface TransactionPaymentMethod {
- /* The name of the payment method used for the transaction. This may further specify the payment method used. */
- name?: string;
- /**
- * The type of payment method used for the transaction.
- *
- * - creditCard: A vaulted or manually entered credit card.
- * - redeemable: A redeemable payment method, such as a gift card or store credit.
- * - deferred: A deferred payment, such as invoicing the buyer and collecting payment later.
- * - local: A local payment method specific to the current region or market.
- * - manualPayment: A manual payment method, such as an in-person retail transaction.
- * - paymentOnDelivery: A payment that will be collected on delivery.
- * - wallet: An integrated wallet, such as PayPal, Google Pay, Apple Pay, etc.
- * - offsite: A payment processed outside of Shopify's checkout, excluding integrated wallets.
- * - customOnSite: A custom payment method that is processed through a checkout extension with a payments app.
- * - other: Another type of payment not defined here.
- */
- type?: string;
-}
-
-/* A value given to a customer when a discount is applied to an order. The */
-/* application of a discount with this value gives the customer the specified */
-/* percentage off a specified item. */
-interface Value {
- /* The decimal money amount. */
- amount?: number;
- /* The three-letter code that represents the currency, for example, USD. */
- /* Supported codes include standard ISO 4217 codes, legacy codes, and non- */
- /* standard codes. */
- currencyCode?: string;
- /* The percentage value of the object. */
- percentage?: number;
-}
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/specs/RCTAcceleratedCheckoutButtonsNativeComponent.ts b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/specs/RCTAcceleratedCheckoutButtonsNativeComponent.ts
index 85fc06ff..189e1ffc 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/specs/RCTAcceleratedCheckoutButtonsNativeComponent.ts
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/src/specs/RCTAcceleratedCheckoutButtonsNativeComponent.ts
@@ -53,16 +53,6 @@ type RenderStateChangeEvent = Readonly<{
reason?: string;
}>;
-type WebPixelEvent = Readonly<{
- context?: UnsafeMixed;
- customData?: UnsafeMixed;
- data?: UnsafeMixed;
- id?: string;
- name?: string;
- timestamp?: string;
- type?: string;
-}>;
-
type ClickLinkEvent = Readonly<{url: string}>;
type SizeChangeEvent = Readonly<{height: Double}>;
@@ -82,7 +72,6 @@ interface NativeProps extends ViewProps {
onComplete?: BubblingEventHandler;
onCancel?: BubblingEventHandler;
onRenderStateChange?: BubblingEventHandler;
- onWebPixelEvent?: BubblingEventHandler;
onClickLink?: BubblingEventHandler;
onSizeChange?: DirectEventHandler;
onShouldRecoverFromError?: DirectEventHandler<
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/AcceleratedCheckoutButtons.test.tsx b/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/AcceleratedCheckoutButtons.test.tsx
index 35d2fa2e..a29ca4fc 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/AcceleratedCheckoutButtons.test.tsx
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/AcceleratedCheckoutButtons.test.tsx
@@ -257,20 +257,6 @@ describe('AcceleratedCheckoutButtons', () => {
});
});
- it('forwards web pixel native events', () => {
- const onWebPixelEvent = jest.fn();
- const {getByTestId} = render(
- ,
- );
- const nativeComponent = getByTestId('accelerated-checkout-buttons');
- const pixel = {type: 'STANDARD'} as any;
- nativeComponent.props.onWebPixelEvent({nativeEvent: pixel});
- expect(onWebPixelEvent).toHaveBeenCalledWith(pixel);
- });
-
it('handles onClickLink when URL is present and ignores when absent', () => {
const onClickLink = jest.fn();
const {getByTestId} = render(
@@ -330,7 +316,6 @@ describe('AcceleratedCheckoutButtons', () => {
onComplete: jest.fn(),
onCancel: jest.fn(),
onRenderStateChange: jest.fn(),
- onWebPixelEvent: jest.fn(),
onClickLink: jest.fn(),
};
diff --git a/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/index.test.ts b/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/index.test.ts
index b04722e6..5ceab2af 100644
--- a/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/index.test.ts
+++ b/platforms/react-native/modules/@shopify/checkout-kit-react-native/tests/index.test.ts
@@ -185,140 +185,6 @@ describe('ShopifyCheckoutKit', () => {
);
});
- describe('Pixel Events', () => {
- it('parses web pixel event JSON string data', () => {
- const instance = new ShopifyCheckout();
- const eventName = 'pixel';
- const callback = jest.fn();
- instance.addEventListener(eventName, callback);
- NativeModule.addEventListener(
- eventName,
- callback,
- );
- expect(eventEmitter.addListener).toHaveBeenCalledWith(
- 'pixel',
- expect.any(Function),
- );
- eventEmitter.emit(
- 'pixel',
- JSON.stringify({type: 'STANDARD', someAttribute: 123}),
- );
- expect(callback).toHaveBeenCalledWith({
- type: 'STANDARD',
- someAttribute: 123,
- });
- });
-
- it('parses custom web pixel event data', () => {
- const instance = new ShopifyCheckout();
- const eventName = 'pixel';
- const callback = jest.fn();
- instance.addEventListener(eventName, callback);
- NativeModule.addEventListener(
- eventName,
- callback,
- );
- expect(eventEmitter.addListener).toHaveBeenCalledWith(
- 'pixel',
- expect.any(Function),
- );
- eventEmitter.emit(
- 'pixel',
- JSON.stringify({
- type: 'CUSTOM',
- someAttribute: 123,
- customData: JSON.stringify({valid: true}),
- }),
- );
- expect(callback).toHaveBeenCalledWith({
- type: 'CUSTOM',
- someAttribute: 123,
- customData: {valid: true},
- });
- });
-
- it('fails gracefully if custom event data cannot be parsed', () => {
- const instance = new ShopifyCheckout();
- const eventName = 'pixel';
- const callback = jest.fn();
- instance.addEventListener(eventName, callback);
- NativeModule.addEventListener(
- eventName,
- callback,
- );
- expect(eventEmitter.addListener).toHaveBeenCalledWith(
- 'pixel',
- expect.any(Function),
- );
- eventEmitter.emit(
- 'pixel',
- JSON.stringify({
- type: 'CUSTOM',
- someAttribute: 123,
- customData: 'Invalid JSON',
- }),
- );
- expect(callback).toHaveBeenCalledWith({
- type: 'CUSTOM',
- someAttribute: 123,
- customData: 'Invalid JSON',
- });
- });
-
- it('prints an error if the web pixel event data cannot be parsed', () => {
- const mock = jest.spyOn(global.console, 'error');
- const instance = new ShopifyCheckout();
- const eventName = 'pixel';
- const callback = jest.fn();
- instance.addEventListener(eventName, callback);
- NativeModule.addEventListener(
- eventName,
- callback,
- );
- expect(eventEmitter.addListener).toHaveBeenCalledWith(
- 'pixel',
- expect.any(Function),
- );
- const invalidData = '{"someAttribute": 123';
- eventEmitter.emit('pixel', invalidData);
- expect(mock).toHaveBeenCalledWith(
- expect.any(LifecycleEventParseError),
- invalidData,
- );
- });
-
- it('handles unexpected errors during event processing', () => {
- const mock = jest.spyOn(global.console, 'error');
- const instance = new ShopifyCheckout();
- const eventName = 'pixel';
- const callback = jest.fn(() => {
- throw new Error('Callback error');
- });
- instance.addEventListener(eventName, callback);
- NativeModule.addEventListener(
- eventName,
- callback,
- );
- expect(eventEmitter.addListener).toHaveBeenCalledWith(
- 'pixel',
- expect.any(Function),
- );
- eventEmitter.emit('pixel', {type: 'STANDARD', someAttribute: 123});
- expect(mock).toHaveBeenCalledWith(expect.any(LifecycleEventParseError));
- });
-
- it('handles falsy object event data', () => {
- const instance = new ShopifyCheckout();
- const eventName = 'pixel';
- const callback = jest.fn();
- instance.addEventListener(eventName, callback);
-
- // Emit falsy object (null is typeof 'object')
- eventEmitter.emit('pixel', null);
- expect(callback).not.toHaveBeenCalled();
- });
- });
-
describe('Completed Event', () => {
it('parses completed event string data as JSON', () => {
const instance = new ShopifyCheckout();
diff --git a/platforms/react-native/sample/android/app/src/test/java/com/shopify/checkoutkitreactnative/ShopifyCheckoutKitModuleTest.java b/platforms/react-native/sample/android/app/src/test/java/com/shopify/checkoutkitreactnative/ShopifyCheckoutKitModuleTest.java
index e1456698..e6348002 100644
--- a/platforms/react-native/sample/android/app/src/test/java/com/shopify/checkoutkitreactnative/ShopifyCheckoutKitModuleTest.java
+++ b/platforms/react-native/sample/android/app/src/test/java/com/shopify/checkoutkitreactnative/ShopifyCheckoutKitModuleTest.java
@@ -18,10 +18,6 @@
import com.shopify.checkoutsheetkit.Preloading;
import com.shopify.checkoutsheetkit.ColorScheme;
import com.shopify.checkoutsheetkit.LogLevel;
-import com.shopify.checkoutsheetkit.pixelevents.PixelEvent;
-import com.shopify.checkoutsheetkit.pixelevents.StandardPixelEvent;
-import com.shopify.checkoutsheetkit.pixelevents.CustomPixelEvent;
-import com.shopify.checkoutsheetkit.pixelevents.EventType;
import com.shopify.checkoutsheetkit.lifecycleevents.CheckoutCompletedEvent;
import com.shopify.checkoutsheetkit.lifecycleevents.OrderDetails;
import com.shopify.checkoutsheetkit.lifecycleevents.CartInfo;
@@ -478,46 +474,6 @@ public void testGetConfigReturnsDefaultLogLevel() {
* Events
*/
- @Test
- public void testCanProcessStandardPixelEvents() {
- CustomCheckoutEventProcessor processor = new CustomCheckoutEventProcessor(mockContext, mockReactContext);
-
- PixelEvent standardEvent = new StandardPixelEvent(
- "test-id",
- "page_viewed",
- "2023-01-01T00:00:00Z",
- EventType.STANDARD,
- null,
- null);
-
- processor.onWebPixelEvent(standardEvent);
-
- verify(mockEventEmitter).emit(eq("pixel"), stringCaptor.capture());
-
- assertThat(stringCaptor.getValue())
- .contains("test-id", "page_viewed", "STANDARD");
- }
-
- @Test
- public void testCanProcessCustomPixelEvents() {
- CustomCheckoutEventProcessor processor = new CustomCheckoutEventProcessor(mockContext, mockReactContext);
-
- PixelEvent customEvent = new CustomPixelEvent(
- "custom-id",
- "custom_event",
- "2023-01-01T00:00:00Z",
- EventType.CUSTOM,
- null,
- "{\"customAttribute\":\"value\"}");
-
- processor.onWebPixelEvent(customEvent);
-
- verify(mockEventEmitter).emit(eq("pixel"), stringCaptor.capture());
-
- assertThat(stringCaptor.getValue())
- .contains("custom-id", "custom_event", "CUSTOM", "customAttribute");
- }
-
@Test
public void testCanProcessCheckoutCompletedEvents() {
CustomCheckoutEventProcessor processor = new CustomCheckoutEventProcessor(mockContext, mockReactContext);
@@ -619,14 +575,6 @@ public void testCompleteConfigurationAndEventFlow() {
.isTrue();
assertThat(ShopifyCheckoutKitModule.checkoutConfig.getColorScheme().getId())
.isEqualTo("dark");
-
- // Test event processing with the configured module
- CustomCheckoutEventProcessor processor = new CustomCheckoutEventProcessor(mockContext, mockReactContext);
-
- PixelEvent event = new StandardPixelEvent("test", "page_viewed", "timestamp", EventType.STANDARD, null, null);
- processor.onWebPixelEvent(event);
-
- verify(mockEventEmitter).emit(eq("pixel"), any(String.class));
}
/**
diff --git a/platforms/react-native/sample/ios/ReactNativeTests/ShopifyCheckoutKitTests.swift b/platforms/react-native/sample/ios/ReactNativeTests/ShopifyCheckoutKitTests.swift
index 6c49553e..39e72b34 100644
--- a/platforms/react-native/sample/ios/ReactNativeTests/ShopifyCheckoutKitTests.swift
+++ b/platforms/react-native/sample/ios/ReactNativeTests/ShopifyCheckoutKitTests.swift
@@ -395,88 +395,6 @@ class ShopifyCheckoutKitTests: XCTestCase {
XCTAssertTrue((mock.checkoutSheet as! MockCheckout).dismissWasCalled)
}
- /// checkoutDidEmitWebPixelEvent
- func testCheckoutDidEmitStandardWebPixelEvent() {
- let mock = mockSendEvent(eventName: "pixel")
-
- let context = Context(
- document: WebPixelsDocument(
- characterSet: "utf8",
- location: nil,
- referrer: "test",
- title: nil
- ),
- navigator: nil,
- window: nil
- )
- let event = StandardEvent(context: context, id: "test", name: "test", timestamp: "test", data: nil)
- let pixelEvent = PixelEvent.standardEvent(event)
-
- mock.startObserving()
- mock.checkoutDidEmitWebPixelEvent(event: pixelEvent)
-
- XCTAssertTrue(mock.didSendEvent)
- if let eventBody = mock.eventBody as? [String: Any] {
- XCTAssertEqual(eventBody["type"] as? String, "STANDARD")
- XCTAssertEqual(eventBody["id"] as? String, "test")
- XCTAssertEqual(eventBody["name"] as? String, "test")
- XCTAssertEqual(eventBody["timestamp"] as? String, "test")
- // swiftlint:disable:next force_cast
- XCTAssertEqual(eventBody["context"] as! [String: [String: String?]], [
- "document": [
- "characterSet": "utf8",
- "referrer": "test"
- ]
- ])
- } else {
- XCTFail("Failed to parse standard event")
- }
- }
-
- func testCheckoutDidEmitCustomWebPixelEvent() {
- let mock = mockSendEvent(eventName: "pixel")
-
- let context = Context(
- document: WebPixelsDocument(
- characterSet: "utf8",
- location: nil,
- referrer: "test",
- title: nil
- ),
- navigator: nil,
- window: nil
- )
- let customData = "{\"nestedData\": {\"someAttribute\": \"456\"}}"
- let event = CustomEvent(context: context, customData: customData, id: "test", name: "test", timestamp: "test")
- let pixelEvent = PixelEvent.customEvent(event)
-
- mock.startObserving()
- mock.checkoutDidEmitWebPixelEvent(event: pixelEvent)
-
- XCTAssertTrue(mock.didSendEvent)
- if let eventBody = mock.eventBody as? [String: Any] {
- XCTAssertEqual(eventBody["type"] as? String, "CUSTOM")
- XCTAssertEqual(eventBody["id"] as? String, "test")
- XCTAssertEqual(eventBody["name"] as? String, "test")
- XCTAssertEqual(eventBody["timestamp"] as? String, "test")
- // swiftlint:disable:next force_cast
- XCTAssertEqual(eventBody["context"] as! [String: [String: String?]], [
- "document": [
- "characterSet": "utf8",
- "referrer": "test"
- ]
- ])
- // swiftlint:disable:next force_cast
- XCTAssertEqual(eventBody["customData"] as! [String: [String: String]], [
- "nestedData": [
- "someAttribute": "456"
- ]
- ])
- } else {
- XCTFail("Failed to parse custom event")
- }
- }
-
private func mockSendEvent(eventName: String) -> RCTShopifyCheckoutKitMock {
let mock = RCTShopifyCheckoutKitMock()
mock.eventName = eventName
diff --git a/platforms/react-native/sample/src/App.tsx b/platforms/react-native/sample/src/App.tsx
index 12af01b9..4d689ae5 100644
--- a/platforms/react-native/sample/src/App.tsx
+++ b/platforms/react-native/sample/src/App.tsx
@@ -50,7 +50,6 @@ import {
import type {
CheckoutCompletedEvent,
CheckoutException,
- PixelEvent,
} from '@shopify/checkout-kit-react-native';
import {ConfigProvider, useConfig} from './context/Config';
import {BuyerIdentityMode} from './auth/types';
@@ -217,10 +216,6 @@ function AppWithContext({children}: PropsWithChildren) {
eventHandlers.onCancel?.();
});
- const pixel = shopify.addEventListener('pixel', (event: PixelEvent) => {
- eventHandlers.onWebPixelEvent?.(event);
- });
-
const completed = shopify.addEventListener(
'completed',
(event: CheckoutCompletedEvent) => {
@@ -236,7 +231,6 @@ function AppWithContext({children}: PropsWithChildren) {
);
return () => {
- pixel?.remove();
completed?.remove();
close?.remove();
error?.remove();
diff --git a/platforms/react-native/sample/src/hooks/useCheckoutEventHandlers.ts b/platforms/react-native/sample/src/hooks/useCheckoutEventHandlers.ts
index 59e6b337..d1656536 100644
--- a/platforms/react-native/sample/src/hooks/useCheckoutEventHandlers.ts
+++ b/platforms/react-native/sample/src/hooks/useCheckoutEventHandlers.ts
@@ -6,7 +6,6 @@ import {useCart} from '../context/Cart';
import type {
CheckoutCompletedEvent,
CheckoutException,
- PixelEvent,
RenderStateChangeEvent,
} from '@shopify/checkout-kit-react-native';
import {Linking} from 'react-native';
@@ -17,7 +16,6 @@ interface EventHandlers {
onCancel?: () => void;
onRenderStateChange?: (event: RenderStateChangeEvent) => void;
onShouldRecoverFromError?: (error: {message: string}) => boolean;
- onWebPixelEvent?: (event: PixelEvent) => void;
onClickLink?: (url: string) => void;
}
@@ -40,9 +38,6 @@ export function useShopifyEventHandlers(name?: string): EventHandlers {
onRenderStateChange: event => {
log('onRenderStateChange', event);
},
- onWebPixelEvent: event => {
- log('onWebPixelEvent', event.name);
- },
onClickLink: async url => {
log('onClickLink', url);
diff --git a/platforms/swift/README.md b/platforms/swift/README.md
index a95ddb5a..19ac33e6 100644
--- a/platforms/swift/README.md
+++ b/platforms/swift/README.md
@@ -27,7 +27,6 @@
- [Lifecycle management for preloaded checkout](#lifecycle-management-for-preloaded-checkout)
- [Additional considerations for preloaded checkout](#additional-considerations-for-preloaded-checkout)
- [Monitoring the lifecycle of a checkout session](#monitoring-the-lifecycle-of-a-checkout-session)
- - [Integrating with Web Pixels, monitoring behavioral data](#integrating-with-web-pixels-monitoring-behavioral-data)
- [Error handling](#error-handling)
- [`CheckoutError`](#checkouterror)
- [Integrating identity \& customer accounts](#integrating-identity--customer-accounts)
@@ -163,9 +162,6 @@ struct ContentView: View {
.onFail { error in
handleError(error)
}
- .onPixelEvent { event in
- handlePixelEvent(event)
- }
.onLinkClick { url in
if UIApplication.shared.canOpenURL(url) {
UIApplication.shared.open(url)
@@ -419,67 +415,9 @@ extension MyViewController: ShopifyCheckoutKitDelegate {
// and is being directed outside the application.
}
- // Issued when the Checkout has emit a standard or custom Web Pixel event.
- // Note that the event must be handled by the consuming app, and will not be sent from inside the checkout.
- // See below for more information.
- func checkoutDidEmitWebPixelEvent(event: PixelEvent) {
- switch event {
- case .standardEvent(let standardEvent):
- recordAnalyticsEvent(standardEvent)
- case .customEvent(let customEvent):
- recordAnalyticsEvent(customEvent)
- }
- }
}
```
-### Integrating with Web Pixels, monitoring behavioral data
-
-App developers can use [lifecycle events](#monitoring-the-lifecycle-of-a-checkout-session) to monitor and log the status of a checkout session.
-
-For behavioural monitoring, Checkout Web Pixel [standard](https://shopify.dev/docs/api/web-pixels-api/standard-events) and [custom](https://shopify.dev/docs/api/web-pixels-api/emitting-data) events will be relayed back to your application through the `checkoutDidEmitWebPixelEvent` delegate hook. App developers should only subscribe to pixel events if they have proper levels of consent from merchants/buyers and are responsible for adherence to Apple's privacy policy and local regulations like GDPR and ePrivacy directive before disseminating these events to first-party and third-party systems.
-
-Here's how you might intercept these events:
-
-```swift
-class MyViewController: UIViewController {
- private func sendEventToAnalytics(event: StandardEvent) {
- // Send standard event to third-party providers
- }
-
- private func sendEventToAnalytics(event: CustomEvent) {
- // Send custom event to third-party providers
- }
-
- private func recordAnalyticsEvent(standardEvent: StandardEvent) {
- if hasPermissionToCaptureEvents() {
- sendEventToAnalytics(event: standardEvent)
- }
- }
-
- private func recordAnalyticsEvent(customEvent: CustomEvent) {
- if hasPermissionToCaptureEvents() {
- sendEventToAnalytics(event: CustomEvent)
- }
- }
-}
-
-extension MyViewController: ShopifyCheckoutKitDelegate {
- func checkoutDidEmitWebPixelEvent(event: PixelEvent) {
- switch event {
- case .standardEvent(let standardEvent):
- recordAnalyticsEvent(standardEvent: standardEvent)
- case .customEvent(let customEvent):
- recordAnalyticsEvent(customEvent: customEvent)
- }
- }
-}
-```
-
-> [!NOTE]
-> You may need to augment these events with customer/session information derived from app state.
-> The `customData` attribute of CustomPixelEvent can take on any shape. As such, this attribute will be returned as a String. Client applications should define a custom data type and deserialize the `customData` string into that type.
-
## Error handling
In the event of a checkout error occurring, the Checkout Kit _may_ attempt a retry to recover from the error. Recovery will happen in the background by discarding the failed webview and creating a new "recovery" instance. Recovery will be attempted in the following scenarios:
@@ -491,7 +429,6 @@ There are some caveats to note when this scenario occurs:
1. The checkout experience may look different to buyers. Though the kit will attempt to load any checkout customizations for the storefront, there is no guarantee they will show in recovery mode.
2. The `checkoutDidComplete(event:)` will be emitted with partial data. Invocations will only receive the order ID via `event.orderDetails.id`.
-3. `checkoutDidEmitWebPixelEvent` lifecycle methods will **not** be emitted.
Should you wish to opt-out of this fallback experience entirely, you can do so by adding a `shouldRecoverFromError(error:)` method to your delegate controller. Errors given to the `checkoutDidFail(error:)` lifecycle method, will contain an `isRecoverable` property by default indicating whether the request should be retried or not.
@@ -796,9 +733,6 @@ AcceleratedCheckoutButtons(cartID: cartID)
.onCancel {
analytics.track(.acceleratedCheckoutCancelled)
}
- .onWebPixelEvent { event in
- analytics.track(event)
- }
.onClickLink { url in
UIApplication.shared.open(url)
}
diff --git a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/App/AppConfiguration.swift b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/App/AppConfiguration.swift
index 65e619af..1b704371 100644
--- a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/App/AppConfiguration.swift
+++ b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/App/AppConfiguration.swift
@@ -58,8 +58,6 @@ public final class AppConfiguration: ObservableObject {
}
}
- let webPixelsLogger = FileLogger("analytics.txt")
-
init() {
if let savedMode = UserDefaults.standard.string(forKey: AppStorageKeys.buyerIdentityMode.rawValue),
let mode = BuyerIdentityMode(rawValue: savedMode)
diff --git a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Localizable.xcstrings b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Localizable.xcstrings
index 9b173b38..e6b4e3e0 100644
--- a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Localizable.xcstrings
+++ b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Localizable.xcstrings
@@ -74,9 +74,6 @@
},
"Configures the visual style of the Apple Pay button." : {
- },
- "Events" : {
-
},
"Expires: %@" : {
"comment" : "A label displaying the expiration date of the user's customer account.",
@@ -189,9 +186,6 @@
},
"Version" : {
- },
- "Web pixel events" : {
-
},
"Your cart is empty." : {
diff --git a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/Logs/LogReader.swift b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/Logs/LogReader.swift
index 0e22a20c..432aab5e 100644
--- a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/Logs/LogReader.swift
+++ b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/Logs/LogReader.swift
@@ -45,26 +45,3 @@ final class LogReader: Sendable {
}
}
}
-
-final class WebPixelsLogReader: Sendable {
- static let shared = WebPixelsLogReader("analytics.txt")
-
- private let logFileUrl: URL
-
- private init(_ filename: String) {
- let paths = FileManager.default.urls(for: .documentDirectory, in: .userDomainMask)
- logFileUrl = paths[0].appendingPathComponent(filename)
- }
-
- func readLogs(limit: Int = 100) -> [String?]? {
- do {
- let logContent = try String(contentsOf: logFileUrl, encoding: .utf8)
- var logLines = logContent.split(separator: "\n").map { String($0) }
- logLines = Array(logLines.suffix(limit))
- return logLines.reversed()
- } catch {
- print("Couldn't read the log file")
- return []
- }
- }
-}
diff --git a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/SettingsView.swift b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/SettingsView.swift
index 280e7d78..4fe8e631 100644
--- a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/SettingsView.swift
+++ b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/SettingsView.swift
@@ -153,9 +153,6 @@ struct SettingsView: View {
}
.pickerStyle(.menu)
- NavigationLink(destination: WebPixelsEventsView()) {
- Text("Web pixel events")
- }
NavigationLink(destination: LogsView()) {
Text("Logs")
}
diff --git a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/WebPixelEventsView.swift b/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/WebPixelEventsView.swift
deleted file mode 100644
index e2763a28..00000000
--- a/platforms/swift/Samples/MobileBuyIntegration/MobileBuyIntegration/Sources/Scenes/WebPixelEventsView.swift
+++ /dev/null
@@ -1,82 +0,0 @@
-/*
- MIT License
-
- Copyright 2023 - Present, Shopify Inc.
-
- Permission is hereby granted, free of charge, to any person obtaining a copy
- of this software and associated documentation files (the "Software"), to deal
- in the Software without restriction, including without limitation the rights
- to use, copy, modify, merge, publish, distribute, sublicense, and/or sell
- copies of the Software, and to permit persons to whom the Software is
- furnished to do so, subject to the following conditions:
-
- The above copyright notice and this permission notice shall be included in all
- copies or substantial portions of the Software.
-
- THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
- IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY,
- FITNESS FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE
- AUTHORS OR COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER
- LIABILITY, WHETHER IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM,
- OUT OF OR IN CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
- */
-
-import SwiftUI
-
-@available(iOS 15.0, *)
-struct WebPixelsEventsView: View {
- @State private var logs: [String?] = WebPixelsLogReader.shared.readLogs() ?? []
-
- var body: some View {
- VStack {
- List {
- if logs.isEmpty {
- HStack {
- Spacer()
- Text("No logs available")
- .font(.system(size: 12))
- .padding()
- Spacer()
- }
- } else {
- ForEach(logs, id: \.self) { log in
- Text(log ?? "No log available")
- .font(.system(size: 12))
- }
-
- HStack {
- Spacer()
- Button(action: clearLogs) {
- Text("Clear logs")
- .foregroundColor(.red)
- .background(.white)
- .font(.system(size: 12))
- }
- Spacer()
- }
- }
- }
- .refreshable {
- logs = readLogs()
- }
- }
- .navigationTitle("Events")
- .navigationBarItems(
- trailing: Button(action: clearLogs) {
- Text("Clear")
- }
- )
- .onAppear {
- logs = readLogs()
- }
- }
-
- private func clearLogs() {
- appConfiguration.webPixelsLogger.clearLogs()
- logs = readLogs()
- }
-
- private func readLogs() -> [String?] {
- return WebPixelsLogReader.shared.readLogs() ?? []
- }
-}