@infrab4a/connect 4.21.3 → 4.22.0-beta.1

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.
Files changed (83) hide show
  1. package/index.cjs.js +887 -243
  2. package/index.esm.js +866 -248
  3. package/package.json +1 -1
  4. package/src/domain/catalog/models/types/index.d.ts +0 -1
  5. package/src/domain/catalog/repositories/product.repository.d.ts +1 -2
  6. package/src/domain/general/models/index.d.ts +1 -0
  7. package/src/domain/general/models/sequences.d.ts +9 -0
  8. package/src/domain/general/repositories/index.d.ts +1 -0
  9. package/src/domain/general/repositories/sequences.repository.d.ts +4 -0
  10. package/src/domain/shopping/enums/antifraud-providers.enum.d.ts +6 -0
  11. package/src/domain/shopping/enums/business-unit.enum.d.ts +4 -0
  12. package/src/domain/shopping/enums/index.d.ts +6 -0
  13. package/src/domain/shopping/enums/order-blocked.enum.d.ts +5 -0
  14. package/src/domain/shopping/enums/pagarme-payment-status.enum.d.ts +10 -0
  15. package/src/domain/shopping/enums/payment-methods.enum.d.ts +6 -0
  16. package/src/domain/shopping/enums/payment-providers.enum.d.ts +5 -0
  17. package/src/domain/shopping/factories/adyen-payment-method.factory.d.ts +9 -0
  18. package/src/domain/shopping/factories/antifraud-provider.factory.d.ts +15 -0
  19. package/src/domain/shopping/factories/base-payment-method.factory.d.ts +7 -0
  20. package/src/domain/shopping/factories/glampoints-payment-method.factory.d.ts +8 -0
  21. package/src/domain/shopping/factories/index.d.ts +5 -0
  22. package/src/domain/shopping/factories/pagarme-payment-method.factory.d.ts +11 -0
  23. package/src/domain/shopping/factories/payment-provider.factory.d.ts +15 -0
  24. package/src/domain/shopping/index.d.ts +4 -0
  25. package/src/domain/shopping/interfaces/antifraud-method-factory.interface.d.ts +11 -0
  26. package/src/domain/shopping/interfaces/antifraud-provider.interface.d.ts +5 -0
  27. package/src/domain/shopping/interfaces/index.d.ts +7 -0
  28. package/src/domain/shopping/interfaces/payment-method-factory.interface.d.ts +14 -0
  29. package/src/domain/shopping/interfaces/payment-provider-bank-slip.interface.d.ts +7 -0
  30. package/src/domain/shopping/interfaces/payment-provider-card.interface.d.ts +13 -0
  31. package/src/domain/shopping/interfaces/payment-provider-glampoints.interface.d.ts +9 -0
  32. package/src/domain/shopping/interfaces/payment-provider-pix.interface.d.ts +5 -0
  33. package/src/domain/shopping/models/index.d.ts +1 -0
  34. package/src/domain/shopping/models/order-blocked.d.ts +4 -6
  35. package/src/domain/shopping/models/order.d.ts +2 -2
  36. package/src/domain/shopping/models/payment-transaction.d.ts +67 -0
  37. package/src/domain/shopping/models/payment.d.ts +10 -63
  38. package/src/domain/shopping/models/types/index.d.ts +4 -4
  39. package/src/domain/shopping/services/antifraud-bankslip.service.d.ts +9 -0
  40. package/src/domain/shopping/services/antifraud-card.service.d.ts +18 -0
  41. package/src/domain/shopping/services/antifraud-glampoints.service.d.ts +6 -0
  42. package/src/domain/shopping/services/antifraud-pix.service.d.ts +6 -0
  43. package/src/domain/shopping/services/glampoints-payment.service.d.ts +13 -0
  44. package/src/domain/shopping/services/index.d.ts +5 -0
  45. package/src/domain/shopping/types/adyen-card.type.d.ts +3 -0
  46. package/src/domain/shopping/types/adyen-credentials.type.d.ts +6 -0
  47. package/src/domain/shopping/types/antifraud-provider.type.d.ts +2 -0
  48. package/src/domain/shopping/types/base-card.type.d.ts +2 -0
  49. package/src/domain/shopping/types/card-info.type.d.ts +8 -0
  50. package/src/domain/shopping/types/glam-credentials.type.d.ts +6 -0
  51. package/src/domain/shopping/types/index.d.ts +9 -0
  52. package/src/domain/shopping/types/pagarme-card-manual-hash.type.d.ts +6 -0
  53. package/src/domain/shopping/types/pagarme-card.type.d.ts +16 -0
  54. package/src/domain/shopping/types/pagarme-credentials.type.d.ts +7 -0
  55. package/src/domain/shopping/types/payment-card-info.type.d.ts +3 -0
  56. package/src/domain/shopping/types/payment-method.type.d.ts +2 -0
  57. package/src/domain/shopping/types/payment-provider.type.d.ts +2 -0
  58. package/src/errors/business.error.d.ts +7 -0
  59. package/src/errors/fraud-validation.error.d.ts +7 -0
  60. package/src/errors/index.d.ts +8 -2
  61. package/src/errors/payment.error.d.ts +7 -0
  62. package/src/errors/stock-limit.error.d.ts +5 -0
  63. package/src/errors/stock-out.error.d.ts +5 -0
  64. package/src/errors/types/checkout-additional-data-erro.type.d.ts +6 -0
  65. package/src/errors/types/index.d.ts +2 -0
  66. package/src/errors/types/pagarme-erros.type.d.ts +9 -0
  67. package/src/infra/adyen/adapters/adyen-card-payment-axios.adapter.d.ts +17 -0
  68. package/src/infra/adyen/adapters/index.d.ts +1 -0
  69. package/src/infra/adyen/index.d.ts +1 -0
  70. package/src/infra/firebase/firestore/repositories/catalog/product-firestore.repository.d.ts +1 -2
  71. package/src/infra/firebase/firestore/repositories/general/index.d.ts +1 -0
  72. package/src/infra/firebase/firestore/repositories/general/sequences-firestore.repository.d.ts +7 -0
  73. package/src/infra/firebase/firestore/repositories/shopping/index.d.ts +1 -1
  74. package/src/infra/firebase/firestore/repositories/shopping/{order-blocked-firestore.repository.ts.d.ts → order-blocked-firestore.repository.d.ts} +2 -2
  75. package/src/infra/hasura-graphql/repositories/catalog/product-hasura-graphql.repository.d.ts +1 -2
  76. package/src/infra/index.d.ts +2 -0
  77. package/src/infra/pagarme/adapters/index.d.ts +3 -0
  78. package/src/infra/pagarme/adapters/pagarme-bank-slip-payment-axios.adapter.d.ts +12 -0
  79. package/src/infra/pagarme/adapters/pagarme-card-payment-axios.adapter.d.ts +17 -0
  80. package/src/infra/pagarme/adapters/pagarme-pix-payment-axios.adapter.d.ts +11 -0
  81. package/src/infra/pagarme/index.d.ts +1 -0
  82. package/src/utils/index.d.ts +2 -2
  83. package/src/domain/catalog/models/types/product-variant-report.type.d.ts +0 -46
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@infrab4a/connect",
3
- "version": "4.21.3",
3
+ "version": "4.22.0-beta.1",
4
4
  "publishConfig": {
5
5
  "registry": "https://registry.npmjs.org"
6
6
  },
@@ -7,7 +7,6 @@ export * from './product-gender.type';
7
7
  export * from './product-label.type';
8
8
  export * from './product-metadata.type';
9
9
  export * from './product-review.type';
10
- export * from './product-variant-report.type';
11
10
  export * from './report-stock-notification.type';
12
11
  export * from './shop-description.type';
13
12
  export * from './shop-price.type';
@@ -1,6 +1,6 @@
1
1
  import { FindRepositoryParams, RepositoryFindResult } from '../../generic';
2
2
  import { CrudRepository } from '../../generic/repository/crud.repository';
3
- import { Product, ProductGender, ProductReview, ProductVariantReport } from '../models';
3
+ import { Product, ProductGender, ProductReview } from '../models';
4
4
  export type ReviewStatusParams = 'pending' | 'approved' | 'rejected';
5
5
  export type ReviewWithProductData = ProductReview & {
6
6
  productId: string;
@@ -25,5 +25,4 @@ export interface ProductRepository extends CrudRepository<Product> {
25
25
  fetchProductReviews(filters: PaginatedReviewFilters): Promise<ReviewWithProductData[]>;
26
26
  cleanShoppingCountFromIds(ids: string[]): Promise<any>;
27
27
  findCatalog(params: FindRepositoryParams<Product>, mainGender?: Extract<ProductGender, 'female' | 'male' | 'unisex'>): Promise<RepositoryFindResult<Product>>;
28
- productVariantFullReport(): Promise<ProductVariantReport[]>;
29
28
  }
@@ -1 +1,2 @@
1
1
  export * from './log-document';
2
+ export * from './sequences';
@@ -0,0 +1,9 @@
1
+ import { BaseModel, GenericIdentifier } from '../../generic';
2
+ export declare class Sequence extends BaseModel<Sequence> {
3
+ id?: string;
4
+ type: string;
5
+ counter: number;
6
+ month: number;
7
+ year: number;
8
+ static get identifiersFields(): GenericIdentifier[];
9
+ }
@@ -1 +1,2 @@
1
1
  export * from './log.repository';
2
+ export * from './sequences.repository';
@@ -0,0 +1,4 @@
1
+ import { CrudRepository } from '../../generic/repository/crud.repository';
2
+ import { Sequence } from '../models';
3
+ export interface SequenceRepository extends CrudRepository<Sequence> {
4
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum AntifraudProviders {
2
+ BANKSLIP = "bankSlip",
3
+ CARD = "card",
4
+ PIX = "pix",
5
+ POINTS = "glampoints"
6
+ }
@@ -0,0 +1,4 @@
1
+ export declare enum BusinessUnitEnum {
2
+ 'SUBSCRIPTION' = 1,
3
+ 'SHOP' = 2
4
+ }
@@ -0,0 +1,6 @@
1
+ export * from './antifraud-providers.enum';
2
+ export * from './business-unit.enum';
3
+ export * from './order-blocked.enum';
4
+ export * from './pagarme-payment-status.enum';
5
+ export * from './payment-methods.enum';
6
+ export * from './payment-providers.enum';
@@ -0,0 +1,5 @@
1
+ export declare enum OrderBlockedType {
2
+ Checkout = "Checkout",
3
+ Card = "Card",
4
+ Boleto = "Boleto"
5
+ }
@@ -0,0 +1,10 @@
1
+ export declare enum PagarmePaymentStatus {
2
+ 'Em processamento' = "processing",
3
+ 'Autorizada' = "authorized",
4
+ 'Pago' = "paid",
5
+ 'Estornada' = "refunded",
6
+ 'Aguardando pagamento' = "waiting_payment",
7
+ 'Aguardando estorno' = "pending_refund",
8
+ 'Recusada/Não autorizada' = "refused",
9
+ 'Chargedback' = "chargedback"
10
+ }
@@ -0,0 +1,6 @@
1
+ export declare enum PaymentMethods {
2
+ CARD = "card",
3
+ BANKSLIP = "bankSlip",
4
+ PIX = "pix",
5
+ POINTS = "glampoints"
6
+ }
@@ -0,0 +1,5 @@
1
+ export declare enum PaymentProviders {
2
+ PAGARME = "pagarMe",
3
+ ADYEN = "adyen",
4
+ GLAMPOINTS = "glampoints"
5
+ }
@@ -0,0 +1,9 @@
1
+ import { PaymentProviderCard } from '../interfaces';
2
+ import { AdyenCard } from '../types';
3
+ import { BasePaymentMethodFactory } from './base-payment-method.factory';
4
+ type AdyenPaymentFactoryMethods = {
5
+ card?: PaymentProviderCard<AdyenCard>;
6
+ };
7
+ export declare class AdyenPaymentMethodFactory extends BasePaymentMethodFactory<AdyenPaymentFactoryMethods> {
8
+ }
9
+ export {};
@@ -0,0 +1,15 @@
1
+ import { AntifraudMethodFactory } from '../interfaces';
2
+ import { AntifraudBankSlipService, AntifraudCardService, AntifraudGlampointsService, AntifraudPixService } from '../services';
3
+ import { AntifraudeProvider } from '../types';
4
+ type AntifraudMethods = {
5
+ bankSlip?: AntifraudBankSlipService;
6
+ card?: AntifraudCardService;
7
+ pix?: AntifraudPixService;
8
+ glampoints?: AntifraudGlampointsService;
9
+ };
10
+ export declare class AntifraudProviderFactory implements AntifraudMethodFactory {
11
+ private readonly antifraudProviders;
12
+ constructor(antifraudProviders: AntifraudMethods);
13
+ build<T extends AntifraudeProvider>(provider: T): AntifraudProviderFactory['antifraudProviders'][T];
14
+ }
15
+ export {};
@@ -0,0 +1,7 @@
1
+ import { PaymentMethodFactory, PaymentMethodFactoryMethods } from '../interfaces';
2
+ import { PaymentMethod } from '../types';
3
+ export declare abstract class BasePaymentMethodFactory<T extends PaymentMethodFactoryMethods = PaymentMethodFactoryMethods> implements PaymentMethodFactory {
4
+ private readonly methods;
5
+ constructor(methods: T);
6
+ build<T extends PaymentMethod>(method: T): BasePaymentMethodFactory['methods'][T];
7
+ }
@@ -0,0 +1,8 @@
1
+ import { GlampointsPaymentService } from '../services';
2
+ import { BasePaymentMethodFactory } from './base-payment-method.factory';
3
+ type GlampointsPaymentFactoryMethods = {
4
+ glampoints: GlampointsPaymentService;
5
+ };
6
+ export declare class GlampointsPaymentMethodFactory extends BasePaymentMethodFactory<GlampointsPaymentFactoryMethods> {
7
+ }
8
+ export {};
@@ -0,0 +1,5 @@
1
+ export * from './adyen-payment-method.factory';
2
+ export * from './antifraud-provider.factory';
3
+ export * from './glampoints-payment-method.factory';
4
+ export * from './pagarme-payment-method.factory';
5
+ export * from './payment-provider.factory';
@@ -0,0 +1,11 @@
1
+ import { PaymentProviderBankSlip, PaymentProviderCard, PaymentProviderPix } from '../interfaces';
2
+ import { PagarMeCard } from '../types';
3
+ import { BasePaymentMethodFactory } from './base-payment-method.factory';
4
+ type PagarmePaymentFactoryMethods = {
5
+ card?: PaymentProviderCard<PagarMeCard>;
6
+ bankSlip?: PaymentProviderBankSlip;
7
+ pix?: PaymentProviderPix;
8
+ };
9
+ export declare class PagarmePaymentMethodFactory extends BasePaymentMethodFactory<PagarmePaymentFactoryMethods> {
10
+ }
11
+ export {};
@@ -0,0 +1,15 @@
1
+ import { PaymentProvider } from '../types';
2
+ import { AdyenPaymentMethodFactory } from './adyen-payment-method.factory';
3
+ import { GlampointsPaymentMethodFactory } from './glampoints-payment-method.factory';
4
+ import { PagarmePaymentMethodFactory } from './pagarme-payment-method.factory';
5
+ type PaymentProviderFactoryFactories = {
6
+ pagarMe?: PagarmePaymentMethodFactory;
7
+ adyen?: AdyenPaymentMethodFactory;
8
+ glampoints?: GlampointsPaymentMethodFactory;
9
+ };
10
+ export declare class PaymentProviderFactory {
11
+ private readonly paymentProviders;
12
+ constructor(paymentProviders: PaymentProviderFactoryFactories);
13
+ build<T extends PaymentProvider>(provider: T): PaymentProviderFactory['paymentProviders'][T];
14
+ }
15
+ export {};
@@ -1,3 +1,7 @@
1
+ export * from './enums';
2
+ export * from './factories';
3
+ export * from './interfaces';
1
4
  export * from './models';
2
5
  export * from './repositories';
6
+ export * from './services';
3
7
  export * from './types';
@@ -0,0 +1,11 @@
1
+ import { AntifraudeProvider } from '../types';
2
+ import { AntifraudProvider } from './antifraud-provider.interface';
3
+ export type AntifraudMethods = {
4
+ bankSlip?: AntifraudProvider;
5
+ card?: AntifraudProvider;
6
+ pix?: AntifraudProvider;
7
+ glampoints?: AntifraudProvider;
8
+ };
9
+ export interface AntifraudMethodFactory {
10
+ build<T extends AntifraudeProvider>(method: T): AntifraudMethods[T];
11
+ }
@@ -0,0 +1,5 @@
1
+ import { Checkout } from '../models';
2
+ import { PaymentCardInfo } from '../types';
3
+ export interface AntifraudProvider {
4
+ validate(checkout: Checkout, card?: PaymentCardInfo): Promise<Boolean>;
5
+ }
@@ -0,0 +1,7 @@
1
+ export * from './antifraud-method-factory.interface';
2
+ export * from './antifraud-provider.interface';
3
+ export * from './payment-method-factory.interface';
4
+ export * from './payment-provider-bank-slip.interface';
5
+ export * from './payment-provider-card.interface';
6
+ export * from './payment-provider-glampoints.interface';
7
+ export * from './payment-provider-pix.interface';
@@ -0,0 +1,14 @@
1
+ import { PaymentMethod } from '../types';
2
+ import { PaymentProviderBankSlip } from './payment-provider-bank-slip.interface';
3
+ import { PaymentProviderCard } from './payment-provider-card.interface';
4
+ import { PaymentProviderGlampoints } from './payment-provider-glampoints.interface';
5
+ import { PaymentProviderPix } from './payment-provider-pix.interface';
6
+ export type PaymentMethodFactoryMethods = {
7
+ card?: PaymentProviderCard;
8
+ bankSlip?: PaymentProviderBankSlip;
9
+ pix?: PaymentProviderPix;
10
+ glampoints?: PaymentProviderGlampoints;
11
+ };
12
+ export interface PaymentMethodFactory {
13
+ build<T extends PaymentMethod>(method: T): PaymentMethodFactoryMethods[T];
14
+ }
@@ -0,0 +1,7 @@
1
+ import { PaymentTransaction } from '../models';
2
+ import { Checkout } from '../models/checkout';
3
+ import { Payment } from '../models/payment';
4
+ export interface PaymentProviderBankSlip {
5
+ pay(checkout: Checkout): Promise<Payment>;
6
+ getBoletoTransaction(paymentId: number): Promise<PaymentTransaction>;
7
+ }
@@ -0,0 +1,13 @@
1
+ import { BusinessUnitEnum } from '../enums';
2
+ import { PaymentTransaction } from '../models';
3
+ import { Checkout } from '../models/checkout';
4
+ import { Payment } from '../models/payment';
5
+ import { CardInfo, PaymentCardInfo } from '../types';
6
+ import { BaseCard } from '../types/base-card.type';
7
+ export interface PaymentProviderCard<Card extends BaseCard = BaseCard> {
8
+ pay(checkout: Checkout, card: PaymentCardInfo): Promise<Payment>;
9
+ addCard(card: CardInfo): Promise<Card>;
10
+ getCardByToken(token: string): Promise<Card>;
11
+ createCardHash<T>(bu: BusinessUnitEnum, card?: CardInfo): Promise<string | T>;
12
+ createTransaction(info: any): Promise<PaymentTransaction>;
13
+ }
@@ -0,0 +1,9 @@
1
+ import { User } from '../../users';
2
+ import { Order } from '../models';
3
+ import { Checkout } from '../models/checkout';
4
+ import { Payment } from '../models/payment';
5
+ export interface PaymentProviderGlampoints {
6
+ pay(checkout: Checkout): Promise<Payment>;
7
+ rewardByOrder(order: Order, user: User): Promise<void>;
8
+ negativateRewardByOrderId(order: Order): Promise<any>;
9
+ }
@@ -0,0 +1,5 @@
1
+ import { Checkout } from '../models/checkout';
2
+ import { Payment } from '../models/payment';
3
+ export interface PaymentProviderPix {
4
+ pay(checkout: Checkout): Promise<Payment>;
5
+ }
@@ -8,6 +8,7 @@ export * from './line-item';
8
8
  export * from './order';
9
9
  export * from './order-blocked';
10
10
  export * from './payment';
11
+ export * from './payment-transaction';
11
12
  export * from './shipping-method';
12
13
  export * from './subscription';
13
14
  export * from './types';
@@ -1,5 +1,7 @@
1
1
  import { BaseModel, GenericIdentifier } from '../../generic';
2
2
  import { UserAddress } from '../../users';
3
+ import { OrderBlockedType } from '../enums';
4
+ import { Checkout } from './checkout';
3
5
  export declare class OrderBlocked extends BaseModel<OrderBlocked> {
4
6
  id?: string;
5
7
  customer: {
@@ -14,13 +16,9 @@ export declare class OrderBlocked extends BaseModel<OrderBlocked> {
14
16
  };
15
17
  blockType: string;
16
18
  limiteRange: string;
17
- type: string;
19
+ type: OrderBlockedType;
18
20
  card?: any;
19
- checkout: {
20
- id: string;
21
- shop: string;
22
- total: number;
23
- };
21
+ checkout: Checkout;
24
22
  date: Date;
25
23
  static get identifiersFields(): GenericIdentifier[];
26
24
  }
@@ -1,7 +1,7 @@
1
1
  import { OrderTrackingEvent } from '../types';
2
2
  import { Checkout } from './checkout';
3
3
  import { OrderStatus } from './enums/order-status.enum';
4
- import { Payment } from './payment';
4
+ import { PaymentTransaction } from './payment-transaction';
5
5
  export declare class Order extends Checkout {
6
6
  status: OrderStatus;
7
7
  orderNumber?: string;
@@ -10,5 +10,5 @@ export declare class Order extends Checkout {
10
10
  sentAt?: string;
11
11
  deliveredAt?: string;
12
12
  trackingEvents?: OrderTrackingEvent[];
13
- payment: Payment;
13
+ payment: PaymentTransaction;
14
14
  }
@@ -0,0 +1,67 @@
1
+ import { BaseModel } from '../../generic/model/base.model';
2
+ import { PaymentBilling, PaymentCard, PaymentCustomer, PaymentItem, PaymentShipping } from './types';
3
+ export declare class PaymentTransaction extends BaseModel<PaymentTransaction> {
4
+ id?: number;
5
+ object?: string;
6
+ status?: string;
7
+ tid?: number;
8
+ nsu?: number;
9
+ amount: number;
10
+ cost: number;
11
+ installments?: number;
12
+ referer: string;
13
+ ip?: string;
14
+ phone?: string;
15
+ address?: string;
16
+ metadata?: any;
17
+ device?: string;
18
+ payment?: string;
19
+ addition?: string;
20
+ discount?: string;
21
+ customer?: PaymentCustomer;
22
+ billing?: PaymentBilling;
23
+ shipping?: PaymentShipping;
24
+ items?: PaymentItem[];
25
+ card?: PaymentCard;
26
+ refuse_reason?: string;
27
+ status_reason?: string;
28
+ acquirer_response_code?: string;
29
+ acquirer_name?: string;
30
+ acquirer_id?: string;
31
+ authorization_code?: string;
32
+ soft_descriptor?: string;
33
+ date_created?: string;
34
+ date_updated?: string;
35
+ authorized_amount?: number;
36
+ paid_amount?: number;
37
+ paid_at?: string;
38
+ refunded_amount?: number;
39
+ card_holder_name?: string;
40
+ card_last_digits?: string;
41
+ card_first_digits?: string;
42
+ card_brand?: string;
43
+ card_pin_mode?: string;
44
+ card_magstripe_fallback?: boolean;
45
+ cvm_pin?: boolean;
46
+ postback_url?: string;
47
+ payment_method?: string;
48
+ capture_method?: string;
49
+ antifraud_score?: string;
50
+ boleto_url?: string;
51
+ boleto_barcode?: string;
52
+ boleto_expiration_date?: string;
53
+ subscription_id?: string;
54
+ split_rules?: string;
55
+ antifraud_metadata?: any;
56
+ reference_key?: string;
57
+ local_transaction_id?: string;
58
+ local_time?: string;
59
+ fraudCovered?: boolean;
60
+ fraud_reimbursed?: string;
61
+ order_id?: string;
62
+ risk_level?: string;
63
+ receipt_url?: string;
64
+ private_label?: string;
65
+ pix_qr_code?: string;
66
+ pix_expiration_date?: string;
67
+ }
@@ -1,68 +1,15 @@
1
1
  import { BaseModel, GenericIdentifier } from '../../generic/model/base.model';
2
- import { PaymentBilling, PaymentCard, PaymentCustomer, PaymentItem, PaymentShipping } from './types';
2
+ import { PaymentProvider } from '../types';
3
+ import { PaymentTransaction } from './payment-transaction';
3
4
  export declare class Payment extends BaseModel<Payment> {
4
5
  id: number;
5
- object: string;
6
- status: string;
7
- tid: number;
8
- nsu: number;
9
- amount: number;
10
- cost: number;
11
- installments: number;
12
- referer: string;
13
- ip: string;
14
- phone: string;
15
- address: string;
16
- metadata: any;
17
- device: string;
18
- payment: string;
19
- addition: string;
20
- discount: string;
21
- customer: PaymentCustomer;
22
- billing: PaymentBilling;
23
- shipping: PaymentShipping;
24
- items: PaymentItem[];
25
- card: PaymentCard;
26
- refuseReason: string;
27
- statusReason: string;
28
- acquirerResponseCode: string;
29
- acquirerName: string;
30
- acquirerId: string;
31
- authorizationCode: string;
32
- softDescriptor: string;
33
- dateCreated: string;
34
- dateUpdated: string;
35
- authorizedAmount: number;
36
- paidAmount: number;
37
- paidAt: string;
38
- refundedAmount: number;
39
- cardHolderName: string;
40
- cardLastDigits: string;
41
- cardFirstDigits: string;
42
- cardBrand: string;
43
- cardPinMode: string;
44
- cardMagstripeFallback: boolean;
45
- cvmPin: boolean;
46
- postbackUrl: string;
47
- paymentMethod: string;
48
- captureMethod: string;
49
- antifraudScore: string;
50
- boletoUrl: string;
51
- boletoBarcode: string;
52
- boletoExpirationDate: string;
53
- subscriptionId: string;
54
- splitRules: string;
55
- antifraudMetadata: any;
56
- referenceKey: string;
57
- localTransactionId: string;
58
- localTime: string;
59
- fraudCovered: boolean;
60
- fraudReimbursed: string;
61
- orderId: string;
62
- riskLevel: string;
63
- receiptUrl: string;
64
- privateLabel: string;
65
- pixQrCode: string;
66
- pixExpirationDate: string;
6
+ checkoutId: string;
7
+ orderId?: string;
8
+ totalPrice: number;
9
+ userId: string;
10
+ paymentProvider: PaymentProvider;
11
+ createdAt: Date;
12
+ updatedAt?: Date;
13
+ transaction: PaymentTransaction;
67
14
  static get identifiersFields(): GenericIdentifier[];
68
15
  }
@@ -1,7 +1,7 @@
1
- export * from './payment-customer.type';
2
- export * from './payment-document.type';
3
1
  export * from './payment-address.type';
4
2
  export * from './payment-billing.type';
5
- export * from './payment-shipping.type';
6
- export * from './payment-item.type';
7
3
  export * from './payment-card.type';
4
+ export * from './payment-customer.type';
5
+ export * from './payment-document.type';
6
+ export * from './payment-item.type';
7
+ export * from './payment-shipping.type';
@@ -0,0 +1,9 @@
1
+ import { AntifraudProvider } from '../interfaces';
2
+ import { Checkout } from '../models';
3
+ import { OrderBlockedRepository } from '../repositories';
4
+ export declare class AntifraudBankSlipService implements AntifraudProvider {
5
+ private orderBlockedRepository;
6
+ private MAX_ORDER_VALUE;
7
+ constructor(orderBlockedRepository: OrderBlockedRepository);
8
+ validate(checkout: Checkout): Promise<Boolean>;
9
+ }
@@ -0,0 +1,18 @@
1
+ import { AntifraudProvider } from '../interfaces';
2
+ import { Checkout } from '../models';
3
+ import { OrderBlockedRepository, OrderRepository } from '../repositories';
4
+ import { PaymentCardInfo } from '../types';
5
+ export declare class AntifraudCardService implements AntifraudProvider {
6
+ private readonly orderRepository;
7
+ private readonly orderBlockedRepository;
8
+ private LIMIT_ORDERS_DAY;
9
+ private LIMIT_ORDERS_WEEK;
10
+ private LIMIT_BLOCKED_ORDERS_DAY;
11
+ constructor(orderRepository: OrderRepository, orderBlockedRepository: OrderBlockedRepository);
12
+ validate(checkout: Checkout, card: PaymentCardInfo): Promise<Boolean>;
13
+ private verifyBlockedOrderAttempts;
14
+ private verifyDayAndWeekOrders;
15
+ private validateOrdersByRange;
16
+ private countOrdersByField;
17
+ private getDateRange;
18
+ }
@@ -0,0 +1,6 @@
1
+ import { AntifraudProvider } from '../interfaces';
2
+ import { Checkout } from '../models';
3
+ export declare class AntifraudGlampointsService implements AntifraudProvider {
4
+ constructor();
5
+ validate(checkout: Checkout): Promise<Boolean>;
6
+ }
@@ -0,0 +1,6 @@
1
+ import { AntifraudProvider } from '../interfaces';
2
+ import { Checkout } from '../models';
3
+ export declare class AntifraudPixService implements AntifraudProvider {
4
+ constructor();
5
+ validate(checkout: Checkout): Promise<Boolean>;
6
+ }
@@ -0,0 +1,13 @@
1
+ import { User } from '../../users';
2
+ import { PaymentProviderGlampoints } from '../interfaces';
3
+ import { Checkout, Order, Payment } from '../models';
4
+ import { PaymentRepository } from '../repositories';
5
+ import { GlamCredentials } from '../types';
6
+ export declare class GlampointsPaymentService implements PaymentProviderGlampoints {
7
+ private glamCredentials;
8
+ private paymentRepository;
9
+ constructor(glamCredentials: GlamCredentials, paymentRepository: PaymentRepository);
10
+ pay(checkout: Checkout): Promise<Payment>;
11
+ rewardByOrder(order: Order, user: User): Promise<any>;
12
+ negativateRewardByOrderId(order: Order): Promise<any>;
13
+ }
@@ -0,0 +1,5 @@
1
+ export * from './antifraud-bankslip.service';
2
+ export * from './antifraud-card.service';
3
+ export * from './antifraud-glampoints.service';
4
+ export * from './antifraud-pix.service';
5
+ export * from './glampoints-payment.service';
@@ -0,0 +1,3 @@
1
+ import { BaseCard } from './base-card.type';
2
+ export interface AdyenCard extends BaseCard {
3
+ }
@@ -0,0 +1,6 @@
1
+ export type AdyenCredentials = {
2
+ URL_TRANSACTION: string;
3
+ URL_POSTBACK: string;
4
+ API_KEY: string;
5
+ MERCHANT_ACCOUNT?: string;
6
+ };
@@ -0,0 +1,2 @@
1
+ import { AntifraudProviders } from '../enums';
2
+ export type AntifraudeProvider = `${AntifraudProviders}`;
@@ -0,0 +1,2 @@
1
+ export interface BaseCard {
2
+ }
@@ -0,0 +1,8 @@
1
+ export type CardInfo = {
2
+ name: string;
3
+ number: string;
4
+ expirationDate: string;
5
+ cvv: string;
6
+ installments: string;
7
+ cpf: string;
8
+ };
@@ -0,0 +1,6 @@
1
+ export type GlamCredentials = {
2
+ baseUrl: string;
3
+ username: string;
4
+ password: string;
5
+ integrationToken: string;
6
+ };
@@ -1,2 +1,11 @@
1
+ export * from './adyen-card.type';
2
+ export * from './adyen-credentials.type';
3
+ export * from './antifraud-provider.type';
4
+ export * from './card-info.type';
5
+ export * from './glam-credentials.type';
1
6
  export * from './order-tracking-events.type';
7
+ export * from './pagarme-card.type';
8
+ export * from './pagarme-credentials.type';
2
9
  export * from './payment-card-info.type';
10
+ export * from './payment-method.type';
11
+ export * from './payment-provider.type';
@@ -0,0 +1,6 @@
1
+ import { BaseCard } from './base-card.type';
2
+ export interface PagarMeCardManualHash extends BaseCard {
3
+ id: string;
4
+ public_key: string;
5
+ date_created: string;
6
+ }