zyropai 1.0.0
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/.eslintrc.json +16 -0
- package/.github/workflows/ci.yml +26 -0
- package/.github/workflows/publish.yml +52 -0
- package/.prettierrc +7 -0
- package/LICENSE +0 -0
- package/README.md +0 -0
- package/dist/client.d.ts +42 -0
- package/dist/client.d.ts.map +1 -0
- package/dist/client.js +175 -0
- package/dist/client.js.map +1 -0
- package/dist/errors.d.ts +32 -0
- package/dist/errors.d.ts.map +1 -0
- package/dist/errors.js +71 -0
- package/dist/errors.js.map +1 -0
- package/dist/index.d.ts +7 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +24 -0
- package/dist/index.js.map +1 -0
- package/dist/resources/base.d.ts +14 -0
- package/dist/resources/base.d.ts.map +1 -0
- package/dist/resources/base.js +29 -0
- package/dist/resources/base.js.map +1 -0
- package/dist/resources/currencies.d.ts +16 -0
- package/dist/resources/currencies.d.ts.map +1 -0
- package/dist/resources/currencies.js +38 -0
- package/dist/resources/currencies.js.map +1 -0
- package/dist/resources/custody.d.ts +50 -0
- package/dist/resources/custody.d.ts.map +1 -0
- package/dist/resources/custody.js +42 -0
- package/dist/resources/custody.js.map +1 -0
- package/dist/resources/donations.d.ts +44 -0
- package/dist/resources/donations.d.ts.map +1 -0
- package/dist/resources/donations.js +50 -0
- package/dist/resources/donations.js.map +1 -0
- package/dist/resources/index.d.ts +2 -0
- package/dist/resources/index.d.ts.map +1 -0
- package/dist/resources/index.js +3 -0
- package/dist/resources/index.js.map +1 -0
- package/dist/resources/invoices.d.ts +15 -0
- package/dist/resources/invoices.d.ts.map +1 -0
- package/dist/resources/invoices.js +34 -0
- package/dist/resources/invoices.js.map +1 -0
- package/dist/resources/network.d.ts +21 -0
- package/dist/resources/network.d.ts.map +1 -0
- package/dist/resources/network.js +18 -0
- package/dist/resources/network.js.map +1 -0
- package/dist/resources/payments.d.ts +24 -0
- package/dist/resources/payments.d.ts.map +1 -0
- package/dist/resources/payments.js +50 -0
- package/dist/resources/payments.js.map +1 -0
- package/dist/resources/payouts.d.ts +102 -0
- package/dist/resources/payouts.d.ts.map +1 -0
- package/dist/resources/payouts.js +52 -0
- package/dist/resources/payouts.js.map +1 -0
- package/dist/resources/pos.d.ts +71 -0
- package/dist/resources/pos.d.ts.map +1 -0
- package/dist/resources/pos.js +26 -0
- package/dist/resources/pos.js.map +1 -0
- package/dist/resources/rates.d.ts +26 -0
- package/dist/resources/rates.d.ts.map +1 -0
- package/dist/resources/rates.js +29 -0
- package/dist/resources/rates.js.map +1 -0
- package/dist/resources/status.d.ts +22 -0
- package/dist/resources/status.d.ts.map +1 -0
- package/dist/resources/status.js +17 -0
- package/dist/resources/status.js.map +1 -0
- package/dist/resources/timezones.d.ts +26 -0
- package/dist/resources/timezones.d.ts.map +1 -0
- package/dist/resources/timezones.js +20 -0
- package/dist/resources/timezones.js.map +1 -0
- package/dist/resources/webhooks.d.ts +8 -0
- package/dist/resources/webhooks.d.ts.map +1 -0
- package/dist/resources/webhooks.js +30 -0
- package/dist/resources/webhooks.js.map +1 -0
- package/dist/types.d.ts +72 -0
- package/dist/types.d.ts.map +1 -0
- package/dist/types.js +6 -0
- package/dist/types.js.map +1 -0
- package/dist/utils/helpers.d.ts +2 -0
- package/dist/utils/helpers.d.ts.map +1 -0
- package/dist/utils/helpers.js +3 -0
- package/dist/utils/helpers.js.map +1 -0
- package/examples/mass-payout.js +0 -0
- package/examples/quickstart.js +0 -0
- package/examples/webhook-server.js +0 -0
- package/jest.config.js +19 -0
- package/package.json +55 -0
- package/src/client.ts +167 -0
- package/src/errors.ts +74 -0
- package/src/index.ts +8 -0
- package/src/resources/base.ts +33 -0
- package/src/resources/currencies.ts +39 -0
- package/src/resources/custody.ts +82 -0
- package/src/resources/donations.ts +84 -0
- package/src/resources/index.ts +0 -0
- package/src/resources/invoices.ts +35 -0
- package/src/resources/network.ts +26 -0
- package/src/resources/payments.ts +50 -0
- package/src/resources/payouts.ts +136 -0
- package/src/resources/pos.ts +90 -0
- package/src/resources/rates.ts +36 -0
- package/src/resources/status.ts +30 -0
- package/src/resources/timezones.ts +38 -0
- package/src/resources/webhooks.ts +28 -0
- package/src/types.ts +79 -0
- package/src/utils/helpers.ts +0 -0
- package/tests/unit/client.test.ts +0 -0
- package/tests/unit/payments.test.ts +0 -0
- package/tests/unit/webhooks.test.ts +0 -0
- package/tsconfig.json +21 -0
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* POS Terminal resource
|
|
3
|
+
*/
|
|
4
|
+
import { APIResource } from './base';
|
|
5
|
+
export interface POSMerchantResponse {
|
|
6
|
+
success: boolean;
|
|
7
|
+
merchant: {
|
|
8
|
+
username: string;
|
|
9
|
+
business_name: string;
|
|
10
|
+
name: string;
|
|
11
|
+
avatar?: string;
|
|
12
|
+
description?: string;
|
|
13
|
+
};
|
|
14
|
+
settings: {
|
|
15
|
+
theme: string;
|
|
16
|
+
enabled_currencies: string[];
|
|
17
|
+
};
|
|
18
|
+
currencies: Array<{
|
|
19
|
+
id: string;
|
|
20
|
+
symbol: string;
|
|
21
|
+
name: string;
|
|
22
|
+
network: string;
|
|
23
|
+
icon: string;
|
|
24
|
+
min_amount: number;
|
|
25
|
+
is_enabled: boolean;
|
|
26
|
+
decimals: number;
|
|
27
|
+
}>;
|
|
28
|
+
default_currency: string;
|
|
29
|
+
}
|
|
30
|
+
export interface POSPaymentResponse {
|
|
31
|
+
payment_id: string;
|
|
32
|
+
payment_status: string;
|
|
33
|
+
pay_address: string;
|
|
34
|
+
price_amount: number;
|
|
35
|
+
price_currency: string;
|
|
36
|
+
pay_amount: number | null;
|
|
37
|
+
pay_currency: string;
|
|
38
|
+
created_at: string;
|
|
39
|
+
expires_at: string;
|
|
40
|
+
invoice_url: string;
|
|
41
|
+
platform_fee_amount: number;
|
|
42
|
+
platform_fee_currency: string;
|
|
43
|
+
net_amount: number | null;
|
|
44
|
+
}
|
|
45
|
+
export interface POSPaymentStatusResponse {
|
|
46
|
+
payment_id: string;
|
|
47
|
+
payment_status: string;
|
|
48
|
+
pay_address: string;
|
|
49
|
+
price_amount: number;
|
|
50
|
+
price_currency: string;
|
|
51
|
+
pay_amount: number | null;
|
|
52
|
+
pay_currency: string;
|
|
53
|
+
actually_paid: number;
|
|
54
|
+
tx_signature?: string;
|
|
55
|
+
created_at: string;
|
|
56
|
+
confirmed_at?: string;
|
|
57
|
+
expires_at: string;
|
|
58
|
+
platform_fee_amount: number;
|
|
59
|
+
platform_fee_currency: string;
|
|
60
|
+
}
|
|
61
|
+
export declare class POSResource extends APIResource {
|
|
62
|
+
getMerchant(username: string): Promise<POSMerchantResponse>;
|
|
63
|
+
createPayment(params: {
|
|
64
|
+
username: string;
|
|
65
|
+
price_amount: number;
|
|
66
|
+
price_currency?: string;
|
|
67
|
+
pay_currency?: string;
|
|
68
|
+
}): Promise<POSPaymentResponse>;
|
|
69
|
+
getPaymentStatus(paymentId: string): Promise<POSPaymentStatusResponse>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=pos.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pos.d.ts","sourceRoot":"","sources":["../../src/resources/pos.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,mBAAmB;IAClC,OAAO,EAAE,OAAO,CAAC;IACjB,QAAQ,EAAE;QACR,QAAQ,EAAE,MAAM,CAAC;QACjB,aAAa,EAAE,MAAM,CAAC;QACtB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,CAAC;IACF,QAAQ,EAAE;QACR,KAAK,EAAE,MAAM,CAAC;QACd,kBAAkB,EAAE,MAAM,EAAE,CAAC;KAC9B,CAAC;IACF,UAAU,EAAE,KAAK,CAAC;QAChB,EAAE,EAAE,MAAM,CAAC;QACX,MAAM,EAAE,MAAM,CAAC;QACf,IAAI,EAAE,MAAM,CAAC;QACb,OAAO,EAAE,MAAM,CAAC;QAChB,IAAI,EAAE,MAAM,CAAC;QACb,UAAU,EAAE,MAAM,CAAC;QACnB,UAAU,EAAE,OAAO,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;KAClB,CAAC,CAAC;IACH,gBAAgB,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,kBAAkB;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;IAC9B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;CAC3B;AAED,MAAM,WAAW,wBAAwB;IACvC,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,aAAa,EAAE,MAAM,CAAC;IACtB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,mBAAmB,EAAE,MAAM,CAAC;IAC5B,qBAAqB,EAAE,MAAM,CAAC;CAC/B;AAED,qBAAa,WAAY,SAAQ,WAAW;IACpC,WAAW,CAAC,QAAQ,EAAE,MAAM,GAAG,OAAO,CAAC,mBAAmB,CAAC;IAI3D,aAAa,CAAC,MAAM,EAAE;QAC1B,QAAQ,EAAE,MAAM,CAAC;QACjB,YAAY,EAAE,MAAM,CAAC;QACrB,cAAc,CAAC,EAAE,MAAM,CAAC;QACxB,YAAY,CAAC,EAAE,MAAM,CAAC;KACvB,GAAG,OAAO,CAAC,kBAAkB,CAAC;IAUzB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,wBAAwB,CAAC;CAG7E"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* POS Terminal resource
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.POSResource = void 0;
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
class POSResource extends base_1.APIResource {
|
|
9
|
+
async getMerchant(username) {
|
|
10
|
+
return this.request('GET', `/pos-terminal/${username}`);
|
|
11
|
+
}
|
|
12
|
+
async createPayment(params) {
|
|
13
|
+
const data = {
|
|
14
|
+
username: params.username,
|
|
15
|
+
price_amount: params.price_amount,
|
|
16
|
+
price_currency: params.price_currency || 'USD',
|
|
17
|
+
pay_currency: params.pay_currency || 'SOL',
|
|
18
|
+
};
|
|
19
|
+
return this.request('POST', '/pos-terminal/payment', data);
|
|
20
|
+
}
|
|
21
|
+
async getPaymentStatus(paymentId) {
|
|
22
|
+
return this.request('GET', `/pos-terminal/payment/${paymentId}/status`);
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
exports.POSResource = POSResource;
|
|
26
|
+
//# sourceMappingURL=pos.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"pos.js","sourceRoot":"","sources":["../../src/resources/pos.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAqC;AA6DrC,MAAa,WAAY,SAAQ,kBAAW;IAC1C,KAAK,CAAC,WAAW,CAAC,QAAgB;QAChC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,iBAAiB,QAAQ,EAAE,CAAC,CAAC;IAC1D,CAAC;IAED,KAAK,CAAC,aAAa,CAAC,MAKnB;QACC,MAAM,IAAI,GAAG;YACX,QAAQ,EAAE,MAAM,CAAC,QAAQ;YACzB,YAAY,EAAE,MAAM,CAAC,YAAY;YACjC,cAAc,EAAE,MAAM,CAAC,cAAc,IAAI,KAAK;YAC9C,YAAY,EAAE,MAAM,CAAC,YAAY,IAAI,KAAK;SAC3C,CAAC;QACF,OAAO,IAAI,CAAC,OAAO,CAAC,MAAM,EAAE,uBAAuB,EAAE,IAAI,CAAC,CAAC;IAC7D,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,SAAiB;QACtC,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,SAAS,SAAS,CAAC,CAAC;IAC1E,CAAC;CACF;AAvBD,kCAuBC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Rates resource
|
|
3
|
+
*/
|
|
4
|
+
import { APIResource } from './base';
|
|
5
|
+
export declare class RatesResource extends APIResource {
|
|
6
|
+
getAll(): Promise<Record<string, number>>;
|
|
7
|
+
getEstimate(params: {
|
|
8
|
+
amount: number;
|
|
9
|
+
currency_from?: string;
|
|
10
|
+
currency_to?: string;
|
|
11
|
+
}): Promise<{
|
|
12
|
+
estimated_amount: number;
|
|
13
|
+
currency_from: string;
|
|
14
|
+
currency_to: string;
|
|
15
|
+
}>;
|
|
16
|
+
getMinimumAmount(params?: {
|
|
17
|
+
currency_from?: string;
|
|
18
|
+
currency_to?: string;
|
|
19
|
+
}): Promise<{
|
|
20
|
+
currency_from: string;
|
|
21
|
+
currency_to: string;
|
|
22
|
+
min_amount: number;
|
|
23
|
+
fiat_equivalent: number;
|
|
24
|
+
}>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=rates.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rates.d.ts","sourceRoot":"","sources":["../../src/resources/rates.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,qBAAa,aAAc,SAAQ,WAAW;IACtC,MAAM,IAAI,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC;IAIzC,WAAW,CAAC,MAAM,EAAE;QACxB,MAAM,EAAE,MAAM,CAAC;QACf,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,gBAAgB,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAA;KAAE,CAAC;IAS/E,gBAAgB,CAAC,MAAM,CAAC,EAAE;QAC9B,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;KACtB,GAAG,OAAO,CAAC;QAAE,aAAa,EAAE,MAAM,CAAC;QAAC,WAAW,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAC;QAAC,eAAe,EAAE,MAAM,CAAA;KAAE,CAAC;CAOzG"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Rates resource
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.RatesResource = void 0;
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
class RatesResource extends base_1.APIResource {
|
|
9
|
+
async getAll() {
|
|
10
|
+
return this.request('GET', '/rates');
|
|
11
|
+
}
|
|
12
|
+
async getEstimate(params) {
|
|
13
|
+
const queryParams = new URLSearchParams({
|
|
14
|
+
amount: String(params.amount),
|
|
15
|
+
currency_from: params.currency_from || 'USD',
|
|
16
|
+
currency_to: params.currency_to || 'USDT',
|
|
17
|
+
});
|
|
18
|
+
return this.request('GET', `/estimate?${queryParams.toString()}`);
|
|
19
|
+
}
|
|
20
|
+
async getMinimumAmount(params) {
|
|
21
|
+
const queryParams = new URLSearchParams({
|
|
22
|
+
currency_from: params?.currency_from || 'USD',
|
|
23
|
+
currency_to: params?.currency_to || 'USDT',
|
|
24
|
+
});
|
|
25
|
+
return this.request('GET', `/estimate/min-amount?${queryParams.toString()}`);
|
|
26
|
+
}
|
|
27
|
+
}
|
|
28
|
+
exports.RatesResource = RatesResource;
|
|
29
|
+
//# sourceMappingURL=rates.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"rates.js","sourceRoot":"","sources":["../../src/resources/rates.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAqC;AAErC,MAAa,aAAc,SAAQ,kBAAW;IAC5C,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,QAAQ,CAAC,CAAC;IACvC,CAAC;IAED,KAAK,CAAC,WAAW,CAAC,MAIjB;QACC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;YACtC,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,MAAM,CAAC;YAC7B,aAAa,EAAE,MAAM,CAAC,aAAa,IAAI,KAAK;YAC5C,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,MAAM;SAC1C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,aAAa,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IACpE,CAAC;IAED,KAAK,CAAC,gBAAgB,CAAC,MAGtB;QACC,MAAM,WAAW,GAAG,IAAI,eAAe,CAAC;YACtC,aAAa,EAAE,MAAM,EAAE,aAAa,IAAI,KAAK;YAC7C,WAAW,EAAE,MAAM,EAAE,WAAW,IAAI,MAAM;SAC3C,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,wBAAwB,WAAW,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;IAC/E,CAAC;CACF;AA5BD,sCA4BC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Status resource
|
|
3
|
+
*/
|
|
4
|
+
import { APIResource } from './base';
|
|
5
|
+
export interface APIStatusResponse {
|
|
6
|
+
message: string;
|
|
7
|
+
}
|
|
8
|
+
export interface RabbitMQStatusResponse {
|
|
9
|
+
connected: boolean;
|
|
10
|
+
channel: boolean;
|
|
11
|
+
consumer_tag: string | null;
|
|
12
|
+
rabbitmq_url: string;
|
|
13
|
+
queue_exists?: boolean;
|
|
14
|
+
queue_messages?: number;
|
|
15
|
+
queue_consumers?: number;
|
|
16
|
+
queue_error?: string;
|
|
17
|
+
}
|
|
18
|
+
export declare class StatusResource extends APIResource {
|
|
19
|
+
getAPIStatus(): Promise<APIStatusResponse>;
|
|
20
|
+
getRabbitMQStatus(): Promise<RabbitMQStatusResponse>;
|
|
21
|
+
}
|
|
22
|
+
//# sourceMappingURL=status.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.d.ts","sourceRoot":"","sources":["../../src/resources/status.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,sBAAsB;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,OAAO,EAAE,OAAO,CAAC;IACjB,YAAY,EAAE,MAAM,GAAG,IAAI,CAAC;IAC5B,YAAY,EAAE,MAAM,CAAC;IACrB,YAAY,CAAC,EAAE,OAAO,CAAC;IACvB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,eAAe,CAAC,EAAE,MAAM,CAAC;IACzB,WAAW,CAAC,EAAE,MAAM,CAAC;CACtB;AAED,qBAAa,cAAe,SAAQ,WAAW;IACvC,YAAY,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAI1C,iBAAiB,IAAI,OAAO,CAAC,sBAAsB,CAAC;CAG3D"}
|
|
@@ -0,0 +1,17 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Status resource
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.StatusResource = void 0;
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
class StatusResource extends base_1.APIResource {
|
|
9
|
+
async getAPIStatus() {
|
|
10
|
+
return this.request('GET', '/status');
|
|
11
|
+
}
|
|
12
|
+
async getRabbitMQStatus() {
|
|
13
|
+
return this.request('GET', '/status/rabbitmq/status');
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
exports.StatusResource = StatusResource;
|
|
17
|
+
//# sourceMappingURL=status.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"status.js","sourceRoot":"","sources":["../../src/resources/status.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAqC;AAiBrC,MAAa,cAAe,SAAQ,kBAAW;IAC7C,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,SAAS,CAAC,CAAC;IACxC,CAAC;IAED,KAAK,CAAC,iBAAiB;QACrB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,yBAAyB,CAAC,CAAC;IACxD,CAAC;CACF;AARD,wCAQC"}
|
|
@@ -0,0 +1,26 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Timezones resource
|
|
3
|
+
*/
|
|
4
|
+
import { APIResource } from './base';
|
|
5
|
+
export interface Timezone {
|
|
6
|
+
value: string;
|
|
7
|
+
label: string;
|
|
8
|
+
offset: string;
|
|
9
|
+
full_name: string;
|
|
10
|
+
}
|
|
11
|
+
export interface TimezonesResponse {
|
|
12
|
+
timezones: Timezone[];
|
|
13
|
+
total: number;
|
|
14
|
+
default: string;
|
|
15
|
+
}
|
|
16
|
+
export interface SearchTimezonesResponse {
|
|
17
|
+
timezones: Timezone[];
|
|
18
|
+
total: number;
|
|
19
|
+
query: string;
|
|
20
|
+
}
|
|
21
|
+
export declare class TimezonesResource extends APIResource {
|
|
22
|
+
getCommon(): Promise<TimezonesResponse>;
|
|
23
|
+
getAll(): Promise<TimezonesResponse>;
|
|
24
|
+
search(query: string): Promise<SearchTimezonesResponse>;
|
|
25
|
+
}
|
|
26
|
+
//# sourceMappingURL=timezones.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezones.d.ts","sourceRoot":"","sources":["../../src/resources/timezones.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAErC,MAAM,WAAW,QAAQ;IACvB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;IACd,MAAM,EAAE,MAAM,CAAC;IACf,SAAS,EAAE,MAAM,CAAC;CACnB;AAED,MAAM,WAAW,iBAAiB;IAChC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,MAAM,CAAC;CACjB;AAED,MAAM,WAAW,uBAAuB;IACtC,SAAS,EAAE,QAAQ,EAAE,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,KAAK,EAAE,MAAM,CAAC;CACf;AAED,qBAAa,iBAAkB,SAAQ,WAAW;IAC1C,SAAS,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIvC,MAAM,IAAI,OAAO,CAAC,iBAAiB,CAAC;IAIpC,MAAM,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC,uBAAuB,CAAC;CAG9D"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Timezones resource
|
|
4
|
+
*/
|
|
5
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
6
|
+
exports.TimezonesResource = void 0;
|
|
7
|
+
const base_1 = require("./base");
|
|
8
|
+
class TimezonesResource extends base_1.APIResource {
|
|
9
|
+
async getCommon() {
|
|
10
|
+
return this.request('GET', '/timezones/common');
|
|
11
|
+
}
|
|
12
|
+
async getAll() {
|
|
13
|
+
return this.request('GET', '/timezones/all');
|
|
14
|
+
}
|
|
15
|
+
async search(query) {
|
|
16
|
+
return this.request('GET', `/timezones/search?q=${encodeURIComponent(query)}`);
|
|
17
|
+
}
|
|
18
|
+
}
|
|
19
|
+
exports.TimezonesResource = TimezonesResource;
|
|
20
|
+
//# sourceMappingURL=timezones.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"timezones.js","sourceRoot":"","sources":["../../src/resources/timezones.ts"],"names":[],"mappings":";AAAA;;GAEG;;;AAEH,iCAAqC;AAqBrC,MAAa,iBAAkB,SAAQ,kBAAW;IAChD,KAAK,CAAC,SAAS;QACb,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,mBAAmB,CAAC,CAAC;IAClD,CAAC;IAED,KAAK,CAAC,MAAM;QACV,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,gBAAgB,CAAC,CAAC;IAC/C,CAAC;IAED,KAAK,CAAC,MAAM,CAAC,KAAa;QACxB,OAAO,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,uBAAuB,kBAAkB,CAAC,KAAK,CAAC,EAAE,CAAC,CAAC;IACjF,CAAC;CACF;AAZD,8CAYC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.d.ts","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":"AAAA;;GAEG;AAGH,OAAO,EAAE,WAAW,EAAE,MAAM,QAAQ,CAAC;AAGrC,qBAAa,gBAAiB,SAAQ,WAAW;IAC/C,MAAM,CAAC,OAAO,EAAE,GAAG,EAAE,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,GAAG;CAiB7D"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
/**
|
|
3
|
+
* Webhooks resource
|
|
4
|
+
*/
|
|
5
|
+
var __importDefault = (this && this.__importDefault) || function (mod) {
|
|
6
|
+
return (mod && mod.__esModule) ? mod : { "default": mod };
|
|
7
|
+
};
|
|
8
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
9
|
+
exports.WebhooksResource = void 0;
|
|
10
|
+
const crypto_1 = __importDefault(require("crypto"));
|
|
11
|
+
const base_1 = require("./base");
|
|
12
|
+
const errors_1 = require("../errors");
|
|
13
|
+
class WebhooksResource extends base_1.APIResource {
|
|
14
|
+
verify(payload, signature, secret) {
|
|
15
|
+
// Sort keys alphabetically
|
|
16
|
+
const sortedPayload = JSON.stringify(payload, Object.keys(payload).sort());
|
|
17
|
+
// Generate expected signature
|
|
18
|
+
const expected = crypto_1.default
|
|
19
|
+
.createHmac('sha256', secret)
|
|
20
|
+
.update(sortedPayload)
|
|
21
|
+
.digest('hex');
|
|
22
|
+
// Constant-time comparison
|
|
23
|
+
if (!crypto_1.default.timingSafeEqual(Buffer.from(expected), Buffer.from(signature))) {
|
|
24
|
+
throw new errors_1.WebhookSignatureError('Invalid webhook signature');
|
|
25
|
+
}
|
|
26
|
+
return payload;
|
|
27
|
+
}
|
|
28
|
+
}
|
|
29
|
+
exports.WebhooksResource = WebhooksResource;
|
|
30
|
+
//# sourceMappingURL=webhooks.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"webhooks.js","sourceRoot":"","sources":["../../src/resources/webhooks.ts"],"names":[],"mappings":";AAAA;;GAEG;;;;;;AAEH,oDAA4B;AAC5B,iCAAqC;AACrC,sCAAkD;AAElD,MAAa,gBAAiB,SAAQ,kBAAW;IAC/C,MAAM,CAAC,OAAY,EAAE,SAAiB,EAAE,MAAc;QACpD,2BAA2B;QAC3B,MAAM,aAAa,GAAG,IAAI,CAAC,SAAS,CAAC,OAAO,EAAE,MAAM,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,IAAI,EAAE,CAAC,CAAC;QAE3E,8BAA8B;QAC9B,MAAM,QAAQ,GAAG,gBAAM;aACpB,UAAU,CAAC,QAAQ,EAAE,MAAM,CAAC;aAC5B,MAAM,CAAC,aAAa,CAAC;aACrB,MAAM,CAAC,KAAK,CAAC,CAAC;QAEjB,2BAA2B;QAC3B,IAAI,CAAC,gBAAM,CAAC,eAAe,CAAC,MAAM,CAAC,IAAI,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,IAAI,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC;YAC3E,MAAM,IAAI,8BAAqB,CAAC,2BAA2B,CAAC,CAAC;QAC/D,CAAC;QAED,OAAO,OAAO,CAAC;IACjB,CAAC;CACF;AAlBD,4CAkBC"}
|
package/dist/types.d.ts
ADDED
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Type definitions for ZyroPAI SDK
|
|
3
|
+
*/
|
|
4
|
+
export interface ZyroPAIConfig {
|
|
5
|
+
apiKey?: string;
|
|
6
|
+
mode?: 'test' | 'live';
|
|
7
|
+
baseUrl?: string;
|
|
8
|
+
timeout?: number;
|
|
9
|
+
maxRetries?: number;
|
|
10
|
+
}
|
|
11
|
+
export interface PaymentCreateParams {
|
|
12
|
+
price_amount: number;
|
|
13
|
+
price_currency?: string;
|
|
14
|
+
pay_currency?: string;
|
|
15
|
+
order_id?: string;
|
|
16
|
+
order_description?: string;
|
|
17
|
+
customer_email?: string;
|
|
18
|
+
ipn_callback_url?: string;
|
|
19
|
+
success_url?: string;
|
|
20
|
+
cancel_url?: string;
|
|
21
|
+
metadata?: Record<string, any>;
|
|
22
|
+
}
|
|
23
|
+
export interface PaymentResponse {
|
|
24
|
+
payment_id: string;
|
|
25
|
+
payment_status: string;
|
|
26
|
+
pay_address: string;
|
|
27
|
+
price_amount: number;
|
|
28
|
+
price_currency: string;
|
|
29
|
+
pay_amount: number | null;
|
|
30
|
+
pay_currency: string;
|
|
31
|
+
created_at: string;
|
|
32
|
+
expires_at: string;
|
|
33
|
+
invoice_url: string;
|
|
34
|
+
platform_fee_amount?: number;
|
|
35
|
+
platform_fee_currency?: string;
|
|
36
|
+
net_amount?: number;
|
|
37
|
+
platform_fee_percentage?: number;
|
|
38
|
+
}
|
|
39
|
+
export interface InvoiceCreateParams {
|
|
40
|
+
price_amount: number;
|
|
41
|
+
price_currency?: string;
|
|
42
|
+
pay_currency?: string;
|
|
43
|
+
order_id?: string;
|
|
44
|
+
order_description?: string;
|
|
45
|
+
customer_email?: string;
|
|
46
|
+
success_url?: string;
|
|
47
|
+
cancel_url?: string;
|
|
48
|
+
metadata?: Record<string, any>;
|
|
49
|
+
}
|
|
50
|
+
export interface InvoiceResponse {
|
|
51
|
+
invoice_id: string;
|
|
52
|
+
invoice_url: string;
|
|
53
|
+
payment_id: string;
|
|
54
|
+
payment_status: string;
|
|
55
|
+
price_amount: number;
|
|
56
|
+
price_currency: string;
|
|
57
|
+
pay_amount: number | null;
|
|
58
|
+
pay_currency: string;
|
|
59
|
+
created_at: string;
|
|
60
|
+
expires_at: string;
|
|
61
|
+
}
|
|
62
|
+
export interface CurrenciesListParams {
|
|
63
|
+
include_rates?: boolean;
|
|
64
|
+
include_networks?: boolean;
|
|
65
|
+
}
|
|
66
|
+
export interface WithdrawalCreateParams {
|
|
67
|
+
amount: number;
|
|
68
|
+
currency: string;
|
|
69
|
+
address: string;
|
|
70
|
+
network?: string;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=types.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA;;GAEG;AAEH,MAAM,WAAW,aAAa;IAC5B,MAAM,CAAC,EAAE,MAAM,CAAC;IAChB,IAAI,CAAC,EAAE,MAAM,GAAG,MAAM,CAAC;IACvB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,UAAU,CAAC,EAAE,MAAM,CAAC;CACrB;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,gBAAgB,CAAC,EAAE,MAAM,CAAC;IAC1B,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,mBAAmB,CAAC,EAAE,MAAM,CAAC;IAC7B,qBAAqB,CAAC,EAAE,MAAM,CAAC;IAC/B,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uBAAuB,CAAC,EAAE,MAAM,CAAC;CAClC;AAED,MAAM,WAAW,mBAAmB;IAClC,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAC;IAClB,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAC3B,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,GAAG,CAAC,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,UAAU,EAAE,MAAM,CAAC;IACnB,cAAc,EAAE,MAAM,CAAC;IACvB,YAAY,EAAE,MAAM,CAAC;IACrB,cAAc,EAAE,MAAM,CAAC;IACvB,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,YAAY,EAAE,MAAM,CAAC;IACrB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,MAAM,WAAW,oBAAoB;IACnC,aAAa,CAAC,EAAE,OAAO,CAAC;IACxB,gBAAgB,CAAC,EAAE,OAAO,CAAC;CAC5B;AAED,MAAM,WAAW,sBAAsB;IACrC,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,CAAC;IAChB,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB"}
|
package/dist/types.js
ADDED
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"types.js","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":";AAAA;;GAEG"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.d.ts","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":""}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"helpers.js","sourceRoot":"","sources":["../../src/utils/helpers.ts"],"names":[],"mappings":""}
|
|
File without changes
|
|
File without changes
|
|
File without changes
|
package/jest.config.js
ADDED
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
module.exports = {
|
|
2
|
+
preset: 'ts-jest',
|
|
3
|
+
testEnvironment: 'node',
|
|
4
|
+
roots: ['<rootDir>/tests'],
|
|
5
|
+
testMatch: ['**/*.test.ts'],
|
|
6
|
+
collectCoverageFrom: [
|
|
7
|
+
'src/**/*.ts',
|
|
8
|
+
'!src/**/*.d.ts',
|
|
9
|
+
'!src/index.ts',
|
|
10
|
+
],
|
|
11
|
+
coverageThreshold: {
|
|
12
|
+
global: {
|
|
13
|
+
branches: 80,
|
|
14
|
+
functions: 80,
|
|
15
|
+
lines: 80,
|
|
16
|
+
statements: 80,
|
|
17
|
+
},
|
|
18
|
+
},
|
|
19
|
+
};
|
package/package.json
ADDED
|
@@ -0,0 +1,55 @@
|
|
|
1
|
+
{
|
|
2
|
+
"name": "zyropai",
|
|
3
|
+
"version": "1.0.0",
|
|
4
|
+
"description": "Official Node.js SDK for ZyroPAI - Non-custodial crypto payment gateway",
|
|
5
|
+
"main": "dist/index.js",
|
|
6
|
+
"types": "dist/index.d.ts",
|
|
7
|
+
"scripts": {
|
|
8
|
+
"build": "rimraf dist && tsc",
|
|
9
|
+
"test": "jest",
|
|
10
|
+
"test:coverage": "jest --coverage",
|
|
11
|
+
"lint": "eslint src/**/*.ts",
|
|
12
|
+
"format": "prettier --write \"src/**/*.ts\"",
|
|
13
|
+
"prepublishOnly": "npm run build",
|
|
14
|
+
"dev": "ts-node src/index.ts"
|
|
15
|
+
},
|
|
16
|
+
"keywords": [
|
|
17
|
+
"crypto",
|
|
18
|
+
"payment",
|
|
19
|
+
"gateway",
|
|
20
|
+
"blockchain",
|
|
21
|
+
"solana",
|
|
22
|
+
"usdc",
|
|
23
|
+
"web3",
|
|
24
|
+
"payment-processing"
|
|
25
|
+
],
|
|
26
|
+
"author": "ZyroPAI Team",
|
|
27
|
+
"license": "MIT",
|
|
28
|
+
"repository": {
|
|
29
|
+
"type": "git",
|
|
30
|
+
"url": "git+https://github.com/zyropai/zyropai-node.git"
|
|
31
|
+
},
|
|
32
|
+
"bugs": {
|
|
33
|
+
"url": "https://github.com/zyropai/zyropai-node/issues"
|
|
34
|
+
},
|
|
35
|
+
"homepage": "https://zyropai.com",
|
|
36
|
+
"dependencies": {
|
|
37
|
+
"axios": "^1.6.0"
|
|
38
|
+
},
|
|
39
|
+
"devDependencies": {
|
|
40
|
+
"@types/jest": "^29.5.0",
|
|
41
|
+
"@types/node": "^20.0.0",
|
|
42
|
+
"@typescript-eslint/eslint-plugin": "^6.0.0",
|
|
43
|
+
"@typescript-eslint/parser": "^6.0.0",
|
|
44
|
+
"eslint": "^8.0.0",
|
|
45
|
+
"jest": "^29.5.0",
|
|
46
|
+
"prettier": "^3.0.0",
|
|
47
|
+
"rimraf": "^5.0.0",
|
|
48
|
+
"ts-jest": "^29.1.0",
|
|
49
|
+
"ts-node": "^10.9.0",
|
|
50
|
+
"typescript": "^5.0.0"
|
|
51
|
+
},
|
|
52
|
+
"engines": {
|
|
53
|
+
"node": ">=14.0.0"
|
|
54
|
+
}
|
|
55
|
+
}
|