PageSourceSearch

https://app.appec.it/files/js/stripe.js?v=2.8.2

js appec.it collected 2026-09-24 14:23:51 UTC 9,870 bytes, 225 lines download raw bytes

1$('#add-card').click(async function () {
2    const button = $(this);
3    button.prop('disabled', true);
4    let res = await getAjaxPopUp('getaddcardpopup');
5    button.prop('disabled', false);
6    if (res) {
7        const apiKey = $(this).data('apikey');
8        let stripe = Stripe(apiKey);
9        const locale = (language == 'bz') ? 'de' : language;
10        const elements = stripe.elements({ locale: locale });
11        const style = {
12            base: {
13                color: isDarkMode?'#fff' : '#2a2a2a',
14                fontFamily: '"Helvetica Neue", Helvetica, sans-serif',
15                fontSmoothing: 'antialiased',
16                fontSize: '16px',
17                '::placeholder': {
18                    color: '#aab7c4'
19                }
20            },
21            invalid: {
22                color: '#f04141',
23                iconColor: '#f04141'
24            }
25        };
26        let card = elements.create('card', {
27            style: style,
28            hidePostalCode: true
29        });
30        card.mount('#card-element');
31        card.addEventListener('change', function (event) {
32            let displayError = document.getElementById('card-errors');
33            if (event.error) {
34                displayError.textContent = event.error.message;
35            } else {
36                displayError.textContent = '';
37            }
38        });
39        $(document).on('click', '#confirm-card', async function () {
40            const button = $(this);
41            const intent = $(this).data('intent');
42            button.prop('disabled', true);
43            stripe.confirmCardSetup(intent, {
44                payment_method: {
45                    card: card
46                }
47            }).then(async function (result) {
48                if (result['error']) {
49                    presentToast(result['error']['message'], 'fa-triangle-exclamation', 'warning');
50                } else if (result['setupIntent']) {
51                    await addCardToCustomer(result['setupIntent']);
52                    $('#add-card-popup').find('.close-and-remove-popup').trigger('click');
53                }
54                button.prop('disabled', false);
55            });
56        });
57    }
58});
59$(document).on('click', '#creditcard .card .favorit', async function (e) {
60    const button = $(this);
61    const cardEl = $(this).parents('.card');
62    const pm_id = cardEl.find('.card-inner').data('id');
63    button.prop('disabled', true);
64    $.ajax({
65        type: 'GET',
66        url: 'changedefaultcredicard',
67        cache: false,
68        data: {
69            id: pm_id
70        },
71        success: function (result) {
72            try {
73                let res = JSON.parse(result);
74                if (res['success']) {
75                    $('.card-inner').removeClass('active');
76                    cardEl.find('.card-inner').addClass('active');
77                } else {
78                    presentToast(translate['ERROR_GENERAL'], 'fa-triangle-exclamation', 'warning');
79                }
80                button.prop('disabled', false);
81            } catch (err) {
82                console.error(err, result);
83            }
84        }
85    });
86});
87$(document).on('click', '#creditcard .cards .delete', async function (e) {
88    const button = $(this);
89    const cardEl = $(this).parents('.card');
90    const pm_id = $(this).parents('.card-inner').data('id');
91    button.prop('disabled', true);
92    $.ajax({
93        type: 'GET',
94        url: 'removecreditcardfromcustomer',
95        cache: false,
96        data: {
97            id: pm_id
98        },
99        success: function (result) {
100            try {
101                let res = JSON.parse(result);
102                if (res['success']) {
103                    cardEl.remove();
104                } else {
105                    presentToast(translate['ERROR_GENERAL'], 'fa-triangle-exclamation', 'warning');
106                }
107            } catch (err) {
108                console.error(err, result);
109            }
110            button.prop('disabled', false);
111        }
112    });
113});
114function addCardToCustomer(setupIntent) {
115    return new Promise(function (resolve, reject) {
116        $.ajax({
117            type: 'GET',
118            url: 'addcreditcardtocustomer',
119            cache: false,
120            data: {
121                id: setupIntent['payment_method']
122            },
123            success: function (result) {
124                try {
125                    let res = JSON.parse(result);
126                    if (res['error']) {
127                        let error = translate['ERROR_GENERAL'];
128                        if (res['message'])
129                            error = res['message'];
130                        switch (res['error']) {
131                            case 'card_declined':
132                                error = translate['SETTINGS']['ERROR_CARD_DECLINED'];
133                                break;
134                            case 'expired_card':
135                                error = translate['SETTINGS']['ERROR_EXPIRED_CARD'];
136                                break;
137                            case 'incorrect_cvc':
138                                error = translate['SETTINGS']['ERROR_INCORRECT_CVC'];
139                                break;
140
141                            case 'processing_error':
142                                error = translate['SETTINGS']['ERROR_PROCESSING_ERROR'];
143                                break;
144                            case 'incorrect_number':
145                                error = translate['SETTINGS']['ERROR_INCORRECT_NUMBER'];
146                                break;
147                            default:
148                                break;
149                        }
150                        presentToast(error, 'fa-triangle-exclamation', 'warning');
151                    } else {
152                        if (res['pm']) {
153                            let defaultCard = '';
154                            if (res['defaultPaymethod']) {
155                                defaultCard = res['defaultPaymethod'];
156                            }
157
158                            let cardEl = document.createElement('div');
159                            cardEl.className = 'card';
160
161                            let cardInnerEl = document.createElement('div');
162                            cardInnerEl.className = 'card-inner' + ((defaultCard == res['pm']['id']) ? ' active' : '');
163                            cardInnerEl.setAttribute("data-id", res['pm']['id']);
164
165                            let activeLabelEl = document.createElement('span');
166                            activeLabelEl.className = 'active-label';
167                            activeLabelEl.textContent = translate['SETTINGS']['ACTIVE_CARD'];
168
169                            let deleteEl = document.createElement('div');
170                            deleteEl.className = 'delete';
171                            deleteEl.innerHTML = '<i class="fa-solid fa-tras
171h"></i>';
172
173                            let favoritedEl = document.createElement('div');
174                            favoritedEl.className = 'favorited';
175                            favoritedEl.innerHTML = '<i class="fa-solid fa-star"></i>';
176
177                            let favoritEl = document.createElement('div');
178                            favoritEl.className = 'favorit';
179                            favoritEl.innerHTML = '<i class="fa-regular fa-star"></i>';
180
181                            let iconEl = document.createElement('div');
182                            iconEl.className = 'icon';
183                            iconEl.innerHTML = '<i class="fa-solid fa-credit-card"></i>';
184
185                            let numberEl = document.createElement('div');
186                            numberEl.className = 'number';
187                            numberEl.innerHTML = 'XXXX&nbsp;XXXX&nbsp;XXXX&nbsp;' + res['pm']['card']['last4'];
188
189                            let brandEl = document.createElement('div');
190                            brandEl.className = 'brand';
191                            brandEl.textContent = res['pm']['card']['brand'];
192
193                            let expireEl = document.createElement('div');
194                            expireEl.className = 'expire';
195                            let expireTitleEl = document.createElement('div');
196                            expireTitleEl.className = 'expire-title';
197                            expireTitleEl.textContent = translate['SETTINGS']['CARD_EXPIRE_ON'];
198                            let expireValueEl = document.createElement('div');
199                            expireValueEl.className = 'expire-value';
200                            expireValueEl.textContent = ((res['pm']['card']['exp_month'].toString().length > 1) ? '' : '0') + res['pm']['card']['exp_month'] + '/' + res['pm']['card']['exp_year'];
201
202                            expireEl.appendChild(expireTitleEl);
203                            expireEl.appendChild(expireValueEl);
204                            cardInnerEl.appendChild(activeLabelEl);
205                            cardInnerEl.appendChild(favoritEl);
206                            cardInnerEl.appendChild(favoritedEl);
207                            cardInnerEl.appendChild(deleteEl);
208                            cardInnerEl.appendChild(iconEl);
209                            cardInnerEl.appendChild(numberEl);
210                            cardInnerEl.appendChild(brandEl);
211                            cardInnerEl.appendChild(expireEl);
212                            cardEl.appendChild(cardInnerEl);
213                            if (defaultCard == res['pm']['id'])
214                                $('#creditcard .cards .card-inner').removeClass('active');
215                            $('#creditcard .cards').prepend(cardEl);
216                        }
217                    }
218                } catch (err) {
219                    console.error(err, result);
220                }
221                resolve(true);
222            },
223        });
224    })
225}

Line numbers count LF bytes from the start of the resource, as the search results do. Vendor segments are library code the classifier recognised; they are stored but not indexed. Bytes are shown as Latin1 characters, one per byte.