HEX
Server: Apache/2.4.65 (Ubuntu)
System: Linux ielts-store-v2 6.8.0-1036-gcp #38~22.04.1-Ubuntu SMP Thu Aug 14 01:19:18 UTC 2025 x86_64
User: root (0)
PHP: 7.2.34-54+ubuntu20.04.1+deb.sury.org+1
Disabled: pcntl_alarm,pcntl_fork,pcntl_waitpid,pcntl_wait,pcntl_wifexited,pcntl_wifstopped,pcntl_wifsignaled,pcntl_wifcontinued,pcntl_wexitstatus,pcntl_wtermsig,pcntl_wstopsig,pcntl_signal,pcntl_signal_get_handler,pcntl_signal_dispatch,pcntl_get_last_error,pcntl_strerror,pcntl_sigprocmask,pcntl_sigwaitinfo,pcntl_sigtimedwait,pcntl_exec,pcntl_getpriority,pcntl_setpriority,pcntl_async_signals,
Upload Files
File: //proc/thread-self/cwd/wp-content/plugins/woo-stripe-payment/packages/woofunnels/assets/js/index.js
import {loadStripe} from '@stripe/stripe-js';
import $ from 'jquery';

let stripe;

let data = {};

const initialize = () => {
    $(document).on('wfocu_external', onHandleSubmit);
    window.addEventListener('hashchange', handleHashChange);
    wfocuCommons.addFilter('wfocu_front_charge_data', addChargeData);
    loadStripe(getData('publishableKey', (() => {
        if (getData('account')) {
            return {stripeAccount: getData('account')};
        }
        return {};
    })())).then((client) => {
        stripe = client;
    }).catch(error => {
    });
}

const onBucketCreated = (e, bucket) => {
    data = window?.wfocu_vars?.stripeData;
    setData('bucket', bucket);
    initialize();
}

const onHandleSubmit = (e, bucket) => {
    setData('bucket', bucket);
}

const handleHashChange = (e) => {
    var match = e.newURL.match(/response=(.*)/);
    if (match) {
        const obj = JSON.parse(window.atob(decodeURIComponent(match[1])));
        getData('bucket')?.swal?.hide();
        setData('paymentIntent', obj.payment_intent);
        history.pushState({}, '', window.location.pathname + window.location.search);
        stripe.confirmCardPayment(obj.client_secret).then(response => {
            if (response.error) {
                // display message
                resetPaymentProcess();
            } else {
                setData('paymentComplete', true);
                getData('bucket').sendBucket();
            }
        }).catch(error => {
            console.log(error);
        });
    }
}

const addChargeData = (e) => {
    e['_payment_intent'] = getData('paymentIntent');
    return e;
}

const getData = (key, defaultValue = null) => {
    if (!data.hasOwnProperty(key)) {
        data[key] = defaultValue;
    }
    return data[key];
}

const setData = (key, value) => {
    data[key] = value;
}

const resetPaymentProcess = () => {
    getData('bucket').inOfferTransaction = false;
    getData('bucket').EnableButtonState();
    getData('bucket').HasEventRunning = false;
}

$(document).on('wfocuBucketCreated', onBucketCreated);