node-paytmpg 6.4.6 → 7.0.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.
- package/README.MD +132 -182
- package/app/views/layouts/index.hbs +7 -7
- package/app/views/result.hbs +1 -1
- package/dist/app/controllers/adapters/open_money.js +400 -0
- package/dist/app/controllers/adapters/paytm.js +34 -0
- package/{app → dist/app}/controllers/adapters/payu.js +208 -239
- package/dist/app/controllers/checksum/PaytmChecksum.js +118 -0
- package/dist/app/controllers/checksum/checksum.js +158 -0
- package/dist/app/controllers/checksum/crypt.js +117 -0
- package/dist/app/controllers/checksum/server.js +130 -0
- package/dist/app/controllers/payment.controller.js +985 -0
- package/dist/app/controllers/static/loadingsvg.js +54 -0
- package/dist/app/controllers/user.controller.js +53 -0
- package/dist/app/models/index.js +2 -0
- package/dist/app/routes/payment_route.js +46 -0
- package/dist/app/utils/buildConfig.js +210 -0
- package/dist/app/utils/utils.js +20 -0
- package/dist/app/views/home.hbs +22 -0
- package/dist/app/views/init.hbs +98 -0
- package/dist/app/views/layouts/index.hbs +53 -0
- package/dist/app/views/result.hbs +33 -0
- package/dist/index.js +119 -0
- package/dist/package.json +67 -0
- package/dist/public/css/style.css +455 -0
- package/dist/public/js/index.js +283 -0
- package/dist/public/layer_checkout.js +38 -0
- package/dist/public/pay.png +0 -0
- package/dist/public/start.png +0 -0
- package/dist/public/start2.png +0 -0
- package/dist/public/stat.png +0 -0
- package/dist/public/test.html +24 -0
- package/dist/public/test.html~ +24 -0
- package/package.json +29 -6
- package/public/test.html~ +24 -0
- package/.github/workflows/codeql-analysis.yml +0 -71
- package/.github/workflows/nodejs.yml +0 -24
- package/.github/workflows/npm-publish.yml +0 -23
- package/Dockerfile +0 -9
- package/app/controllers/adapters/open_money.js +0 -515
- package/app/controllers/checksum/PaytmChecksum.js +0 -94
- package/app/controllers/checksum/checksum.js +0 -154
- package/app/controllers/checksum/crypt.js +0 -98
- package/app/controllers/checksum/server.js +0 -132
- package/app/controllers/np_user.controller.js +0 -89
- package/app/controllers/payment_controller.js +0 -1204
- package/app/models/np_multidbplugin.js +0 -111
- package/app/models/np_transaction.model.js +0 -16
- package/app/models/np_user.model.js +0 -12
- package/app/routes/payment_route.js +0 -73
- package/app.yaml +0 -18
- package/example.js +0 -34
- package/index.js +0 -86
- package/lib/config/buildConfig.js +0 -113
- package/lib/config/defaults.js +0 -37
- package/lib/config/validator.js +0 -103
- package/lib/services/database.service.js +0 -153
- package/lib/utils/id-generator.js +0 -30
- package/lib/utils/sanitizer.js +0 -25
|
@@ -0,0 +1,283 @@
|
|
|
1
|
+
/******/ (function(modules) { // webpackBootstrap
|
|
2
|
+
/******/ // The module cache
|
|
3
|
+
/******/ var installedModules = {};
|
|
4
|
+
|
|
5
|
+
/******/ // The require function
|
|
6
|
+
/******/ function __webpack_require__(moduleId) {
|
|
7
|
+
|
|
8
|
+
/******/ // Check if module is in cache
|
|
9
|
+
/******/ if(installedModules[moduleId])
|
|
10
|
+
/******/ return installedModules[moduleId].exports;
|
|
11
|
+
|
|
12
|
+
/******/ // Create a new module (and put it into the cache)
|
|
13
|
+
/******/ var module = installedModules[moduleId] = {
|
|
14
|
+
/******/ exports: {},
|
|
15
|
+
/******/ id: moduleId,
|
|
16
|
+
/******/ loaded: false
|
|
17
|
+
/******/ };
|
|
18
|
+
|
|
19
|
+
/******/ // Execute the module function
|
|
20
|
+
/******/ modules[moduleId].call(module.exports, module, module.exports, __webpack_require__);
|
|
21
|
+
|
|
22
|
+
/******/ // Flag the module as loaded
|
|
23
|
+
/******/ module.loaded = true;
|
|
24
|
+
|
|
25
|
+
/******/ // Return the exports of the module
|
|
26
|
+
/******/ return module.exports;
|
|
27
|
+
/******/ }
|
|
28
|
+
|
|
29
|
+
|
|
30
|
+
/******/ // expose the modules object (__webpack_modules__)
|
|
31
|
+
/******/ __webpack_require__.m = modules;
|
|
32
|
+
|
|
33
|
+
/******/ // expose the module cache
|
|
34
|
+
/******/ __webpack_require__.c = installedModules;
|
|
35
|
+
|
|
36
|
+
/******/ // __webpack_public_path__
|
|
37
|
+
/******/ __webpack_require__.p = "/scripts/dist/";
|
|
38
|
+
|
|
39
|
+
/******/ // Load entry module and return exports
|
|
40
|
+
/******/ return __webpack_require__(0);
|
|
41
|
+
/******/ })
|
|
42
|
+
/************************************************************************/
|
|
43
|
+
/******/ ([
|
|
44
|
+
/* 0 */
|
|
45
|
+
/***/ function(module, exports, __webpack_require__) {
|
|
46
|
+
|
|
47
|
+
__webpack_require__(1);
|
|
48
|
+
|
|
49
|
+
|
|
50
|
+
/***/ },
|
|
51
|
+
/* 1 */
|
|
52
|
+
/***/ function(module, exports, __webpack_require__) {
|
|
53
|
+
|
|
54
|
+
'use strict';
|
|
55
|
+
|
|
56
|
+
var _creditCardType = __webpack_require__(2);
|
|
57
|
+
|
|
58
|
+
var _creditCardType2 = _interopRequireDefault(_creditCardType);
|
|
59
|
+
|
|
60
|
+
function _interopRequireDefault(obj) { return obj && obj.__esModule ? obj : { default: obj }; }
|
|
61
|
+
|
|
62
|
+
$(document).on('input change', '#input--cc input', function () {
|
|
63
|
+
var ccNum = $(this).val();
|
|
64
|
+
var ccType = (0, _creditCardType2.default)(ccNum);
|
|
65
|
+
|
|
66
|
+
if (!ccNum.length || typeof ccType === "undefined" || !ccType.length) {
|
|
67
|
+
$('#input--cc').removeClass().addClass('creditcard-icon');
|
|
68
|
+
return;
|
|
69
|
+
}
|
|
70
|
+
|
|
71
|
+
var creditcardType = ccType[0].type;
|
|
72
|
+
|
|
73
|
+
var ccTypes = {
|
|
74
|
+
'american-express': 'AE',
|
|
75
|
+
'master-card': 'MC',
|
|
76
|
+
'visa': 'VI',
|
|
77
|
+
'discover': 'DI'
|
|
78
|
+
};
|
|
79
|
+
|
|
80
|
+
$('#input--cc').removeClass().addClass('creditcard-icon').addClass('creditcard-icon--' + creditcardType); //set creditcard icon
|
|
81
|
+
|
|
82
|
+
// select creditcard type
|
|
83
|
+
$(".creditcard-type > select").val(ccTypes[creditcardType]);
|
|
84
|
+
// set the creditcard type <select> to the value entered
|
|
85
|
+
});
|
|
86
|
+
|
|
87
|
+
/***/ },
|
|
88
|
+
/* 2 */
|
|
89
|
+
/***/ function(module, exports) {
|
|
90
|
+
|
|
91
|
+
'use strict';
|
|
92
|
+
|
|
93
|
+
var types = {};
|
|
94
|
+
var VISA = 'visa';
|
|
95
|
+
var MASTERCARD = 'master-card';
|
|
96
|
+
var AMERICAN_EXPRESS = 'american-express';
|
|
97
|
+
var DINERS_CLUB = 'diners-club';
|
|
98
|
+
var DISCOVER = 'discover';
|
|
99
|
+
var JCB = 'jcb';
|
|
100
|
+
var UNIONPAY = 'unionpay';
|
|
101
|
+
var MAESTRO = 'maestro';
|
|
102
|
+
var CVV = 'CVV';
|
|
103
|
+
var CID = 'CID';
|
|
104
|
+
var CVC = 'CVC';
|
|
105
|
+
var CVN = 'CVN';
|
|
106
|
+
var testOrder = [
|
|
107
|
+
VISA,
|
|
108
|
+
MASTERCARD,
|
|
109
|
+
AMERICAN_EXPRESS,
|
|
110
|
+
DINERS_CLUB,
|
|
111
|
+
DISCOVER,
|
|
112
|
+
JCB,
|
|
113
|
+
UNIONPAY,
|
|
114
|
+
MAESTRO
|
|
115
|
+
];
|
|
116
|
+
|
|
117
|
+
function clone(x) {
|
|
118
|
+
var prefixPattern, exactPattern, dupe;
|
|
119
|
+
|
|
120
|
+
if (!x) { return null; }
|
|
121
|
+
|
|
122
|
+
prefixPattern = x.prefixPattern.source;
|
|
123
|
+
exactPattern = x.exactPattern.source;
|
|
124
|
+
dupe = JSON.parse(JSON.stringify(x));
|
|
125
|
+
dupe.prefixPattern = prefixPattern;
|
|
126
|
+
dupe.exactPattern = exactPattern;
|
|
127
|
+
|
|
128
|
+
return dupe;
|
|
129
|
+
}
|
|
130
|
+
|
|
131
|
+
types[VISA] = {
|
|
132
|
+
niceType: 'Visa',
|
|
133
|
+
type: VISA,
|
|
134
|
+
prefixPattern: /^4$/,
|
|
135
|
+
exactPattern: /^4\d*$/,
|
|
136
|
+
gaps: [4, 8, 12],
|
|
137
|
+
lengths: [16],
|
|
138
|
+
code: {
|
|
139
|
+
name: CVV,
|
|
140
|
+
size: 3
|
|
141
|
+
}
|
|
142
|
+
};
|
|
143
|
+
|
|
144
|
+
types[MASTERCARD] = {
|
|
145
|
+
niceType: 'MasterCard',
|
|
146
|
+
type: MASTERCARD,
|
|
147
|
+
prefixPattern: /^(5|5[1-5]|2|22|222|222[1-9]|2[3-6]|27[0-1]|2720)$/,
|
|
148
|
+
exactPattern: /^(5[1-5]|222[1-9]|2[3-6]|27[0-1]|2720)\d*$/,
|
|
149
|
+
gaps: [4, 8, 12],
|
|
150
|
+
lengths: [16],
|
|
151
|
+
code: {
|
|
152
|
+
name: CVC,
|
|
153
|
+
size: 3
|
|
154
|
+
}
|
|
155
|
+
};
|
|
156
|
+
|
|
157
|
+
types[AMERICAN_EXPRESS] = {
|
|
158
|
+
niceType: 'American Express',
|
|
159
|
+
type: AMERICAN_EXPRESS,
|
|
160
|
+
prefixPattern: /^(3|34|37)$/,
|
|
161
|
+
exactPattern: /^3[47]\d*$/,
|
|
162
|
+
isAmex: true,
|
|
163
|
+
gaps: [4, 10],
|
|
164
|
+
lengths: [15],
|
|
165
|
+
code: {
|
|
166
|
+
name: CID,
|
|
167
|
+
size: 4
|
|
168
|
+
}
|
|
169
|
+
};
|
|
170
|
+
|
|
171
|
+
types[DINERS_CLUB] = {
|
|
172
|
+
niceType: 'Diners Club',
|
|
173
|
+
type: DINERS_CLUB,
|
|
174
|
+
prefixPattern: /^(3|3[0689]|30[0-5])$/,
|
|
175
|
+
exactPattern: /^3(0[0-5]|[689])\d*$/,
|
|
176
|
+
gaps: [4, 10],
|
|
177
|
+
lengths: [14],
|
|
178
|
+
code: {
|
|
179
|
+
name: CVV,
|
|
180
|
+
size: 3
|
|
181
|
+
}
|
|
182
|
+
};
|
|
183
|
+
|
|
184
|
+
types[DISCOVER] = {
|
|
185
|
+
niceType: 'Discover',
|
|
186
|
+
type: DISCOVER,
|
|
187
|
+
prefixPattern: /^(6|60|601|6011|65|64|64[4-9])$/,
|
|
188
|
+
exactPattern: /^(6011|65|64[4-9])\d*$/,
|
|
189
|
+
gaps: [4, 8, 12],
|
|
190
|
+
lengths: [16, 19],
|
|
191
|
+
code: {
|
|
192
|
+
name: CID,
|
|
193
|
+
size: 3
|
|
194
|
+
}
|
|
195
|
+
};
|
|
196
|
+
|
|
197
|
+
types[JCB] = {
|
|
198
|
+
niceType: 'JCB',
|
|
199
|
+
type: JCB,
|
|
200
|
+
prefixPattern: /^(2|21|213|2131|1|18|180|1800|3|35)$/,
|
|
201
|
+
exactPattern: /^(2131|1800|35)\d*$/,
|
|
202
|
+
gaps: [4, 8, 12],
|
|
203
|
+
lengths: [16],
|
|
204
|
+
code: {
|
|
205
|
+
name: CVV,
|
|
206
|
+
size: 3
|
|
207
|
+
}
|
|
208
|
+
};
|
|
209
|
+
|
|
210
|
+
types[UNIONPAY] = {
|
|
211
|
+
niceType: 'UnionPay',
|
|
212
|
+
type: UNIONPAY,
|
|
213
|
+
prefixPattern: /^(6|62)$/,
|
|
214
|
+
exactPattern: /^62\d*$/,
|
|
215
|
+
gaps: [4, 8, 12],
|
|
216
|
+
lengths: [16, 17, 18, 19],
|
|
217
|
+
code: {
|
|
218
|
+
name: CVN,
|
|
219
|
+
size: 3
|
|
220
|
+
}
|
|
221
|
+
};
|
|
222
|
+
|
|
223
|
+
types[MAESTRO] = {
|
|
224
|
+
niceType: 'Maestro',
|
|
225
|
+
type: MAESTRO,
|
|
226
|
+
prefixPattern: /^(5|5[06-9]|6\d*)$/,
|
|
227
|
+
exactPattern: /^5[06-9]\d*$/,
|
|
228
|
+
gaps: [4, 8, 12],
|
|
229
|
+
lengths: [12, 13, 14, 15, 16, 17, 18, 19],
|
|
230
|
+
code: {
|
|
231
|
+
name: CVC,
|
|
232
|
+
size: 3
|
|
233
|
+
}
|
|
234
|
+
};
|
|
235
|
+
|
|
236
|
+
function creditCardType(cardNumber) {
|
|
237
|
+
var type, value, i;
|
|
238
|
+
var prefixResults = [];
|
|
239
|
+
var exactResults = [];
|
|
240
|
+
|
|
241
|
+
if (!(typeof cardNumber === 'string' || cardNumber instanceof String)) {
|
|
242
|
+
return [];
|
|
243
|
+
}
|
|
244
|
+
|
|
245
|
+
for (i = 0; i < testOrder.length; i++) {
|
|
246
|
+
type = testOrder[i];
|
|
247
|
+
value = types[type];
|
|
248
|
+
|
|
249
|
+
if (cardNumber.length === 0) {
|
|
250
|
+
prefixResults.push(clone(value));
|
|
251
|
+
continue;
|
|
252
|
+
}
|
|
253
|
+
|
|
254
|
+
if (value.exactPattern.test(cardNumber)) {
|
|
255
|
+
exactResults.push(clone(value));
|
|
256
|
+
} else if (value.prefixPattern.test(cardNumber)) {
|
|
257
|
+
prefixResults.push(clone(value));
|
|
258
|
+
}
|
|
259
|
+
}
|
|
260
|
+
|
|
261
|
+
return exactResults.length ? exactResults : prefixResults;
|
|
262
|
+
}
|
|
263
|
+
|
|
264
|
+
creditCardType.getTypeInfo = function (type) {
|
|
265
|
+
return clone(types[type]);
|
|
266
|
+
};
|
|
267
|
+
|
|
268
|
+
creditCardType.types = {
|
|
269
|
+
VISA: VISA,
|
|
270
|
+
MASTERCARD: MASTERCARD,
|
|
271
|
+
AMERICAN_EXPRESS: AMERICAN_EXPRESS,
|
|
272
|
+
DINERS_CLUB: DINERS_CLUB,
|
|
273
|
+
DISCOVER: DISCOVER,
|
|
274
|
+
JCB: JCB,
|
|
275
|
+
UNIONPAY: UNIONPAY,
|
|
276
|
+
MAESTRO: MAESTRO
|
|
277
|
+
};
|
|
278
|
+
|
|
279
|
+
module.exports = creditCardType;
|
|
280
|
+
|
|
281
|
+
|
|
282
|
+
/***/ }
|
|
283
|
+
/******/ ]);
|
|
@@ -0,0 +1,38 @@
|
|
|
1
|
+
function triggerLayer() {
|
|
2
|
+
|
|
3
|
+
Layer.checkout(
|
|
4
|
+
{
|
|
5
|
+
token: layer_params.payment_token_id,
|
|
6
|
+
accesskey: layer_params.accesskey,
|
|
7
|
+
},
|
|
8
|
+
function (response) {
|
|
9
|
+
console.log(response)
|
|
10
|
+
if(response !== null || response.length > 0 ){
|
|
11
|
+
|
|
12
|
+
if(response.payment_id !== undefined){
|
|
13
|
+
|
|
14
|
+
document.getElementById('layer_payment_id').value = response.payment_id;
|
|
15
|
+
|
|
16
|
+
}
|
|
17
|
+
|
|
18
|
+
}
|
|
19
|
+
|
|
20
|
+
document.layer_payment_int_form.submit();
|
|
21
|
+
},
|
|
22
|
+
function (err) {
|
|
23
|
+
alert(err.message);
|
|
24
|
+
}
|
|
25
|
+
);
|
|
26
|
+
}
|
|
27
|
+
/*
|
|
28
|
+
var checkExist = setInterval(function() {
|
|
29
|
+
if (typeof Layer !== 'undefined') {
|
|
30
|
+
console.log('Layer Loaded...');
|
|
31
|
+
clearInterval(checkExist);
|
|
32
|
+
triggerLayer();
|
|
33
|
+
}
|
|
34
|
+
else {
|
|
35
|
+
console.log('Layer undefined...');
|
|
36
|
+
}
|
|
37
|
+
}, 1000);
|
|
38
|
+
*/
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
Binary file
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Merchant Checkout Page</title>
|
|
4
|
+
</head>
|
|
5
|
+
<body>
|
|
6
|
+
<center>
|
|
7
|
+
<h1>Please do not refresh this page...</h1>
|
|
8
|
+
</center>
|
|
9
|
+
<form method="post" action="https://securegw-stage.paytm.in/theia/processTransaction" name="f1">
|
|
10
|
+
<input type='hidden' name="MID" value="hLhnoB95547314388857" >
|
|
11
|
+
<input type='hidden' name='WEBSITE' value='WEBSTAGING' >
|
|
12
|
+
<input type='hidden' name='CHANNEL_ID' value='WEB' >
|
|
13
|
+
<input type='hidden' name='INDUSTRY_TYPE_ID' value='Retail' >
|
|
14
|
+
<input type='hidden' name='ORDER_ID' value='TEST_1553329704394' >
|
|
15
|
+
<input type='hidden' name='CUST_ID' value='Customer001' >
|
|
16
|
+
<input type='hidden' name='TXN_AMOUNT' value='1.00' >
|
|
17
|
+
<input type='hidden' name='CALLBACK_URL' value='http://localhost:8080/callback' >
|
|
18
|
+
<input type='hidden' name='EMAIL' value='abc@mailinator.com' >
|
|
19
|
+
<input type='hidden' name='MOBILE_NO' value='7777777777' >
|
|
20
|
+
<input type='hidden' name='CHECKSUMHASH' value='0r5cJsaATkKlwXXudTZw4HxV+FryGeXcrXWK7EDXBOl43U/HATeYtYTvpwwdq2hplXA6qnRgfrGDnLeKgtfENrZ5SB0uHyjOzOP7esQRpW0=' >
|
|
21
|
+
</form>
|
|
22
|
+
<script type="text/javascript">document.f1.submit();</script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Merchant Checkout Page</title>
|
|
4
|
+
</head>
|
|
5
|
+
<body>
|
|
6
|
+
<center>
|
|
7
|
+
<h1>Please do not refresh this page...</h1>
|
|
8
|
+
</center>
|
|
9
|
+
<form method="post" action="https://securegw-stage.paytm.in/theia/processTransaction" name="f1">
|
|
10
|
+
<input type='hidden' name="MID" value="hLhnoB95547314388857" >
|
|
11
|
+
<input type='hidden' name='WEBSITE' value='WEBSTAGING' >
|
|
12
|
+
<input type='hidden' name='CHANNEL_ID' value='WEB' >
|
|
13
|
+
<input type='hidden' name='INDUSTRY_TYPE_ID' value='Retail' >
|
|
14
|
+
<input type='hidden' name='ORDER_ID' value='TEST_1553329704394' >
|
|
15
|
+
<input type='hidden' name='CUST_ID' value='Customer001' >
|
|
16
|
+
<input type='hidden' name='TXN_AMOUNT' value='1.00' >
|
|
17
|
+
<input type='hidden' name='CALLBACK_URL' value='http://localhost:8080/callback' >
|
|
18
|
+
<input type='hidden' name='EMAIL' value='abc@mailinator.com' >
|
|
19
|
+
<input type='hidden' name='MOBILE_NO' value='7777777777' >
|
|
20
|
+
<input type='hidden' name='CHECKSUMHASH' value='0r5cJsaATkKlwXXudTZw4HxV+FryGeXcrXWK7EDXBOl43U/HATeYtYTvpwwdq2hplXA6qnRgfrGDnLeKgtfENrZ5SB0uHyjOzOP7esQRpW0=' >
|
|
21
|
+
</form>
|
|
22
|
+
<script type="text/javascript">document.f1.submit();</script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
package/package.json
CHANGED
|
@@ -1,10 +1,17 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "node-paytmpg",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "7.0.1",
|
|
4
4
|
"description": "Payment Gateway Integration using NodeJS",
|
|
5
|
-
"main": "index.js",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
6
|
"scripts": {
|
|
7
|
-
"start": "node example.js"
|
|
7
|
+
"start": "node example.js",
|
|
8
|
+
"clean": "node -e \"require('fs').rmSync('dist', { recursive: true, force: true })\"",
|
|
9
|
+
"build:ts": "tsc -p tsconfig.json",
|
|
10
|
+
"copy:views": "copyfiles -u 1 \"app/views/**/*\" dist/app",
|
|
11
|
+
"copy:public": "copyfiles -u 1 \"public/**/*\" dist/public",
|
|
12
|
+
"build": "npm-run-all clean build:ts copy:views copy:public",
|
|
13
|
+
"prepare": "npm run build",
|
|
14
|
+
"prepublishOnly": "npm run build"
|
|
8
15
|
},
|
|
9
16
|
"repository": {
|
|
10
17
|
"type": "git",
|
|
@@ -27,12 +34,12 @@
|
|
|
27
34
|
},
|
|
28
35
|
"homepage": "https://github.com/shiveshnavin/node_paytm#readme",
|
|
29
36
|
"dependencies": {
|
|
30
|
-
"axios": "^1.
|
|
37
|
+
"axios": "^1.13.5",
|
|
31
38
|
"body-parser": "^1.18.3",
|
|
32
39
|
"crypto": "^1.0.1",
|
|
33
40
|
"dotenv": "^17.2.3",
|
|
34
41
|
"express": "^4.16.4",
|
|
35
|
-
"express-handlebars": "^3.0
|
|
42
|
+
"express-handlebars": "^3.1.0",
|
|
36
43
|
"mongoose": "^5.4.16",
|
|
37
44
|
"multi-db-orm": "^3.1.0",
|
|
38
45
|
"nodejs-base64-converter": "^1.0.5",
|
|
@@ -40,5 +47,21 @@
|
|
|
40
47
|
"request": "^2.88.0",
|
|
41
48
|
"sqlite3": "^5.1.7",
|
|
42
49
|
"util": "^0.11.1"
|
|
43
|
-
}
|
|
50
|
+
},
|
|
51
|
+
"devDependencies": {
|
|
52
|
+
"@types/express": "^5.0.6",
|
|
53
|
+
"@types/express-handlebars": "^5.3.1",
|
|
54
|
+
"@types/node": "^24.6.1",
|
|
55
|
+
"copyfiles": "^2.4.1",
|
|
56
|
+
"firebase-admin": "^13.6.1",
|
|
57
|
+
"npm-run-all": "^4.1.5",
|
|
58
|
+
"typescript": "^5.9.3"
|
|
59
|
+
},
|
|
60
|
+
"files": [
|
|
61
|
+
"dist",
|
|
62
|
+
"public",
|
|
63
|
+
"app/views",
|
|
64
|
+
"README.MD",
|
|
65
|
+
"LICENSE"
|
|
66
|
+
]
|
|
44
67
|
}
|
|
@@ -0,0 +1,24 @@
|
|
|
1
|
+
<html>
|
|
2
|
+
<head>
|
|
3
|
+
<title>Merchant Checkout Page</title>
|
|
4
|
+
</head>
|
|
5
|
+
<body>
|
|
6
|
+
<center>
|
|
7
|
+
<h1>Please do not refresh this page...</h1>
|
|
8
|
+
</center>
|
|
9
|
+
<form method="post" action="https://securegw-stage.paytm.in/theia/processTransaction" name="f1">
|
|
10
|
+
<input type='hidden' name="MID" value="hLhnoB95547314388857" >
|
|
11
|
+
<input type='hidden' name='WEBSITE' value='WEBSTAGING' >
|
|
12
|
+
<input type='hidden' name='CHANNEL_ID' value='WEB' >
|
|
13
|
+
<input type='hidden' name='INDUSTRY_TYPE_ID' value='Retail' >
|
|
14
|
+
<input type='hidden' name='ORDER_ID' value='TEST_1553329704394' >
|
|
15
|
+
<input type='hidden' name='CUST_ID' value='Customer001' >
|
|
16
|
+
<input type='hidden' name='TXN_AMOUNT' value='1.00' >
|
|
17
|
+
<input type='hidden' name='CALLBACK_URL' value='http://localhost:8080/callback' >
|
|
18
|
+
<input type='hidden' name='EMAIL' value='abc@mailinator.com' >
|
|
19
|
+
<input type='hidden' name='MOBILE_NO' value='7777777777' >
|
|
20
|
+
<input type='hidden' name='CHECKSUMHASH' value='0r5cJsaATkKlwXXudTZw4HxV+FryGeXcrXWK7EDXBOl43U/HATeYtYTvpwwdq2hplXA6qnRgfrGDnLeKgtfENrZ5SB0uHyjOzOP7esQRpW0=' >
|
|
21
|
+
</form>
|
|
22
|
+
<script type="text/javascript">document.f1.submit();</script>
|
|
23
|
+
</body>
|
|
24
|
+
</html>
|
|
@@ -1,71 +0,0 @@
|
|
|
1
|
-
# For most projects, this workflow file will not need changing; you simply need
|
|
2
|
-
# to commit it to your repository.
|
|
3
|
-
#
|
|
4
|
-
# You may wish to alter this file to override the set of languages analyzed,
|
|
5
|
-
# or to provide custom queries or build logic.
|
|
6
|
-
#
|
|
7
|
-
# ******** NOTE ********
|
|
8
|
-
# We have attempted to detect the languages in your repository. Please check
|
|
9
|
-
# the `language` matrix defined below to confirm you have the correct set of
|
|
10
|
-
# supported CodeQL languages.
|
|
11
|
-
#
|
|
12
|
-
name: "CodeQL"
|
|
13
|
-
|
|
14
|
-
on:
|
|
15
|
-
push:
|
|
16
|
-
branches: [ master ]
|
|
17
|
-
pull_request:
|
|
18
|
-
# The branches below must be a subset of the branches above
|
|
19
|
-
branches: [ master ]
|
|
20
|
-
schedule:
|
|
21
|
-
- cron: '16 23 * * 4'
|
|
22
|
-
|
|
23
|
-
jobs:
|
|
24
|
-
analyze:
|
|
25
|
-
name: Analyze
|
|
26
|
-
runs-on: ubuntu-latest
|
|
27
|
-
permissions:
|
|
28
|
-
actions: read
|
|
29
|
-
contents: read
|
|
30
|
-
security-events: write
|
|
31
|
-
|
|
32
|
-
strategy:
|
|
33
|
-
fail-fast: false
|
|
34
|
-
matrix:
|
|
35
|
-
language: [ 'javascript' ]
|
|
36
|
-
# CodeQL supports [ 'cpp', 'csharp', 'go', 'java', 'javascript', 'python' ]
|
|
37
|
-
# Learn more:
|
|
38
|
-
# https://docs.github.com/en/free-pro-team@latest/github/finding-security-vulnerabilities-and-errors-in-your-code/configuring-code-scanning#changing-the-languages-that-are-analyzed
|
|
39
|
-
|
|
40
|
-
steps:
|
|
41
|
-
- name: Checkout repository
|
|
42
|
-
uses: actions/checkout@v2
|
|
43
|
-
|
|
44
|
-
# Initializes the CodeQL tools for scanning.
|
|
45
|
-
- name: Initialize CodeQL
|
|
46
|
-
uses: github/codeql-action/init@v1
|
|
47
|
-
with:
|
|
48
|
-
languages: ${{ matrix.language }}
|
|
49
|
-
# If you wish to specify custom queries, you can do so here or in a config file.
|
|
50
|
-
# By default, queries listed here will override any specified in a config file.
|
|
51
|
-
# Prefix the list here with "+" to use these queries and those in the config file.
|
|
52
|
-
# queries: ./path/to/local/query, your-org/your-repo/queries@main
|
|
53
|
-
|
|
54
|
-
# Autobuild attempts to build any compiled languages (C/C++, C#, or Java).
|
|
55
|
-
# If this step fails, then you should remove it and run the build manually (see below)
|
|
56
|
-
- name: Autobuild
|
|
57
|
-
uses: github/codeql-action/autobuild@v1
|
|
58
|
-
|
|
59
|
-
# ℹ️ Command-line programs to run using the OS shell.
|
|
60
|
-
# 📚 https://git.io/JvXDl
|
|
61
|
-
|
|
62
|
-
# ✏️ If the Autobuild fails above, remove it and uncomment the following three lines
|
|
63
|
-
# and modify them (or add more) to build your code if your project
|
|
64
|
-
# uses a compiled language
|
|
65
|
-
|
|
66
|
-
#- run: |
|
|
67
|
-
# make bootstrap
|
|
68
|
-
# make release
|
|
69
|
-
|
|
70
|
-
- name: Perform CodeQL Analysis
|
|
71
|
-
uses: github/codeql-action/analyze@v1
|
|
@@ -1,24 +0,0 @@
|
|
|
1
|
-
name: Node.js CI
|
|
2
|
-
|
|
3
|
-
on: [push]
|
|
4
|
-
|
|
5
|
-
jobs:
|
|
6
|
-
build:
|
|
7
|
-
|
|
8
|
-
runs-on: ubuntu-latest
|
|
9
|
-
|
|
10
|
-
strategy:
|
|
11
|
-
matrix:
|
|
12
|
-
node-version: [8.x, 10.x, 12.x]
|
|
13
|
-
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v2
|
|
16
|
-
- name: Use Node.js ${{ matrix.node-version }}
|
|
17
|
-
uses: actions/setup-node@v1
|
|
18
|
-
with:
|
|
19
|
-
node-version: ${{ matrix.node-version }}
|
|
20
|
-
- run: npm install
|
|
21
|
-
- run: npm run build --if-present
|
|
22
|
-
- run: npm test
|
|
23
|
-
env:
|
|
24
|
-
CI: true
|
|
@@ -1,23 +0,0 @@
|
|
|
1
|
-
# This workflow will run tests using node and then publish a package to GitHub Packages when a release is created
|
|
2
|
-
# For more information see: https://help.github.com/actions/language-and-framework-guides/publishing-nodejs-packages
|
|
3
|
-
|
|
4
|
-
name: Node.js Package
|
|
5
|
-
|
|
6
|
-
on:
|
|
7
|
-
release:
|
|
8
|
-
types: [created]
|
|
9
|
-
push:
|
|
10
|
-
branches: [ master ]
|
|
11
|
-
jobs:
|
|
12
|
-
publish:
|
|
13
|
-
runs-on: ubuntu-latest
|
|
14
|
-
steps:
|
|
15
|
-
- uses: actions/checkout@v1
|
|
16
|
-
- uses: actions/setup-node@v1
|
|
17
|
-
with:
|
|
18
|
-
node-version: 10
|
|
19
|
-
- run: npm install
|
|
20
|
-
- run: npm test
|
|
21
|
-
- uses: JS-DevTools/npm-publish@v1
|
|
22
|
-
with:
|
|
23
|
-
token: ${{ secrets.NPM_TOKEN }}
|