mirror of
https://github.com/woocommerce/woocommerce-paypal-payments.git
synced 2025-09-01 07:02:48 +08:00
58 lines
1.4 KiB
JavaScript
58 lines
1.4 KiB
JavaScript
|
|
class PayPalInsights {
|
|
|
|
constructor() {
|
|
window.paypalInsightDataLayer = window.paypalInsightDataLayer || [];
|
|
document.paypalInsight = () => {
|
|
paypalInsightDataLayer.push(arguments);
|
|
}
|
|
}
|
|
|
|
/**
|
|
* @returns {PayPalInsights}
|
|
*/
|
|
static init() {
|
|
if (!PayPalInsights.instance) {
|
|
PayPalInsights.instance = new PayPalInsights();
|
|
}
|
|
return PayPalInsights.instance;
|
|
}
|
|
|
|
static track(eventName, data) {
|
|
PayPalInsights.init();
|
|
paypalInsight('event', eventName, data);
|
|
}
|
|
|
|
static config (clientId, data) {
|
|
PayPalInsights.init();
|
|
paypalInsight('config', clientId, data);
|
|
}
|
|
|
|
static setSessionId (sessionId) {
|
|
PayPalInsights.init();
|
|
paypalInsight('set', { session_id: sessionId });
|
|
}
|
|
|
|
static trackJsLoad () {
|
|
PayPalInsights.track('js_load', { timestamp: Date.now() });
|
|
}
|
|
|
|
static trackBeginCheckout (data) {
|
|
PayPalInsights.track('begin_checkout', data);
|
|
}
|
|
|
|
static trackSubmitCheckoutEmail (data) {
|
|
PayPalInsights.track('submit_checkout_email', data);
|
|
}
|
|
|
|
static trackSelectPaymentMethod (data) {
|
|
PayPalInsights.track('select_payment_method', data);
|
|
}
|
|
|
|
static trackEndCheckout (data) {
|
|
PayPalInsights.track('end_checkout', data);
|
|
}
|
|
|
|
}
|
|
|
|
export default PayPalInsights;
|