@muhammedaksam/sipay-node 0.1.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.
Files changed (57) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +346 -0
  3. package/dist/esm/index.js +45 -0
  4. package/dist/esm/index.js.map +1 -0
  5. package/dist/esm/resources/base.js +24 -0
  6. package/dist/esm/resources/base.js.map +1 -0
  7. package/dist/esm/resources/branded-solution.js +18 -0
  8. package/dist/esm/resources/branded-solution.js.map +1 -0
  9. package/dist/esm/resources/commissions.js +10 -0
  10. package/dist/esm/resources/commissions.js.map +1 -0
  11. package/dist/esm/resources/payments.js +50 -0
  12. package/dist/esm/resources/payments.js.map +1 -0
  13. package/dist/esm/resources/recurring.js +16 -0
  14. package/dist/esm/resources/recurring.js.map +1 -0
  15. package/dist/esm/types/index.js +2 -0
  16. package/dist/esm/types/index.js.map +1 -0
  17. package/dist/esm/utils/http-client.js +119 -0
  18. package/dist/esm/utils/http-client.js.map +1 -0
  19. package/dist/esm/utils/index.js +136 -0
  20. package/dist/esm/utils/index.js.map +1 -0
  21. package/dist/index.d.ts +35 -0
  22. package/dist/index.d.ts.map +1 -0
  23. package/dist/index.js +69 -0
  24. package/dist/index.js.map +1 -0
  25. package/dist/resources/base.d.ts +12 -0
  26. package/dist/resources/base.d.ts.map +1 -0
  27. package/dist/resources/base.js +28 -0
  28. package/dist/resources/base.js.map +1 -0
  29. package/dist/resources/branded-solution.d.ts +15 -0
  30. package/dist/resources/branded-solution.d.ts.map +1 -0
  31. package/dist/resources/branded-solution.js +22 -0
  32. package/dist/resources/branded-solution.js.map +1 -0
  33. package/dist/resources/commissions.d.ts +9 -0
  34. package/dist/resources/commissions.d.ts.map +1 -0
  35. package/dist/resources/commissions.js +14 -0
  36. package/dist/resources/commissions.js.map +1 -0
  37. package/dist/resources/payments.d.ts +30 -0
  38. package/dist/resources/payments.d.ts.map +1 -0
  39. package/dist/resources/payments.js +54 -0
  40. package/dist/resources/payments.js.map +1 -0
  41. package/dist/resources/recurring.d.ts +13 -0
  42. package/dist/resources/recurring.d.ts.map +1 -0
  43. package/dist/resources/recurring.js +20 -0
  44. package/dist/resources/recurring.js.map +1 -0
  45. package/dist/types/index.d.ts +116 -0
  46. package/dist/types/index.d.ts.map +1 -0
  47. package/dist/types/index.js +3 -0
  48. package/dist/types/index.js.map +1 -0
  49. package/dist/utils/http-client.d.ts +16 -0
  50. package/dist/utils/http-client.d.ts.map +1 -0
  51. package/dist/utils/http-client.js +126 -0
  52. package/dist/utils/http-client.js.map +1 -0
  53. package/dist/utils/index.d.ts +36 -0
  54. package/dist/utils/index.d.ts.map +1 -0
  55. package/dist/utils/index.js +178 -0
  56. package/dist/utils/index.js.map +1 -0
  57. package/package.json +72 -0
@@ -0,0 +1 @@
1
+ {"version":3,"file":"http-client.js","sourceRoot":"","sources":["../../../src/utils/http-client.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,136 @@
1
+ import * as crypto from 'crypto';
2
+ /**
3
+ * Utility functions for Sipay SDK
4
+ */
5
+ /**
6
+ * Generate hash key for payment requests
7
+ * Based on Sipay documentation requirements
8
+ */
9
+ export function generateHashKey(merchantKey, invoiceId, amount, secretKey) {
10
+ const hashString = `${merchantKey}${invoiceId}${amount}${secretKey}`;
11
+ return crypto.createHash('sha256').update(hashString).digest('hex');
12
+ }
13
+ /**
14
+ * Validate credit card number using Luhn algorithm
15
+ */
16
+ export function validateCreditCard(cardNumber) {
17
+ const num = cardNumber.replace(/\D/g, '');
18
+ // Check if empty or less than 13 digits
19
+ if (num.length < 13 || num.length > 19) {
20
+ return false;
21
+ }
22
+ let sum = 0;
23
+ let isEven = false;
24
+ for (let i = num.length - 1; i >= 0; i--) {
25
+ let digit = parseInt(num.charAt(i), 10);
26
+ if (isEven) {
27
+ digit *= 2;
28
+ if (digit > 9) {
29
+ digit -= 9;
30
+ }
31
+ }
32
+ sum += digit;
33
+ isEven = !isEven;
34
+ }
35
+ return sum % 10 === 0;
36
+ }
37
+ /**
38
+ * Format currency amount for Sipay API
39
+ */
40
+ export function formatAmount(amount) {
41
+ return amount.toFixed(2);
42
+ }
43
+ /**
44
+ * Generate a unique invoice ID
45
+ */
46
+ export function generateInvoiceId(prefix = 'INV') {
47
+ const timestamp = Date.now();
48
+ const random = Math.floor(Math.random() * 10000);
49
+ return `${prefix}${timestamp}${random}`;
50
+ }
51
+ /**
52
+ * Validate required payment fields
53
+ */
54
+ export function validatePaymentData(data) {
55
+ const errors = [];
56
+ const requiredFields = [
57
+ 'cc_holder_name',
58
+ 'cc_no',
59
+ 'expiry_month',
60
+ 'expiry_year',
61
+ 'currency_code',
62
+ 'invoice_id',
63
+ 'total',
64
+ 'name',
65
+ 'surname',
66
+ 'items',
67
+ ];
68
+ for (const field of requiredFields) {
69
+ if (!data[field]) {
70
+ errors.push(`Missing required field: ${field}`);
71
+ }
72
+ }
73
+ // Validate credit card
74
+ if (data.cc_no && !validateCreditCard(data.cc_no)) {
75
+ errors.push('Invalid credit card number');
76
+ }
77
+ // Validate amount
78
+ if (data.total && (isNaN(data.total) || data.total <= 0)) {
79
+ errors.push('Invalid amount');
80
+ }
81
+ // Validate currency
82
+ const validCurrencies = ['TRY', 'USD', 'EUR'];
83
+ if (data.currency_code && !validCurrencies.includes(data.currency_code)) {
84
+ errors.push('Invalid currency code');
85
+ }
86
+ // Validate expiry
87
+ if (data.expiry_month) {
88
+ const month = parseInt(data.expiry_month, 10);
89
+ if (isNaN(month) || month < 1 || month > 12) {
90
+ errors.push('Invalid expiry month');
91
+ }
92
+ }
93
+ if (data.expiry_year) {
94
+ const year = parseInt(data.expiry_year, 10);
95
+ const currentYear = new Date().getFullYear();
96
+ if (isNaN(year) || year < currentYear || year > currentYear + 20) {
97
+ errors.push('Invalid expiry year');
98
+ }
99
+ }
100
+ return errors;
101
+ }
102
+ /**
103
+ * Mask credit card number for logging
104
+ */
105
+ export function maskCreditCard(cardNumber) {
106
+ const num = cardNumber.replace(/\D/g, '');
107
+ if (num.length <= 3) {
108
+ return '*'.repeat(num.length);
109
+ }
110
+ if (num.length <= 7) {
111
+ const firstThree = num.substring(0, 3);
112
+ const middle = '*'.repeat(num.length - 4);
113
+ const lastOne = num.substring(num.length - 1);
114
+ return `${firstThree}${middle}${lastOne}`;
115
+ }
116
+ const firstFour = num.substring(0, 4);
117
+ const lastFour = num.substring(num.length - 4);
118
+ const middle = '*'.repeat(Math.max(0, num.length - 8));
119
+ return `${firstFour}${middle}${lastFour}`;
120
+ }
121
+ /**
122
+ * Parse Sipay error response
123
+ */
124
+ export function parseSipayError(error) {
125
+ if (error.response?.data) {
126
+ return {
127
+ code: error.response.data.status_code || 0,
128
+ message: error.response.data.status_description || error.response.data.message || 'Unknown error',
129
+ };
130
+ }
131
+ return {
132
+ code: 0,
133
+ message: error.message || 'Network error',
134
+ };
135
+ }
136
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../../src/utils/index.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,MAAM,MAAM,QAAQ,CAAC;AAEjC;;GAEG;AAEH;;;GAGG;AACH,MAAM,UAAU,eAAe,CAC7B,WAAmB,EACnB,SAAiB,EACjB,MAAc,EACd,SAAiB;IAEjB,MAAM,UAAU,GAAG,GAAG,WAAW,GAAG,SAAS,GAAG,MAAM,GAAG,SAAS,EAAE,CAAC;IACrE,OAAO,MAAM,CAAC,UAAU,CAAC,QAAQ,CAAC,CAAC,MAAM,CAAC,UAAU,CAAC,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,kBAAkB,CAAC,UAAkB;IACnD,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE1C,wCAAwC;IACxC,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,IAAI,GAAG,CAAC,MAAM,GAAG,EAAE,EAAE,CAAC;QACvC,OAAO,KAAK,CAAC;IACf,CAAC;IAED,IAAI,GAAG,GAAG,CAAC,CAAC;IACZ,IAAI,MAAM,GAAG,KAAK,CAAC;IAEnB,KAAK,IAAI,CAAC,GAAG,GAAG,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC,IAAI,CAAC,EAAE,CAAC,EAAE,EAAE,CAAC;QACzC,IAAI,KAAK,GAAG,QAAQ,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;QAExC,IAAI,MAAM,EAAE,CAAC;YACX,KAAK,IAAI,CAAC,CAAC;YACX,IAAI,KAAK,GAAG,CAAC,EAAE,CAAC;gBACd,KAAK,IAAI,CAAC,CAAC;YACb,CAAC;QACH,CAAC;QAED,GAAG,IAAI,KAAK,CAAC;QACb,MAAM,GAAG,CAAC,MAAM,CAAC;IACnB,CAAC;IAED,OAAO,GAAG,GAAG,EAAE,KAAK,CAAC,CAAC;AACxB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,YAAY,CAAC,MAAc;IACzC,OAAO,MAAM,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC;AAC3B,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,iBAAiB,CAAC,MAAM,GAAG,KAAK;IAC9C,MAAM,SAAS,GAAG,IAAI,CAAC,GAAG,EAAE,CAAC;IAC7B,MAAM,MAAM,GAAG,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,MAAM,EAAE,GAAG,KAAK,CAAC,CAAC;IACjD,OAAO,GAAG,MAAM,GAAG,SAAS,GAAG,MAAM,EAAE,CAAC;AAC1C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,mBAAmB,CAAC,IAAS;IAC3C,MAAM,MAAM,GAAa,EAAE,CAAC;IAC5B,MAAM,cAAc,GAAG;QACrB,gBAAgB;QAChB,OAAO;QACP,cAAc;QACd,aAAa;QACb,eAAe;QACf,YAAY;QACZ,OAAO;QACP,MAAM;QACN,SAAS;QACT,OAAO;KACR,CAAC;IAEF,KAAK,MAAM,KAAK,IAAI,cAAc,EAAE,CAAC;QACnC,IAAI,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;YACjB,MAAM,CAAC,IAAI,CAAC,2BAA2B,KAAK,EAAE,CAAC,CAAC;QAClD,CAAC;IACH,CAAC;IAED,uBAAuB;IACvB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,kBAAkB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClD,MAAM,CAAC,IAAI,CAAC,4BAA4B,CAAC,CAAC;IAC5C,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,IAAI,CAAC,CAAC,EAAE,CAAC;QACzD,MAAM,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;IAChC,CAAC;IAED,oBAAoB;IACpB,MAAM,eAAe,GAAG,CAAC,KAAK,EAAE,KAAK,EAAE,KAAK,CAAC,CAAC;IAC9C,IAAI,IAAI,CAAC,aAAa,IAAI,CAAC,eAAe,CAAC,QAAQ,CAAC,IAAI,CAAC,aAAa,CAAC,EAAE,CAAC;QACxE,MAAM,CAAC,IAAI,CAAC,uBAAuB,CAAC,CAAC;IACvC,CAAC;IAED,kBAAkB;IAClB,IAAI,IAAI,CAAC,YAAY,EAAE,CAAC;QACtB,MAAM,KAAK,GAAG,QAAQ,CAAC,IAAI,CAAC,YAAY,EAAE,EAAE,CAAC,CAAC;QAC9C,IAAI,KAAK,CAAC,KAAK,CAAC,IAAI,KAAK,GAAG,CAAC,IAAI,KAAK,GAAG,EAAE,EAAE,CAAC;YAC5C,MAAM,CAAC,IAAI,CAAC,sBAAsB,CAAC,CAAC;QACtC,CAAC;IACH,CAAC;IAED,IAAI,IAAI,CAAC,WAAW,EAAE,CAAC;QACrB,MAAM,IAAI,GAAG,QAAQ,CAAC,IAAI,CAAC,WAAW,EAAE,EAAE,CAAC,CAAC;QAC5C,MAAM,WAAW,GAAG,IAAI,IAAI,EAAE,CAAC,WAAW,EAAE,CAAC;QAC7C,IAAI,KAAK,CAAC,IAAI,CAAC,IAAI,IAAI,GAAG,WAAW,IAAI,IAAI,GAAG,WAAW,GAAG,EAAE,EAAE,CAAC;YACjE,MAAM,CAAC,IAAI,CAAC,qBAAqB,CAAC,CAAC;QACrC,CAAC;IACH,CAAC;IAED,OAAO,MAAM,CAAC;AAChB,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,cAAc,CAAC,UAAkB;IAC/C,MAAM,GAAG,GAAG,UAAU,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,CAAC;IAE1C,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpB,OAAO,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC;IAChC,CAAC;IAED,IAAI,GAAG,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;QACpB,MAAM,UAAU,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;QACvC,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC1C,MAAM,OAAO,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;QAC9C,OAAO,GAAG,UAAU,GAAG,MAAM,GAAG,OAAO,EAAE,CAAC;IAC5C,CAAC;IAED,MAAM,SAAS,GAAG,GAAG,CAAC,SAAS,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC;IACtC,MAAM,QAAQ,GAAG,GAAG,CAAC,SAAS,CAAC,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC;IAC/C,MAAM,MAAM,GAAG,GAAG,CAAC,MAAM,CAAC,IAAI,CAAC,GAAG,CAAC,CAAC,EAAE,GAAG,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC;IAEvD,OAAO,GAAG,SAAS,GAAG,MAAM,GAAG,QAAQ,EAAE,CAAC;AAC5C,CAAC;AAED;;GAEG;AACH,MAAM,UAAU,eAAe,CAAC,KAAU;IACxC,IAAI,KAAK,CAAC,QAAQ,EAAE,IAAI,EAAE,CAAC;QACzB,OAAO;YACL,IAAI,EAAE,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,WAAW,IAAI,CAAC;YAC1C,OAAO,EACL,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,kBAAkB,IAAI,KAAK,CAAC,QAAQ,CAAC,IAAI,CAAC,OAAO,IAAI,eAAe;SAC3F,CAAC;IACJ,CAAC;IAED,OAAO;QACL,IAAI,EAAE,CAAC;QACP,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,eAAe;KAC1C,CAAC;AACJ,CAAC"}
@@ -0,0 +1,35 @@
1
+ import { SipayConfig } from './types';
2
+ import { Payments } from './resources/payments';
3
+ import { Recurring } from './resources/recurring';
4
+ import { BrandedSolution } from './resources/branded-solution';
5
+ import { Commissions } from './resources/commissions';
6
+ export declare class Sipay {
7
+ private client;
8
+ payments: Payments;
9
+ recurring: Recurring;
10
+ brandedSolution: BrandedSolution;
11
+ commissions: Commissions;
12
+ constructor(config: SipayConfig);
13
+ /**
14
+ * Manually authenticate with Sipay API
15
+ * Note: This is automatically called when needed, but can be called manually
16
+ */
17
+ authenticate(): Promise<void>;
18
+ /**
19
+ * Get the current authentication token
20
+ */
21
+ getToken(): string | undefined;
22
+ /**
23
+ * Set a custom authentication token
24
+ */
25
+ setToken(token: string): void;
26
+ }
27
+ export default Sipay;
28
+ export * from './types';
29
+ export { SipayHttpClient } from './utils/http-client';
30
+ export { SipayResource } from './resources/base';
31
+ export { Payments } from './resources/payments';
32
+ export { Recurring } from './resources/recurring';
33
+ export { BrandedSolution } from './resources/branded-solution';
34
+ export { Commissions } from './resources/commissions';
35
+ //# sourceMappingURL=index.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,WAAW,EAAE,MAAM,SAAS,CAAC;AACtC,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC;AAEtD,qBAAa,KAAK;IAChB,OAAO,CAAC,MAAM,CAAkB;IAEzB,QAAQ,EAAE,QAAQ,CAAC;IACnB,SAAS,EAAE,SAAS,CAAC;IACrB,eAAe,EAAE,eAAe,CAAC;IACjC,WAAW,EAAE,WAAW,CAAC;gBAEpB,MAAM,EAAE,WAAW;IAU/B;;;OAGG;IACG,YAAY,IAAI,OAAO,CAAC,IAAI,CAAC;IAInC;;OAEG;IACH,QAAQ,IAAI,MAAM,GAAG,SAAS;IAI9B;;OAEG;IACH,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,IAAI;CAG9B;AAGD,eAAe,KAAK,CAAC;AAGrB,cAAc,SAAS,CAAC;AACxB,OAAO,EAAE,eAAe,EAAE,MAAM,qBAAqB,CAAC;AACtD,OAAO,EAAE,aAAa,EAAE,MAAM,kBAAkB,CAAC;AACjD,OAAO,EAAE,QAAQ,EAAE,MAAM,sBAAsB,CAAC;AAChD,OAAO,EAAE,SAAS,EAAE,MAAM,uBAAuB,CAAC;AAClD,OAAO,EAAE,eAAe,EAAE,MAAM,8BAA8B,CAAC;AAC/D,OAAO,EAAE,WAAW,EAAE,MAAM,yBAAyB,CAAC"}
package/dist/index.js ADDED
@@ -0,0 +1,69 @@
1
+ "use strict";
2
+ var __createBinding = (this && this.__createBinding) || (Object.create ? (function(o, m, k, k2) {
3
+ if (k2 === undefined) k2 = k;
4
+ var desc = Object.getOwnPropertyDescriptor(m, k);
5
+ if (!desc || ("get" in desc ? !m.__esModule : desc.writable || desc.configurable)) {
6
+ desc = { enumerable: true, get: function() { return m[k]; } };
7
+ }
8
+ Object.defineProperty(o, k2, desc);
9
+ }) : (function(o, m, k, k2) {
10
+ if (k2 === undefined) k2 = k;
11
+ o[k2] = m[k];
12
+ }));
13
+ var __exportStar = (this && this.__exportStar) || function(m, exports) {
14
+ for (var p in m) if (p !== "default" && !Object.prototype.hasOwnProperty.call(exports, p)) __createBinding(exports, m, p);
15
+ };
16
+ Object.defineProperty(exports, "__esModule", { value: true });
17
+ exports.Commissions = exports.BrandedSolution = exports.Recurring = exports.Payments = exports.SipayResource = exports.SipayHttpClient = exports.Sipay = void 0;
18
+ const http_client_1 = require("./utils/http-client");
19
+ const payments_1 = require("./resources/payments");
20
+ const recurring_1 = require("./resources/recurring");
21
+ const branded_solution_1 = require("./resources/branded-solution");
22
+ const commissions_1 = require("./resources/commissions");
23
+ class Sipay {
24
+ constructor(config) {
25
+ this.client = new http_client_1.SipayHttpClient(config);
26
+ // Initialize resources
27
+ this.payments = new payments_1.Payments(this.client);
28
+ this.recurring = new recurring_1.Recurring(this.client);
29
+ this.brandedSolution = new branded_solution_1.BrandedSolution(this.client);
30
+ this.commissions = new commissions_1.Commissions(this.client);
31
+ }
32
+ /**
33
+ * Manually authenticate with Sipay API
34
+ * Note: This is automatically called when needed, but can be called manually
35
+ */
36
+ async authenticate() {
37
+ return this.client.authenticate();
38
+ }
39
+ /**
40
+ * Get the current authentication token
41
+ */
42
+ getToken() {
43
+ return this.client.getToken();
44
+ }
45
+ /**
46
+ * Set a custom authentication token
47
+ */
48
+ setToken(token) {
49
+ this.client.setToken(token);
50
+ }
51
+ }
52
+ exports.Sipay = Sipay;
53
+ // Default export
54
+ exports.default = Sipay;
55
+ // Named exports
56
+ __exportStar(require("./types"), exports);
57
+ var http_client_2 = require("./utils/http-client");
58
+ Object.defineProperty(exports, "SipayHttpClient", { enumerable: true, get: function () { return http_client_2.SipayHttpClient; } });
59
+ var base_1 = require("./resources/base");
60
+ Object.defineProperty(exports, "SipayResource", { enumerable: true, get: function () { return base_1.SipayResource; } });
61
+ var payments_2 = require("./resources/payments");
62
+ Object.defineProperty(exports, "Payments", { enumerable: true, get: function () { return payments_2.Payments; } });
63
+ var recurring_2 = require("./resources/recurring");
64
+ Object.defineProperty(exports, "Recurring", { enumerable: true, get: function () { return recurring_2.Recurring; } });
65
+ var branded_solution_2 = require("./resources/branded-solution");
66
+ Object.defineProperty(exports, "BrandedSolution", { enumerable: true, get: function () { return branded_solution_2.BrandedSolution; } });
67
+ var commissions_2 = require("./resources/commissions");
68
+ Object.defineProperty(exports, "Commissions", { enumerable: true, get: function () { return commissions_2.Commissions; } });
69
+ //# sourceMappingURL=index.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;;;AAAA,qDAAsD;AAEtD,mDAAgD;AAChD,qDAAkD;AAClD,mEAA+D;AAC/D,yDAAsD;AAEtD,MAAa,KAAK;IAQhB,YAAY,MAAmB;QAC7B,IAAI,CAAC,MAAM,GAAG,IAAI,6BAAe,CAAC,MAAM,CAAC,CAAC;QAE1C,uBAAuB;QACvB,IAAI,CAAC,QAAQ,GAAG,IAAI,mBAAQ,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC1C,IAAI,CAAC,SAAS,GAAG,IAAI,qBAAS,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QAC5C,IAAI,CAAC,eAAe,GAAG,IAAI,kCAAe,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;QACxD,IAAI,CAAC,WAAW,GAAG,IAAI,yBAAW,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAClD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,YAAY;QAChB,OAAO,IAAI,CAAC,MAAM,CAAC,YAAY,EAAE,CAAC;IACpC,CAAC;IAED;;OAEG;IACH,QAAQ;QACN,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,CAAC;IAChC,CAAC;IAED;;OAEG;IACH,QAAQ,CAAC,KAAa;QACpB,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;IAC9B,CAAC;CACF;AAvCD,sBAuCC;AAED,iBAAiB;AACjB,kBAAe,KAAK,CAAC;AAErB,gBAAgB;AAChB,0CAAwB;AACxB,mDAAsD;AAA7C,8GAAA,eAAe,OAAA;AACxB,yCAAiD;AAAxC,qGAAA,aAAa,OAAA;AACtB,iDAAgD;AAAvC,oGAAA,QAAQ,OAAA;AACjB,mDAAkD;AAAzC,sGAAA,SAAS,OAAA;AAClB,iEAA+D;AAAtD,mHAAA,eAAe,OAAA;AACxB,uDAAsD;AAA7C,0GAAA,WAAW,OAAA"}
@@ -0,0 +1,12 @@
1
+ import { SipayHttpClient } from '../utils/http-client';
2
+ import { SipayApiResponse, RequestOptions } from '../types';
3
+ export declare abstract class SipayResource {
4
+ protected client: SipayHttpClient;
5
+ constructor(client: SipayHttpClient);
6
+ protected request<T = any>(method: 'GET' | 'POST', url: string, data?: any, options?: RequestOptions): Promise<SipayApiResponse<T>>;
7
+ protected get<T = any>(url: string, params?: any, options?: RequestOptions): Promise<SipayApiResponse<T>>;
8
+ protected post<T = any>(url: string, data?: any, options?: RequestOptions): Promise<SipayApiResponse<T>>;
9
+ protected postForm<T = any>(url: string, data?: any, options?: RequestOptions): Promise<SipayApiResponse<T>>;
10
+ protected addMerchantKey(data: any): any;
11
+ }
12
+ //# sourceMappingURL=base.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.d.ts","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,eAAe,EAAE,MAAM,sBAAsB,CAAC;AACvD,OAAO,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE5D,8BAAsB,aAAa;IACjC,SAAS,CAAC,MAAM,EAAE,eAAe,CAAC;gBAEtB,MAAM,EAAE,eAAe;cAInB,OAAO,CAAC,CAAC,GAAG,GAAG,EAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,EACtB,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;cAIf,GAAG,CAAC,CAAC,GAAG,GAAG,EACzB,GAAG,EAAE,MAAM,EACX,MAAM,CAAC,EAAE,GAAG,EACZ,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;cAIf,IAAI,CAAC,CAAC,GAAG,GAAG,EAC1B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;cAIf,QAAQ,CAAC,CAAC,GAAG,GAAG,EAC9B,GAAG,EAAE,MAAM,EACX,IAAI,CAAC,EAAE,GAAG,EACV,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAI/B,SAAS,CAAC,cAAc,CAAC,IAAI,EAAE,GAAG,GAAG,GAAG;CAMzC"}
@@ -0,0 +1,28 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.SipayResource = void 0;
4
+ class SipayResource {
5
+ constructor(client) {
6
+ this.client = client;
7
+ }
8
+ async request(method, url, data, options) {
9
+ return this.client.request(method, url, data, options);
10
+ }
11
+ async get(url, params, options) {
12
+ return this.client.get(url, params, options);
13
+ }
14
+ async post(url, data, options) {
15
+ return this.client.post(url, data, options);
16
+ }
17
+ async postForm(url, data, options) {
18
+ return this.client.postForm(url, data, options);
19
+ }
20
+ addMerchantKey(data) {
21
+ return {
22
+ ...data,
23
+ merchant_key: this.client['config'].merchantKey,
24
+ };
25
+ }
26
+ }
27
+ exports.SipayResource = SipayResource;
28
+ //# sourceMappingURL=base.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"base.js","sourceRoot":"","sources":["../../src/resources/base.ts"],"names":[],"mappings":";;;AAGA,MAAsB,aAAa;IAGjC,YAAY,MAAuB;QACjC,IAAI,CAAC,MAAM,GAAG,MAAM,CAAC;IACvB,CAAC;IAES,KAAK,CAAC,OAAO,CACrB,MAAsB,EACtB,GAAW,EACX,IAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAI,MAAM,EAAE,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC5D,CAAC;IAES,KAAK,CAAC,GAAG,CACjB,GAAW,EACX,MAAY,EACZ,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,GAAG,CAAI,GAAG,EAAE,MAAM,EAAE,OAAO,CAAC,CAAC;IAClD,CAAC;IAES,KAAK,CAAC,IAAI,CAClB,GAAW,EACX,IAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,IAAI,CAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAES,KAAK,CAAC,QAAQ,CACtB,GAAW,EACX,IAAU,EACV,OAAwB;QAExB,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAI,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAES,cAAc,CAAC,IAAS;QAChC,OAAO;YACL,GAAG,IAAI;YACP,YAAY,EAAE,IAAI,CAAC,MAAM,CAAC,QAAQ,CAAC,CAAC,WAAW;SAChD,CAAC;IACJ,CAAC;CACF;AA9CD,sCA8CC"}
@@ -0,0 +1,15 @@
1
+ import { SipayResource } from './base';
2
+ import { BrandedSolutionRequest, BrandedStatusRequest, SipayApiResponse, RequestOptions } from '../types';
3
+ export declare class BrandedSolution extends SipayResource {
4
+ /**
5
+ * Create a branded payment link
6
+ */
7
+ createPaymentLink(linkData: Omit<BrandedSolutionRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse<{
8
+ link: string;
9
+ }>>;
10
+ /**
11
+ * Check the status of a branded payment
12
+ */
13
+ checkStatus(statusData: Omit<BrandedStatusRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse>;
14
+ }
15
+ //# sourceMappingURL=branded-solution.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branded-solution.d.ts","sourceRoot":"","sources":["../../src/resources/branded-solution.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,sBAAsB,EACtB,oBAAoB,EACpB,gBAAgB,EAChB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,qBAAa,eAAgB,SAAQ,aAAa;IAChD;;OAEG;IACG,iBAAiB,CACrB,QAAQ,EAAE,IAAI,CAAC,sBAAsB,EAAE,cAAc,CAAC,EACtD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;QAAE,IAAI,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IAK9C;;OAEG;IACG,WAAW,CACf,UAAU,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,EACtD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAI7B"}
@@ -0,0 +1,22 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.BrandedSolution = void 0;
4
+ const base_1 = require("./base");
5
+ class BrandedSolution extends base_1.SipayResource {
6
+ /**
7
+ * Create a branded payment link
8
+ */
9
+ async createPaymentLink(linkData, options) {
10
+ const data = this.addMerchantKey(linkData);
11
+ return this.post('/purchase/link', data, options);
12
+ }
13
+ /**
14
+ * Check the status of a branded payment
15
+ */
16
+ async checkStatus(statusData, options) {
17
+ const data = this.addMerchantKey(statusData);
18
+ return this.post('/purchase/status', data, options);
19
+ }
20
+ }
21
+ exports.BrandedSolution = BrandedSolution;
22
+ //# sourceMappingURL=branded-solution.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"branded-solution.js","sourceRoot":"","sources":["../../src/resources/branded-solution.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAQvC,MAAa,eAAgB,SAAQ,oBAAa;IAChD;;OAEG;IACH,KAAK,CAAC,iBAAiB,CACrB,QAAsD,EACtD,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,QAAQ,CAAC,CAAC;QAC3C,OAAO,IAAI,CAAC,IAAI,CAAC,gBAAgB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACpD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,UAAsD,EACtD,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;CACF;AAtBD,0CAsBC"}
@@ -0,0 +1,9 @@
1
+ import { SipayResource } from './base';
2
+ import { CommissionRequest, SipayApiResponse, RequestOptions } from '../types';
3
+ export declare class Commissions extends SipayResource {
4
+ /**
5
+ * Get commission information for a currency
6
+ */
7
+ getCommissions(commissionData: CommissionRequest, options?: RequestOptions): Promise<SipayApiResponse>;
8
+ }
9
+ //# sourceMappingURL=commissions.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commissions.d.ts","sourceRoot":"","sources":["../../src/resources/commissions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EAAE,iBAAiB,EAAE,gBAAgB,EAAE,cAAc,EAAE,MAAM,UAAU,CAAC;AAE/E,qBAAa,WAAY,SAAQ,aAAa;IAC5C;;OAEG;IACG,cAAc,CAClB,cAAc,EAAE,iBAAiB,EACjC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAG7B"}
@@ -0,0 +1,14 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Commissions = void 0;
4
+ const base_1 = require("./base");
5
+ class Commissions extends base_1.SipayResource {
6
+ /**
7
+ * Get commission information for a currency
8
+ */
9
+ async getCommissions(commissionData, options) {
10
+ return this.get('/api/commissions', commissionData, options);
11
+ }
12
+ }
13
+ exports.Commissions = Commissions;
14
+ //# sourceMappingURL=commissions.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"commissions.js","sourceRoot":"","sources":["../../src/resources/commissions.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAGvC,MAAa,WAAY,SAAQ,oBAAa;IAC5C;;OAEG;IACH,KAAK,CAAC,cAAc,CAClB,cAAiC,EACjC,OAAwB;QAExB,OAAO,IAAI,CAAC,GAAG,CAAC,kBAAkB,EAAE,cAAc,EAAE,OAAO,CAAC,CAAC;IAC/D,CAAC;CACF;AAVD,kCAUC"}
@@ -0,0 +1,30 @@
1
+ import { SipayResource } from './base';
2
+ import { Payment2DRequest, Payment3DRequest, GetPosRequest, PosInfo, SipayApiResponse, RequestOptions, OrderStatusRequest, RefundRequest } from '../types';
3
+ export declare class Payments extends SipayResource {
4
+ /**
5
+ * Process a 2D payment (direct payment without 3D Secure)
6
+ */
7
+ pay2D(paymentData: Omit<Payment2DRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse>;
8
+ /**
9
+ * Process a 3D payment (with 3D Secure authentication)
10
+ * Returns HTML form that should be rendered and auto-submitted
11
+ */
12
+ pay3D(paymentData: Omit<Payment3DRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse>;
13
+ /**
14
+ * Get POS information and installment options for a credit card
15
+ */
16
+ getPos(posData: Omit<GetPosRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse<PosInfo[]>>;
17
+ /**
18
+ * Check the status of a payment
19
+ */
20
+ checkStatus(statusData: Omit<OrderStatusRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse>;
21
+ /**
22
+ * Refund a payment
23
+ */
24
+ refund(refundData: Omit<RefundRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse>;
25
+ /**
26
+ * Legacy 2D payment method (maintains compatibility)
27
+ */
28
+ pay(paymentData: Omit<Payment2DRequest, 'merchant_key'>, options?: RequestOptions): Promise<SipayApiResponse>;
29
+ }
30
+ //# sourceMappingURL=payments.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.d.ts","sourceRoot":"","sources":["../../src/resources/payments.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,OAAO,EACP,gBAAgB,EAChB,cAAc,EACd,kBAAkB,EAClB,aAAa,EACd,MAAM,UAAU,CAAC;AAElB,qBAAa,QAAS,SAAQ,aAAa;IACzC;;OAEG;IACG,KAAK,CACT,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAK5B;;;OAGG;IACG,KAAK,CACT,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAK5B;;OAEG;IACG,MAAM,CACV,OAAO,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAC5C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC,OAAO,EAAE,CAAC,CAAC;IAQvC;;OAEG;IACG,WAAW,CACf,UAAU,EAAE,IAAI,CAAC,kBAAkB,EAAE,cAAc,CAAC,EACpD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAK5B;;OAEG;IACG,MAAM,CACV,UAAU,EAAE,IAAI,CAAC,aAAa,EAAE,cAAc,CAAC,EAC/C,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAK5B;;OAEG;IACG,GAAG,CACP,WAAW,EAAE,IAAI,CAAC,gBAAgB,EAAE,cAAc,CAAC,EACnD,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAI7B"}
@@ -0,0 +1,54 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Payments = void 0;
4
+ const base_1 = require("./base");
5
+ class Payments extends base_1.SipayResource {
6
+ /**
7
+ * Process a 2D payment (direct payment without 3D Secure)
8
+ */
9
+ async pay2D(paymentData, options) {
10
+ const data = this.addMerchantKey(paymentData);
11
+ return this.post('/api/paySmart2D', data, options);
12
+ }
13
+ /**
14
+ * Process a 3D payment (with 3D Secure authentication)
15
+ * Returns HTML form that should be rendered and auto-submitted
16
+ */
17
+ async pay3D(paymentData, options) {
18
+ const data = this.addMerchantKey(paymentData);
19
+ return this.postForm('/api/paySmart3D', data, options);
20
+ }
21
+ /**
22
+ * Get POS information and installment options for a credit card
23
+ */
24
+ async getPos(posData, options) {
25
+ const data = this.addMerchantKey({
26
+ ...posData,
27
+ credit_card: posData.credit_card,
28
+ });
29
+ return this.post('/api/getpos', data, options);
30
+ }
31
+ /**
32
+ * Check the status of a payment
33
+ */
34
+ async checkStatus(statusData, options) {
35
+ const data = this.addMerchantKey(statusData);
36
+ return this.post('/api/checkstatus', data, options);
37
+ }
38
+ /**
39
+ * Refund a payment
40
+ */
41
+ async refund(refundData, options) {
42
+ const data = this.addMerchantKey(refundData);
43
+ return this.post('/api/refund', data, options);
44
+ }
45
+ /**
46
+ * Legacy 2D payment method (maintains compatibility)
47
+ */
48
+ async pay(paymentData, options) {
49
+ const data = this.addMerchantKey(paymentData);
50
+ return this.post('/api/pay', data, options);
51
+ }
52
+ }
53
+ exports.Payments = Payments;
54
+ //# sourceMappingURL=payments.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"payments.js","sourceRoot":"","sources":["../../src/resources/payments.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAYvC,MAAa,QAAS,SAAQ,oBAAa;IACzC;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,WAAmD,EACnD,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACrD,CAAC;IAED;;;OAGG;IACH,KAAK,CAAC,KAAK,CACT,WAAmD,EACnD,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,QAAQ,CAAC,iBAAiB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACzD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,OAA4C,EAC5C,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC;YAC/B,GAAG,OAAO;YACV,WAAW,EAAE,OAAO,CAAC,WAAW;SACjC,CAAC,CAAC;QACH,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,UAAoD,EACpD,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,kBAAkB,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACtD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,MAAM,CACV,UAA+C,EAC/C,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,UAAU,CAAC,CAAC;QAC7C,OAAO,IAAI,CAAC,IAAI,CAAC,aAAa,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IACjD,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,GAAG,CACP,WAAmD,EACnD,OAAwB;QAExB,MAAM,IAAI,GAAG,IAAI,CAAC,cAAc,CAAC,WAAW,CAAC,CAAC;QAC9C,OAAO,IAAI,CAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,OAAO,CAAC,CAAC;IAC9C,CAAC;CACF;AAtED,4BAsEC"}
@@ -0,0 +1,13 @@
1
+ import { SipayResource } from './base';
2
+ import { RecurringQueryRequest, RecurringPlanProcessRequest, SipayApiResponse, RequestOptions } from '../types';
3
+ export declare class Recurring extends SipayResource {
4
+ /**
5
+ * Query recurring payment information
6
+ */
7
+ query(queryData: RecurringQueryRequest, options?: RequestOptions): Promise<SipayApiResponse>;
8
+ /**
9
+ * Process a recurring payment plan
10
+ */
11
+ processPlan(planData: RecurringPlanProcessRequest, options?: RequestOptions): Promise<SipayApiResponse>;
12
+ }
13
+ //# sourceMappingURL=recurring.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurring.d.ts","sourceRoot":"","sources":["../../src/resources/recurring.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,aAAa,EAAE,MAAM,QAAQ,CAAC;AACvC,OAAO,EACL,qBAAqB,EACrB,2BAA2B,EAC3B,gBAAgB,EAChB,cAAc,EACf,MAAM,UAAU,CAAC;AAElB,qBAAa,SAAU,SAAQ,aAAa;IAC1C;;OAEG;IACG,KAAK,CACT,SAAS,EAAE,qBAAqB,EAChC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;IAI5B;;OAEG;IACG,WAAW,CACf,QAAQ,EAAE,2BAA2B,EACrC,OAAO,CAAC,EAAE,cAAc,GACvB,OAAO,CAAC,gBAAgB,CAAC;CAG7B"}
@@ -0,0 +1,20 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.Recurring = void 0;
4
+ const base_1 = require("./base");
5
+ class Recurring extends base_1.SipayResource {
6
+ /**
7
+ * Query recurring payment information
8
+ */
9
+ async query(queryData, options) {
10
+ return this.post('/api/QueryRecurring', queryData, options);
11
+ }
12
+ /**
13
+ * Process a recurring payment plan
14
+ */
15
+ async processPlan(planData, options) {
16
+ return this.post('/api/recurring/plan/process', planData, options);
17
+ }
18
+ }
19
+ exports.Recurring = Recurring;
20
+ //# sourceMappingURL=recurring.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"recurring.js","sourceRoot":"","sources":["../../src/resources/recurring.ts"],"names":[],"mappings":";;;AAAA,iCAAuC;AAQvC,MAAa,SAAU,SAAQ,oBAAa;IAC1C;;OAEG;IACH,KAAK,CAAC,KAAK,CACT,SAAgC,EAChC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,qBAAqB,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC;IAC9D,CAAC;IAED;;OAEG;IACH,KAAK,CAAC,WAAW,CACf,QAAqC,EACrC,OAAwB;QAExB,OAAO,IAAI,CAAC,IAAI,CAAC,6BAA6B,EAAE,QAAQ,EAAE,OAAO,CAAC,CAAC;IACrE,CAAC;CACF;AApBD,8BAoBC"}