@zorionapp/gg-toolkit 4.72.1 → 4.81.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 (46) hide show
  1. package/README.md +1 -1
  2. package/dto/index.d.ts +1 -0
  3. package/dto/index.js +1 -0
  4. package/dto/index.js.map +1 -1
  5. package/dto/merchant-preferences.dto.d.ts +3 -0
  6. package/dto/merchant-preferences.dto.js +24 -0
  7. package/dto/merchant-preferences.dto.js.map +1 -0
  8. package/dto/merchant.dto.d.ts +4 -2
  9. package/dto/merchant.dto.js +13 -5
  10. package/dto/merchant.dto.js.map +1 -1
  11. package/dto/payment-method.dto.d.ts +28 -0
  12. package/dto/payment-method.dto.js +187 -0
  13. package/dto/payment-method.dto.js.map +1 -0
  14. package/models/operation-entity.d.ts +24 -0
  15. package/models/operation-entity.js +126 -0
  16. package/models/operation-entity.js.map +1 -0
  17. package/models/payment-method-entity.d.ts +25 -0
  18. package/models/payment-method-entity.js +91 -0
  19. package/models/payment-method-entity.js.map +1 -0
  20. package/models/transfer-entity.d.ts +22 -0
  21. package/models/transfer-entity.js +121 -0
  22. package/models/transfer-entity.js.map +1 -0
  23. package/nominal-type/money/money.ntype.d.ts +1 -1
  24. package/nominal-type/money/money.ntype.js +5 -2
  25. package/nominal-type/money/money.ntype.js.map +1 -1
  26. package/nominal-type/mop/mop-type.map.js +20 -0
  27. package/nominal-type/mop/mop-type.map.js.map +1 -1
  28. package/package.json +1 -1
  29. package/transformer/index.d.ts +1 -0
  30. package/transformer/index.js +1 -0
  31. package/transformer/index.js.map +1 -1
  32. package/transformer/wallet-id-typeorm.transformer.d.ts +5 -0
  33. package/transformer/wallet-id-typeorm.transformer.js +21 -0
  34. package/transformer/wallet-id-typeorm.transformer.js.map +1 -0
  35. package/util/index.d.ts +3 -0
  36. package/util/index.js +3 -0
  37. package/util/index.js.map +1 -1
  38. package/util/mop-utils.d.ts +5 -0
  39. package/util/mop-utils.js +19 -0
  40. package/util/mop-utils.js.map +1 -0
  41. package/util/operation-utils.d.ts +5 -0
  42. package/util/operation-utils.js +13 -0
  43. package/util/operation-utils.js.map +1 -0
  44. package/util/payment-request-utils.d.ts +163 -0
  45. package/util/payment-request-utils.js +168 -0
  46. package/util/payment-request-utils.js.map +1 -0
@@ -0,0 +1,163 @@
1
+ import { PaymentMethodDto } from '../dto/payment-method.dto';
2
+ import { WalletId } from '../nominal-type/wallet-id/wallet-id.ntype';
3
+ import { UserDto } from '../dto/user.dto';
4
+ export declare class PaymentRequestUtils {
5
+ static getPropertiesForWithdraw(paymentMethod: PaymentMethodDto, user: UserDto, ip?: string): {
6
+ payment_type: import("../enum").Mop.Type;
7
+ ifsc: string;
8
+ bankAccount: string;
9
+ mop: any;
10
+ vpa: any;
11
+ customer_address: string;
12
+ customer_email: string;
13
+ customer_name: string;
14
+ customer_first_name: string;
15
+ customer_phone: string;
16
+ customer_ip: string;
17
+ recipientPhone?: undefined;
18
+ recipientAddress?: undefined;
19
+ recipientEmail?: undefined;
20
+ recipientFirstName?: undefined;
21
+ documentId?: undefined;
22
+ documentType?: undefined;
23
+ cryptoAddress?: undefined;
24
+ document_id?: undefined;
25
+ document_type?: undefined;
26
+ bankId?: undefined;
27
+ } | {
28
+ vpa: string;
29
+ mop: any;
30
+ payment_type: import("../enum").Mop.Type;
31
+ ifsc: any;
32
+ bankAccount: any;
33
+ customer_address: string;
34
+ customer_email: string;
35
+ customer_name: string;
36
+ customer_first_name: any;
37
+ recipientPhone: string;
38
+ customer_phone: string;
39
+ customer_ip: string;
40
+ recipientAddress?: undefined;
41
+ recipientEmail?: undefined;
42
+ recipientFirstName?: undefined;
43
+ documentId?: undefined;
44
+ documentType?: undefined;
45
+ cryptoAddress?: undefined;
46
+ document_id?: undefined;
47
+ document_type?: undefined;
48
+ bankId?: undefined;
49
+ } | {
50
+ payment_type: import("../enum").Mop.Type;
51
+ mop: any;
52
+ ifsc: any;
53
+ bankAccount: any;
54
+ vpa: any;
55
+ customer_address: string;
56
+ customer_email: string;
57
+ customer_name: string;
58
+ customer_first_name: string;
59
+ recipientAddress: string;
60
+ recipientEmail: string;
61
+ recipientFirstName: string;
62
+ recipientPhone: string;
63
+ customer_phone: string;
64
+ customer_ip: string;
65
+ documentId?: undefined;
66
+ documentType?: undefined;
67
+ cryptoAddress?: undefined;
68
+ document_id?: undefined;
69
+ document_type?: undefined;
70
+ bankId?: undefined;
71
+ } | {
72
+ payment_type: import("../enum").Mop.Type;
73
+ mop: any;
74
+ ifsc: any;
75
+ bankAccount: any;
76
+ vpa: any;
77
+ customer_address: string;
78
+ customer_email: string;
79
+ customer_name: string;
80
+ customer_first_name: string;
81
+ recipientAddress: string;
82
+ recipientEmail: string;
83
+ recipientFirstName: string;
84
+ recipientPhone: string;
85
+ documentId: string;
86
+ documentType: string;
87
+ customer_phone: string;
88
+ customer_ip: string;
89
+ cryptoAddress?: undefined;
90
+ document_id?: undefined;
91
+ document_type?: undefined;
92
+ bankId?: undefined;
93
+ } | {
94
+ mop: any;
95
+ payment_type: import("../enum").Mop.Type;
96
+ cryptoAddress: string;
97
+ document_id: any;
98
+ document_type: any;
99
+ ifsc: any;
100
+ bankAccount: any;
101
+ bankId: any;
102
+ vpa?: undefined;
103
+ customer_address?: undefined;
104
+ customer_email?: undefined;
105
+ customer_name?: undefined;
106
+ customer_first_name?: undefined;
107
+ customer_phone?: undefined;
108
+ customer_ip?: undefined;
109
+ recipientPhone?: undefined;
110
+ recipientAddress?: undefined;
111
+ recipientEmail?: undefined;
112
+ recipientFirstName?: undefined;
113
+ documentId?: undefined;
114
+ documentType?: undefined;
115
+ } | {
116
+ mop: any;
117
+ payment_type: import("../enum").Mop.Type;
118
+ bankAccount: string;
119
+ recipientAddress: string;
120
+ recipientEmail: string;
121
+ recipientFirstName: string;
122
+ recipientPhone: string;
123
+ customer_address: string;
124
+ customer_email: string;
125
+ customer_name: string;
126
+ customer_first_name: string;
127
+ customer_phone: string;
128
+ customer_ip: string;
129
+ ifsc?: undefined;
130
+ vpa?: undefined;
131
+ documentId?: undefined;
132
+ documentType?: undefined;
133
+ cryptoAddress?: undefined;
134
+ document_id?: undefined;
135
+ document_type?: undefined;
136
+ bankId?: undefined;
137
+ } | {
138
+ payment_type: import("../enum").Mop.Type;
139
+ mop: any;
140
+ documentId: string;
141
+ documentType: string;
142
+ customer_phone: string;
143
+ customer_ip: string;
144
+ ifsc?: undefined;
145
+ bankAccount?: undefined;
146
+ vpa?: undefined;
147
+ customer_address?: undefined;
148
+ customer_email?: undefined;
149
+ customer_name?: undefined;
150
+ customer_first_name?: undefined;
151
+ recipientPhone?: undefined;
152
+ recipientAddress?: undefined;
153
+ recipientEmail?: undefined;
154
+ recipientFirstName?: undefined;
155
+ cryptoAddress?: undefined;
156
+ document_id?: undefined;
157
+ document_type?: undefined;
158
+ bankId?: undefined;
159
+ };
160
+ static getPropertiesForRefill(paymentMethod: PaymentMethodDto, user: UserDto, merchantWalletId: WalletId): any;
161
+ private static valueIfTrue;
162
+ private static getUserPhone;
163
+ }
@@ -0,0 +1,168 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.PaymentRequestUtils = void 0;
4
+ const payment_enums_1 = require("../enum/payment.enums");
5
+ const currency_enum_1 = require("../enum/currency.enum");
6
+ const compact_object_1 = require("./compact-object");
7
+ class PaymentRequestUtils {
8
+ static getPropertiesForWithdraw(paymentMethod, user, ip) {
9
+ const customerIp = ip !== null && ip !== void 0 ? ip : user.ip;
10
+ switch (paymentMethod.methodType) {
11
+ case payment_enums_1.Payment.MethodType.NetBanking:
12
+ return {
13
+ payment_type: paymentMethod.mop.getType(),
14
+ ifsc: paymentMethod.code,
15
+ bankAccount: paymentMethod.value,
16
+ mop: paymentMethod.mop.value,
17
+ vpa: null,
18
+ customer_address: paymentMethod.address,
19
+ customer_email: paymentMethod.email,
20
+ customer_name: paymentMethod.customerName,
21
+ customer_first_name: paymentMethod.customerName,
22
+ customer_phone: this.getUserPhone(paymentMethod, user),
23
+ customer_ip: customerIp,
24
+ };
25
+ case payment_enums_1.Payment.MethodType.Upi:
26
+ return {
27
+ vpa: paymentMethod.value,
28
+ mop: paymentMethod.mop.value,
29
+ payment_type: paymentMethod.mop.getType(),
30
+ ifsc: null,
31
+ bankAccount: null,
32
+ customer_address: paymentMethod.address,
33
+ customer_email: user.email,
34
+ customer_name: paymentMethod.customerName,
35
+ customer_first_name: null,
36
+ recipientPhone: user.phone,
37
+ customer_phone: this.getUserPhone(paymentMethod, user),
38
+ customer_ip: customerIp,
39
+ };
40
+ case payment_enums_1.Payment.MethodType.EWallet:
41
+ return {
42
+ payment_type: paymentMethod.mop.getType(),
43
+ mop: paymentMethod.mop.value,
44
+ ifsc: null,
45
+ bankAccount: null,
46
+ vpa: null,
47
+ customer_address: paymentMethod.address,
48
+ customer_email: user.email,
49
+ customer_name: paymentMethod.customerName,
50
+ customer_first_name: paymentMethod.customerName,
51
+ recipientAddress: paymentMethod.address,
52
+ recipientEmail: paymentMethod.email,
53
+ recipientFirstName: paymentMethod.customerName,
54
+ recipientPhone: user.phone,
55
+ customer_phone: this.getUserPhone(paymentMethod, user),
56
+ customer_ip: customerIp,
57
+ };
58
+ case payment_enums_1.Payment.MethodType.Pix || payment_enums_1.Payment.MethodType.PicPay:
59
+ return {
60
+ payment_type: paymentMethod.mop.getType(),
61
+ mop: paymentMethod.mop.value,
62
+ ifsc: null,
63
+ bankAccount: null,
64
+ vpa: null,
65
+ customer_address: paymentMethod.address,
66
+ customer_email: user.email,
67
+ customer_name: paymentMethod.customerName,
68
+ customer_first_name: paymentMethod.customerName,
69
+ recipientAddress: paymentMethod.address,
70
+ recipientEmail: user.email,
71
+ recipientFirstName: paymentMethod.customerName,
72
+ recipientPhone: user.phone,
73
+ documentId: paymentMethod.value,
74
+ documentType: 'CPF',
75
+ customer_phone: this.getUserPhone(paymentMethod, user),
76
+ customer_ip: customerIp,
77
+ };
78
+ case payment_enums_1.Payment.MethodType.Crypto:
79
+ return {
80
+ mop: paymentMethod.mop.value,
81
+ payment_type: paymentMethod.mop.getType(),
82
+ cryptoAddress: paymentMethod.value,
83
+ document_id: null,
84
+ document_type: null,
85
+ ifsc: null,
86
+ bankAccount: null,
87
+ bankId: null,
88
+ };
89
+ case payment_enums_1.Payment.MethodType.IBAN:
90
+ return {
91
+ mop: paymentMethod.mop.value,
92
+ payment_type: paymentMethod.mop.getType(),
93
+ bankAccount: paymentMethod.value,
94
+ recipientAddress: paymentMethod.address,
95
+ recipientEmail: user.email,
96
+ recipientFirstName: paymentMethod.customerName,
97
+ recipientPhone: this.getUserPhone(paymentMethod, user),
98
+ customer_address: paymentMethod.address,
99
+ customer_email: paymentMethod.email,
100
+ customer_name: paymentMethod.customerName,
101
+ customer_first_name: paymentMethod.customerName,
102
+ customer_phone: this.getUserPhone(paymentMethod, user),
103
+ customer_ip: customerIp,
104
+ };
105
+ case payment_enums_1.Payment.MethodType.MobileMoney:
106
+ case payment_enums_1.Payment.MethodType.BankTransfer:
107
+ case payment_enums_1.Payment.MethodType.CardAfrica:
108
+ return {
109
+ mop: paymentMethod.mop.value,
110
+ payment_type: paymentMethod.mop.getType(),
111
+ bankAccount: paymentMethod.value,
112
+ recipientAddress: paymentMethod.address,
113
+ recipientEmail: user.email,
114
+ recipientFirstName: paymentMethod.customerName,
115
+ recipientPhone: this.getUserPhone(paymentMethod, user),
116
+ customer_address: paymentMethod.address,
117
+ customer_email: paymentMethod.email,
118
+ customer_name: paymentMethod.customerName,
119
+ customer_first_name: paymentMethod.customerName,
120
+ customer_phone: this.getUserPhone(paymentMethod, user),
121
+ customer_ip: customerIp,
122
+ };
123
+ default:
124
+ return {
125
+ payment_type: paymentMethod.mop.getType(),
126
+ mop: paymentMethod.mop.value,
127
+ documentId: this.valueIfTrue(paymentMethod.code, paymentMethod.currency.getName().includes(currency_enum_1.Currency.Name.BRL)),
128
+ documentType: this.valueIfTrue('CPF', paymentMethod.currency.getName().includes(currency_enum_1.Currency.Name.BRL)),
129
+ customer_phone: this.getUserPhone(paymentMethod, user),
130
+ customer_ip: customerIp,
131
+ };
132
+ }
133
+ }
134
+ static getPropertiesForRefill(paymentMethod, user, merchantWalletId) {
135
+ var _a, _b;
136
+ return (0, compact_object_1.compactObject)({
137
+ merchant_wallet_id: merchantWalletId,
138
+ payment_type: paymentMethod.mop.getType(),
139
+ mop: paymentMethod.mop.value,
140
+ vpa: this.valueIfTrue(paymentMethod.code, paymentMethod.methodType === payment_enums_1.Payment.MethodType.Upi),
141
+ ifsc: this.valueIfTrue(paymentMethod.code, paymentMethod.methodType === payment_enums_1.Payment.MethodType.NetBanking),
142
+ upi_number: this.valueIfTrue(paymentMethod.value, paymentMethod.methodType === payment_enums_1.Payment.MethodType.Upi),
143
+ bank_account: this.valueIfTrue(paymentMethod.value, paymentMethod.methodType === payment_enums_1.Payment.MethodType.NetBanking),
144
+ document_id: this.valueIfTrue(paymentMethod.value, (_a = paymentMethod.currency) === null || _a === void 0 ? void 0 : _a.getName().includes(currency_enum_1.Currency.Name.BRL)),
145
+ document_type: this.valueIfTrue('CPF', (_b = paymentMethod.currency) === null || _b === void 0 ? void 0 : _b.getName().includes(currency_enum_1.Currency.Name.BRL)),
146
+ // todo: add additional fields depends on purchase type (next phase)
147
+ customer_address: paymentMethod.address || user.country,
148
+ customer_email: paymentMethod.email || user.email,
149
+ customer_first_name: paymentMethod.customerName || user.firstName,
150
+ customer_phone: this.getUserPhone(paymentMethod, user),
151
+ customer_ip: user.ip,
152
+ });
153
+ }
154
+ static valueIfTrue(value, condition) {
155
+ return condition ? value : undefined;
156
+ }
157
+ static getUserPhone(pm, user) {
158
+ if (pm.phoneNumber)
159
+ return pm.phoneNumber;
160
+ if (user.phone)
161
+ return user.phone;
162
+ // return default phone if not set in user to satisfy tranzzo validation
163
+ const countryCode = pm.currency.getCountryCode();
164
+ return `${countryCode}0000000000`;
165
+ }
166
+ }
167
+ exports.PaymentRequestUtils = PaymentRequestUtils;
168
+ //# sourceMappingURL=payment-request-utils.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payment-request-utils.js","sourceRoot":"","sources":["../../../../libs/gg-toolkit/util/payment-request-utils.ts"],"names":[],"mappings":"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"}