@duvdu-v1/duvdu 1.1.264 → 1.1.265
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/build/index.d.ts +1 -0
- package/build/index.js +1 -0
- package/build/models/Bookmark-projects.model.d.ts +2 -2
- package/build/models/Bookmark.model.d.ts +1 -1
- package/build/models/Plan.model.d.ts +1 -1
- package/build/models/Review.model.d.ts +2 -2
- package/build/models/Role.model.d.ts +1 -1
- package/build/models/Term.model.d.ts +3 -3
- package/build/models/Ticket.model.d.ts +3 -3
- package/build/models/User.model.d.ts +1 -1
- package/build/models/all-contracts.model.d.ts +2 -2
- package/build/models/allProjects.model.d.ts +1 -1
- package/build/models/category.model.d.ts +3 -3
- package/build/models/contractCancel.model.d.ts +2 -2
- package/build/models/contractCancel.model.js +4 -4
- package/build/models/contracts.model.d.ts +2 -2
- package/build/models/copyright-contract.model.d.ts +2 -2
- package/build/models/copyrights-booking.model.d.ts +2 -2
- package/build/models/copyrights.model.d.ts +2 -2
- package/build/models/coupon.model.d.ts +2 -2
- package/build/models/favourites.model.d.ts +2 -2
- package/build/models/follow.model.d.ts +2 -2
- package/build/models/messages.model.d.ts +2 -2
- package/build/models/notification.model.d.ts +2 -2
- package/build/models/portfolio-post.model.d.ts +2 -2
- package/build/models/producer.model.d.ts +2 -2
- package/build/models/producerPlatform.model.d.ts +1 -1
- package/build/models/producer_contracts.model.d.ts +2 -2
- package/build/models/projectContract.model.d.ts +2 -2
- package/build/models/projectViews.model.d.ts +1 -1
- package/build/models/ranks.model.d.ts +1 -1
- package/build/models/rental-contracts.model.d.ts +2 -2
- package/build/models/rental.model.d.ts +2 -2
- package/build/models/report.model.d.ts +2 -2
- package/build/models/session.model.d.ts +2 -2
- package/build/models/settings.model.d.ts +1 -1
- package/build/models/studio-booking-book.model.d.ts +2 -2
- package/build/models/studio-booking.model.d.ts +3 -3
- package/build/models/teamProject.model.d.ts +3 -3
- package/build/models/transactions.model.d.ts +2 -2
- package/build/models/userSession.model.d.ts +2 -2
- package/build/models/withdrawMethods.model.d.ts +2 -2
- package/build/models/withdrawMethods.model.js +3 -3
- package/build/services/paymob.service.d.ts +202 -0
- package/build/services/paymob.service.js +374 -0
- package/build/services/rank.service.d.ts +2 -2
- package/build/types/Bookmarks.d.ts +1 -1
- package/build/types/Plan.d.ts +1 -1
- package/build/types/Projects.d.ts +1 -1
- package/build/types/Rate.d.ts +1 -1
- package/build/types/Ticket.d.ts +1 -1
- package/build/types/User.d.ts +1 -1
- package/build/types/copyrights-order.d.ts +2 -2
- package/build/types/portfolio-post-order.d.ts +2 -2
- package/build/utils/api-feature.d.ts +3 -3
- package/package.json +2 -1
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,9 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/document" />
|
|
2
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
3
2
|
/// <reference types="mongoose/types/callback" />
|
|
4
3
|
/// <reference types="mongoose/types/collection" />
|
|
5
4
|
/// <reference types="mongoose/types/connection" />
|
|
6
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
7
7
|
/// <reference types="mongoose/types/error" />
|
|
8
8
|
/// <reference types="mongoose/types/expressions" />
|
|
9
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,16 +1,15 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
|
-
/// <reference types="mongoose/types/models" />
|
|
4
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
5
2
|
/// <reference types="mongoose/types/callback" />
|
|
6
3
|
/// <reference types="mongoose/types/collection" />
|
|
7
4
|
/// <reference types="mongoose/types/connection" />
|
|
8
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
9
7
|
/// <reference types="mongoose/types/error" />
|
|
10
8
|
/// <reference types="mongoose/types/expressions" />
|
|
11
9
|
/// <reference types="mongoose/types/helpers" />
|
|
12
10
|
/// <reference types="mongoose/types/middlewares" />
|
|
13
11
|
/// <reference types="mongoose/types/indexes" />
|
|
12
|
+
/// <reference types="mongoose/types/models" />
|
|
14
13
|
/// <reference types="mongoose/types/mongooseoptions" />
|
|
15
14
|
/// <reference types="mongoose/types/pipelinestage" />
|
|
16
15
|
/// <reference types="mongoose/types/populate" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,13 +17,14 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
24
24
|
/// <reference types="mongoose/types/inferschematype" />
|
|
25
|
-
import { Icategory } from '@duvdu-v1/duvdu';
|
|
26
25
|
import { Types } from 'mongoose';
|
|
27
26
|
import { IprojectContract } from './projectContract.model';
|
|
27
|
+
import { Icategory } from '../types/Category';
|
|
28
28
|
import { Iuser } from '../types/User';
|
|
29
29
|
export interface ITeamProject {
|
|
30
30
|
user: Types.ObjectId | Iuser;
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,10 +1,9 @@
|
|
|
1
|
-
/// <reference types="mongoose/types/types" />
|
|
2
|
-
/// <reference types="mongoose/types/document" />
|
|
3
1
|
/// <reference types="mongoose/types/aggregate" />
|
|
4
2
|
/// <reference types="mongoose/types/callback" />
|
|
5
3
|
/// <reference types="mongoose/types/collection" />
|
|
6
4
|
/// <reference types="mongoose/types/connection" />
|
|
7
5
|
/// <reference types="mongoose/types/cursor" />
|
|
6
|
+
/// <reference types="mongoose/types/document" />
|
|
8
7
|
/// <reference types="mongoose/types/error" />
|
|
9
8
|
/// <reference types="mongoose/types/expressions" />
|
|
10
9
|
/// <reference types="mongoose/types/helpers" />
|
|
@@ -18,6 +17,7 @@
|
|
|
18
17
|
/// <reference types="mongoose/types/schemaoptions" />
|
|
19
18
|
/// <reference types="mongoose/types/schematypes" />
|
|
20
19
|
/// <reference types="mongoose/types/session" />
|
|
20
|
+
/// <reference types="mongoose/types/types" />
|
|
21
21
|
/// <reference types="mongoose/types/utility" />
|
|
22
22
|
/// <reference types="mongoose/types/validation" />
|
|
23
23
|
/// <reference types="mongoose/types/virtuals" />
|
|
@@ -1,15 +1,15 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
3
|
exports.WithdrawMethodModel = exports.WithdrawMethod = void 0;
|
|
4
|
-
const duvdu_1 = require("@duvdu-v1/duvdu");
|
|
5
4
|
const mongoose_1 = require("mongoose");
|
|
5
|
+
const model_names_1 = require("../types/model-names");
|
|
6
6
|
var WithdrawMethod;
|
|
7
7
|
(function (WithdrawMethod) {
|
|
8
8
|
WithdrawMethod["WALLET"] = "wallet";
|
|
9
9
|
WithdrawMethod["BANK"] = "bank";
|
|
10
10
|
})(WithdrawMethod || (exports.WithdrawMethod = WithdrawMethod = {}));
|
|
11
|
-
exports.WithdrawMethodModel = (0, mongoose_1.model)(
|
|
12
|
-
user: { type: mongoose_1.Schema.Types.ObjectId, ref:
|
|
11
|
+
exports.WithdrawMethodModel = (0, mongoose_1.model)(model_names_1.MODELS.withdrawMethod, new mongoose_1.Schema({
|
|
12
|
+
user: { type: mongoose_1.Schema.Types.ObjectId, ref: model_names_1.MODELS.user },
|
|
13
13
|
method: { type: String, enum: WithdrawMethod },
|
|
14
14
|
name: { type: String, default: null },
|
|
15
15
|
number: { type: String, default: null },
|
|
@@ -0,0 +1,202 @@
|
|
|
1
|
+
interface PaymobMerchant {
|
|
2
|
+
id: number;
|
|
3
|
+
created_at: string;
|
|
4
|
+
phones: string[];
|
|
5
|
+
company_emails: string[];
|
|
6
|
+
company_name: string;
|
|
7
|
+
state: string;
|
|
8
|
+
country: string;
|
|
9
|
+
city: string;
|
|
10
|
+
postal_code: string;
|
|
11
|
+
street: string;
|
|
12
|
+
}
|
|
13
|
+
interface PaymobOrder {
|
|
14
|
+
id: number;
|
|
15
|
+
created_at: string;
|
|
16
|
+
delivery_needed: boolean;
|
|
17
|
+
merchant: PaymobMerchant;
|
|
18
|
+
collector: null;
|
|
19
|
+
amount_cents: number;
|
|
20
|
+
shipping_data: null;
|
|
21
|
+
currency: string;
|
|
22
|
+
is_payment_locked: boolean;
|
|
23
|
+
is_return: boolean;
|
|
24
|
+
is_cancel: boolean;
|
|
25
|
+
is_returned: boolean;
|
|
26
|
+
is_canceled: boolean;
|
|
27
|
+
merchant_order_id: string;
|
|
28
|
+
wallet_notification: null;
|
|
29
|
+
paid_amount_cents: number;
|
|
30
|
+
notify_user_with_email: boolean;
|
|
31
|
+
items: PaymobOrderItem[];
|
|
32
|
+
order_url: string;
|
|
33
|
+
commission_fee: number;
|
|
34
|
+
delivery_fee_cents: number;
|
|
35
|
+
delivery_voucher_cost: number;
|
|
36
|
+
discount: number;
|
|
37
|
+
metadata: Record<string, any>;
|
|
38
|
+
}
|
|
39
|
+
interface PaymobOrderItem {
|
|
40
|
+
name: string;
|
|
41
|
+
description: string;
|
|
42
|
+
amount_cents: number;
|
|
43
|
+
quantity: number;
|
|
44
|
+
}
|
|
45
|
+
interface PaymobSourceData {
|
|
46
|
+
type: string;
|
|
47
|
+
pan: string;
|
|
48
|
+
sub_type: string;
|
|
49
|
+
}
|
|
50
|
+
interface PaymobWebhookData {
|
|
51
|
+
obj: {
|
|
52
|
+
id: number;
|
|
53
|
+
amount_cents: number;
|
|
54
|
+
success: boolean;
|
|
55
|
+
is_refunded: boolean;
|
|
56
|
+
is_captured: boolean;
|
|
57
|
+
is_voided: boolean;
|
|
58
|
+
is_standalone_payment: boolean;
|
|
59
|
+
is_void: boolean;
|
|
60
|
+
is_refund: boolean;
|
|
61
|
+
is_3d_secure: boolean;
|
|
62
|
+
integration_id: number;
|
|
63
|
+
profile_id: number;
|
|
64
|
+
has_parent_transaction: boolean;
|
|
65
|
+
order: PaymobOrder;
|
|
66
|
+
created_at: string;
|
|
67
|
+
transaction_processed_callback_responses: null;
|
|
68
|
+
currency: string;
|
|
69
|
+
source_data: PaymobSourceData;
|
|
70
|
+
api_source: string;
|
|
71
|
+
terminal_id: string;
|
|
72
|
+
merchant_commission: number;
|
|
73
|
+
merchant_staff_tag: null;
|
|
74
|
+
hmac: string;
|
|
75
|
+
};
|
|
76
|
+
}
|
|
77
|
+
interface PaymobBillingData {
|
|
78
|
+
first_name: string;
|
|
79
|
+
last_name: string;
|
|
80
|
+
email: string;
|
|
81
|
+
phone_number: string;
|
|
82
|
+
apartment: string;
|
|
83
|
+
floor: string;
|
|
84
|
+
street: string;
|
|
85
|
+
building: string;
|
|
86
|
+
city: string;
|
|
87
|
+
state: string;
|
|
88
|
+
country: string;
|
|
89
|
+
postal_code: string;
|
|
90
|
+
}
|
|
91
|
+
interface CreateOrderResult {
|
|
92
|
+
orderId: number;
|
|
93
|
+
token: string;
|
|
94
|
+
}
|
|
95
|
+
interface TransactionData {
|
|
96
|
+
orderId: number;
|
|
97
|
+
amount: number;
|
|
98
|
+
success: boolean;
|
|
99
|
+
currency: string;
|
|
100
|
+
transactionId: number;
|
|
101
|
+
createdAt: string;
|
|
102
|
+
isRefunded: boolean;
|
|
103
|
+
isCaptured: boolean;
|
|
104
|
+
isVoided: boolean;
|
|
105
|
+
metadata: Record<string, any>;
|
|
106
|
+
}
|
|
107
|
+
interface WebhookQueryTransactionData extends TransactionData {
|
|
108
|
+
isAuth: boolean;
|
|
109
|
+
isStandalone: boolean;
|
|
110
|
+
is3dSecure: boolean;
|
|
111
|
+
sourceData: {
|
|
112
|
+
type: string;
|
|
113
|
+
pan: string;
|
|
114
|
+
subType: string;
|
|
115
|
+
};
|
|
116
|
+
responseCode: string;
|
|
117
|
+
message: string;
|
|
118
|
+
}
|
|
119
|
+
interface WebhookQueryWithItemsTransactionData extends WebhookQueryTransactionData {
|
|
120
|
+
items: PaymobOrderItem[];
|
|
121
|
+
}
|
|
122
|
+
interface WebhookResult<T> {
|
|
123
|
+
isValid: boolean;
|
|
124
|
+
transactionData: T | null;
|
|
125
|
+
}
|
|
126
|
+
interface TransactionStatusResult {
|
|
127
|
+
success: boolean;
|
|
128
|
+
status: string;
|
|
129
|
+
amount: number;
|
|
130
|
+
currency: string;
|
|
131
|
+
}
|
|
132
|
+
interface OrderDetailsResult {
|
|
133
|
+
id: number;
|
|
134
|
+
amount_cents: number;
|
|
135
|
+
currency: string;
|
|
136
|
+
items: PaymobOrderItem[];
|
|
137
|
+
created_at: string;
|
|
138
|
+
merchant_order_id: string;
|
|
139
|
+
}
|
|
140
|
+
/**
|
|
141
|
+
* Paymob Service Configuration
|
|
142
|
+
*
|
|
143
|
+
* Required Keys:
|
|
144
|
+
* - apiKey: Your Paymob API Key (used for authentication)
|
|
145
|
+
* - integrationId: Your Paymob Integration ID (found in your Paymob dashboard)
|
|
146
|
+
* - iframeId: Your Paymob Iframe ID (found in your Paymob dashboard)
|
|
147
|
+
*
|
|
148
|
+
* Note:
|
|
149
|
+
* - Public Key: Used for client-side encryption (not needed for this service)
|
|
150
|
+
* - Secret Key: Used for webhook signature verification (handled internally)
|
|
151
|
+
*/
|
|
152
|
+
export declare class PaymobService {
|
|
153
|
+
private readonly apiKey;
|
|
154
|
+
private readonly integrationId;
|
|
155
|
+
private readonly iframeId;
|
|
156
|
+
private readonly baseUrl;
|
|
157
|
+
private readonly hmacSecret;
|
|
158
|
+
constructor();
|
|
159
|
+
getAuthToken(): Promise<string>;
|
|
160
|
+
createOrder(amount: number, currency?: string, items?: PaymobOrderItem[], merchant_order_id?: string): Promise<CreateOrderResult>;
|
|
161
|
+
getPaymentKey(orderId: number, token: string, amount: number, billingData: PaymobBillingData): Promise<string>;
|
|
162
|
+
createPaymentUrl(paymentKey: string): string;
|
|
163
|
+
/**
|
|
164
|
+
* Creates a payment URL with user data and custom metadata
|
|
165
|
+
* @param amount The payment amount
|
|
166
|
+
* @param userId The user ID
|
|
167
|
+
* @param contractId The contract ID
|
|
168
|
+
* @param userData The user data for billing
|
|
169
|
+
* @param serviceType The service type identifier
|
|
170
|
+
* @returns The payment URL and related data
|
|
171
|
+
*/
|
|
172
|
+
createPaymentUrlWithUserData(amount: number, userId: string, contractId: string, userData: {
|
|
173
|
+
firstName: string;
|
|
174
|
+
lastName: string;
|
|
175
|
+
email: string;
|
|
176
|
+
phone: string;
|
|
177
|
+
}, serviceType: string): Promise<{
|
|
178
|
+
paymentUrl: string;
|
|
179
|
+
}>;
|
|
180
|
+
verifyPayment(hmac: string, data: Record<string, any>): Promise<boolean>;
|
|
181
|
+
/**
|
|
182
|
+
* Verify webhook HMAC signature for query parameters
|
|
183
|
+
* Uses the correct field order as per Paymob documentation
|
|
184
|
+
*/
|
|
185
|
+
verifyWebhookHmac(queryParams: Record<string, string>): boolean;
|
|
186
|
+
handleWebhook(webhookData: PaymobWebhookData): Promise<WebhookResult<TransactionData>>;
|
|
187
|
+
/**
|
|
188
|
+
* Handle webhook with query parameters (GET request)
|
|
189
|
+
* This is for webhooks that come as URL query parameters instead of JSON body
|
|
190
|
+
*/
|
|
191
|
+
handleWebhookQuery(queryParams: Record<string, string>): WebhookResult<WebhookQueryTransactionData>;
|
|
192
|
+
getTransactionStatus(transactionId: number): Promise<TransactionStatusResult>;
|
|
193
|
+
/**
|
|
194
|
+
* Get order details including metadata
|
|
195
|
+
*/
|
|
196
|
+
getOrderDetails(orderId: number): Promise<OrderDetailsResult>;
|
|
197
|
+
/**
|
|
198
|
+
* Handle webhook query and fetch items from order
|
|
199
|
+
*/
|
|
200
|
+
handleWebhookQueryWithItems(queryParams: Record<string, string>): Promise<WebhookResult<WebhookQueryWithItemsTransactionData>>;
|
|
201
|
+
}
|
|
202
|
+
export {};
|