@smartsoft001/payu 1.1.72 → 1.1.77

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/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@smartsoft001/payu",
3
- "version": "1.1.72",
3
+ "version": "1.1.77",
4
4
  "description": "This library was generated with [Nx](https://nx.dev).",
5
5
  "repository": {
6
6
  "type": "git",
@@ -13,28 +13,28 @@
13
13
  },
14
14
  "homepage": "https://github.com/emiljuchnikowski/smartsoft#readme",
15
15
  "dependencies": {
16
- "@angular/common": "15.1.1",
17
- "@angular/core": "15.1.1",
18
- "@angular/platform-browser-dynamic": "15.1.1",
19
- "@nestjs/axios": "^0.1.0",
20
- "@nestjs/common": "9.4.0",
21
- "@nestjs/core": "9.4.0",
16
+ "@angular/common": "16.1.3",
17
+ "@angular/core": "16.1.3",
18
+ "@angular/platform-browser-dynamic": "16.1.3",
19
+ "@nestjs/axios": "3.0.0",
20
+ "@nestjs/common": "^10.0.5",
21
+ "@nestjs/core": "^10.0.5",
22
22
  "flatted": "^3.2.4",
23
23
  "guid-typescript": "1.0.9",
24
24
  "lodash": "^4.17.20",
25
25
  "md5": "2.3.0",
26
26
  "reflect-metadata": "0.1.13",
27
27
  "rxjs": "7.8.1",
28
- "typeorm": "0.2.29"
28
+ "typeorm": "0.3.17"
29
29
  },
30
30
  "peerDependencies": {
31
- "@smartsoft001/domain-core": "1.1.72",
32
- "@smartsoft001/models": "1.1.72",
33
- "@smartsoft001/trans-domain": "1.1.72",
34
- "@smartsoft001/users": "1.1.72",
35
- "@smartsoft001/utils": "1.1.72",
31
+ "@smartsoft001/domain-core": "1.1.77",
32
+ "@smartsoft001/models": "1.1.77",
33
+ "@smartsoft001/trans-domain": "1.1.77",
34
+ "@smartsoft001/users": "1.1.77",
35
+ "@smartsoft001/utils": "1.1.77",
36
36
  "util": "0.12.5",
37
- "tslib": "2.4.1"
37
+ "tslib": "2.5.3"
38
38
  },
39
39
  "main": "./src/index.js",
40
40
  "types": "./src/index.d.ts"
@@ -7,106 +7,48 @@ const common_1 = require("@nestjs/common");
7
7
  const core_1 = require("@nestjs/core");
8
8
  const axios_1 = require("@nestjs/axios");
9
9
  const payu_config_1 = require("./payu.config");
10
- let PayuService = PayuService_1 = class PayuService {
10
+ let PayuService = exports.PayuService = PayuService_1 = class PayuService {
11
11
  constructor(httpService, config, moduleRef) {
12
12
  this.httpService = httpService;
13
13
  this.config = config;
14
14
  this.moduleRef = moduleRef;
15
15
  }
16
- create(obj) {
17
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
18
- const config = yield this.getConfig(obj.data);
19
- const token = yield this.getToken(config);
20
- const data = {
21
- customerIp: obj.clientIp,
22
- extOrderId: obj.id,
23
- merchantPosId: config.posId,
24
- description: obj.name,
25
- currencyCode: "PLN",
26
- totalAmount: obj.amount,
27
- notifyUrl: config.notifyUrl,
28
- continueUrl: config.continueUrl,
29
- products: [
30
- {
31
- name: obj.name,
32
- unitPrice: obj.amount,
33
- quantity: "1",
34
- },
35
- ],
36
- };
37
- if (obj.options && obj.options["payMethod"]) {
38
- data["payMethods"] = {
39
- payMethod: obj.options["payMethod"],
40
- };
41
- }
42
- if (obj.contactPhone || obj.email || obj.firstName || obj.lastName) {
43
- data["buyer"] = {
44
- email: obj.email,
45
- phone: obj.contactPhone,
46
- firstName: obj.firstName,
47
- lastName: obj.lastName,
48
- };
49
- }
50
- try {
51
- yield this.httpService
52
- .post(this.getBaseUrl(config) + "/api/v2_1/orders", data, {
53
- headers: {
54
- "Content-Type": "application/json",
55
- Authorization: "Bearer " + token,
56
- "X-Requested-With": "XMLHttpRequest",
57
- },
58
- maxRedirects: 0,
59
- })
60
- .toPromise();
61
- return null;
62
- }
63
- catch (e) {
64
- if (e.response && e.response.status === 302) {
65
- return {
66
- redirectUrl: e.response.data.redirectUri,
67
- orderId: e.response.data.orderId,
68
- };
69
- }
70
- console.error(e);
71
- throw e;
72
- }
73
- });
74
- }
75
- getStatus(trans) {
76
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
77
- const orderId = this.getOrderId(trans);
78
- const config = yield this.getConfig(trans.data);
79
- const token = yield this.getToken(config);
80
- const response = yield this.httpService
81
- .get(this.getBaseUrl(config) + "/api/v2_1/orders/" + orderId, {
82
- headers: {
83
- "Content-Type": "application/json",
84
- Authorization: "Bearer " + token,
85
- "X-Requested-With": "XMLHttpRequest",
16
+ async create(obj) {
17
+ const config = await this.getConfig(obj.data);
18
+ const token = await this.getToken(config);
19
+ const data = {
20
+ customerIp: obj.clientIp,
21
+ extOrderId: obj.id,
22
+ merchantPosId: config.posId,
23
+ description: obj.name,
24
+ currencyCode: "PLN",
25
+ totalAmount: obj.amount,
26
+ notifyUrl: config.notifyUrl,
27
+ continueUrl: config.continueUrl,
28
+ products: [
29
+ {
30
+ name: obj.name,
31
+ unitPrice: obj.amount,
32
+ quantity: "1",
86
33
  },
87
- maxRedirects: 0,
88
- })
89
- .toPromise();
90
- if (!response.data.orders)
91
- return null;
92
- const order = response.data.orders[0];
93
- return {
94
- status: this.getStatusFromExternal(order.status),
95
- data: order,
34
+ ],
35
+ };
36
+ if (obj.options && obj.options["payMethod"]) {
37
+ data["payMethods"] = {
38
+ payMethod: obj.options["payMethod"],
96
39
  };
97
- });
98
- }
99
- refund(trans, comment) {
100
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
101
- const orderId = this.getOrderId(trans);
102
- const config = yield this.getConfig(trans.data);
103
- const token = yield this.getToken(config);
104
- const response = yield this.httpService
105
- .post(this.getBaseUrl(config) + "/api/v2_1/orders/" + orderId, {
106
- refund: {
107
- description: comment,
108
- },
109
- }, {
40
+ }
41
+ if (obj.contactPhone || obj.email || obj.firstName || obj.lastName) {
42
+ data["buyer"] = {
43
+ email: obj.email,
44
+ phone: obj.contactPhone,
45
+ firstName: obj.firstName,
46
+ lastName: obj.lastName,
47
+ };
48
+ }
49
+ try {
50
+ await this.httpService
51
+ .post(this.getBaseUrl(config) + "/api/v2_1/orders", data, {
110
52
  headers: {
111
53
  "Content-Type": "application/json",
112
54
  Authorization: "Bearer " + token,
@@ -115,8 +57,60 @@ let PayuService = PayuService_1 = class PayuService {
115
57
  maxRedirects: 0,
116
58
  })
117
59
  .toPromise();
118
- return response.data;
119
- });
60
+ return null;
61
+ }
62
+ catch (e) {
63
+ if (e.response && e.response.status === 302) {
64
+ return {
65
+ redirectUrl: e.response.data.redirectUri,
66
+ orderId: e.response.data.orderId,
67
+ };
68
+ }
69
+ console.error(e);
70
+ throw e;
71
+ }
72
+ }
73
+ async getStatus(trans) {
74
+ const orderId = this.getOrderId(trans);
75
+ const config = await this.getConfig(trans.data);
76
+ const token = await this.getToken(config);
77
+ const response = await this.httpService
78
+ .get(this.getBaseUrl(config) + "/api/v2_1/orders/" + orderId, {
79
+ headers: {
80
+ "Content-Type": "application/json",
81
+ Authorization: "Bearer " + token,
82
+ "X-Requested-With": "XMLHttpRequest",
83
+ },
84
+ maxRedirects: 0,
85
+ })
86
+ .toPromise();
87
+ if (!response.data.orders)
88
+ return null;
89
+ const order = response.data.orders[0];
90
+ return {
91
+ status: this.getStatusFromExternal(order.status),
92
+ data: order,
93
+ };
94
+ }
95
+ async refund(trans, comment) {
96
+ const orderId = this.getOrderId(trans);
97
+ const config = await this.getConfig(trans.data);
98
+ const token = await this.getToken(config);
99
+ const response = await this.httpService
100
+ .post(this.getBaseUrl(config) + "/api/v2_1/orders/" + orderId, {
101
+ refund: {
102
+ description: comment,
103
+ },
104
+ }, {
105
+ headers: {
106
+ "Content-Type": "application/json",
107
+ Authorization: "Bearer " + token,
108
+ "X-Requested-With": "XMLHttpRequest",
109
+ },
110
+ maxRedirects: 0,
111
+ })
112
+ .toPromise();
113
+ return response.data;
120
114
  }
121
115
  getOrderId(trans) {
122
116
  const historyItem = trans.history.find((x) => x.status === "started");
@@ -126,35 +120,31 @@ let PayuService = PayuService_1 = class PayuService {
126
120
  }
127
121
  return historyItem.data.orderId;
128
122
  }
129
- getToken(config) {
130
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
131
- try {
132
- const response = yield this.httpService
133
- .post(this.getBaseUrl(config) + "/pl/standard/user/oauth/authorize", `grant_type=client_credentials&client_id=${config.clientId}&client_secret=${config.clientSecret}`)
134
- .toPromise();
135
- return response.data["access_token"];
136
- }
137
- catch (e) {
138
- console.error({
139
- url: this.getBaseUrl(config) + "/pl/standard/user/oauth/authorize",
140
- data: `grant_type=client_credentials&client_id=${config.clientId}&client_secret=${config.clientSecret}`,
141
- ex: e,
142
- });
143
- throw e;
144
- }
145
- });
123
+ async getToken(config) {
124
+ try {
125
+ const response = await this.httpService
126
+ .post(this.getBaseUrl(config) + "/pl/standard/user/oauth/authorize", `grant_type=client_credentials&client_id=${config.clientId}&client_secret=${config.clientSecret}`)
127
+ .toPromise();
128
+ return response.data["access_token"];
129
+ }
130
+ catch (e) {
131
+ console.error({
132
+ url: this.getBaseUrl(config) + "/pl/standard/user/oauth/authorize",
133
+ data: `grant_type=client_credentials&client_id=${config.clientId}&client_secret=${config.clientSecret}`,
134
+ ex: e,
135
+ });
136
+ throw e;
137
+ }
146
138
  }
147
- getConfig(data) {
148
- return tslib_1.__awaiter(this, void 0, void 0, function* () {
149
- try {
150
- const provider = this.moduleRef.get(payu_config_1.PAYU_CONFIG_PROVIDER, { strict: false });
151
- return yield provider.get(data);
152
- }
153
- catch (e) {
154
- common_1.Logger.warn("PayPal config provider not found", PayuService_1.name);
155
- }
156
- return this.config;
157
- });
139
+ async getConfig(data) {
140
+ try {
141
+ const provider = this.moduleRef.get(payu_config_1.PAYU_CONFIG_PROVIDER, { strict: false });
142
+ return await provider.get(data);
143
+ }
144
+ catch (e) {
145
+ common_1.Logger.warn("PayPal config provider not found", PayuService_1.name);
146
+ }
147
+ return this.config;
158
148
  }
159
149
  getBaseUrl(config) {
160
150
  if (config.test)
@@ -174,11 +164,10 @@ let PayuService = PayuService_1 = class PayuService {
174
164
  }
175
165
  }
176
166
  };
177
- PayuService = PayuService_1 = tslib_1.__decorate([
167
+ exports.PayuService = PayuService = PayuService_1 = tslib_1.__decorate([
178
168
  (0, common_1.Injectable)(),
179
169
  tslib_1.__metadata("design:paramtypes", [axios_1.HttpService,
180
170
  payu_config_1.PayuConfig,
181
171
  core_1.ModuleRef])
182
172
  ], PayuService);
183
- exports.PayuService = PayuService;
184
173
  //# sourceMappingURL=payu.service.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"payu.service.js","sourceRoot":"","sources":["../../../../../../libs/shared/payu/src/lib/payu.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"payu.service.js","sourceRoot":"","sources":["../../../../../../libs/shared/payu/src/lib/payu.service.ts"],"names":[],"mappings":"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"}