@infrab4a/connect 4.1.2-beta.1 → 4.1.2-beta.10
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/index.cjs.js +364 -47
- package/index.esm.js +354 -48
- package/package.json +2 -1
- package/src/domain/shopping/enums/index.d.ts +2 -0
- package/src/domain/shopping/enums/payment-methods.enum.d.ts +5 -0
- package/src/domain/shopping/enums/payment-providers.enum.d.ts +4 -0
- package/src/domain/shopping/factories/adyen-payment-method.factory.d.ts +8 -0
- package/src/domain/shopping/factories/base-payment-method.factory.d.ts +7 -0
- package/src/domain/shopping/factories/glampoints-payment-method.factory.d.ts +8 -0
- package/src/domain/shopping/factories/index.d.ts +4 -0
- package/src/domain/shopping/factories/pagarme-payment-method.factory.d.ts +10 -0
- package/src/domain/shopping/factories/payment-provider.factory.d.ts +14 -0
- package/src/domain/shopping/index.d.ts +2 -0
- package/src/domain/shopping/interfaces/index.d.ts +6 -0
- package/src/domain/shopping/interfaces/payment-method-factory.interface.d.ts +14 -0
- package/src/domain/shopping/interfaces/payment-provider-bank-slip.interface.d.ts +5 -0
- package/src/domain/shopping/interfaces/payment-provider-card.interface.d.ts +6 -0
- package/src/domain/shopping/interfaces/payment-provider-glampoints.interface.d.ts +5 -0
- package/src/domain/shopping/interfaces/payment-provider-pix.interface.d.ts +5 -0
- package/src/domain/shopping/interfaces/payment-provider.interface.d.ts +6 -0
- package/src/domain/shopping/models/index.d.ts +2 -0
- package/src/domain/shopping/models/order.d.ts +2 -2
- package/src/domain/shopping/models/payment.d.ts +7 -61
- package/src/domain/shopping/models/payment.transaction.d.ts +66 -0
- package/src/domain/shopping/models/types/index.d.ts +4 -4
- package/src/domain/shopping/services/adyen-card-payment.service.d.ts +28 -0
- package/src/domain/shopping/services/antifraude.service.d.ts +19 -0
- package/src/domain/shopping/services/glampoints-payment.service.d.ts +4 -0
- package/src/domain/shopping/services/index.d.ts +5 -0
- package/src/domain/shopping/services/pagarme-bank-slip-payment.service.d.ts +8 -0
- package/src/domain/shopping/services/pagarme-card-payment.service.d.ts +10 -0
- package/src/domain/shopping/services/pagarme-pix-payment.service.d.ts +8 -0
- package/src/domain/shopping/types/adyen-credentials.type.d.ts +6 -0
- package/src/domain/shopping/types/index.d.ts +5 -0
- package/src/domain/shopping/types/pagarme-credentials.type.d.ts +5 -0
- package/src/domain/shopping/types/payment-card-info.type.d.ts +4 -0
- package/src/domain/shopping/types/payment-method.type.d.ts +2 -0
- package/src/domain/shopping/types/payment-provider.type.d.ts +2 -0
package/index.cjs.js
CHANGED
|
@@ -10,6 +10,7 @@ var lodash = require('lodash');
|
|
|
10
10
|
var debug = require('debug');
|
|
11
11
|
var tsCustomError = require('ts-custom-error');
|
|
12
12
|
var axios = require('axios');
|
|
13
|
+
var moment = require('moment');
|
|
13
14
|
var firestore = require('firebase/firestore');
|
|
14
15
|
var auth = require('firebase/auth');
|
|
15
16
|
var gqlQueryBuilder = require('gql-query-builder');
|
|
@@ -36,6 +37,34 @@ function _interopNamespace(e) {
|
|
|
36
37
|
|
|
37
38
|
var tslib_1__namespace = /*#__PURE__*/_interopNamespace(tslib_1);
|
|
38
39
|
var axios__default = /*#__PURE__*/_interopDefaultLegacy(axios);
|
|
40
|
+
var moment__namespace = /*#__PURE__*/_interopNamespace(moment);
|
|
41
|
+
|
|
42
|
+
class BasePaymentMethodFactory {
|
|
43
|
+
constructor(methods) {
|
|
44
|
+
this.methods = methods;
|
|
45
|
+
}
|
|
46
|
+
build(method) {
|
|
47
|
+
return this.methods[method];
|
|
48
|
+
}
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
class AdyenPaymentMethodFactory extends BasePaymentMethodFactory {
|
|
52
|
+
}
|
|
53
|
+
|
|
54
|
+
class GlampointsPaymentMethodFactory extends BasePaymentMethodFactory {
|
|
55
|
+
}
|
|
56
|
+
|
|
57
|
+
class PagarmePaymentMethodFactory extends BasePaymentMethodFactory {
|
|
58
|
+
}
|
|
59
|
+
|
|
60
|
+
class PaymentProviderFactory {
|
|
61
|
+
constructor(paymentProviders) {
|
|
62
|
+
this.paymentProviders = paymentProviders;
|
|
63
|
+
}
|
|
64
|
+
build(provider) {
|
|
65
|
+
return this.paymentProviders[provider];
|
|
66
|
+
}
|
|
67
|
+
}
|
|
39
68
|
|
|
40
69
|
class BaseModel {
|
|
41
70
|
get identifier() {
|
|
@@ -498,171 +527,178 @@ class Edition extends BaseModel {
|
|
|
498
527
|
}
|
|
499
528
|
}
|
|
500
529
|
|
|
501
|
-
class
|
|
502
|
-
static get identifiersFields() {
|
|
503
|
-
return ['id'];
|
|
504
|
-
}
|
|
530
|
+
class PaymentTransaction extends BaseModel {
|
|
505
531
|
}
|
|
506
532
|
tslib_1.__decorate([
|
|
507
533
|
classTransformer.Expose({ name: 'refuse_reason' }),
|
|
508
534
|
tslib_1.__metadata("design:type", String)
|
|
509
|
-
],
|
|
535
|
+
], PaymentTransaction.prototype, "refuseReason", void 0);
|
|
510
536
|
tslib_1.__decorate([
|
|
511
537
|
classTransformer.Expose({ name: 'status_reason' }),
|
|
512
538
|
tslib_1.__metadata("design:type", String)
|
|
513
|
-
],
|
|
539
|
+
], PaymentTransaction.prototype, "statusReason", void 0);
|
|
514
540
|
tslib_1.__decorate([
|
|
515
541
|
classTransformer.Expose({ name: 'acquirer_response_code' }),
|
|
516
542
|
tslib_1.__metadata("design:type", String)
|
|
517
|
-
],
|
|
543
|
+
], PaymentTransaction.prototype, "acquirerResponseCode", void 0);
|
|
518
544
|
tslib_1.__decorate([
|
|
519
545
|
classTransformer.Expose({ name: 'acquirer_name' }),
|
|
520
546
|
tslib_1.__metadata("design:type", String)
|
|
521
|
-
],
|
|
547
|
+
], PaymentTransaction.prototype, "acquirerName", void 0);
|
|
522
548
|
tslib_1.__decorate([
|
|
523
549
|
classTransformer.Expose({ name: 'acquirer_id' }),
|
|
524
550
|
tslib_1.__metadata("design:type", String)
|
|
525
|
-
],
|
|
551
|
+
], PaymentTransaction.prototype, "acquirerId", void 0);
|
|
526
552
|
tslib_1.__decorate([
|
|
527
553
|
classTransformer.Expose({ name: 'authorization_code' }),
|
|
528
554
|
tslib_1.__metadata("design:type", String)
|
|
529
|
-
],
|
|
555
|
+
], PaymentTransaction.prototype, "authorizationCode", void 0);
|
|
530
556
|
tslib_1.__decorate([
|
|
531
557
|
classTransformer.Expose({ name: 'soft_descriptor' }),
|
|
532
558
|
tslib_1.__metadata("design:type", String)
|
|
533
|
-
],
|
|
559
|
+
], PaymentTransaction.prototype, "softDescriptor", void 0);
|
|
534
560
|
tslib_1.__decorate([
|
|
535
561
|
classTransformer.Expose({ name: 'date_created' }),
|
|
536
562
|
tslib_1.__metadata("design:type", String)
|
|
537
|
-
],
|
|
563
|
+
], PaymentTransaction.prototype, "dateCreated", void 0);
|
|
538
564
|
tslib_1.__decorate([
|
|
539
565
|
classTransformer.Expose({ name: 'date_updated' }),
|
|
540
566
|
tslib_1.__metadata("design:type", String)
|
|
541
|
-
],
|
|
567
|
+
], PaymentTransaction.prototype, "dateUpdated", void 0);
|
|
542
568
|
tslib_1.__decorate([
|
|
543
569
|
classTransformer.Expose({ name: 'authorized_amount' }),
|
|
544
570
|
tslib_1.__metadata("design:type", Number)
|
|
545
|
-
],
|
|
571
|
+
], PaymentTransaction.prototype, "authorizedAmount", void 0);
|
|
546
572
|
tslib_1.__decorate([
|
|
547
573
|
classTransformer.Expose({ name: 'paid_amount' }),
|
|
548
574
|
tslib_1.__metadata("design:type", Number)
|
|
549
|
-
],
|
|
575
|
+
], PaymentTransaction.prototype, "paidAmount", void 0);
|
|
550
576
|
tslib_1.__decorate([
|
|
551
577
|
classTransformer.Expose({ name: 'refunded_amount' }),
|
|
552
578
|
tslib_1.__metadata("design:type", Number)
|
|
553
|
-
],
|
|
579
|
+
], PaymentTransaction.prototype, "refundedAmount", void 0);
|
|
554
580
|
tslib_1.__decorate([
|
|
555
581
|
classTransformer.Expose({ name: 'card_holder_name' }),
|
|
556
582
|
tslib_1.__metadata("design:type", String)
|
|
557
|
-
],
|
|
583
|
+
], PaymentTransaction.prototype, "cardHolderName", void 0);
|
|
558
584
|
tslib_1.__decorate([
|
|
559
585
|
classTransformer.Expose({ name: 'card_last_digits' }),
|
|
560
586
|
tslib_1.__metadata("design:type", String)
|
|
561
|
-
],
|
|
587
|
+
], PaymentTransaction.prototype, "cardLastDigits", void 0);
|
|
562
588
|
tslib_1.__decorate([
|
|
563
589
|
classTransformer.Expose({ name: 'card_first_digits' }),
|
|
564
590
|
tslib_1.__metadata("design:type", String)
|
|
565
|
-
],
|
|
591
|
+
], PaymentTransaction.prototype, "cardFirstDigits", void 0);
|
|
566
592
|
tslib_1.__decorate([
|
|
567
593
|
classTransformer.Expose({ name: 'card_brand' }),
|
|
568
594
|
tslib_1.__metadata("design:type", String)
|
|
569
|
-
],
|
|
595
|
+
], PaymentTransaction.prototype, "cardBrand", void 0);
|
|
570
596
|
tslib_1.__decorate([
|
|
571
597
|
classTransformer.Expose({ name: 'card_pin_mode' }),
|
|
572
598
|
tslib_1.__metadata("design:type", String)
|
|
573
|
-
],
|
|
599
|
+
], PaymentTransaction.prototype, "cardPinMode", void 0);
|
|
574
600
|
tslib_1.__decorate([
|
|
575
601
|
classTransformer.Expose({ name: 'card_magstripe_fallback' }),
|
|
576
602
|
tslib_1.__metadata("design:type", Boolean)
|
|
577
|
-
],
|
|
603
|
+
], PaymentTransaction.prototype, "cardMagstripeFallback", void 0);
|
|
578
604
|
tslib_1.__decorate([
|
|
579
605
|
classTransformer.Expose({ name: 'cvm_pin' }),
|
|
580
606
|
tslib_1.__metadata("design:type", Boolean)
|
|
581
|
-
],
|
|
607
|
+
], PaymentTransaction.prototype, "cvmPin", void 0);
|
|
582
608
|
tslib_1.__decorate([
|
|
583
609
|
classTransformer.Expose({ name: 'postback_url' }),
|
|
584
610
|
tslib_1.__metadata("design:type", String)
|
|
585
|
-
],
|
|
611
|
+
], PaymentTransaction.prototype, "postbackUrl", void 0);
|
|
586
612
|
tslib_1.__decorate([
|
|
587
613
|
classTransformer.Expose({ name: 'payment_method' }),
|
|
588
614
|
tslib_1.__metadata("design:type", String)
|
|
589
|
-
],
|
|
615
|
+
], PaymentTransaction.prototype, "paymentMethod", void 0);
|
|
590
616
|
tslib_1.__decorate([
|
|
591
617
|
classTransformer.Expose({ name: 'capture_method' }),
|
|
592
618
|
tslib_1.__metadata("design:type", String)
|
|
593
|
-
],
|
|
619
|
+
], PaymentTransaction.prototype, "captureMethod", void 0);
|
|
594
620
|
tslib_1.__decorate([
|
|
595
621
|
classTransformer.Expose({ name: 'antifraud_score' }),
|
|
596
622
|
tslib_1.__metadata("design:type", String)
|
|
597
|
-
],
|
|
623
|
+
], PaymentTransaction.prototype, "antifraudScore", void 0);
|
|
598
624
|
tslib_1.__decorate([
|
|
599
625
|
classTransformer.Expose({ name: 'boleto_url' }),
|
|
600
626
|
tslib_1.__metadata("design:type", String)
|
|
601
|
-
],
|
|
627
|
+
], PaymentTransaction.prototype, "boletoUrl", void 0);
|
|
602
628
|
tslib_1.__decorate([
|
|
603
629
|
classTransformer.Expose({ name: 'boleto_barcode' }),
|
|
604
630
|
tslib_1.__metadata("design:type", String)
|
|
605
|
-
],
|
|
631
|
+
], PaymentTransaction.prototype, "boletoBarcode", void 0);
|
|
606
632
|
tslib_1.__decorate([
|
|
607
633
|
classTransformer.Expose({ name: 'boleto_expiration_date' }),
|
|
608
634
|
tslib_1.__metadata("design:type", String)
|
|
609
|
-
],
|
|
635
|
+
], PaymentTransaction.prototype, "boletoExpirationDate", void 0);
|
|
610
636
|
tslib_1.__decorate([
|
|
611
637
|
classTransformer.Expose({ name: 'subscription_id' }),
|
|
612
638
|
tslib_1.__metadata("design:type", String)
|
|
613
|
-
],
|
|
639
|
+
], PaymentTransaction.prototype, "subscriptionId", void 0);
|
|
614
640
|
tslib_1.__decorate([
|
|
615
641
|
classTransformer.Expose({ name: 'split_rules' }),
|
|
616
642
|
tslib_1.__metadata("design:type", String)
|
|
617
|
-
],
|
|
643
|
+
], PaymentTransaction.prototype, "splitRules", void 0);
|
|
618
644
|
tslib_1.__decorate([
|
|
619
645
|
classTransformer.Expose({ name: 'antifraud_metadata' }),
|
|
620
646
|
tslib_1.__metadata("design:type", Object)
|
|
621
|
-
],
|
|
647
|
+
], PaymentTransaction.prototype, "antifraudMetadata", void 0);
|
|
622
648
|
tslib_1.__decorate([
|
|
623
649
|
classTransformer.Expose({ name: 'reference_key' }),
|
|
624
650
|
tslib_1.__metadata("design:type", String)
|
|
625
|
-
],
|
|
651
|
+
], PaymentTransaction.prototype, "referenceKey", void 0);
|
|
626
652
|
tslib_1.__decorate([
|
|
627
653
|
classTransformer.Expose({ name: 'local_transaction_id' }),
|
|
628
654
|
tslib_1.__metadata("design:type", String)
|
|
629
|
-
],
|
|
655
|
+
], PaymentTransaction.prototype, "localTransactionId", void 0);
|
|
630
656
|
tslib_1.__decorate([
|
|
631
657
|
classTransformer.Expose({ name: 'local_time' }),
|
|
632
658
|
tslib_1.__metadata("design:type", String)
|
|
633
|
-
],
|
|
659
|
+
], PaymentTransaction.prototype, "localTime", void 0);
|
|
634
660
|
tslib_1.__decorate([
|
|
635
661
|
classTransformer.Expose({ name: 'fraud_covered' }),
|
|
636
662
|
tslib_1.__metadata("design:type", Boolean)
|
|
637
|
-
],
|
|
663
|
+
], PaymentTransaction.prototype, "fraudCovered", void 0);
|
|
638
664
|
tslib_1.__decorate([
|
|
639
665
|
classTransformer.Expose({ name: 'fraud_reimbursed' }),
|
|
640
666
|
tslib_1.__metadata("design:type", String)
|
|
641
|
-
],
|
|
667
|
+
], PaymentTransaction.prototype, "fraudReimbursed", void 0);
|
|
642
668
|
tslib_1.__decorate([
|
|
643
669
|
classTransformer.Expose({ name: 'order_id' }),
|
|
644
670
|
tslib_1.__metadata("design:type", String)
|
|
645
|
-
],
|
|
671
|
+
], PaymentTransaction.prototype, "orderId", void 0);
|
|
646
672
|
tslib_1.__decorate([
|
|
647
673
|
classTransformer.Expose({ name: 'risk_level' }),
|
|
648
674
|
tslib_1.__metadata("design:type", String)
|
|
649
|
-
],
|
|
675
|
+
], PaymentTransaction.prototype, "riskLevel", void 0);
|
|
650
676
|
tslib_1.__decorate([
|
|
651
677
|
classTransformer.Expose({ name: 'receipt_url' }),
|
|
652
678
|
tslib_1.__metadata("design:type", String)
|
|
653
|
-
],
|
|
679
|
+
], PaymentTransaction.prototype, "receiptUrl", void 0);
|
|
654
680
|
tslib_1.__decorate([
|
|
655
681
|
classTransformer.Expose({ name: 'private_label' }),
|
|
656
682
|
tslib_1.__metadata("design:type", String)
|
|
657
|
-
],
|
|
683
|
+
], PaymentTransaction.prototype, "privateLabel", void 0);
|
|
658
684
|
tslib_1.__decorate([
|
|
659
685
|
classTransformer.Expose({ name: 'pix_qr_code' }),
|
|
660
686
|
tslib_1.__metadata("design:type", String)
|
|
661
|
-
],
|
|
687
|
+
], PaymentTransaction.prototype, "pixQrCode", void 0);
|
|
662
688
|
tslib_1.__decorate([
|
|
663
689
|
classTransformer.Expose({ name: 'pix_expiration_date' }),
|
|
664
690
|
tslib_1.__metadata("design:type", String)
|
|
665
|
-
],
|
|
691
|
+
], PaymentTransaction.prototype, "pixExpirationDate", void 0);
|
|
692
|
+
|
|
693
|
+
class Payment extends BaseModel {
|
|
694
|
+
static get identifiersFields() {
|
|
695
|
+
return ['id'];
|
|
696
|
+
}
|
|
697
|
+
}
|
|
698
|
+
tslib_1.__decorate([
|
|
699
|
+
classTransformer.Type(() => PaymentTransaction),
|
|
700
|
+
tslib_1.__metadata("design:type", PaymentTransaction)
|
|
701
|
+
], Payment.prototype, "transaction", void 0);
|
|
666
702
|
|
|
667
703
|
class SubscriptionPayment extends BaseModel {
|
|
668
704
|
static get identifiersFields() {
|
|
@@ -2228,8 +2264,8 @@ exports.OrderStatus = void 0;
|
|
|
2228
2264
|
class Order extends Checkout {
|
|
2229
2265
|
}
|
|
2230
2266
|
tslib_1.__decorate([
|
|
2231
|
-
classTransformer.Type(() =>
|
|
2232
|
-
tslib_1.__metadata("design:type",
|
|
2267
|
+
classTransformer.Type(() => PaymentTransaction),
|
|
2268
|
+
tslib_1.__metadata("design:type", PaymentTransaction)
|
|
2233
2269
|
], Order.prototype, "payment", void 0);
|
|
2234
2270
|
|
|
2235
2271
|
class OrderBlocked extends BaseModel {
|
|
@@ -2260,6 +2296,277 @@ tslib_1.__decorate([
|
|
|
2260
2296
|
tslib_1.__metadata("design:type", Coupon)
|
|
2261
2297
|
], CheckoutSubscription.prototype, "coupon", void 0);
|
|
2262
2298
|
|
|
2299
|
+
class AdyenCardService {
|
|
2300
|
+
constructor(credentials) {
|
|
2301
|
+
this.credentials = credentials;
|
|
2302
|
+
}
|
|
2303
|
+
async pay(checkout, card) {
|
|
2304
|
+
try {
|
|
2305
|
+
const result = await axios__default["default"]({
|
|
2306
|
+
method: 'POST',
|
|
2307
|
+
url: this.credentials.URL_TRANSACTION,
|
|
2308
|
+
headers: {
|
|
2309
|
+
'x-api-key': this.credentials.API_KEY,
|
|
2310
|
+
'content-type': 'application/json',
|
|
2311
|
+
},
|
|
2312
|
+
data: this.createCardPayment(checkout, card),
|
|
2313
|
+
});
|
|
2314
|
+
if (result.data.resultCode !== 'Authorised') {
|
|
2315
|
+
this.checkoutAntiFraudService.createBlockedOrderOrPayment(checkout, 'Card not authorized', 'Card', 'day', card);
|
|
2316
|
+
return Promise.reject(new Error(`Seu pagamento com cartão não foi autorizado. Para não perder seus produtos, pague com PIX ou outro cartão de crédito`));
|
|
2317
|
+
}
|
|
2318
|
+
const payment = {
|
|
2319
|
+
createdAt: new Date(),
|
|
2320
|
+
updatedAt: new Date(),
|
|
2321
|
+
userId: checkout.user.id,
|
|
2322
|
+
checkoutId: checkout.id,
|
|
2323
|
+
totalPrice: checkout.totalPrice,
|
|
2324
|
+
transaction: Object.assign(Object.assign({}, result.data), { status: 'paid' }),
|
|
2325
|
+
};
|
|
2326
|
+
return payment;
|
|
2327
|
+
}
|
|
2328
|
+
catch (error) { }
|
|
2329
|
+
}
|
|
2330
|
+
createCardPayment(checkout, card) {
|
|
2331
|
+
return {
|
|
2332
|
+
amount: {
|
|
2333
|
+
currency: 'BRL',
|
|
2334
|
+
value: ((checkout === null || checkout === void 0 ? void 0 : checkout.totalPrice) || 0) * 100,
|
|
2335
|
+
},
|
|
2336
|
+
paymentMethod: {
|
|
2337
|
+
type: 'scheme',
|
|
2338
|
+
storedPaymentMethodId: card.cardId,
|
|
2339
|
+
},
|
|
2340
|
+
reference: checkout.id,
|
|
2341
|
+
shopperInteraction: 'Ecommerce',
|
|
2342
|
+
merchantAccount: this.credentials.MERCHANT_ACCOUNT,
|
|
2343
|
+
shopperReference: checkout.user.id,
|
|
2344
|
+
recurringProcessingModel: 'CardOnFile',
|
|
2345
|
+
returnUrl: this.credentials.URL_POSTBACK,
|
|
2346
|
+
installments: {
|
|
2347
|
+
value: card.installments,
|
|
2348
|
+
},
|
|
2349
|
+
};
|
|
2350
|
+
}
|
|
2351
|
+
addCard() {
|
|
2352
|
+
throw new Error('Method not implemented.');
|
|
2353
|
+
}
|
|
2354
|
+
}
|
|
2355
|
+
|
|
2356
|
+
class GlampointsPaymentService {
|
|
2357
|
+
pay(checkout) {
|
|
2358
|
+
const payment = {
|
|
2359
|
+
createdAt: new Date(),
|
|
2360
|
+
updatedAt: new Date(),
|
|
2361
|
+
userId: checkout.user.id,
|
|
2362
|
+
checkoutId: checkout.id,
|
|
2363
|
+
totalPrice: checkout.totalPrice,
|
|
2364
|
+
transaction: {
|
|
2365
|
+
amount: 0,
|
|
2366
|
+
acquirerResponseCode: '0000',
|
|
2367
|
+
acquirerName: 'glampoints',
|
|
2368
|
+
authorizedAmount: 0,
|
|
2369
|
+
captureMethod: 'ecommerce',
|
|
2370
|
+
installments: 1,
|
|
2371
|
+
cost: 0,
|
|
2372
|
+
paidAmount: 0,
|
|
2373
|
+
paymentMethod: 'glampoints',
|
|
2374
|
+
referer: 'api_key',
|
|
2375
|
+
refundedAmount: 0,
|
|
2376
|
+
status: 'paid',
|
|
2377
|
+
statusReason: 'acquirer',
|
|
2378
|
+
},
|
|
2379
|
+
};
|
|
2380
|
+
return Promise.resolve(payment);
|
|
2381
|
+
}
|
|
2382
|
+
}
|
|
2383
|
+
|
|
2384
|
+
class PagarmeBankSlipService {
|
|
2385
|
+
constructor(credentials) {
|
|
2386
|
+
this.credentials = credentials;
|
|
2387
|
+
}
|
|
2388
|
+
async pay(checkout) {
|
|
2389
|
+
try {
|
|
2390
|
+
const result = await axios__default["default"]({
|
|
2391
|
+
method: 'POST',
|
|
2392
|
+
url: this.credentials.URL_TRANSACTION,
|
|
2393
|
+
data: this.createBoletoPayment(checkout),
|
|
2394
|
+
});
|
|
2395
|
+
if (result.data.status !== 'processing') {
|
|
2396
|
+
console.log('Erro ao gerar o boleto para o checkout: ');
|
|
2397
|
+
return Promise.reject(new Error(`Erro ao gerar o boleto para o checkout: ${checkout.id}`));
|
|
2398
|
+
}
|
|
2399
|
+
const payment = {
|
|
2400
|
+
createdAt: new Date(),
|
|
2401
|
+
updatedAt: new Date(),
|
|
2402
|
+
userId: checkout.user.id,
|
|
2403
|
+
checkoutId: checkout.id,
|
|
2404
|
+
totalPrice: checkout.totalPrice,
|
|
2405
|
+
transaction: result.data,
|
|
2406
|
+
};
|
|
2407
|
+
return payment;
|
|
2408
|
+
}
|
|
2409
|
+
catch (error) {
|
|
2410
|
+
console.log(error);
|
|
2411
|
+
}
|
|
2412
|
+
}
|
|
2413
|
+
createBoletoPayment(checkout) {
|
|
2414
|
+
return {
|
|
2415
|
+
api_key: this.credentials.API_KEY,
|
|
2416
|
+
amount: Math.floor(checkout.totalPrice * 100),
|
|
2417
|
+
boleto_rules: ['strict_expiration_date'],
|
|
2418
|
+
boleto_instructions: 'Sr. Caixa, NÃO aceitar o pagamento após o vencimento.',
|
|
2419
|
+
boleto_expiration_date: moment__namespace().add(3, 'day').format('YYYY-MM-DD'),
|
|
2420
|
+
payment_method: 'boleto',
|
|
2421
|
+
postback_url: this.credentials.URL_POSTBACK,
|
|
2422
|
+
customer: {
|
|
2423
|
+
external_id: checkout.user.id,
|
|
2424
|
+
type: 'individual',
|
|
2425
|
+
country: 'br',
|
|
2426
|
+
name: checkout.user.displayName,
|
|
2427
|
+
documents: [
|
|
2428
|
+
{
|
|
2429
|
+
type: 'cpf',
|
|
2430
|
+
number: checkout.user.cpf,
|
|
2431
|
+
},
|
|
2432
|
+
],
|
|
2433
|
+
},
|
|
2434
|
+
};
|
|
2435
|
+
}
|
|
2436
|
+
}
|
|
2437
|
+
|
|
2438
|
+
class PagarmeCardService {
|
|
2439
|
+
constructor(credentials) {
|
|
2440
|
+
this.credentials = credentials;
|
|
2441
|
+
}
|
|
2442
|
+
async pay(checkout, card) {
|
|
2443
|
+
try {
|
|
2444
|
+
const result = await axios__default["default"]({
|
|
2445
|
+
method: 'POST',
|
|
2446
|
+
url: this.credentials.URL_TRANSACTION,
|
|
2447
|
+
data: this.createCardPayment(checkout, card),
|
|
2448
|
+
});
|
|
2449
|
+
if (result.data.status !== 'paid') {
|
|
2450
|
+
this.checkoutAntiFraudService.createBlockedOrderOrPayment(checkout, 'Card not authorized', 'Card', 'day', card);
|
|
2451
|
+
return Promise.reject(new Error(`Seu pagamento com cartão não foi autorizado. Para não perder seus produtos, pague com PIX ou outro cartão de crédito`));
|
|
2452
|
+
}
|
|
2453
|
+
const payment = {
|
|
2454
|
+
createdAt: new Date(),
|
|
2455
|
+
updatedAt: new Date(),
|
|
2456
|
+
userId: checkout.user.id,
|
|
2457
|
+
checkoutId: checkout.id,
|
|
2458
|
+
totalPrice: checkout.totalPrice,
|
|
2459
|
+
transaction: result.data,
|
|
2460
|
+
};
|
|
2461
|
+
return payment;
|
|
2462
|
+
}
|
|
2463
|
+
catch (error) {
|
|
2464
|
+
console.log(error);
|
|
2465
|
+
}
|
|
2466
|
+
}
|
|
2467
|
+
addCard() {
|
|
2468
|
+
throw new Error('Method not implemented.');
|
|
2469
|
+
}
|
|
2470
|
+
createCardPayment(checkout, card) {
|
|
2471
|
+
var _a, _b, _c, _d, _e, _f;
|
|
2472
|
+
return {
|
|
2473
|
+
api_key: this.credentials.API_KEY,
|
|
2474
|
+
amount: Math.floor(checkout.totalPrice * 100),
|
|
2475
|
+
card_id: card.cardId,
|
|
2476
|
+
payment_method: 'credit_card',
|
|
2477
|
+
installments: card.installments,
|
|
2478
|
+
soft_descriptor: checkout.shop,
|
|
2479
|
+
customer: {
|
|
2480
|
+
external_id: checkout.user.id,
|
|
2481
|
+
name: checkout.user.displayName,
|
|
2482
|
+
type: 'individual',
|
|
2483
|
+
country: 'br',
|
|
2484
|
+
email: checkout.user.email,
|
|
2485
|
+
phone_numbers: checkout.user.phone ? ['+55' + checkout.user.phone] : '',
|
|
2486
|
+
documents: [
|
|
2487
|
+
{
|
|
2488
|
+
type: 'cpf',
|
|
2489
|
+
number: checkout.user.cpf,
|
|
2490
|
+
},
|
|
2491
|
+
],
|
|
2492
|
+
},
|
|
2493
|
+
billing: {
|
|
2494
|
+
name: checkout.user.displayName,
|
|
2495
|
+
address: {
|
|
2496
|
+
country: 'br',
|
|
2497
|
+
state: checkout.billingAddress ? checkout.billingAddress.state : (_a = checkout.shippingAddress) === null || _a === void 0 ? void 0 : _a.state,
|
|
2498
|
+
city: checkout.billingAddress ? checkout.billingAddress.city : (_b = checkout.shippingAddress) === null || _b === void 0 ? void 0 : _b.city,
|
|
2499
|
+
neighborhood: checkout.billingAddress ? checkout.billingAddress.district : (_c = checkout.shippingAddress) === null || _c === void 0 ? void 0 : _c.district,
|
|
2500
|
+
street: checkout.billingAddress ? checkout.billingAddress.street : (_d = checkout.shippingAddress) === null || _d === void 0 ? void 0 : _d.street,
|
|
2501
|
+
street_number: checkout.billingAddress ? checkout.billingAddress.number : (_e = checkout.shippingAddress) === null || _e === void 0 ? void 0 : _e.number,
|
|
2502
|
+
zipcode: checkout.billingAddress
|
|
2503
|
+
? checkout.billingAddress.zip.replace('-', '')
|
|
2504
|
+
: (_f = checkout.shippingAddress) === null || _f === void 0 ? void 0 : _f.zip.replace('-', ''),
|
|
2505
|
+
},
|
|
2506
|
+
},
|
|
2507
|
+
items: checkout.lineItems.map((item) => {
|
|
2508
|
+
return {
|
|
2509
|
+
id: item.id,
|
|
2510
|
+
title: checkout.user.isSubscriber ? `${item.name} - ASSINANTE` : item.name,
|
|
2511
|
+
unit_price: Math.floor(item.pricePaid * 100),
|
|
2512
|
+
quantity: item.quantity,
|
|
2513
|
+
tangible: true,
|
|
2514
|
+
};
|
|
2515
|
+
}),
|
|
2516
|
+
};
|
|
2517
|
+
}
|
|
2518
|
+
}
|
|
2519
|
+
|
|
2520
|
+
class PagarmePixService {
|
|
2521
|
+
constructor(credentials) {
|
|
2522
|
+
this.credentials = credentials;
|
|
2523
|
+
}
|
|
2524
|
+
async pay(checkout) {
|
|
2525
|
+
try {
|
|
2526
|
+
const result = await axios__default["default"]({
|
|
2527
|
+
method: 'POST',
|
|
2528
|
+
url: this.credentials.URL_TRANSACTION,
|
|
2529
|
+
data: this.createPixPayment(checkout),
|
|
2530
|
+
});
|
|
2531
|
+
const payment = {
|
|
2532
|
+
createdAt: new Date(),
|
|
2533
|
+
updatedAt: new Date(),
|
|
2534
|
+
userId: checkout.user.id,
|
|
2535
|
+
checkoutId: checkout.id,
|
|
2536
|
+
totalPrice: checkout.totalPrice,
|
|
2537
|
+
transaction: result.data,
|
|
2538
|
+
};
|
|
2539
|
+
return payment;
|
|
2540
|
+
}
|
|
2541
|
+
catch (error) {
|
|
2542
|
+
console.log(error);
|
|
2543
|
+
}
|
|
2544
|
+
}
|
|
2545
|
+
createPixPayment(checkout) {
|
|
2546
|
+
return {
|
|
2547
|
+
payment_method: 'pix',
|
|
2548
|
+
amount: Math.floor(checkout.totalPrice * 100),
|
|
2549
|
+
api_key: this.credentials.API_KEY,
|
|
2550
|
+
postback_url: this.credentials.URL_POSTBACK,
|
|
2551
|
+
pix_expiration_date: moment__namespace().add(1, 'day').format('YYYY-MM-DD'),
|
|
2552
|
+
customer: {
|
|
2553
|
+
external_id: checkout.user.id,
|
|
2554
|
+
type: 'individual',
|
|
2555
|
+
country: 'br',
|
|
2556
|
+
name: checkout.user.displayName,
|
|
2557
|
+
email: checkout.user.email.trim(),
|
|
2558
|
+
phone_numbers: checkout.user.phone ? ['+55' + checkout.user.phone] : '',
|
|
2559
|
+
documents: [
|
|
2560
|
+
{
|
|
2561
|
+
type: 'cpf',
|
|
2562
|
+
number: checkout.user.cpf,
|
|
2563
|
+
},
|
|
2564
|
+
],
|
|
2565
|
+
},
|
|
2566
|
+
};
|
|
2567
|
+
}
|
|
2568
|
+
}
|
|
2569
|
+
|
|
2263
2570
|
class RoundProductPricesHelper {
|
|
2264
2571
|
static roundProductPrices(product) {
|
|
2265
2572
|
product.price.price = Number(product.price.price.toFixed(2));
|
|
@@ -2794,7 +3101,7 @@ const withFindFirestore = (MixinBase) => {
|
|
|
2794
3101
|
const collection = this.collection(this.buildCollectionPathForFind(find.filters));
|
|
2795
3102
|
const enableCount = (_b = (_a = find === null || find === void 0 ? void 0 : find.options) === null || _a === void 0 ? void 0 : _a.enableCount) !== null && _b !== void 0 ? _b : true;
|
|
2796
3103
|
const intercepted = await ((_d = (_c = this.interceptors) === null || _c === void 0 ? void 0 : _c.request) === null || _d === void 0 ? void 0 : _d.call(_c, { find }));
|
|
2797
|
-
const { filters, limits, orderBy } = intercepted.find || find;
|
|
3104
|
+
const { filters, limits, orderBy } = (intercepted === null || intercepted === void 0 ? void 0 : intercepted.find) || find;
|
|
2798
3105
|
const queries = this.makeFirestoreWhere(filters || {});
|
|
2799
3106
|
const ordination = this.makeFirestoreOrderBy(filters, orderBy);
|
|
2800
3107
|
const offsets = await this.defineLimits(filters, limits);
|
|
@@ -5681,6 +5988,8 @@ Object.defineProperty(exports, 'unset', {
|
|
|
5681
5988
|
get: function () { return lodash.unset; }
|
|
5682
5989
|
});
|
|
5683
5990
|
exports.Address = Address;
|
|
5991
|
+
exports.AdyenCardService = AdyenCardService;
|
|
5992
|
+
exports.AdyenPaymentMethodFactory = AdyenPaymentMethodFactory;
|
|
5684
5993
|
exports.Authentication = Authentication;
|
|
5685
5994
|
exports.AuthenticationFirebaseAuthService = AuthenticationFirebaseAuthService;
|
|
5686
5995
|
exports.AxiosAdapter = AxiosAdapter;
|
|
@@ -5720,6 +6029,8 @@ exports.Filter = Filter;
|
|
|
5720
6029
|
exports.FilterHasuraGraphQLRepository = FilterHasuraGraphQLRepository;
|
|
5721
6030
|
exports.FilterOption = FilterOption;
|
|
5722
6031
|
exports.FilterOptionHasuraGraphQLRepository = FilterOptionHasuraGraphQLRepository;
|
|
6032
|
+
exports.GlampointsPaymentMethodFactory = GlampointsPaymentMethodFactory;
|
|
6033
|
+
exports.GlampointsPaymentService = GlampointsPaymentService;
|
|
5723
6034
|
exports.Home = Home;
|
|
5724
6035
|
exports.HomeFirestoreRepository = HomeFirestoreRepository;
|
|
5725
6036
|
exports.InvalidArgumentError = InvalidArgumentError;
|
|
@@ -5736,8 +6047,14 @@ exports.Order = Order;
|
|
|
5736
6047
|
exports.OrderBlocked = OrderBlocked;
|
|
5737
6048
|
exports.OrderBlockedFirestoreRepository = OrderBlockedFirestoreRepository;
|
|
5738
6049
|
exports.OrderFirestoreRepository = OrderFirestoreRepository;
|
|
6050
|
+
exports.PagarmeBankSlipService = PagarmeBankSlipService;
|
|
6051
|
+
exports.PagarmeCardService = PagarmeCardService;
|
|
6052
|
+
exports.PagarmePaymentMethodFactory = PagarmePaymentMethodFactory;
|
|
6053
|
+
exports.PagarmePixService = PagarmePixService;
|
|
5739
6054
|
exports.Payment = Payment;
|
|
5740
6055
|
exports.PaymentFirestoreRepository = PaymentFirestoreRepository;
|
|
6056
|
+
exports.PaymentProviderFactory = PaymentProviderFactory;
|
|
6057
|
+
exports.PaymentTransaction = PaymentTransaction;
|
|
5741
6058
|
exports.Product = Product;
|
|
5742
6059
|
exports.ProductFirestoreRepository = ProductFirestoreRepository;
|
|
5743
6060
|
exports.ProductHasuraGraphQL = ProductHasuraGraphQL;
|