@justifi/webcomponents 6.0.0-rc.16 → 6.0.0-rc.17
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/cjs/{check-pkg-version-DfzaKEDg.js → check-pkg-version-rUX0NaZj.js} +1 -1
- package/dist/cjs/hidden-input_2.cjs.entry.js +1 -1
- package/dist/cjs/justifi-apple-pay.cjs.entry.js +338 -6
- package/dist/cjs/justifi-bank-account-billing-form-simple_9.cjs.entry.js +2 -2
- package/dist/cjs/justifi-business-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-business-form.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkout-summary_7.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkout.cjs.entry.js +2 -2
- package/dist/cjs/justifi-checkouts-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-dispute-management.cjs.entry.js +2 -2
- package/dist/cjs/justifi-dispute-notification_3.cjs.entry.js +2 -2
- package/dist/cjs/justifi-gross-payment-chart.cjs.entry.js +2 -2
- package/dist/cjs/justifi-order-terminals.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-provisioning.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payment-transactions-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payments-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payout-details.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payout-transactions-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-payouts-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-refund-payment.cjs.entry.js +2 -2
- package/dist/cjs/justifi-season-interruption-insurance.cjs.entry.js +2 -2
- package/dist/cjs/justifi-terminal-orders-list.cjs.entry.js +2 -2
- package/dist/cjs/justifi-terminals-list.cjs.entry.js +2 -2
- package/dist/cjs/{package-CHNXn8wx.js → package-CwkrMpTG.js} +1 -1
- package/dist/collection/components/modular-checkout/sub-components/apple-pay.js +4 -3
- package/dist/docs.json +1 -1
- package/dist/esm/{check-pkg-version-Cz8T6Ux8.js → check-pkg-version-h58ZAK8T.js} +1 -1
- package/dist/esm/hidden-input_2.entry.js +1 -1
- package/dist/esm/justifi-apple-pay.entry.js +338 -6
- package/dist/esm/justifi-bank-account-billing-form-simple_9.entry.js +2 -2
- package/dist/esm/justifi-business-details.entry.js +2 -2
- package/dist/esm/justifi-business-form.entry.js +2 -2
- package/dist/esm/justifi-checkout-summary_7.entry.js +2 -2
- package/dist/esm/justifi-checkout.entry.js +2 -2
- package/dist/esm/justifi-checkouts-list.entry.js +2 -2
- package/dist/esm/justifi-dispute-management.entry.js +2 -2
- package/dist/esm/justifi-dispute-notification_3.entry.js +2 -2
- package/dist/esm/justifi-gross-payment-chart.entry.js +2 -2
- package/dist/esm/justifi-order-terminals.entry.js +2 -2
- package/dist/esm/justifi-payment-details.entry.js +2 -2
- package/dist/esm/justifi-payment-provisioning.entry.js +2 -2
- package/dist/esm/justifi-payment-transactions-list.entry.js +2 -2
- package/dist/esm/justifi-payments-list.entry.js +2 -2
- package/dist/esm/justifi-payout-details.entry.js +2 -2
- package/dist/esm/justifi-payout-transactions-list.entry.js +2 -2
- package/dist/esm/justifi-payouts-list.entry.js +2 -2
- package/dist/esm/justifi-refund-payment.entry.js +2 -2
- package/dist/esm/justifi-season-interruption-insurance.entry.js +2 -2
- package/dist/esm/justifi-terminal-orders-list.entry.js +2 -2
- package/dist/esm/justifi-terminals-list.entry.js +2 -2
- package/dist/esm/{package-BiTF1__F.js → package-fZXUzneK.js} +1 -1
- package/dist/module/justifi-apple-pay.js +335 -3
- package/dist/module/package.js +1 -1
- package/dist/webcomponents/p-27abb8bb.entry.js +1 -0
- package/dist/webcomponents/{p-3a34e4f9.entry.js → p-2c9b0770.entry.js} +1 -1
- package/dist/webcomponents/{p-2b47ddd8.entry.js → p-2fe09e28.entry.js} +1 -1
- package/dist/webcomponents/p-3c8b5121.entry.js +1 -0
- package/dist/webcomponents/{p-a53710c4.entry.js → p-46495601.entry.js} +1 -1
- package/dist/webcomponents/p-6f7b4979.entry.js +1 -0
- package/dist/webcomponents/{p-e7921c1f.entry.js → p-71d52066.entry.js} +1 -1
- package/dist/webcomponents/{p-225da0b5.entry.js → p-76c4740e.entry.js} +1 -1
- package/dist/webcomponents/{p-3d94c845.entry.js → p-7bc1a2c2.entry.js} +1 -1
- package/dist/webcomponents/{p-ce272d8a.entry.js → p-835c0438.entry.js} +1 -1
- package/dist/webcomponents/{p-07c3c25e.entry.js → p-8883f4e1.entry.js} +1 -1
- package/dist/webcomponents/{p-b9ab3803.entry.js → p-8f11dc84.entry.js} +1 -1
- package/dist/webcomponents/{p-BcAsEqa5.js → p-CliUh8zt.js} +1 -1
- package/dist/webcomponents/{p-eabaeaf6.entry.js → p-ad79606e.entry.js} +1 -1
- package/dist/webcomponents/{p-73dd0306.entry.js → p-b86e5c2b.entry.js} +1 -1
- package/dist/webcomponents/{p-f6e3f1ca.entry.js → p-bc246ce5.entry.js} +1 -1
- package/dist/webcomponents/{p-69bf5e32.entry.js → p-e1501f53.entry.js} +1 -1
- package/dist/webcomponents/{p-0913a57b.entry.js → p-e4259408.entry.js} +1 -1
- package/dist/webcomponents/p-e5f2fb41.entry.js +1 -0
- package/dist/webcomponents/p-edc2851f.entry.js +1 -0
- package/dist/webcomponents/{p-0bba0dd0.entry.js → p-f0b5df73.entry.js} +1 -1
- package/dist/webcomponents/{p-a65d751d.entry.js → p-f6745365.entry.js} +1 -1
- package/dist/webcomponents/p-fZXUzneK.js +1 -0
- package/dist/webcomponents/{p-995c2cbf.entry.js → p-fc8c3b96.entry.js} +1 -1
- package/dist/webcomponents/{p-c3cfcd4b.entry.js → p-febb61e3.entry.js} +1 -1
- package/dist/webcomponents/webcomponents.esm.js +1 -1
- package/package.json +1 -1
- package/dist/webcomponents/p-099e96ba.entry.js +0 -1
- package/dist/webcomponents/p-3caee9d2.entry.js +0 -1
- package/dist/webcomponents/p-4abf0877.entry.js +0 -1
- package/dist/webcomponents/p-5a3fc339.entry.js +0 -1
- package/dist/webcomponents/p-BiTF1__F.js +0 -1
- package/dist/webcomponents/p-a7712cea.entry.js +0 -1
|
@@ -1,4 +1,5 @@
|
|
|
1
1
|
import { h, proxyCustomElement, HTMLElement, createEvent } from '@stencil/core/internal/client';
|
|
2
|
+
import { A as Api } from './Api.js';
|
|
2
3
|
import { S as StyledHost } from './styled-host.js';
|
|
3
4
|
import './details.js';
|
|
4
5
|
import './event-types.js';
|
|
@@ -34,6 +35,45 @@ var ApplePayMerchantCapability;
|
|
|
34
35
|
ApplePayMerchantCapability["SUPPORTS_CREDIT"] = "supportsCredit";
|
|
35
36
|
ApplePayMerchantCapability["SUPPORTS_DEBIT"] = "supportsDebit";
|
|
36
37
|
})(ApplePayMerchantCapability || (ApplePayMerchantCapability = {}));
|
|
38
|
+
class ApplePayConfig {
|
|
39
|
+
constructor(data) {
|
|
40
|
+
this.merchantIdentifier = data.merchantIdentifier;
|
|
41
|
+
this.displayName = data.displayName;
|
|
42
|
+
this.initiative = data.initiative;
|
|
43
|
+
this.initiativeContext = data.initiativeContext;
|
|
44
|
+
this.buttonType = data.buttonType || ApplePayButtonType.PLAIN;
|
|
45
|
+
this.buttonStyle = data.buttonStyle || ApplePayButtonStyle.BLACK;
|
|
46
|
+
this.buttonLocale = data.buttonLocale || 'en-US';
|
|
47
|
+
}
|
|
48
|
+
get isValid() {
|
|
49
|
+
return !!(this.merchantIdentifier &&
|
|
50
|
+
this.displayName &&
|
|
51
|
+
this.initiative &&
|
|
52
|
+
this.initiativeContext);
|
|
53
|
+
}
|
|
54
|
+
}
|
|
55
|
+
class ApplePayPaymentRequest {
|
|
56
|
+
constructor(data) {
|
|
57
|
+
this.countryCode = data.countryCode;
|
|
58
|
+
this.currencyCode = data.currencyCode;
|
|
59
|
+
this.merchantCapabilities = data.merchantCapabilities;
|
|
60
|
+
this.supportedNetworks = data.supportedNetworks;
|
|
61
|
+
this.total = data.total;
|
|
62
|
+
this.lineItems = data.lineItems;
|
|
63
|
+
this.shippingMethods = data.shippingMethods;
|
|
64
|
+
this.applicationData = data.applicationData;
|
|
65
|
+
this.supportedCountries = data.supportedCountries;
|
|
66
|
+
}
|
|
67
|
+
get isValid() {
|
|
68
|
+
var _a, _b, _c, _d;
|
|
69
|
+
return !!(this.countryCode &&
|
|
70
|
+
this.currencyCode &&
|
|
71
|
+
((_a = this.merchantCapabilities) === null || _a === void 0 ? void 0 : _a.length) &&
|
|
72
|
+
((_b = this.supportedNetworks) === null || _b === void 0 ? void 0 : _b.length) &&
|
|
73
|
+
((_c = this.total) === null || _c === void 0 ? void 0 : _c.label) &&
|
|
74
|
+
((_d = this.total) === null || _d === void 0 ? void 0 : _d.amount));
|
|
75
|
+
}
|
|
76
|
+
}
|
|
37
77
|
class ApplePayHelpers {
|
|
38
78
|
static isApplePaySupported() {
|
|
39
79
|
var _a;
|
|
@@ -87,6 +127,298 @@ class ApplePayHelpers {
|
|
|
87
127
|
}
|
|
88
128
|
}
|
|
89
129
|
|
|
130
|
+
class ApplePayService {
|
|
131
|
+
constructor() {
|
|
132
|
+
this.api = Api();
|
|
133
|
+
}
|
|
134
|
+
/**
|
|
135
|
+
* Initialize Apple Pay configuration
|
|
136
|
+
*/
|
|
137
|
+
initialize(applePayConfig) {
|
|
138
|
+
this.applePayConfig = new ApplePayConfig(applePayConfig);
|
|
139
|
+
if (!this.applePayConfig.isValid) {
|
|
140
|
+
throw new Error('Invalid Apple Pay configuration provided');
|
|
141
|
+
}
|
|
142
|
+
}
|
|
143
|
+
/**
|
|
144
|
+
* Validate merchant with Apple Pay servers via API
|
|
145
|
+
*/
|
|
146
|
+
async validateMerchant(authToken, accountId) {
|
|
147
|
+
const endpoint = 'apple_pay/merchant_session';
|
|
148
|
+
try {
|
|
149
|
+
const response = await this.api.post({
|
|
150
|
+
endpoint,
|
|
151
|
+
authToken,
|
|
152
|
+
headers: {
|
|
153
|
+
'Sub-Account': accountId,
|
|
154
|
+
},
|
|
155
|
+
});
|
|
156
|
+
return response;
|
|
157
|
+
}
|
|
158
|
+
catch (error) {
|
|
159
|
+
console.error('Backend validation failed:', error);
|
|
160
|
+
throw new Error('Merchant validation failed');
|
|
161
|
+
}
|
|
162
|
+
}
|
|
163
|
+
/**
|
|
164
|
+
* Process Apple Pay payment via API (fixed to match original logic)
|
|
165
|
+
*/
|
|
166
|
+
async processPayment(authToken, accountId, payload) {
|
|
167
|
+
const endpoint = 'apple_pay/process_token';
|
|
168
|
+
const result = await this.api.post({
|
|
169
|
+
endpoint,
|
|
170
|
+
authToken,
|
|
171
|
+
body: payload,
|
|
172
|
+
headers: {
|
|
173
|
+
'Sub-Account': accountId,
|
|
174
|
+
},
|
|
175
|
+
});
|
|
176
|
+
return {
|
|
177
|
+
success: result.id && !!result.data.token,
|
|
178
|
+
data: result,
|
|
179
|
+
};
|
|
180
|
+
}
|
|
181
|
+
/**
|
|
182
|
+
* Check if Apple Pay is available on this device/browser
|
|
183
|
+
*/
|
|
184
|
+
isAvailable() {
|
|
185
|
+
return (ApplePayHelpers.isApplePaySupported() && ApplePayHelpers.canMakePayments());
|
|
186
|
+
}
|
|
187
|
+
/**
|
|
188
|
+
* Check if the user has an active card for the merchant
|
|
189
|
+
*/
|
|
190
|
+
async canMakePaymentsWithActiveCard() {
|
|
191
|
+
if (!this.applePayConfig) {
|
|
192
|
+
throw new Error('Apple Pay not initialized. Call initialize() first.');
|
|
193
|
+
}
|
|
194
|
+
return await ApplePayHelpers.canMakePaymentsWithActiveCard(this.applePayConfig.merchantIdentifier);
|
|
195
|
+
}
|
|
196
|
+
/**
|
|
197
|
+
* Start Apple Pay session
|
|
198
|
+
*/
|
|
199
|
+
async startPaymentSession(paymentRequest, authToken, accountId) {
|
|
200
|
+
if (!this.applePayConfig) {
|
|
201
|
+
throw new Error('Apple Pay not initialized. Call initialize() first.');
|
|
202
|
+
}
|
|
203
|
+
// if (!this.isAvailable()) {
|
|
204
|
+
// throw new Error('Apple Pay is not available on this device/browser');
|
|
205
|
+
// }
|
|
206
|
+
const request = new ApplePayPaymentRequest(paymentRequest);
|
|
207
|
+
if (!request.isValid) {
|
|
208
|
+
throw new Error('Invalid payment request provided');
|
|
209
|
+
}
|
|
210
|
+
this.currentPaymentRequest = request;
|
|
211
|
+
return new Promise((resolve, reject) => {
|
|
212
|
+
try {
|
|
213
|
+
this.currentSession = new window.ApplePaySession(3, request);
|
|
214
|
+
this.setupSessionEventHandlers(resolve, reject, authToken, accountId);
|
|
215
|
+
this.currentSession.begin();
|
|
216
|
+
}
|
|
217
|
+
catch (error) {
|
|
218
|
+
reject({
|
|
219
|
+
success: false,
|
|
220
|
+
error: {
|
|
221
|
+
code: 'SESSION_ERROR',
|
|
222
|
+
message: error instanceof Error
|
|
223
|
+
? error.message
|
|
224
|
+
: 'Failed to start Apple Pay session',
|
|
225
|
+
},
|
|
226
|
+
});
|
|
227
|
+
}
|
|
228
|
+
});
|
|
229
|
+
}
|
|
230
|
+
/**
|
|
231
|
+
* Abort current Apple Pay session
|
|
232
|
+
*/
|
|
233
|
+
abortPaymentSession() {
|
|
234
|
+
if (this.currentSession) {
|
|
235
|
+
this.currentSession.abort();
|
|
236
|
+
this.currentSession = undefined;
|
|
237
|
+
this.currentPaymentRequest = undefined;
|
|
238
|
+
}
|
|
239
|
+
}
|
|
240
|
+
/**
|
|
241
|
+
* Setup Apple Pay session event handlers
|
|
242
|
+
*/
|
|
243
|
+
setupSessionEventHandlers(resolve, reject, authToken, accountId) {
|
|
244
|
+
if (!this.currentSession ||
|
|
245
|
+
!this.applePayConfig ||
|
|
246
|
+
!this.currentPaymentRequest) {
|
|
247
|
+
return;
|
|
248
|
+
}
|
|
249
|
+
this.currentSession.onvalidatemerchant = async () => {
|
|
250
|
+
try {
|
|
251
|
+
if (!authToken) {
|
|
252
|
+
throw new Error('Authentication token not provided.');
|
|
253
|
+
}
|
|
254
|
+
const merchantSession = await this.validateMerchant(authToken, accountId);
|
|
255
|
+
try {
|
|
256
|
+
this.currentSession.completeMerchantValidation(merchantSession);
|
|
257
|
+
}
|
|
258
|
+
catch (completionError) {
|
|
259
|
+
console.error('Error calling completeMerchantValidation:', completionError);
|
|
260
|
+
throw completionError;
|
|
261
|
+
}
|
|
262
|
+
}
|
|
263
|
+
catch (error) {
|
|
264
|
+
console.error('=== MERCHANT VALIDATION ERROR ===');
|
|
265
|
+
console.error('Error during merchant validation:', error);
|
|
266
|
+
console.error('Error stack:', error.stack);
|
|
267
|
+
this.currentSession.abort();
|
|
268
|
+
reject({
|
|
269
|
+
success: false,
|
|
270
|
+
error: {
|
|
271
|
+
code: 'MERCHANT_VALIDATION_ERROR',
|
|
272
|
+
message: error instanceof Error
|
|
273
|
+
? error.message
|
|
274
|
+
: 'Merchant validation failed',
|
|
275
|
+
},
|
|
276
|
+
});
|
|
277
|
+
}
|
|
278
|
+
};
|
|
279
|
+
this.currentSession.onpaymentauthorized = async (event) => {
|
|
280
|
+
try {
|
|
281
|
+
const payment = event.payment;
|
|
282
|
+
const paymentPayload = Object.assign(Object.assign({}, payment.token), { product_details: {
|
|
283
|
+
name: this.currentPaymentRequest.total.label,
|
|
284
|
+
price: ApplePayHelpers.parseAmount(this.currentPaymentRequest.total.amount),
|
|
285
|
+
description: this.currentPaymentRequest.total.label,
|
|
286
|
+
} });
|
|
287
|
+
const paymentResult = await this.processPayment(authToken, accountId, paymentPayload);
|
|
288
|
+
if (paymentResult.success) {
|
|
289
|
+
this.currentSession.completePayment({
|
|
290
|
+
status: ApplePaySessionStatus.STATUS_SUCCESS,
|
|
291
|
+
});
|
|
292
|
+
resolve({
|
|
293
|
+
success: true,
|
|
294
|
+
token: payment.token,
|
|
295
|
+
paymentMethodId: paymentResult.data.id,
|
|
296
|
+
});
|
|
297
|
+
}
|
|
298
|
+
else {
|
|
299
|
+
console.error('PSP reported payment failure:', paymentResult.data);
|
|
300
|
+
this.currentSession.completePayment({
|
|
301
|
+
status: ApplePaySessionStatus.STATUS_FAILURE,
|
|
302
|
+
});
|
|
303
|
+
reject({
|
|
304
|
+
success: false,
|
|
305
|
+
error: {
|
|
306
|
+
code: 'PAYMENT_PROCESSING_ERROR',
|
|
307
|
+
message: 'Payment processing failed',
|
|
308
|
+
},
|
|
309
|
+
});
|
|
310
|
+
}
|
|
311
|
+
}
|
|
312
|
+
catch (error) {
|
|
313
|
+
console.error('=== PAYMENT PROCESSING ERROR ===');
|
|
314
|
+
console.error('Error processing payment:', error);
|
|
315
|
+
console.error('Error stack:', error.stack);
|
|
316
|
+
this.currentSession.completePayment({
|
|
317
|
+
status: ApplePaySessionStatus.STATUS_FAILURE,
|
|
318
|
+
});
|
|
319
|
+
reject({
|
|
320
|
+
success: false,
|
|
321
|
+
error: {
|
|
322
|
+
code: 'PAYMENT_PROCESSING_ERROR',
|
|
323
|
+
message: error instanceof Error
|
|
324
|
+
? error.message
|
|
325
|
+
: 'Payment processing failed',
|
|
326
|
+
},
|
|
327
|
+
});
|
|
328
|
+
}
|
|
329
|
+
finally {
|
|
330
|
+
this.currentSession = undefined;
|
|
331
|
+
this.currentPaymentRequest = undefined;
|
|
332
|
+
}
|
|
333
|
+
};
|
|
334
|
+
this.currentSession.onpaymentmethodselected = () => {
|
|
335
|
+
const paymentUpdate = {
|
|
336
|
+
newTotal: this.currentPaymentRequest.total,
|
|
337
|
+
newLineItems: this.currentPaymentRequest.lineItems || [],
|
|
338
|
+
};
|
|
339
|
+
try {
|
|
340
|
+
this.currentSession.completePaymentMethodSelection(paymentUpdate);
|
|
341
|
+
}
|
|
342
|
+
catch (error) {
|
|
343
|
+
console.error('Error completing payment method selection:', error);
|
|
344
|
+
this.currentSession.abort();
|
|
345
|
+
}
|
|
346
|
+
};
|
|
347
|
+
this.currentSession.onshippingmethodselected = () => {
|
|
348
|
+
this.currentSession.completeShippingMethodSelection({
|
|
349
|
+
status: ApplePaySessionStatus.STATUS_SUCCESS,
|
|
350
|
+
newTotal: this.currentPaymentRequest.total,
|
|
351
|
+
newLineItems: this.currentPaymentRequest.lineItems || [],
|
|
352
|
+
});
|
|
353
|
+
};
|
|
354
|
+
this.currentSession.oncancel = (event) => {
|
|
355
|
+
if (event.sessionError) {
|
|
356
|
+
console.error(event.sessionError);
|
|
357
|
+
switch (event.sessionError.code) {
|
|
358
|
+
case 'unknown':
|
|
359
|
+
console.error('Unknown error - likely merchant validation issue');
|
|
360
|
+
console.error('This usually means:');
|
|
361
|
+
console.error('1. Merchant certificate is invalid or expired');
|
|
362
|
+
console.error('2. Merchant identifier mismatch');
|
|
363
|
+
console.error('3. Backend validation endpoint issues');
|
|
364
|
+
break;
|
|
365
|
+
case 'invalidMerchantSession':
|
|
366
|
+
console.error('Invalid merchant session provided');
|
|
367
|
+
console.error('Check that the merchant session from backend is valid');
|
|
368
|
+
break;
|
|
369
|
+
case 'userCancel':
|
|
370
|
+
console.error('User cancelled the payment');
|
|
371
|
+
break;
|
|
372
|
+
default:
|
|
373
|
+
console.error('Other error code:', event.sessionError.code);
|
|
374
|
+
}
|
|
375
|
+
}
|
|
376
|
+
this.currentSession = undefined;
|
|
377
|
+
this.currentPaymentRequest = undefined;
|
|
378
|
+
reject({
|
|
379
|
+
success: false,
|
|
380
|
+
error: {
|
|
381
|
+
code: 'USER_CANCELLED',
|
|
382
|
+
message: 'User cancelled the Apple Pay session',
|
|
383
|
+
},
|
|
384
|
+
});
|
|
385
|
+
};
|
|
386
|
+
if ('onerror' in this.currentSession) {
|
|
387
|
+
this.currentSession.onerror = (error) => {
|
|
388
|
+
console.error('=== APPLE PAY SESSION ERROR ===');
|
|
389
|
+
console.error('Session error:', error);
|
|
390
|
+
this.currentSession = undefined;
|
|
391
|
+
this.currentPaymentRequest = undefined;
|
|
392
|
+
reject({
|
|
393
|
+
success: false,
|
|
394
|
+
error: {
|
|
395
|
+
code: 'SESSION_ERROR',
|
|
396
|
+
message: 'Apple Pay session error occurred',
|
|
397
|
+
},
|
|
398
|
+
});
|
|
399
|
+
};
|
|
400
|
+
}
|
|
401
|
+
}
|
|
402
|
+
/**
|
|
403
|
+
* Create a basic payment request
|
|
404
|
+
*/
|
|
405
|
+
static createPaymentRequest(amount, label, countryCode = 'US', currencyCode = 'USD') {
|
|
406
|
+
return {
|
|
407
|
+
countryCode,
|
|
408
|
+
currencyCode,
|
|
409
|
+
merchantCapabilities: ApplePayHelpers.getDefaultMerchantCapabilities(),
|
|
410
|
+
supportedNetworks: ApplePayHelpers.getDefaultSupportedNetworks(),
|
|
411
|
+
total: ApplePayHelpers.createLineItem(label, amount),
|
|
412
|
+
};
|
|
413
|
+
}
|
|
414
|
+
/**
|
|
415
|
+
* Get current configuration
|
|
416
|
+
*/
|
|
417
|
+
getApplePayConfig() {
|
|
418
|
+
return this.applePayConfig;
|
|
419
|
+
}
|
|
420
|
+
}
|
|
421
|
+
|
|
90
422
|
const ApplePaySkeleton = (props) => {
|
|
91
423
|
const { isReady } = props;
|
|
92
424
|
if (isReady) {
|
|
@@ -322,7 +654,6 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
322
654
|
// private unsubscribeCheckoutLoaded?: () => void;
|
|
323
655
|
// componentWillLoad() {
|
|
324
656
|
// this.unsubscribeCheckoutLoaded = onChange("checkoutLoaded", (loaded) => {
|
|
325
|
-
// this.applePayService = new ApplePayService();
|
|
326
657
|
// console.log("checkoutLoaded", loaded);
|
|
327
658
|
// if (loaded) {
|
|
328
659
|
// this.initializeApplePay();
|
|
@@ -385,6 +716,7 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
385
716
|
buttonType: this.buttonType,
|
|
386
717
|
buttonStyle: this.buttonStyle,
|
|
387
718
|
};
|
|
719
|
+
this.applePayService = new ApplePayService();
|
|
388
720
|
this.applePayService.initialize(applePayConfig);
|
|
389
721
|
const hasActiveCard = await this.applePayService.canMakePaymentsWithActiveCard();
|
|
390
722
|
if (!hasActiveCard) {
|
|
@@ -428,9 +760,9 @@ const ApplePay = /*@__PURE__*/ proxyCustomElement(class ApplePay extends HTMLEle
|
|
|
428
760
|
this.isAvailable &&
|
|
429
761
|
this.canMakePayments &&
|
|
430
762
|
this.isConfigValid;
|
|
431
|
-
return (h(StyledHost, { key: '
|
|
763
|
+
return (h(StyledHost, { key: 'ac97a93a1351ec6b3cf148377721b8f019aafd77' }, checkoutStore.checkoutLoaded && (h("script", { key: '2d4c928c3228a273bef756cce4c4ac05182e7efa', async: true, src: 'https://applepay.cdn-apple.com/jsapi/1.latest/apple-pay-sdk.js', onLoad: () => {
|
|
432
764
|
this.initializeApplePay();
|
|
433
|
-
} })), h("div", { key: '
|
|
765
|
+
} })), h("div", { key: '8890def5a313a29e42b358c55f3209ef30054d54', class: 'apple-pay-container' }, h(ApplePaySkeleton, { key: 'a531fbe89a491a911a0aa6ff42a80458e63030b5', isReady: isReady }), isReady && (h(ApplePayButton, { key: '77e0b5e8cff57ee4dd2956671b14dc9c90101326', buttonType: this.buttonType, buttonStyle: this.buttonStyle, disabled: this.disabled, isProcessing: this.isProcessing, isAvailable: this.isAvailable, clickHandler: this.handleApplePayClick }))), h("style", { key: '3ad594d30382388cf5defc050e5f2e5a17017c7b' }, `
|
|
434
766
|
.apple-pay-container {
|
|
435
767
|
width: 100%;
|
|
436
768
|
}
|
package/dist/module/package.js
CHANGED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-Bn7inNWG.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{c as o,J as n}from"./p-CliUh8zt.js";import{T as a}from"./p-Wh1V0gvF.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{f as p}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as h,a as c}from"./p-D2muobcE.js";import{m,S as u}from"./p-z-5r0gWn.js";import{S as l}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{d}from"./p-0Om7jLBs.js";import"./p-fZXUzneK.js";import"./p-7s1gsXM5.js";import"./p-BHf9IqGw.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-DDUmOl3v.js";import"./p-RvUQ__Pq.js";const j=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=d,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){o(),this.analytics=new n(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializeGetTerminals(),this.initializeGetSubAccounts()}initializeGetTerminals(){this.accountId&&this.authToken?this.getTerminals=(({id:t,authToken:s,service:i})=>async({params:e,onSuccess:o,onError:n})=>{var a,m;try{const u=await i.fetchTerminals(t,s,e);if(u.error)return n({error:c(u.error),code:h(null===(m=u.error)||void 0===m?void 0:m.code),severity:r.ERROR});{const t=Object.assign({},u.page_info);o({terminals:(null===(a=u.data)||void 0===a?void 0:a.map((t=>new p(t))))||[],pagingInfo:t})}}catch(t){const s=h(null==t?void 0:t.code);return n({error:t.message||t,code:s,severity:r.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new a}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:r.ERROR}))}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=m({accountId:this.accountId,authToken:this.authToken,service:new u}))}render(){return i(l,{key:"705ee40711e90c28a6b1699f450befa7c5b5529b"},i("terminals-list-core",{key:"3d54a1519e5299eb83d16bf2034711fc0dd0cc18",getTerminals:this.getTerminals,getSubAccounts:this.getSubAccounts,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{j as justifi_terminals_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as e,c as t,h as s}from"./p-Bn7inNWG.js";import{f as i}from"./p-BHf9IqGw.js";import{z as a,ai as r}from"./p-RvUQ__Pq.js";import{B as d}from"./p-DD0Mvpeu.js";import{S as c}from"./p-DxqCFDtF.js";import{S as o}from"./p-CaAVuW6B.js";import"./p-CZfYo5-1.js";import{C as n,a as h}from"./p-Cjcsf8ku.js";import{g as p,a as f}from"./p-D2muobcE.js";import{D as l}from"./p-ED_TzwCp.js";import{D as u}from"./p-Bg2SZArf.js";import{c as b,J as y}from"./p-BcAsEqa5.js";import"./p-HXpYMWUU.js";import"./p-7s1gsXM5.js";import"./p-DhGNCW2f.js";import"./p-CpaS1Lex.js";import"./p-Da3idOSV.js";import"./p-BH0Xfn-F.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-BiTF1__F.js";const m=({authToken:e,disputeId:t,service:s})=>async({payload:i,onSuccess:a,onError:r,final:d=()=>{}})=>{var c;try{const d=await s.submitDisputeResponse(t,e,i);if(d.error){return r({error:f(d.error),code:p(null===(c=d.error)||void 0===c?void 0:c.code),severity:n.ERROR})}a(d)}catch(e){const t=p(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:n.ERROR})}finally{return d()}},v=class{constructor(s){e(this,s),this.clickEvent=t(this,"click-event"),this.errorEvent=t(this,"error-event"),this.submitEvent=t(this,"submit-event")}acceptDispute(){m({disputeId:this.dispute.id,authToken:this.authToken,service:new l})({payload:{forfeit:!0},onSuccess:e=>{this.submitEvent.emit({response:e})},onError:({error:e,code:t,severity:s})=>{this.errorEvent.emit({errorCode:t,message:e,severity:s})}})}initiateRespondToDispute(){this.clickEvent.emit({name:u.respondToDispute})}render(){var e,t,n,h,p,f,l;return s(c,{key:"0f1028825a7a96a06e7219518ffed54bc0db1b2b"},this.isLoading&&s("div",{key:"f4b704182a5a7085827854634d38c56423cc2e1b",style:{marginBottom:"8px"}},s(o,{key:"b2062d8b683ab110c26fc30f1600c4500f668d87",height:"28px",width:"70%",styles:{marginBottom:"16px"}}),s(o,{key:"b5d2afe1fdd2e5ee0ec60048a48778bcfa6c78d3",height:"18px",styles:{marginBottom:"8px"}}),s(o,{key:"1e87c8936b3f2e26e680786927c5a4609aca0b83",height:"18px",styles:{marginBottom:"8px"}})),(null===(e=this.dispute)||void 0===e?void 0:e.needsResponse)&&s("div",{key:"49090493e3921353b7a830397795496bb234d112",part:a},s("h1",{key:"fd7b56a7cfeaa6820bf2cc121575314d075b5a83",class:"h4",part:r},"This payment is disputed"),s("p",{key:"72ba296695928baca8f7c5c3b1f858c596efedb2"},"The cardholder is disputing this payment. You may accept this dispute, or proceed to provide evidence in a counter dispute."),s("h2",{key:"cce733ff1bbca7a9530a442035cbae2995e018e7",class:"h5"},"Dispute details"),s("div",{key:"28b7f081e345112d99c52d05f205734995617253",class:"d-table gap-2"},s("div",{key:"d9476d8d0adfa3c6eccad229e94cd3824a720c7d",class:"d-table-row gap-2"},s("span",{key:"4d9e0714eee778c326ee1d70a32f79d90d3d4b09",part:"detail-section-item-title",class:"fw-bold d-table-cell pe-4"},"Amount"),s("span",{key:"b227edcf9b4b65b790d8aa98021d2662a12855bc",part:"detail-section-item-data",class:"flex-1 d-table-cell text-wrap"},i(null===(t=this.dispute)||void 0===t?void 0:t.amount))),s("div",{key:"b1b1cdaac5482f565a6f26af71c0b526b8c19f4e",class:"d-table-row gap-2"},s("span",{key:"0a479a9de96cce6e42bec90a17affe2c93ced44f",part:"detail-section-item-title",class:"fw-bold d-table-cell pe-4"},"Reason"),s("span",{key:"5d5020dda571f4465e2a358880ad5f20bc6171ea",part:"detail-section-item-data",class:"flex-1 d-table-cell text-wrap"},null===(n=this.dispute)||void 0===n?void 0:n.reason)),s("div",{key:"a5f42c3fcbb5d14f8479d0a576d31a50f8fc6441",class:"d-table-row gap-2"},s("span",{key:"280fca5a101eb0e823eb9ccc13c746ac7ed62069",part:"detail-section-item-title",class:"fw-bold d-table-cell pe-4"},"Dispute ID"),s("span",{key:"4dfc0b9a295ffc804b708d3590358256009e5376",part:"detail-section-item-data",class:"flex-1 d-table-cell text-wrap"},null===(h=this.dispute)||void 0===h?void 0:h.id))),s("div",{key:"654e7baccd08628bc90d050bad108011b49f9972",class:"d-flex gap-2 mt-4 justify-content-end"},s(d,{key:"d0817cdb23bf33086c6ce5122f4ed5388027d96c",variant:"secondary",onClick:()=>this.acceptDispute()},"Accept dispute"),s(d,{key:"5446bef44a0ca747692d59fd5490409d00a9e285",variant:"primary",onClick:()=>this.initiateRespondToDispute()},"Counter dispute"))),(null===(p=this.dispute)||void 0===p?void 0:p.underReview)&&s("div",{key:"17fbc5902badc4230c5485b326f480180c844768"},s("h1",{key:"fefa0234306588d9e7f56733872bf8c9793f51dd",class:"h4"},"This payment is disputed and under review"),s("p",{key:"eaad72aa8d9f65ca296379a2800180878ec8a7e5"},"The cardholder is disputing this payment. A counter dispute has been submitted and is under review.")),(null===(f=this.dispute)||void 0===f?void 0:f.won)&&s("div",{key:"ec1b0d728a7518f913c2a69976fa1f5fc8f76c74"},s("h1",{key:"9d42fad15fbeee507e2f364c3a35f143ff7599e2",class:"h4"},"This payment was disputed"),s("p",{key:"3b728a5544fe17a6c58c12f7e8eef290022945b6"},"The cardholder disputed this payment and the card issuer has settled it in your favor.")),(null===(l=this.dispute)||void 0===l?void 0:l.lost)&&s("div",{key:"6d1813508a657265546fbef00bd1e8f46ffaf740"},s("h1",{key:"de981fc2e06e860f47146647975965a903a39b55",class:"h4"},"This payment was disputed"),s("p",{key:"4e57ab86518bd678a3a5402b712d40d573b3a970"},"The cardholder disputed this payment and the card issuer has settled it in their favor.")))}},k=class{constructor(s){e(this,s),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.apiOrigin="https://wc-proxy.justifi.ai",this.handleErrorEvent=e=>{this.errorMessage=e.detail.message,this.errorEvent.emit(e.detail)}}componentWillLoad(){b(),this.analytics=new y(this),this.initializeDisputeServiceMethods()}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}propChanged(){this.initializeDisputeServiceMethods()}initializeDisputeServiceMethods(){this.disputeId&&this.authToken?(this.updateDisputeResponse=(({authToken:e,disputeId:t,service:s})=>async({payload:i,onSuccess:a,onError:r,final:d=()=>{}})=>{var c;try{const d=await s.updateDisputeResponse(t,e,i);if(d.error)return r({error:f(d.error),code:p(null===(c=d.error)||void 0===c?void 0:c.code),severity:n.ERROR});a(d)}catch(e){const t=p(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:n.ERROR})}finally{return d()}})({disputeId:this.disputeId,authToken:this.authToken,service:new l}),this.createDisputeEvidence=(({authToken:e,disputeId:t,service:s})=>async({payload:i,onSuccess:a,onError:r,final:d=()=>{}})=>{var c;try{const d=await s.createDisputeEvidence(t,e,i);if(d.error)return r({error:f(d.error),code:p(null===(c=d.error)||void 0===c?void 0:c.code),severity:n.ERROR});a(d)}catch(e){const t=p(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:n.ERROR})}finally{return d()}})({disputeId:this.disputeId,authToken:this.authToken,service:new l}),this.submitDisputeResponse=m({disputeId:this.disputeId,authToken:this.authToken,service:new l})):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:h.MISSING_PROPS,message:this.errorMessage,severity:n.ERROR}))}render(){return s(c,{key:"dbdfd59a21c7e8ea4dfdaecb91f885f82540a27c"},s("justifi-dispute-response-core",{key:"3cff38e5995f0033c45c54fa195ffeebc27e189e","onError-event":this.handleErrorEvent,"dispute-id":this.disputeId,disputeResponse:this.disputeResponse,createDisputeEvidence:this.createDisputeEvidence,updateDisputeResponse:this.updateDisputeResponse,submitDisputeResponse:this.submitDisputeResponse}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}},j=class{constructor(i){e(this,i),this.clickEvent=t(this,"click-event"),this.errorEvent=t(this,"error-event"),this.stepCompleteEvent=t(this,"complete-form-step-event"),this.submitEvent=t(this,"submit-event"),this.disputeResponse={},this.isLoading=!1,this.documentList=[],this.documentErrors={},this.currentStep=0,this.componentStepMapping=[()=>s("justifi-product-or-service",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-customer-details",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-cancellation-policy",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-refund-policy",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-duplicate-charge",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-electronic-evidence",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-shipping-details",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-additional-statement",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors})],this.saveData=async(e,t)=>{if(Object.keys(e).length)return this.isLastStep?this.submitDisputeResponse({payload:e,onSuccess:e=>{this.submitEvent.emit({response:e}),this.stepCompleteEvent.emit({response:e,formStep:t})},onError:({error:e,code:t,severity:s})=>{this.errorEvent.emit({errorCode:t,message:e,severity:s})}}):this.updateDisputeResponse({payload:e,onSuccess:e=>{this.disputeResponse=Object.assign({},e.data),this.stepCompleteEvent.emit({response:e,formStep:t})},onError:({error:e,code:t,severity:s})=>{this.errorEvent.emit({errorCode:t,message:e,severity:s})}});this.stepCompleteEvent.emit({response:null,formStep:t})},this.initializeMakePresignedURLs=async()=>{const e=this.documentList.map((e=>this.getPresignedFileUrl(e)));return await Promise.all(e)},this.initializeFileUploads=async()=>{const e=this.documentList.map((e=>this.uploadDocument(e)));return Promise.all(e)},this.getPresignedFileUrl=async e=>this.createDisputeEvidence({payload:{file_name:e.file_name,file_type:e.file_type,dispute_evidence_type:e.dispute_evidence_type},onSuccess:t=>{e.presignedUrl=t.data.presigned_url},onError:({error:t,code:s,severity:i})=>{const a={[e.dispute_evidence_type]:t};this.documentErrors=Object.assign(Object.assign({},this.documentErrors),a),this.errorEvent.emit({errorCode:s,message:t,severity:i})}}),this.uploadDocument=async e=>{const t=await e.getFileString();if(!e.presignedUrl)throw new Error("Presigned URL is not set");return await fetch(e.presignedUrl,{method:"PUT",body:t})},this.handleSubmit=async(e,t,s)=>{if(this.isLoading=!0,t.length){if(this.documentErrors={},this.documentList=t,await this.initializeMakePresignedURLs(),Object.keys(this.documentErrors).length)throw this.isLoading=!1,new Error("Could not presign all documents");await this.initializeFileUploads()}await this.saveData(e,s),this.isLoading=!1},this.onCancel=()=>{this.clickEvent.emit({name:u.cancelDispute})},this.onBack=async()=>{await this.currentStepComponentRef.validateAndSubmit((async(e,t,s)=>{this.clickEvent.emit({name:u.previousStep}),await this.handleSubmit(e,t,s),this.currentStep--}))},this.onNext=async()=>{await this.currentStepComponentRef.validateAndSubmit((async(e,t,s)=>{this.clickEvent.emit({name:u.nextStep}),await this.handleSubmit(e,t,s),this.currentStep++}))},this.onSubmit=async()=>{await this.currentStepComponentRef.validateAndSubmit((async(e,t,s)=>{this.clickEvent.emit({name:u.submit});const i=Object.assign(Object.assign({},e),{forfeit:!1});await this.handleSubmit(i,t,s)}))}}get currentStepComponent(){return this.componentStepMapping[this.currentStep]()}get isLastStep(){return this.currentStep===this.componentStepMapping.length-1}get isFirstStep(){return 0===this.currentStep}render(){return s("div",{key:"20d075178a9d88cd73be32e52f8df6d3d360f8d7",class:"row gy-3"},s("div",{key:"6c1bc735f1a15709c596b5bea7cc3ce50e9a73f5",class:"col-12"},s("h1",{key:"27a0804924937ee7a8d01265bd0da2d9dd31d301",class:"h4",part:r},"Counter dispute")),s("div",{key:"b60822e91425c5c4af003169f47fd725daf9fb0f",class:"col-12"},this.currentStepComponent),s("div",{key:"d1be3f6be53de37836275067070cf4b5a2eb3e4a",class:"col-12"},s("div",{key:"48c8725d8de8b658e59ccfa851a6af6638e19ca5",class:"d-flex gap-2 mt-4 justify-content-end"},this.isFirstStep?s(d,{variant:"secondary",onClick:()=>this.onCancel(),disabled:this.isLoading,isLoading:this.isLoading},"Cancel"):s(d,{variant:"secondary",onClick:()=>this.onBack(),disabled:this.isLoading,isLoading:this.isLoading},"Back"),this.isLastStep?s(d,{variant:"primary",onClick:()=>this.onSubmit(),disabled:this.isLoading,isLoading:this.isLoading},"Submit Counter Dispute"):s(d,{variant:"primary",onClick:()=>this.onNext(),disabled:this.isLoading,isLoading:this.isLoading},"Next"))))}};export{v as justifi_dispute_notification,k as justifi_dispute_response,j as justifi_dispute_response_core}
|
|
1
|
+
import{r as e,c as t,h as s}from"./p-Bn7inNWG.js";import{f as i}from"./p-BHf9IqGw.js";import{z as a,ai as r}from"./p-RvUQ__Pq.js";import{B as d}from"./p-DD0Mvpeu.js";import{S as c}from"./p-DxqCFDtF.js";import{S as o}from"./p-CaAVuW6B.js";import"./p-CZfYo5-1.js";import{C as n,a as h}from"./p-Cjcsf8ku.js";import{g as p,a as f}from"./p-D2muobcE.js";import{D as l}from"./p-ED_TzwCp.js";import{D as u}from"./p-Bg2SZArf.js";import{c as b,J as y}from"./p-CliUh8zt.js";import"./p-HXpYMWUU.js";import"./p-7s1gsXM5.js";import"./p-DhGNCW2f.js";import"./p-CpaS1Lex.js";import"./p-Da3idOSV.js";import"./p-BH0Xfn-F.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-fZXUzneK.js";const m=({authToken:e,disputeId:t,service:s})=>async({payload:i,onSuccess:a,onError:r,final:d=()=>{}})=>{var c;try{const d=await s.submitDisputeResponse(t,e,i);if(d.error){return r({error:f(d.error),code:p(null===(c=d.error)||void 0===c?void 0:c.code),severity:n.ERROR})}a(d)}catch(e){const t=p(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:n.ERROR})}finally{return d()}},v=class{constructor(s){e(this,s),this.clickEvent=t(this,"click-event"),this.errorEvent=t(this,"error-event"),this.submitEvent=t(this,"submit-event")}acceptDispute(){m({disputeId:this.dispute.id,authToken:this.authToken,service:new l})({payload:{forfeit:!0},onSuccess:e=>{this.submitEvent.emit({response:e})},onError:({error:e,code:t,severity:s})=>{this.errorEvent.emit({errorCode:t,message:e,severity:s})}})}initiateRespondToDispute(){this.clickEvent.emit({name:u.respondToDispute})}render(){var e,t,n,h,p,f,l;return s(c,{key:"0f1028825a7a96a06e7219518ffed54bc0db1b2b"},this.isLoading&&s("div",{key:"f4b704182a5a7085827854634d38c56423cc2e1b",style:{marginBottom:"8px"}},s(o,{key:"b2062d8b683ab110c26fc30f1600c4500f668d87",height:"28px",width:"70%",styles:{marginBottom:"16px"}}),s(o,{key:"b5d2afe1fdd2e5ee0ec60048a48778bcfa6c78d3",height:"18px",styles:{marginBottom:"8px"}}),s(o,{key:"1e87c8936b3f2e26e680786927c5a4609aca0b83",height:"18px",styles:{marginBottom:"8px"}})),(null===(e=this.dispute)||void 0===e?void 0:e.needsResponse)&&s("div",{key:"49090493e3921353b7a830397795496bb234d112",part:a},s("h1",{key:"fd7b56a7cfeaa6820bf2cc121575314d075b5a83",class:"h4",part:r},"This payment is disputed"),s("p",{key:"72ba296695928baca8f7c5c3b1f858c596efedb2"},"The cardholder is disputing this payment. You may accept this dispute, or proceed to provide evidence in a counter dispute."),s("h2",{key:"cce733ff1bbca7a9530a442035cbae2995e018e7",class:"h5"},"Dispute details"),s("div",{key:"28b7f081e345112d99c52d05f205734995617253",class:"d-table gap-2"},s("div",{key:"d9476d8d0adfa3c6eccad229e94cd3824a720c7d",class:"d-table-row gap-2"},s("span",{key:"4d9e0714eee778c326ee1d70a32f79d90d3d4b09",part:"detail-section-item-title",class:"fw-bold d-table-cell pe-4"},"Amount"),s("span",{key:"b227edcf9b4b65b790d8aa98021d2662a12855bc",part:"detail-section-item-data",class:"flex-1 d-table-cell text-wrap"},i(null===(t=this.dispute)||void 0===t?void 0:t.amount))),s("div",{key:"b1b1cdaac5482f565a6f26af71c0b526b8c19f4e",class:"d-table-row gap-2"},s("span",{key:"0a479a9de96cce6e42bec90a17affe2c93ced44f",part:"detail-section-item-title",class:"fw-bold d-table-cell pe-4"},"Reason"),s("span",{key:"5d5020dda571f4465e2a358880ad5f20bc6171ea",part:"detail-section-item-data",class:"flex-1 d-table-cell text-wrap"},null===(n=this.dispute)||void 0===n?void 0:n.reason)),s("div",{key:"a5f42c3fcbb5d14f8479d0a576d31a50f8fc6441",class:"d-table-row gap-2"},s("span",{key:"280fca5a101eb0e823eb9ccc13c746ac7ed62069",part:"detail-section-item-title",class:"fw-bold d-table-cell pe-4"},"Dispute ID"),s("span",{key:"4dfc0b9a295ffc804b708d3590358256009e5376",part:"detail-section-item-data",class:"flex-1 d-table-cell text-wrap"},null===(h=this.dispute)||void 0===h?void 0:h.id))),s("div",{key:"654e7baccd08628bc90d050bad108011b49f9972",class:"d-flex gap-2 mt-4 justify-content-end"},s(d,{key:"d0817cdb23bf33086c6ce5122f4ed5388027d96c",variant:"secondary",onClick:()=>this.acceptDispute()},"Accept dispute"),s(d,{key:"5446bef44a0ca747692d59fd5490409d00a9e285",variant:"primary",onClick:()=>this.initiateRespondToDispute()},"Counter dispute"))),(null===(p=this.dispute)||void 0===p?void 0:p.underReview)&&s("div",{key:"17fbc5902badc4230c5485b326f480180c844768"},s("h1",{key:"fefa0234306588d9e7f56733872bf8c9793f51dd",class:"h4"},"This payment is disputed and under review"),s("p",{key:"eaad72aa8d9f65ca296379a2800180878ec8a7e5"},"The cardholder is disputing this payment. A counter dispute has been submitted and is under review.")),(null===(f=this.dispute)||void 0===f?void 0:f.won)&&s("div",{key:"ec1b0d728a7518f913c2a69976fa1f5fc8f76c74"},s("h1",{key:"9d42fad15fbeee507e2f364c3a35f143ff7599e2",class:"h4"},"This payment was disputed"),s("p",{key:"3b728a5544fe17a6c58c12f7e8eef290022945b6"},"The cardholder disputed this payment and the card issuer has settled it in your favor.")),(null===(l=this.dispute)||void 0===l?void 0:l.lost)&&s("div",{key:"6d1813508a657265546fbef00bd1e8f46ffaf740"},s("h1",{key:"de981fc2e06e860f47146647975965a903a39b55",class:"h4"},"This payment was disputed"),s("p",{key:"4e57ab86518bd678a3a5402b712d40d573b3a970"},"The cardholder disputed this payment and the card issuer has settled it in their favor.")))}},k=class{constructor(s){e(this,s),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.apiOrigin="https://wc-proxy.justifi.ai",this.handleErrorEvent=e=>{this.errorMessage=e.detail.message,this.errorEvent.emit(e.detail)}}componentWillLoad(){b(),this.analytics=new y(this),this.initializeDisputeServiceMethods()}disconnectedCallback(){var e;null===(e=this.analytics)||void 0===e||e.cleanup()}propChanged(){this.initializeDisputeServiceMethods()}initializeDisputeServiceMethods(){this.disputeId&&this.authToken?(this.updateDisputeResponse=(({authToken:e,disputeId:t,service:s})=>async({payload:i,onSuccess:a,onError:r,final:d=()=>{}})=>{var c;try{const d=await s.updateDisputeResponse(t,e,i);if(d.error)return r({error:f(d.error),code:p(null===(c=d.error)||void 0===c?void 0:c.code),severity:n.ERROR});a(d)}catch(e){const t=p(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:n.ERROR})}finally{return d()}})({disputeId:this.disputeId,authToken:this.authToken,service:new l}),this.createDisputeEvidence=(({authToken:e,disputeId:t,service:s})=>async({payload:i,onSuccess:a,onError:r,final:d=()=>{}})=>{var c;try{const d=await s.createDisputeEvidence(t,e,i);if(d.error)return r({error:f(d.error),code:p(null===(c=d.error)||void 0===c?void 0:c.code),severity:n.ERROR});a(d)}catch(e){const t=p(null==e?void 0:e.code);return r({error:e.message||e,code:t,severity:n.ERROR})}finally{return d()}})({disputeId:this.disputeId,authToken:this.authToken,service:new l}),this.submitDisputeResponse=m({disputeId:this.disputeId,authToken:this.authToken,service:new l})):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:h.MISSING_PROPS,message:this.errorMessage,severity:n.ERROR}))}render(){return s(c,{key:"dbdfd59a21c7e8ea4dfdaecb91f885f82540a27c"},s("justifi-dispute-response-core",{key:"3cff38e5995f0033c45c54fa195ffeebc27e189e","onError-event":this.handleErrorEvent,"dispute-id":this.disputeId,disputeResponse:this.disputeResponse,createDisputeEvidence:this.createDisputeEvidence,updateDisputeResponse:this.updateDisputeResponse,submitDisputeResponse:this.submitDisputeResponse}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}},j=class{constructor(i){e(this,i),this.clickEvent=t(this,"click-event"),this.errorEvent=t(this,"error-event"),this.stepCompleteEvent=t(this,"complete-form-step-event"),this.submitEvent=t(this,"submit-event"),this.disputeResponse={},this.isLoading=!1,this.documentList=[],this.documentErrors={},this.currentStep=0,this.componentStepMapping=[()=>s("justifi-product-or-service",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-customer-details",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-cancellation-policy",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-refund-policy",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-duplicate-charge",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-electronic-evidence",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-shipping-details",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors}),()=>s("justifi-additional-statement",{ref:e=>this.currentStepComponentRef=e,disputeResponse:this.disputeResponse,documentErrors:this.documentErrors})],this.saveData=async(e,t)=>{if(Object.keys(e).length)return this.isLastStep?this.submitDisputeResponse({payload:e,onSuccess:e=>{this.submitEvent.emit({response:e}),this.stepCompleteEvent.emit({response:e,formStep:t})},onError:({error:e,code:t,severity:s})=>{this.errorEvent.emit({errorCode:t,message:e,severity:s})}}):this.updateDisputeResponse({payload:e,onSuccess:e=>{this.disputeResponse=Object.assign({},e.data),this.stepCompleteEvent.emit({response:e,formStep:t})},onError:({error:e,code:t,severity:s})=>{this.errorEvent.emit({errorCode:t,message:e,severity:s})}});this.stepCompleteEvent.emit({response:null,formStep:t})},this.initializeMakePresignedURLs=async()=>{const e=this.documentList.map((e=>this.getPresignedFileUrl(e)));return await Promise.all(e)},this.initializeFileUploads=async()=>{const e=this.documentList.map((e=>this.uploadDocument(e)));return Promise.all(e)},this.getPresignedFileUrl=async e=>this.createDisputeEvidence({payload:{file_name:e.file_name,file_type:e.file_type,dispute_evidence_type:e.dispute_evidence_type},onSuccess:t=>{e.presignedUrl=t.data.presigned_url},onError:({error:t,code:s,severity:i})=>{const a={[e.dispute_evidence_type]:t};this.documentErrors=Object.assign(Object.assign({},this.documentErrors),a),this.errorEvent.emit({errorCode:s,message:t,severity:i})}}),this.uploadDocument=async e=>{const t=await e.getFileString();if(!e.presignedUrl)throw new Error("Presigned URL is not set");return await fetch(e.presignedUrl,{method:"PUT",body:t})},this.handleSubmit=async(e,t,s)=>{if(this.isLoading=!0,t.length){if(this.documentErrors={},this.documentList=t,await this.initializeMakePresignedURLs(),Object.keys(this.documentErrors).length)throw this.isLoading=!1,new Error("Could not presign all documents");await this.initializeFileUploads()}await this.saveData(e,s),this.isLoading=!1},this.onCancel=()=>{this.clickEvent.emit({name:u.cancelDispute})},this.onBack=async()=>{await this.currentStepComponentRef.validateAndSubmit((async(e,t,s)=>{this.clickEvent.emit({name:u.previousStep}),await this.handleSubmit(e,t,s),this.currentStep--}))},this.onNext=async()=>{await this.currentStepComponentRef.validateAndSubmit((async(e,t,s)=>{this.clickEvent.emit({name:u.nextStep}),await this.handleSubmit(e,t,s),this.currentStep++}))},this.onSubmit=async()=>{await this.currentStepComponentRef.validateAndSubmit((async(e,t,s)=>{this.clickEvent.emit({name:u.submit});const i=Object.assign(Object.assign({},e),{forfeit:!1});await this.handleSubmit(i,t,s)}))}}get currentStepComponent(){return this.componentStepMapping[this.currentStep]()}get isLastStep(){return this.currentStep===this.componentStepMapping.length-1}get isFirstStep(){return 0===this.currentStep}render(){return s("div",{key:"20d075178a9d88cd73be32e52f8df6d3d360f8d7",class:"row gy-3"},s("div",{key:"6c1bc735f1a15709c596b5bea7cc3ce50e9a73f5",class:"col-12"},s("h1",{key:"27a0804924937ee7a8d01265bd0da2d9dd31d301",class:"h4",part:r},"Counter dispute")),s("div",{key:"b60822e91425c5c4af003169f47fd725daf9fb0f",class:"col-12"},this.currentStepComponent),s("div",{key:"d1be3f6be53de37836275067070cf4b5a2eb3e4a",class:"col-12"},s("div",{key:"48c8725d8de8b658e59ccfa851a6af6638e19ca5",class:"d-flex gap-2 mt-4 justify-content-end"},this.isFirstStep?s(d,{variant:"secondary",onClick:()=>this.onCancel(),disabled:this.isLoading,isLoading:this.isLoading},"Cancel"):s(d,{variant:"secondary",onClick:()=>this.onBack(),disabled:this.isLoading,isLoading:this.isLoading},"Back"),this.isLastStep?s(d,{variant:"primary",onClick:()=>this.onSubmit(),disabled:this.isLoading,isLoading:this.isLoading},"Submit Counter Dispute"):s(d,{variant:"primary",onClick:()=>this.onNext(),disabled:this.isLoading,isLoading:this.isLoading},"Next"))))}};export{v as justifi_dispute_notification,k as justifi_dispute_response,j as justifi_dispute_response_core}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-Bn7inNWG.js";import{C as e,a as r}from"./p-Cjcsf8ku.js";import{c as o,J as p}from"./p-
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-Bn7inNWG.js";import{C as e,a as r}from"./p-Cjcsf8ku.js";import{c as o,J as p}from"./p-CliUh8zt.js";import{D as a}from"./p-BH0Xfn-F.js";import{g as n,a as h}from"./p-D2muobcE.js";import{D as c}from"./p-ED_TzwCp.js";import"./p-fZXUzneK.js";import"./p-7s1gsXM5.js";import"./p-DhGNCW2f.js";import"./p-CpaS1Lex.js";import"./p-BHf9IqGw.js";import"./p-HXpYMWUU.js";import"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const m=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){o(),this.analytics=new p(this),this.initializeGetDispute()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetDispute()}initializeGetDispute(){this.disputeId&&this.authToken?this.getDispute=(({id:t,authToken:s,service:i})=>async({onSuccess:r,onError:o})=>{var p;try{const c=await i.fetchDispute(t,s);if(c.error)return o({error:h(c.error),code:n(null===(p=c.error)||void 0===p?void 0:p.code),severity:e.ERROR});{const t=Object.assign({},c.page_info);r({dispute:new a(c.data),pagingInfo:t})}}catch(t){const s=n(null==t?void 0:t.code);return o({error:t.message||t,code:s,severity:e.ERROR})}})({id:this.disputeId,authToken:this.authToken,service:new c}):(this.errorMessage="Dispute ID and Auth Token are required",this.errorEvent.emit({message:this.errorMessage,errorCode:r.MISSING_PROPS,severity:e.ERROR}))}render(){return i("justifi-dispute-management-core",{key:"4087eb105a046a3cc194d9f25c80fa11298fa0a2",getDispute:this.getDispute,disputeId:this.disputeId,authToken:this.authToken,"onError-event":this.handleErrorEvent})}static get watchers(){return{disputeId:["propChanged"],authToken:["propChanged"]}}};export{m as justifi_dispute_management}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r,c as s,h as t}from"./p-Bn7inNWG.js";import{S as i}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{c as e,J as o}from"./p-CliUh8zt.js";import{d as n}from"./p-DRXvcLy9.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{C as a,a as p}from"./p-Cjcsf8ku.js";import{i as m}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as c,a as d}from"./p-D2muobcE.js";import{A as h}from"./p-7s1gsXM5.js";import"./p-fZXUzneK.js";import"./p-RvUQ__Pq.js";import"./p-BHf9IqGw.js";import"./p-DDUmOl3v.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const l=h();class f{async fetchTerminalOrders(r,s,t){return l.get({endpoint:"terminals/orders",params:t,headers:{account:r},authToken:s})}}const u=class{constructor(t){r(this,t),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=n,this.handleErrorEvent=r=>{this.errorMessage=r.detail.message,this.errorEvent.emit(r.detail)}}componentWillLoad(){e(),this.analytics=new o(this),this.initializeGetData()}disconnectedCallback(){var r;null===(r=this.analytics)||void 0===r||r.cleanup()}initializeGetData(){this.accountId&&this.authToken?this.getTerminalOrders=(({id:r,authToken:s,service:t})=>async({params:i,onSuccess:e,onError:o,final:n})=>{var p,h;try{const n=await t.fetchTerminalOrders(r,s,i);if(n.error)return o({error:d(n.error),code:c(null===(h=n.error)||void 0===h?void 0:h.code),severity:a.ERROR});{const r=Object.assign({},n.page_info);e({terminalOrders:(null===(p=n.data)||void 0===p?void 0:p.map((r=>new m(r))))||[],pagingInfo:r})}}catch(r){const s=c(null==r?void 0:r.code);return o({error:r.message||r,code:s,severity:a.ERROR})}finally{return n()}})({id:this.accountId,authToken:this.authToken,service:new f}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:p.MISSING_PROPS,message:this.errorMessage,severity:a.ERROR}))}render(){return t(i,{key:"55f0bf858787e00c304972c941a477815712df9d"},t("terminal-orders-list-core",{key:"2d47e23bc2157d79254f34dfe0551fb32a9d88cc",getTerminalOrders:this.getTerminalOrders,"onError-event":this.handleErrorEvent,columns:this.columns}))}};export{u as justifi_terminal_orders_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,c as i,h as t}from"./p-Bn7inNWG.js";import{c as o,J as e}from"./p-
|
|
1
|
+
import{r as s,c as i,h as t}from"./p-Bn7inNWG.js";import{c as o,J as e}from"./p-CliUh8zt.js";import{C as r,a as n}from"./p-Cjcsf8ku.js";import{m as p,a}from"./p-5aA7gjr5.js";import{B as h}from"./p-Cb0FhuyU.js";import{A as m}from"./p-7s1gsXM5.js";import"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import"./p-fZXUzneK.js";import"./p-D2muobcE.js";import"./p-DhGNCW2f.js";import"./p-CpaS1Lex.js";import"./p-BHf9IqGw.js";import"./p-HXpYMWUU.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";const u=m();class d{async postProvisioning(s,i,t){return u.post({endpoint:"entities/provisioning",body:{business_id:i,product_category:t},authToken:s})}}const c=class{constructor(t){s(this,t),this.errorEvent=i(this,"error-event"),this.allowOptionalFields=!1,this.formTitle="Business Information"}propChanged(){this.initializeApi()}componentWillLoad(){o(),this.analytics=new e(this),this.initializeApi()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}initializeApi(){this.authToken&&this.businessId?(this.getBusiness=p({authToken:this.authToken,businessId:this.businessId,service:new h}),this.postProvisioning=a({authToken:this.authToken,businessId:this.businessId,product:"payment",service:new d})):this.errorEvent.emit({message:"auth-token and business-id are required",errorCode:n.MISSING_PROPS,severity:r.ERROR})}render(){return t("justifi-payment-provisioning-core",{key:"6d77016584f204fdc4be5fd554b4eb1639e856ab",businessId:this.businessId,authToken:this.authToken,allowOptionalFields:this.allowOptionalFields,formTitle:this.formTitle,getBusiness:this.getBusiness,postProvisioning:this.postProvisioning})}static get watchers(){return{authToken:["propChanged"],businessId:["propChanged"]}}};export{c as justifi_payment_provisioning}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
import{r as s,c as t,h as r}from"./p-Bn7inNWG.js";import{P as i}from"./p-BdKWuCys.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{C as o,a as e}from"./p-Cjcsf8ku.js";import{b as p}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as n,a}from"./p-D2muobcE.js";import{c as m,J as c}from"./p-CliUh8zt.js";import{S as h}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{d}from"./p-BjVfIXWC.js";import"./p-7s1gsXM5.js";import"./p-BHf9IqGw.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-fZXUzneK.js";import"./p-Bb-6bNcq.js";import"./p-DDUmOl3v.js";import"./p-RvUQ__Pq.js";const j=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.columns=d,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeGetPayments()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetPayments()}initializeGetPayments(){this.accountId&&this.authToken?this.getPayments=(({id:s,authToken:t,service:r})=>async({params:i,onSuccess:e,onError:m,final:c})=>{var h,d;try{const c=await r.fetchPayments(s,t,i);if(c.error)return m({error:a(c.error),code:n(null===(d=c.error)||void 0===d?void 0:d.code),severity:o.ERROR});{const s=Object.assign({},c.page_info);e({payments:(null===(h=c.data)||void 0===h?void 0:h.map((s=>new p(s))))||[],pagingInfo:s})}}catch(s){const t=n(null==s?void 0:s.code);return m({error:s.message||s,code:t,severity:o.ERROR})}finally{return c()}})({id:this.accountId,authToken:this.authToken,service:new i}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR}))}render(){return r(h,{key:"4cdd2e9a318226408d47198bf2de40a750a71d01"},r("payments-list-core",{key:"87964c5dd33fd3b716964227cd990539d5d13fc4",getPayments:this.getPayments,"onError-event":this.handleErrorEvent,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{j as justifi_payments_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-Bn7inNWG.js";import{C as o,a as r}from"./p-Cjcsf8ku.js";import{c as e,J as p}from"./p-CliUh8zt.js";import{P as a}from"./p-BF4U0yVj.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{e as n}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as c,a as h}from"./p-D2muobcE.js";import{m}from"./p-DYGIC0QH.js";import{m as u,S as j}from"./p-z-5r0gWn.js";import{S as d}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{d as l}from"./p-BsGE9UDv.js";import"./p-fZXUzneK.js";import"./p-7s1gsXM5.js";import"./p-BHf9IqGw.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-C5id7s_l.js";import"./p-DDUmOl3v.js";import"./p-RvUQ__Pq.js";const f=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.columns=l,this.handleOnError=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){e(),this.analytics=new p(this),this.initializeGetData()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeGetData()}initializeGetData(){this.initializePayoutsServices(),this.initializeGetSubAccounts()}initializePayoutsServices(){if(this.accountId&&this.authToken){const t={id:this.accountId,authToken:this.authToken,service:new a};this.getPayouts=(({id:t,authToken:s,service:i})=>async({params:r,onSuccess:e,onError:p})=>{var a,m;try{const u=await i.fetchPayouts(t,s,r);if(u.error)return p({error:h(u.error),code:c(null===(m=u.error)||void 0===m?void 0:m.code),severity:o.ERROR});{const t=Object.assign({},u.page_info);e({payouts:(null===(a=u.data)||void 0===a?void 0:a.map((t=>new n(t))))||[],pagingInfo:t})}}catch(t){const s=c(null==t?void 0:t.code);return p({error:t.message||t,code:s,severity:o.ERROR})}})(t),this.getPayoutCSV=m(t)}else this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:r.MISSING_PROPS,message:this.errorMessage,severity:o.ERROR})}initializeGetSubAccounts(){this.accountId&&this.authToken&&(this.getSubAccounts=u({accountId:this.accountId,authToken:this.authToken,service:new j}))}render(){return i(d,{key:"73ac65b309e80186e0f7799385d012e91ceb1b8b"},i("payouts-list-core",{key:"f7767376f3155521445cb2ee48b9a20c362c8137",getPayouts:this.getPayouts,getPayoutCSV:this.getPayoutCSV,getSubAccounts:this.getSubAccounts,"onError-event":this.handleOnError,columns:this.columns}))}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{f as justifi_payouts_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as s,c as e}from"./p-Bn7inNWG.js";import{c as r,a as i,F as o}from"./p-CR9D6mKt.js";import{f as n}from"./p-BHf9IqGw.js";import"./p-DhGNCW2f.js";import{C as a,a as u}from"./p-Cjcsf8ku.js";import{R as l,k as m}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{B as h}from"./p-DD0Mvpeu.js";import{S as p}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{P as c}from"./p-BdKWuCys.js";import{m as d}from"./p-JyHlIFWl.js";import{c as f,J as v}from"./p-
|
|
1
|
+
import{h as t,r as s,c as e}from"./p-Bn7inNWG.js";import{c as r,a as i,F as o}from"./p-CR9D6mKt.js";import{f as n}from"./p-BHf9IqGw.js";import"./p-DhGNCW2f.js";import{C as a,a as u}from"./p-Cjcsf8ku.js";import{R as l,k as m}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{B as h}from"./p-DD0Mvpeu.js";import{S as p}from"./p-DxqCFDtF.js";import"./p-CZfYo5-1.js";import{P as c}from"./p-BdKWuCys.js";import{m as d}from"./p-JyHlIFWl.js";import{c as f,J as v}from"./p-CliUh8zt.js";import{g as j,a as y}from"./p-D2muobcE.js";import{A as b}from"./p-7s1gsXM5.js";import{S as w}from"./p-CaAVuW6B.js";import"./p-BFTU3MAI.js";import"./p-HXpYMWUU.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-RvUQ__Pq.js";import"./p-fZXUzneK.js";const C=t=>{const s=+t;return i().required("Amount is required").test("max-amount",`Refund amount cannot be more than payment amount: ${n(s)}`,(function(t){return+t<=+s})).test("min-amount","Refund amount must be greater than 0",(function(t){return+t>0}))},g=t=>{if(t)return r({amount:C(t),description:i().optional(),reason:i().optional().oneOf([l.customerRequest,l.duplicate,l.fraudulent],"Select a reason")})},x=[{label:"Select a reason",value:""},{label:"Customer requested a refund",value:"customer_request"},{label:"Customer was double-charged",value:"duplicate"},{label:"Payment was reported as fraud",value:"fraudulent"}],A=b();class B{async postRefund(t,s,e,r){return A.post({endpoint:`payments/${t}/refunds`,headers:{"Sub-Account":s},body:r,authToken:e})}}const D=()=>t("div",{class:"row gap-3"},t("div",{class:"col-12"},t(w,{width:"100%",height:"40px"}))),R=()=>t(p,null,t("div",{class:"row gap-5"},t(D,null),t(D,null),t(D,null))),S=class{constructor(t){s(this,t),this.errorEvent=e(this,"error-event"),this.submitEvent=e(this,"submit-event"),this.refundPayload={},this.displayAmount="",this.errors={},this.paymentLoading=!0,this.refundLoading=!1,this.hideSubmitButton=!1,this.inputHandler=(t,s)=>{this.formController.setValues(Object.assign(Object.assign({},this.formController.values.getValue()),{[t]:s}))}}componentWillLoad(){f(),this.analytics=new v(this),this.initializeApi(),this.formController=new o(g())}handleError(t,s,e){this.errorEvent.emit({errorCode:t,message:s,severity:e})}checkAmount(t){return t>0}handleInvalidAmount(){this.submitDisabled=!0,this.handleError(u.INVALID_REFUND_AMOUNT,"Refund amount must be greater than 0",a.ERROR)}initializeFormController(){const t=this.refundPayload.amount,s=t?t.toString():"0";this.formController=new o(g(s)),this.formController.setInitialValues({amount:s}),this.formController.values.subscribe((t=>{this.refundPayload=Object.assign({},t)})),this.formController.errors.subscribe((t=>{this.errors=Object.assign({},t)}))}initializeApi(){this.paymentId&&this.authToken?d({id:this.paymentId,authToken:this.authToken,service:new c})({onSuccess:({payment:t})=>{this.refundPayload=new m({amount:t.amount_refundable})},onError:({error:t,code:s,severity:e})=>{this.handleError(s,t,e)},final:()=>{this.checkAmount(this.refundPayload.amount)?this.initializeFormController():this.handleInvalidAmount(),this.paymentLoading=!1}}):this.handleError(u.MISSING_PROPS,"Payment ID and Auth Token are required",a.ERROR)}async refundPayment(t){if(t&&t.preventDefault(),!await this.formController.validate())return;const s=(({authToken:t,accountId:s,paymentId:e,service:r})=>async({refundBody:i,onSuccess:o,onError:n,final:u})=>{var l;try{const u=await r.postRefund(e,s,t,i);if(u.error)return n({error:y(u.error),code:j(null===(l=u.error)||void 0===l?void 0:l.code),severity:a.ERROR});o(u)}catch(t){const s=j(null==t?void 0:t.code);return n({error:t.message||t,code:s,severity:a.ERROR})}finally{return u()}})({authToken:this.authToken,accountId:this.accountId,paymentId:this.paymentId,service:new B}),e=this.formController.values.getValue();return this.refundLoading=!0,new Promise((t=>{let r;s({refundBody:e,onSuccess:t=>{r=t},onError:({error:t,code:s,severity:e})=>{r=t,this.handleError(t,s,e)},final:()=>{this.submitEvent.emit({response:r}),this.submitDisabled=!0,this.refundLoading=!1,t(r.data)}})}))}render(){if(this.paymentLoading)return t(R,null);const s=this.formController.getInitialValues(),e=this.refundPayload.amount;return t(p,null,t("form",null,t("fieldset",null,t("div",{class:"row gy-3"},t("div",{class:"col-12"},t("form-control-monetary",{name:"amount",label:"Refund Amount",defaultValue:s.amount,inputHandler:this.inputHandler,errorText:this.errors.amount})),t("div",{class:"col-12"},t("form-control-select",{name:"reason",label:"Reason for refund (optional)",defaultValue:s.reason,inputHandler:this.inputHandler,options:x,errorText:this.errors.reason})),t("div",{class:"col-12"},t("form-control-textarea",{name:"description",label:"Note (optional)",defaultValue:s.description,inputHandler:this.inputHandler,maxLength:250,errorText:this.errors.description})),t("div",{class:"form-group d-flex flex-row-reverse"},t(h,{variant:"primary",type:"submit",onClick:this.refundPayment.bind(this),isLoading:this.paymentLoading||this.refundLoading,hidden:this.hideSubmitButton,disabled:this.submitDisabled},`Refund ${n(+e)}`))))))}};export{S as justifi_refund_payment}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{h as t,r as e,c as a}from"./p-Bn7inNWG.js";import{c as i}from"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{C as s,a as o}from"./p-Cjcsf8ku.js";import{h as r}from"./p-Da3idOSV.js";import{p as c}from"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{c as n,J as d}from"./p-
|
|
1
|
+
import{h as t,r as e,c as a}from"./p-Bn7inNWG.js";import{c as i}from"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{C as s,a as o}from"./p-Cjcsf8ku.js";import{h as r}from"./p-Da3idOSV.js";import{p as c}from"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{c as n,J as d}from"./p-CliUh8zt.js";import{g as p,a as h}from"./p-D2muobcE.js";import{P as l}from"./p-BF4U0yVj.js";import{T as f,l as u,a as m,b,c as y,d as _,e as w,f as j,g as v,h as T,i as g,j as k,k as C}from"./p-CB0mCq1M.js";import{S as D}from"./p-DxqCFDtF.js";import{T as P}from"./p-CZfYo5-1.js";import{a as S}from"./p-BHf9IqGw.js";import{N as I,O as q}from"./p-RvUQ__Pq.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-fZXUzneK.js";import"./p-7s1gsXM5.js";import"./p-BbZwa5UI.js";const O={id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of each transaction"},"ID"),account_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the account associated with each transaction"},"Account ID"),payout_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the payout associated with each transaction"},"Payout ID"),financial_transaction_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the financial transaction associated with the payment balance transaction"},"Financial Transaction ID"),amount:()=>t("th",{part:I,scope:"col",title:"The dollar amount of each transaction"},"Amount"),fee:()=>t("th",{part:I,scope:"col",title:"The fee associated with each transaction"},"Fee"),net:()=>t("th",{part:I,scope:"col",title:"The net amount of each transaction"},"Net"),currency:()=>t("th",{part:I,scope:"col",title:"The currency of each transaction"},"Currency"),description:()=>t("th",{part:I,scope:"col",title:"The description of each transaction"},"Description"),source_id:()=>t("th",{part:I,scope:"col",title:"The unique identifier of the source object associated with the payment balance transaction"},"Source ID"),txn_type:()=>t("th",{part:I,scope:"col",title:"The type of each transaction"},"Type"),created_at:()=>t("th",{part:I,scope:"col",title:"The date and time each transaction was made"},"Processed On"),available_on:()=>t("th",{part:I,scope:"col",title:"The date and time each transaction will be available"},"Available On"),updated_at:()=>t("th",{part:I,scope:"col",title:"The date and time each transaction was last updated"},"Updated On")},B={fee:"Fee",payment:"Payment",payout:"Payout",seller_payment_refund:"Seller Payment Refund",dispute_amount_collected:"Dispute Amount Collected",dispute_fee_collected:"Dispute Fee Collected",seller_payment:"Seller Payment",transfer:"Transfer",partner_platform_proceeds_credit:"Partner Platform Proceeds Credit"},F={id:e=>t("td",{part:q(e.id)},e.id),account_id:e=>t("td",{part:q(e.account_id)},e.account_id),payout_id:e=>t("td",{part:q(e.payout_id)},e.payout_id),financial_transaction_id:e=>t("td",{part:q(e.financial_transaction_id)},e.financial_transaction_id),amount:e=>t("td",{part:q(e.amount)},e.formattedPaymentAmount(e.amount)),fee:e=>t("td",{part:q(e.fee)},e.formattedPaymentAmount(e.fee)),net:e=>t("td",{part:q(e.net)},e.formattedPaymentAmount(e.net)),currency:e=>t("td",{part:q(e.currency)},e.currency),description:e=>t("td",{part:q(e.description)},e.description),source_id:e=>t("td",{part:q(e.source_id)},e.source_id),txn_type:e=>t("td",{part:q(e.txn_type)},B[e.txn_type]),created_at:e=>t("td",{part:q(e.created_at)},t("div",{class:"fw-bold"},S(e.created_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},S(e.created_at,{showTime:!0}))),available_on:e=>t("td",{part:q(e.available_on)},t("div",{class:"fw-bold"},S(e.available_on,{showDisplayDate:!0})),t("div",{class:"fw-bold"},S(e.available_on,{showTime:!0}))),updated_at:e=>t("td",{part:q(e.updated_at)},t("div",{class:"fw-bold"},S(e.updated_at,{showDisplayDate:!0})),t("div",{class:"fw-bold"},S(e.updated_at,{showTime:!0})))},U=class{constructor(t){e(this,t),this.clickEvent=a(this,"click-event"),this.errorEvent=a(this,"error-event"),this.balanceTransactions=[],this.isLoading=!0,this.errorMessage=null,this.paging=c,this.pagingParams={},this.columns="created_at,txn_type,description,amount,fee,net",this.handleClickPrevious=t=>{this.pagingParams={before_cursor:t},this.clickEvent.emit({name:P.previous})},this.handleClickNext=t=>{this.pagingParams={after_cursor:t},this.clickEvent.emit({name:P.next})},this.rowClickHandler=t=>{const e=t.target.closest("tr").dataset.rowEntityId;if(!e)return;const a=this.balanceTransactions.find((t=>t.id===e));this.clickEvent.emit({name:P.row,data:a})}}componentWillLoad(){this.transactionsTable=new f(this.balanceTransactions,this.columns,O,F),n(),this.analytics=new d(this),this.initializeApi()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeApi()}handleError(t,e,a){this.isLoading=!1,this.errorEvent.emit({errorCode:t,message:e,severity:a})}initializeApi(){this.payoutId&&this.authToken?(({accountId:t,authToken:e,service:a})=>async({params:i,onSuccess:o,onError:c,final:n})=>{var d;try{const n=await a.fetchPayoutTransactions(t,e,i);n.error?c({error:h(n.error),code:p(null===(d=n.error)||void 0===d?void 0:d.code),severity:s.ERROR}):o({balanceTransactions:n.data.map((t=>new r(t))),pagingInfo:Object.assign({},n.page_info)})}catch(t){const e=p(null==t?void 0:t.code);c({error:h(t),code:e,severity:s.ERROR})}finally{n()}})({accountId:i.accountId,authToken:this.authToken,service:new l})({params:this.requestParams,onSuccess:({balanceTransactions:t,pagingInfo:e})=>{this.balanceTransactions=t,this.paging=e,this.transactionsTable.collectionData=this.balanceTransactions},onError:({error:t,code:e,severity:a})=>{this.errorMessage=t.message,this.handleError(t,e,a)},final:()=>{this.isLoading=!1}}):(this.errorMessage="payout-id and auth-token props are required",this.handleError(o.MISSING_PROPS,this.errorMessage,s.ERROR))}get entityId(){return this.balanceTransactions.map((t=>t.id))}get showEmptyState(){return!this.isLoading&&!this.errorMessage&&this.transactionsTable.rowData.length<1}get showErrorState(){return!this.isLoading&&!!this.errorMessage}get showRowData(){return!this.showEmptyState&&!this.showErrorState&&!this.isLoading}get requestParams(){return Object.assign({payout_id:this.payoutId,limit:"15"},this.pagingParams)}render(){return t(D,{key:"f795f89fe39f8cded7f0d9c671df8e3e86de6f03"},t(u,{key:"5bb5f805a78965068f675012a1a491e5dd3d4416"},t(m,{key:"c75e72fb5bde6b3f8f127be4d76ef1fa66ce6781"},t(b,{key:"3dfb03ed0205f6fff21953e0a4c85e8b151680a1"},t(y,{key:"169156e61bdf1ce6e10b89c660526a7ec9efb860"},this.transactionsTable.columnData.map((t=>t)))),t(_,{key:"1e59e340e98ace8291acfbe26836e5b2b7b7dd29"},t(w,{key:"3c1a420d293d24ac9434f034c7e6de7a83698b63",columnSpan:this.transactionsTable.columnKeys.length,isLoading:this.isLoading}),t(j,{key:"2038ebb6ff5480d74b0bb6a6ecf31a9531f606ef",isEmpty:this.showEmptyState,columnSpan:this.transactionsTable.columnKeys.length}),t(v,{key:"48582c83e384b4e5ba81c4d0055dc9e727a81cdd",columnSpan:this.transactionsTable.columnKeys.length,errorMessage:this.errorMessage}),this.showRowData&&this.transactionsTable.rowData.map(((e,a)=>t(T,{"data-test-id":"table-row","data-row-entity-id":this.entityId[a],onClick:this.rowClickHandler},e)))),this.paging&&t(g,{key:"0bb2c1f4085278db7b114c8b9c5a11702a1840d1"},t(k,{key:"2cc9fe5d66b433b392da1e0a1ae265db6404002d"},t(C,{key:"cb21e30d68c92758efa03fbd16509ff28ab5e316",colSpan:this.transactionsTable.columnData.length},t("pagination-menu",{key:"e5ac8aa63ddb08d7f70976cfceccbadab3b8efa9",paging:Object.assign(Object.assign({},this.paging),{handleClickPrevious:this.handleClickPrevious,handleClickNext:this.handleClickNext})})))))))}static get watchers(){return{pagingParams:["propChanged"],payoutId:["propChanged"],authToken:["propChanged"]}}};export{U as justifi_payout_transactions_list}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as t,c as s,h as i}from"./p-Bn7inNWG.js";import{P as o}from"./p-BF4U0yVj.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{e as p}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-DNo0OPOP.js";import{c as m,J as c}from"./p-
|
|
1
|
+
import{r as t,c as s,h as i}from"./p-Bn7inNWG.js";import{P as o}from"./p-BF4U0yVj.js";import"./p-DhGNCW2f.js";import"./p-HXpYMWUU.js";import{C as r,a as e}from"./p-Cjcsf8ku.js";import{e as p}from"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as h}from"./p-D2muobcE.js";import{E as n}from"./p-DNo0OPOP.js";import{c as m,J as c}from"./p-CliUh8zt.js";import{m as d}from"./p-DYGIC0QH.js";import"./p-7s1gsXM5.js";import"./p-BHf9IqGw.js";import"./p-CpaS1Lex.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-RvUQ__Pq.js";import"./p-fZXUzneK.js";const u=class{constructor(i){t(this,i),this.errorEvent=s(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=t=>{this.errorMessage=t.detail.message,this.errorEvent.emit(t.detail)}}componentWillLoad(){m(),this.analytics=new c(this),this.initializeServices()}disconnectedCallback(){var t;null===(t=this.analytics)||void 0===t||t.cleanup()}propChanged(){this.initializeServices()}initializeServices(){this.payoutId&&this.authToken?(this.getPayout=(({id:t,authToken:s,service:i})=>async({onSuccess:o,onError:e})=>{var n;try{const m=await i.fetchPayout(t,s);m.error?e({error:h(m.error),code:a(null===(n=m.error)||void 0===n?void 0:n.code),severity:r.ERROR}):o(new p(m.data))}catch(t){e({error:h(t),code:a(null==t?void 0:t.code),severity:r.ERROR})}})({id:this.payoutId,authToken:this.authToken,service:new o}),this.getPayoutCSV=d({authToken:this.authToken,service:new o})):(this.errorMessage="Failed to load payout details. payoutId or authToken is not provided.",this.errorEvent.emit({message:this.errorMessage,errorCode:e.MISSING_PROPS,severity:r.ERROR}))}render(){return this.errorMessage?n(this.errorMessage):i("payout-details-core",{getPayout:this.getPayout,getPayoutCSV:this.getPayoutCSV,"onError-event":this.handleErrorEvent})}static get watchers(){return{payoutId:["propChanged"],authToken:["propChanged"]}}};export{u as justifi_payout_details}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
import{r as s,c as t,h as r}from"./p-Bn7inNWG.js";import{A as o}from"./p-7s1gsXM5.js";import{C as i,a as e}from"./p-Cjcsf8ku.js";import"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as
|
|
1
|
+
import{r as s,c as t,h as r}from"./p-Bn7inNWG.js";import{A as o}from"./p-7s1gsXM5.js";import{C as i,a as e}from"./p-Cjcsf8ku.js";import"./p-Da3idOSV.js";import"./p-CLHwhyvu.js";import"./p-BlJnA265.js";import"./p-BH0Xfn-F.js";import{g as a,a as n}from"./p-D2muobcE.js";import{E as p}from"./p-DNo0OPOP.js";import{c as h,J as c}from"./p-CliUh8zt.js";import"./p-DhGNCW2f.js";import"./p-CpaS1Lex.js";import"./p-BHf9IqGw.js";import"./p-HXpYMWUU.js";import"./p-Dt-vy9Le.js";import"./p-BX8GieXu.js";import"./p-RvUQ__Pq.js";import"./p-fZXUzneK.js";const m=o();class u{async fetchGrossVolumeChartData(s,t){return m.get({endpoint:`account/${s}/reports/gross_volume`,authToken:t})}}const d=class{constructor(r){s(this,r),this.errorEvent=t(this,"error-event"),this.errorMessage=null,this.handleErrorEvent=s=>{this.errorMessage=s.detail.message,this.errorEvent.emit(s.detail)}}componentWillLoad(){h(),this.analytics=new c(this),this.initializeGetGrossPayment()}disconnectedCallback(){var s;null===(s=this.analytics)||void 0===s||s.cleanup()}propChanged(){this.initializeGetGrossPayment()}initializeGetGrossPayment(){this.accountId&&this.authToken?this.getGrossPayment=(({id:s,authToken:t,service:r})=>async({onSuccess:o,onError:e})=>{var p;try{const h=await r.fetchGrossVolumeChartData(s,t);h.error?e({error:n(h.error),code:a(null===(p=h.error)||void 0===p?void 0:p.code),severity:i.ERROR}):o(h.data)}catch(s){const t=a(null==s?void 0:s.code);e({error:n(s),code:t,severity:i.ERROR})}})({id:this.accountId,authToken:this.authToken,service:new u}):(this.errorMessage="Account ID and Auth Token are required",this.errorEvent.emit({errorCode:e.MISSING_PROPS,message:this.errorMessage,severity:i.ERROR}))}render(){return this.errorMessage?p(this.errorMessage):r("gross-payment-chart-core",{getGrossPayment:this.getGrossPayment,"onError-event":this.handleErrorEvent})}static get watchers(){return{accountId:["propChanged"],authToken:["propChanged"]}}};export{d as justifi_gross_payment_chart}
|