@fiatden/openpay 0.0.0-stage → 0.0.2

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 (119) hide show
  1. package/README.md +309 -2
  2. package/dist/analytics.test.d.ts +2 -0
  3. package/dist/analytics.test.d.ts.map +1 -0
  4. package/dist/analytics.test.js +184 -0
  5. package/dist/apps.test.d.ts +2 -0
  6. package/dist/apps.test.d.ts.map +1 -0
  7. package/dist/apps.test.js +92 -0
  8. package/dist/http.d.ts +22 -0
  9. package/dist/http.d.ts.map +1 -0
  10. package/dist/http.js +56 -0
  11. package/dist/http.test.d.ts +2 -0
  12. package/dist/http.test.d.ts.map +1 -0
  13. package/dist/http.test.js +47 -0
  14. package/dist/index.d.ts +157 -0
  15. package/dist/index.d.ts.map +1 -0
  16. package/dist/index.js +207 -0
  17. package/dist/index.test.d.ts +2 -0
  18. package/dist/index.test.d.ts.map +1 -0
  19. package/dist/index.test.js +55 -0
  20. package/dist/resources/analytics.d.ts +220 -0
  21. package/dist/resources/analytics.d.ts.map +1 -0
  22. package/dist/resources/analytics.js +70 -0
  23. package/dist/resources/apiKeys.d.ts +22 -0
  24. package/dist/resources/apiKeys.d.ts.map +1 -0
  25. package/dist/resources/apiKeys.js +40 -0
  26. package/dist/resources/apps.d.ts +142 -0
  27. package/dist/resources/apps.d.ts.map +1 -0
  28. package/dist/resources/apps.js +49 -0
  29. package/dist/resources/auth.d.ts +71 -0
  30. package/dist/resources/auth.d.ts.map +1 -0
  31. package/dist/resources/auth.js +71 -0
  32. package/dist/resources/billing.d.ts +148 -0
  33. package/dist/resources/billing.d.ts.map +1 -0
  34. package/dist/resources/billing.js +55 -0
  35. package/dist/resources/charges.d.ts +67 -0
  36. package/dist/resources/charges.d.ts.map +1 -0
  37. package/dist/resources/charges.js +103 -0
  38. package/dist/resources/checkout.d.ts +80 -0
  39. package/dist/resources/checkout.d.ts.map +1 -0
  40. package/dist/resources/checkout.js +36 -0
  41. package/dist/resources/coupons.d.ts +66 -0
  42. package/dist/resources/coupons.d.ts.map +1 -0
  43. package/dist/resources/coupons.js +39 -0
  44. package/dist/resources/currencies.d.ts +45 -0
  45. package/dist/resources/currencies.d.ts.map +1 -0
  46. package/dist/resources/currencies.js +48 -0
  47. package/dist/resources/currencyPortfolio.d.ts +62 -0
  48. package/dist/resources/currencyPortfolio.d.ts.map +1 -0
  49. package/dist/resources/currencyPortfolio.js +34 -0
  50. package/dist/resources/customers.d.ts +171 -0
  51. package/dist/resources/customers.d.ts.map +1 -0
  52. package/dist/resources/customers.js +72 -0
  53. package/dist/resources/disputes.d.ts +48 -0
  54. package/dist/resources/disputes.d.ts.map +1 -0
  55. package/dist/resources/disputes.js +47 -0
  56. package/dist/resources/emailTemplates.d.ts +55 -0
  57. package/dist/resources/emailTemplates.d.ts.map +1 -0
  58. package/dist/resources/emailTemplates.js +49 -0
  59. package/dist/resources/financialAccounts.d.ts +49 -0
  60. package/dist/resources/financialAccounts.d.ts.map +1 -0
  61. package/dist/resources/financialAccounts.js +22 -0
  62. package/dist/resources/fx.d.ts +34 -0
  63. package/dist/resources/fx.d.ts.map +1 -0
  64. package/dist/resources/fx.js +27 -0
  65. package/dist/resources/invoices.d.ts +32 -0
  66. package/dist/resources/invoices.d.ts.map +1 -0
  67. package/dist/resources/invoices.js +36 -0
  68. package/dist/resources/merchants.d.ts +95 -0
  69. package/dist/resources/merchants.d.ts.map +1 -0
  70. package/dist/resources/merchants.js +113 -0
  71. package/dist/resources/metering.d.ts +65 -0
  72. package/dist/resources/metering.d.ts.map +1 -0
  73. package/dist/resources/metering.js +36 -0
  74. package/dist/resources/paymentLinks.d.ts +45 -0
  75. package/dist/resources/paymentLinks.d.ts.map +1 -0
  76. package/dist/resources/paymentLinks.js +32 -0
  77. package/dist/resources/paymentMethods.d.ts +34 -0
  78. package/dist/resources/paymentMethods.d.ts.map +1 -0
  79. package/dist/resources/paymentMethods.js +17 -0
  80. package/dist/resources/payouts.d.ts +51 -0
  81. package/dist/resources/payouts.d.ts.map +1 -0
  82. package/dist/resources/payouts.js +62 -0
  83. package/dist/resources/platform.d.ts +72 -0
  84. package/dist/resources/platform.d.ts.map +1 -0
  85. package/dist/resources/platform.js +42 -0
  86. package/dist/resources/providers.d.ts +61 -0
  87. package/dist/resources/providers.d.ts.map +1 -0
  88. package/dist/resources/providers.js +42 -0
  89. package/dist/resources/reconciliation.d.ts +125 -0
  90. package/dist/resources/reconciliation.d.ts.map +1 -0
  91. package/dist/resources/reconciliation.js +55 -0
  92. package/dist/resources/referrals.d.ts +25 -0
  93. package/dist/resources/referrals.d.ts.map +1 -0
  94. package/dist/resources/referrals.js +16 -0
  95. package/dist/resources/riskReview.d.ts +96 -0
  96. package/dist/resources/riskReview.d.ts.map +1 -0
  97. package/dist/resources/riskReview.js +44 -0
  98. package/dist/resources/roles.d.ts +59 -0
  99. package/dist/resources/roles.d.ts.map +1 -0
  100. package/dist/resources/roles.js +42 -0
  101. package/dist/resources/status.d.ts +20 -0
  102. package/dist/resources/status.d.ts.map +1 -0
  103. package/dist/resources/status.js +14 -0
  104. package/dist/resources/subscriptions.d.ts +46 -0
  105. package/dist/resources/subscriptions.d.ts.map +1 -0
  106. package/dist/resources/subscriptions.js +69 -0
  107. package/dist/resources/totp.d.ts +36 -0
  108. package/dist/resources/totp.d.ts.map +1 -0
  109. package/dist/resources/totp.js +41 -0
  110. package/dist/resources/wallets.d.ts +128 -0
  111. package/dist/resources/wallets.d.ts.map +1 -0
  112. package/dist/resources/wallets.js +74 -0
  113. package/dist/resources/webhooks.d.ts +47 -0
  114. package/dist/resources/webhooks.d.ts.map +1 -0
  115. package/dist/resources/webhooks.js +41 -0
  116. package/dist/types.d.ts +484 -0
  117. package/dist/types.d.ts.map +1 -0
  118. package/dist/types.js +15 -0
  119. package/package.json +46 -4
@@ -0,0 +1,220 @@
1
+ import { HttpClient } from '../http';
2
+ import { PlatformOverview, ListResponse } from '../types';
3
+ export interface PnlStatement {
4
+ period: {
5
+ start: string;
6
+ end: string;
7
+ };
8
+ income: {
9
+ platform_commissions: number;
10
+ fx_revenue: number;
11
+ total_revenue: number;
12
+ };
13
+ expenses: {
14
+ provider_fees: number;
15
+ coupon_discounts: number;
16
+ referral_commissions: number;
17
+ total_expenses: number;
18
+ };
19
+ net_profit: number;
20
+ metrics: {
21
+ gross_volume: number;
22
+ transaction_count: number;
23
+ take_rate_pct: number;
24
+ profit_margin_pct: number;
25
+ };
26
+ currency: string;
27
+ }
28
+ export interface TrialBalance {
29
+ as_of: string;
30
+ credits: Array<{
31
+ category: string;
32
+ total: number;
33
+ }>;
34
+ debits: Array<{
35
+ category: string;
36
+ total: number;
37
+ }>;
38
+ summary: {
39
+ total_credits: number;
40
+ total_debits: number;
41
+ net: number;
42
+ balanced: boolean;
43
+ };
44
+ wallet_liabilities: {
45
+ available_balance: number;
46
+ pending_balance: number;
47
+ locked_balance: number;
48
+ total: number;
49
+ };
50
+ currency: string;
51
+ }
52
+ export interface CircuitStatus {
53
+ provider: string;
54
+ circuit: 'open' | 'closed';
55
+ open_until: string | null;
56
+ failure_count: number;
57
+ last_failure_at: string | null;
58
+ }
59
+ export interface FxRate {
60
+ base: string;
61
+ target: string;
62
+ rate: number;
63
+ source: string;
64
+ spread: number;
65
+ }
66
+ export interface AuditLogEntry {
67
+ id: string;
68
+ actor_id: string;
69
+ actor_email: string;
70
+ action: string;
71
+ resource_type: string;
72
+ resource_id: string;
73
+ changes: Record<string, unknown>;
74
+ ip_address: string;
75
+ request_id: string;
76
+ created_at: string;
77
+ }
78
+ export declare class AnalyticsResource {
79
+ private client;
80
+ constructor(client: HttpClient);
81
+ /** Get platform-wide overview metrics. */
82
+ getOverview(): Promise<PlatformOverview>;
83
+ /** Get per-merchant analytics. */
84
+ getMerchantAnalytics(merchantId: string): Promise<any>;
85
+ /** Referral program performance (clicks, conversions, commissions). */
86
+ getReferralAnalytics(params?: {
87
+ start_date?: string;
88
+ end_date?: string;
89
+ }): Promise<Record<string, unknown>>;
90
+ /** Get P&L statement for a date range. */
91
+ getPnl(params?: {
92
+ period_start?: string;
93
+ period_end?: string;
94
+ }): Promise<PnlStatement>;
95
+ /** Get trial balance (double-entry accounting) as of a date. */
96
+ getTrialBalance(asOfDate?: string): Promise<TrialBalance>;
97
+ /** Get circuit breaker status for all providers. */
98
+ getCircuitStatus(): Promise<{
99
+ data: CircuitStatus[];
100
+ }>;
101
+ /** Get active FX rates. */
102
+ listFxRates(): Promise<{
103
+ data: FxRate[];
104
+ }>;
105
+ /** Admin: set an FX rate. */
106
+ setFxRate(params: {
107
+ base_currency: string;
108
+ target_currency: string;
109
+ rate: number;
110
+ source?: string;
111
+ }): Promise<any>;
112
+ /** Get audit logs with optional filters. */
113
+ getAuditLogs(params?: {
114
+ actor_id?: string;
115
+ action?: string;
116
+ resource_type?: string;
117
+ resource_id?: string;
118
+ limit?: number;
119
+ starting_after?: string;
120
+ }): Promise<ListResponse<AuditLogEntry>>;
121
+ /** Get fraud detection analytics (admin-only). Returns summary, daily breakdown, top flagged transactions. */
122
+ getFraudAnalytics(): Promise<{
123
+ summary: {
124
+ blocked_today: number;
125
+ flagged_today: number;
126
+ flagged_total: number;
127
+ blocked_total: number;
128
+ approved_total: number;
129
+ avg_risk_score: number;
130
+ high_risk_count: number;
131
+ medium_risk_count: number;
132
+ low_risk_count: number;
133
+ total_assessed: number;
134
+ };
135
+ score_by_provider: Array<{
136
+ provider: string;
137
+ flagged: number;
138
+ blocked: number;
139
+ total: number;
140
+ avg_score: number;
141
+ }>;
142
+ daily: Array<{
143
+ date: string;
144
+ flagged: number;
145
+ blocked: number;
146
+ avg_score: number;
147
+ }>;
148
+ top_flagged: Array<{
149
+ id: string;
150
+ reference: string;
151
+ amount: number;
152
+ currency: string;
153
+ provider: string;
154
+ customer_email: string;
155
+ risk_score: number;
156
+ risk_review_status: string;
157
+ risk_flags: Record<string, unknown>;
158
+ merchant_name: string | null;
159
+ created_at: string;
160
+ }>;
161
+ }>;
162
+ /**
163
+ * 8.4 cross-merchant analytics: customers who transact with more than one
164
+ * merchant. Admins see the whole platform; a merchant sees its subtree.
165
+ */
166
+ getCustomerOverlap(params?: {
167
+ min_merchants?: number;
168
+ limit?: number;
169
+ }): Promise<{
170
+ data: Array<{
171
+ customer_id: string;
172
+ email: string;
173
+ name: string | null;
174
+ merchant_count: number;
175
+ merchant_ids: string[];
176
+ total_volume: number;
177
+ }>;
178
+ min_merchants: number;
179
+ scope: 'platform' | 'merchant_subtree';
180
+ }>;
181
+ /** 8.4 marketplace rollup: per-merchant GMV and charge outcomes in scope. */
182
+ getMarketplace(): Promise<{
183
+ data: Array<{
184
+ merchant_id: string;
185
+ business_name: string;
186
+ parent_merchant_id: string | null;
187
+ parent_commission_bps: number;
188
+ successful_charges: number;
189
+ failed_charges: number;
190
+ gmv: number;
191
+ merchant_settlement: number;
192
+ }>;
193
+ scope: 'platform' | 'merchant_subtree';
194
+ }>;
195
+ /** Get chargeback ratios (admin-only). Returns per-merchant 90-day ratios with safe/warning/critical status. */
196
+ getChargebackRatios(): Promise<{
197
+ data: Array<{
198
+ merchant_id: string;
199
+ business_name: string;
200
+ email: string;
201
+ successful_count_90d: number;
202
+ successful_volume_90d: number;
203
+ dispute_count_90d: number;
204
+ disputed_volume_90d: number;
205
+ chargeback_ratio_bps: number;
206
+ chargeback_ratio_pct: number;
207
+ threshold_bps: number;
208
+ status: 'safe' | 'warning' | 'critical';
209
+ updated_at: string;
210
+ }>;
211
+ summary: {
212
+ total_merchants: number;
213
+ safe: number;
214
+ warning: number;
215
+ critical: number;
216
+ threshold_bps: number;
217
+ };
218
+ }>;
219
+ }
220
+ //# sourceMappingURL=analytics.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/resources/analytics.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAE1D,MAAM,WAAW,YAAY;IAC3B,MAAM,EAAE;QAAE,KAAK,EAAE,MAAM,CAAC;QAAC,GAAG,EAAE,MAAM,CAAA;KAAE,CAAC;IACvC,MAAM,EAAE;QACN,oBAAoB,EAAE,MAAM,CAAC;QAC7B,UAAU,EAAE,MAAM,CAAC;QACnB,aAAa,EAAE,MAAM,CAAC;KACvB,CAAC;IACF,QAAQ,EAAE;QACR,aAAa,EAAE,MAAM,CAAC;QACtB,gBAAgB,EAAE,MAAM,CAAC;QACzB,oBAAoB,EAAE,MAAM,CAAC;QAC7B,cAAc,EAAE,MAAM,CAAC;KACxB,CAAC;IACF,UAAU,EAAE,MAAM,CAAC;IACnB,OAAO,EAAE;QACP,YAAY,EAAE,MAAM,CAAC;QACrB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,aAAa,EAAE,MAAM,CAAC;QACtB,iBAAiB,EAAE,MAAM,CAAC;KAC3B,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,YAAY;IAC3B,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACpD,MAAM,EAAE,KAAK,CAAC;QAAE,QAAQ,EAAE,MAAM,CAAC;QAAC,KAAK,EAAE,MAAM,CAAA;KAAE,CAAC,CAAC;IACnD,OAAO,EAAE;QACP,aAAa,EAAE,MAAM,CAAC;QACtB,YAAY,EAAE,MAAM,CAAC;QACrB,GAAG,EAAE,MAAM,CAAC;QACZ,QAAQ,EAAE,OAAO,CAAC;KACnB,CAAC;IACF,kBAAkB,EAAE;QAClB,iBAAiB,EAAE,MAAM,CAAC;QAC1B,eAAe,EAAE,MAAM,CAAC;QACxB,cAAc,EAAE,MAAM,CAAC;QACvB,KAAK,EAAE,MAAM,CAAC;KACf,CAAC;IACF,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,aAAa;IAC5B,QAAQ,EAAE,MAAM,CAAC;IACjB,OAAO,EAAE,MAAM,GAAG,QAAQ,CAAC;IAC3B,UAAU,EAAE,MAAM,GAAG,IAAI,CAAC;IAC1B,aAAa,EAAE,MAAM,CAAC;IACtB,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,MAAM;IACrB,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,MAAM,EAAE,MAAM,CAAC;CAChB;AAED,MAAM,WAAW,aAAa;IAC5B,EAAE,EAAE,MAAM,CAAC;IACX,QAAQ,EAAE,MAAM,CAAC;IACjB,WAAW,EAAE,MAAM,CAAC;IACpB,MAAM,EAAE,MAAM,CAAC;IACf,aAAa,EAAE,MAAM,CAAC;IACtB,WAAW,EAAE,MAAM,CAAC;IACpB,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,iBAAiB;IAChB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC,0CAA0C;IACpC,WAAW,IAAI,OAAO,CAAC,gBAAgB,CAAC;IAI9C,kCAAkC;IAC5B,oBAAoB,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,GAAG,CAAC;IAI5D,uEAAuE;IACjE,oBAAoB,CAAC,MAAM,CAAC,EAAE;QAAE,UAAU,CAAC,EAAE,MAAM,CAAC;QAAC,QAAQ,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAIjH,0CAA0C;IACpC,MAAM,CAAC,MAAM,CAAC,EAAE;QAAE,YAAY,CAAC,EAAE,MAAM,CAAC;QAAC,UAAU,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC,YAAY,CAAC;IAI5F,gEAAgE;IAC1D,eAAe,CAAC,QAAQ,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAM/D,oDAAoD;IAC9C,gBAAgB,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,aAAa,EAAE,CAAA;KAAE,CAAC;IAI5D,2BAA2B;IACrB,WAAW,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,MAAM,EAAE,CAAA;KAAE,CAAC;IAIhD,6BAA6B;IACvB,SAAS,CAAC,MAAM,EAAE;QACtB,aAAa,EAAE,MAAM,CAAC;QACtB,eAAe,EAAE,MAAM,CAAC;QACxB,IAAI,EAAE,MAAM,CAAC;QACb,MAAM,CAAC,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC,GAAG,CAAC;IAOhB,4CAA4C;IACtC,YAAY,CAAC,MAAM,CAAC,EAAE;QAC1B,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,WAAW,CAAC,EAAE,MAAM,CAAC;QACrB,KAAK,CAAC,EAAE,MAAM,CAAC;QACf,cAAc,CAAC,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,YAAY,CAAC,aAAa,CAAC,CAAC;IAIxC,8GAA8G;IACxG,iBAAiB,IAAI,OAAO,CAAC;QACjC,OAAO,EAAE;YACP,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;YACtB,aAAa,EAAE,MAAM,CAAC;YACtB,cAAc,EAAE,MAAM,CAAC;YACvB,cAAc,EAAE,MAAM,CAAC;YACvB,eAAe,EAAE,MAAM,CAAC;YACxB,iBAAiB,EAAE,MAAM,CAAC;YAC1B,cAAc,EAAE,MAAM,CAAC;YACvB,cAAc,EAAE,MAAM,CAAC;SACxB,CAAC;QACF,iBAAiB,EAAE,KAAK,CAAC;YACvB,QAAQ,EAAE,MAAM,CAAC;YACjB,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,KAAK,EAAE,MAAM,CAAC;YACd,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,KAAK,EAAE,KAAK,CAAC;YACX,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,OAAO,EAAE,MAAM,CAAC;YAChB,SAAS,EAAE,MAAM,CAAC;SACnB,CAAC,CAAC;QACH,WAAW,EAAE,KAAK,CAAC;YACjB,EAAE,EAAE,MAAM,CAAC;YACX,SAAS,EAAE,MAAM,CAAC;YAClB,MAAM,EAAE,MAAM,CAAC;YACf,QAAQ,EAAE,MAAM,CAAC;YACjB,QAAQ,EAAE,MAAM,CAAC;YACjB,cAAc,EAAE,MAAM,CAAC;YACvB,UAAU,EAAE,MAAM,CAAC;YACnB,kBAAkB,EAAE,MAAM,CAAC;YAC3B,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;YACpC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;YAC7B,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;KACJ,CAAC;IAIF;;;OAGG;IACG,kBAAkB,CAAC,MAAM,CAAC,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,GAAG,OAAO,CAAC;QACrF,IAAI,EAAE,KAAK,CAAC;YACV,WAAW,EAAE,MAAM,CAAC;YACpB,KAAK,EAAE,MAAM,CAAC;YACd,IAAI,EAAE,MAAM,GAAG,IAAI,CAAC;YACpB,cAAc,EAAE,MAAM,CAAC;YACvB,YAAY,EAAE,MAAM,EAAE,CAAC;YACvB,YAAY,EAAE,MAAM,CAAC;SACtB,CAAC,CAAC;QACH,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,UAAU,GAAG,kBAAkB,CAAC;KACxC,CAAC;IAIF,6EAA6E;IACvE,cAAc,IAAI,OAAO,CAAC;QAC9B,IAAI,EAAE,KAAK,CAAC;YACV,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,kBAAkB,EAAE,MAAM,GAAG,IAAI,CAAC;YAClC,qBAAqB,EAAE,MAAM,CAAC;YAC9B,kBAAkB,EAAE,MAAM,CAAC;YAC3B,cAAc,EAAE,MAAM,CAAC;YACvB,GAAG,EAAE,MAAM,CAAC;YACZ,mBAAmB,EAAE,MAAM,CAAC;SAC7B,CAAC,CAAC;QACH,KAAK,EAAE,UAAU,GAAG,kBAAkB,CAAC;KACxC,CAAC;IAIF,gHAAgH;IAC1G,mBAAmB,IAAI,OAAO,CAAC;QACnC,IAAI,EAAE,KAAK,CAAC;YACV,WAAW,EAAE,MAAM,CAAC;YACpB,aAAa,EAAE,MAAM,CAAC;YACtB,KAAK,EAAE,MAAM,CAAC;YACd,oBAAoB,EAAE,MAAM,CAAC;YAC7B,qBAAqB,EAAE,MAAM,CAAC;YAC9B,iBAAiB,EAAE,MAAM,CAAC;YAC1B,mBAAmB,EAAE,MAAM,CAAC;YAC5B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,oBAAoB,EAAE,MAAM,CAAC;YAC7B,aAAa,EAAE,MAAM,CAAC;YACtB,MAAM,EAAE,MAAM,GAAG,SAAS,GAAG,UAAU,CAAC;YACxC,UAAU,EAAE,MAAM,CAAC;SACpB,CAAC,CAAC;QACH,OAAO,EAAE;YACP,eAAe,EAAE,MAAM,CAAC;YACxB,IAAI,EAAE,MAAM,CAAC;YACb,OAAO,EAAE,MAAM,CAAC;YAChB,QAAQ,EAAE,MAAM,CAAC;YACjB,aAAa,EAAE,MAAM,CAAC;SACvB,CAAC;KACH,CAAC;CAGH"}
@@ -0,0 +1,70 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AnalyticsResource = void 0;
4
+ class AnalyticsResource {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ /** Get platform-wide overview metrics. */
10
+ async getOverview() {
11
+ return this.client.request('/v1/analytics/overview');
12
+ }
13
+ /** Get per-merchant analytics. */
14
+ async getMerchantAnalytics(merchantId) {
15
+ return this.client.request(`/v1/analytics/merchant/${merchantId}`);
16
+ }
17
+ /** Referral program performance (clicks, conversions, commissions). */
18
+ async getReferralAnalytics(params) {
19
+ return this.client.request('/v1/analytics/referrals', { params });
20
+ }
21
+ /** Get P&L statement for a date range. */
22
+ async getPnl(params) {
23
+ return this.client.request('/v1/analytics/pnl', { params });
24
+ }
25
+ /** Get trial balance (double-entry accounting) as of a date. */
26
+ async getTrialBalance(asOfDate) {
27
+ return this.client.request('/v1/analytics/trial-balance', {
28
+ params: asOfDate ? { as_of: asOfDate } : undefined,
29
+ });
30
+ }
31
+ /** Get circuit breaker status for all providers. */
32
+ async getCircuitStatus() {
33
+ return this.client.request('/v1/analytics/circuits');
34
+ }
35
+ /** Get active FX rates. */
36
+ async listFxRates() {
37
+ return this.client.request('/v1/analytics/fx-rates');
38
+ }
39
+ /** Admin: set an FX rate. */
40
+ async setFxRate(params) {
41
+ return this.client.request('/v1/analytics/fx-rates', {
42
+ method: 'POST',
43
+ body: params,
44
+ });
45
+ }
46
+ /** Get audit logs with optional filters. */
47
+ async getAuditLogs(params) {
48
+ return this.client.request('/v1/audit-logs', { params });
49
+ }
50
+ /** Get fraud detection analytics (admin-only). Returns summary, daily breakdown, top flagged transactions. */
51
+ async getFraudAnalytics() {
52
+ return this.client.request('/v1/analytics/fraud');
53
+ }
54
+ /**
55
+ * 8.4 cross-merchant analytics: customers who transact with more than one
56
+ * merchant. Admins see the whole platform; a merchant sees its subtree.
57
+ */
58
+ async getCustomerOverlap(params) {
59
+ return this.client.request('/v1/analytics/customer-overlap', { params });
60
+ }
61
+ /** 8.4 marketplace rollup: per-merchant GMV and charge outcomes in scope. */
62
+ async getMarketplace() {
63
+ return this.client.request('/v1/analytics/marketplace');
64
+ }
65
+ /** Get chargeback ratios (admin-only). Returns per-merchant 90-day ratios with safe/warning/critical status. */
66
+ async getChargebackRatios() {
67
+ return this.client.request('/v1/analytics/chargeback-ratios');
68
+ }
69
+ }
70
+ exports.AnalyticsResource = AnalyticsResource;
@@ -0,0 +1,22 @@
1
+ import { HttpClient } from '../http';
2
+ import { ApiKeyCreateParams, ApiKey, ListResponse } from '../types';
3
+ export declare class ApiKeysResource {
4
+ private client;
5
+ constructor(client: HttpClient);
6
+ /** Create a new API key. The full key is returned only once. */
7
+ create(params: ApiKeyCreateParams): Promise<ApiKey>;
8
+ /** List all API keys (key values are never returned). */
9
+ list(): Promise<ListResponse<Omit<ApiKey, 'api_key'>>>;
10
+ /** Revoke (deactivate) an API key. */
11
+ revoke(id: string): Promise<ApiKey>;
12
+ /** Rotate an API key's secret. The new key is returned exactly once and the old secret is revoked immediately. */
13
+ rotate(id: string): Promise<ApiKey & {
14
+ api_key: string;
15
+ }>;
16
+ /** Update an API key's name or scopes. */
17
+ update(id: string, params: {
18
+ name?: string;
19
+ scopes?: string[];
20
+ }): Promise<ApiKey>;
21
+ }
22
+ //# sourceMappingURL=apiKeys.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apiKeys.d.ts","sourceRoot":"","sources":["../../src/resources/apiKeys.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AACrC,OAAO,EAAE,kBAAkB,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,UAAU,CAAC;AAEpE,qBAAa,eAAe;IACd,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC,gEAAgE;IAC1D,MAAM,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,MAAM,CAAC;IAOzD,yDAAyD;IACnD,IAAI,IAAI,OAAO,CAAC,YAAY,CAAC,IAAI,CAAC,MAAM,EAAE,SAAS,CAAC,CAAC,CAAC;IAI5D,sCAAsC;IAChC,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAMzC,kHAAkH;IAC5G,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,GAAG;QAAE,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/D,0CAA0C;IACpC,MAAM,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,EAAE;QAAE,IAAI,CAAC,EAAE,MAAM,CAAC;QAAC,MAAM,CAAC,EAAE,MAAM,EAAE,CAAA;KAAE,GAAG,OAAO,CAAC,MAAM,CAAC;CAMxF"}
@@ -0,0 +1,40 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.ApiKeysResource = void 0;
4
+ class ApiKeysResource {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ /** Create a new API key. The full key is returned only once. */
10
+ async create(params) {
11
+ return this.client.request('/v1/api-keys', {
12
+ method: 'POST',
13
+ body: params,
14
+ });
15
+ }
16
+ /** List all API keys (key values are never returned). */
17
+ async list() {
18
+ return this.client.request('/v1/api-keys');
19
+ }
20
+ /** Revoke (deactivate) an API key. */
21
+ async revoke(id) {
22
+ return this.client.request(`/v1/api-keys/${id}/revoke`, {
23
+ method: 'PATCH',
24
+ });
25
+ }
26
+ /** Rotate an API key's secret. The new key is returned exactly once and the old secret is revoked immediately. */
27
+ async rotate(id) {
28
+ return this.client.request(`/v1/api-keys/${id}/rotate`, {
29
+ method: 'POST',
30
+ });
31
+ }
32
+ /** Update an API key's name or scopes. */
33
+ async update(id, params) {
34
+ return this.client.request(`/v1/api-keys/${id}`, {
35
+ method: 'PATCH',
36
+ body: params,
37
+ });
38
+ }
39
+ }
40
+ exports.ApiKeysResource = ApiKeysResource;
@@ -0,0 +1,142 @@
1
+ import { HttpClient } from '../http';
2
+ export interface AppBranding {
3
+ logo_url?: string | null;
4
+ primary_color?: string | null;
5
+ accent_color?: string | null;
6
+ support_email?: string | null;
7
+ custom_message?: string | null;
8
+ }
9
+ export interface AppCreateParams {
10
+ name: string;
11
+ slug: string;
12
+ description?: string;
13
+ logo_url?: string | null;
14
+ primary_color?: string | null;
15
+ accent_color?: string | null;
16
+ support_email?: string | null;
17
+ custom_message?: string | null;
18
+ redirect_urls?: string[];
19
+ webhook_url?: string;
20
+ custom_domain?: string;
21
+ allowed_origins?: string[];
22
+ environment?: 'test' | 'live';
23
+ metadata?: Record<string, unknown>;
24
+ }
25
+ export interface AppUpdateParams {
26
+ name?: string;
27
+ description?: string | null;
28
+ logo_url?: string | null;
29
+ primary_color?: string | null;
30
+ accent_color?: string | null;
31
+ support_email?: string | null;
32
+ custom_message?: string | null;
33
+ redirect_urls?: string[];
34
+ webhook_url?: string | null;
35
+ custom_domain?: string | null;
36
+ allowed_origins?: string[];
37
+ is_active?: boolean;
38
+ is_live?: boolean;
39
+ rate_limit_override?: number | null;
40
+ metadata?: Record<string, unknown>;
41
+ }
42
+ export interface App extends AppBranding {
43
+ id: string;
44
+ name: string;
45
+ slug: string;
46
+ description: string | null;
47
+ redirect_urls: string[];
48
+ webhook_url: string | null;
49
+ custom_domain: string | null;
50
+ allowed_origins: string[];
51
+ is_active: boolean;
52
+ is_live: boolean;
53
+ environment: 'test' | 'live';
54
+ rate_limit_override: number | null;
55
+ metadata: Record<string, unknown>;
56
+ created_at: string;
57
+ updated_at: string;
58
+ merchant_id?: string;
59
+ }
60
+ export interface AppStats {
61
+ transaction_count?: number;
62
+ gross_volume_cents?: number;
63
+ successful_volume_cents?: number;
64
+ failed_volume_cents?: number;
65
+ active_subscriptions?: number;
66
+ active_customers?: number;
67
+ open_disputes?: number;
68
+ disputed_amount_cents?: number;
69
+ }
70
+ export interface AppAnalytics {
71
+ app_id: string;
72
+ period: '24h' | '7d' | '30d' | '90d';
73
+ transactions: Record<string, number | string>;
74
+ subscriptions: Record<string, number | string>;
75
+ disputes: Record<string, number | string>;
76
+ }
77
+ export declare class AppsResource {
78
+ private client;
79
+ constructor(client: HttpClient);
80
+ create(params: AppCreateParams): Promise<App & {
81
+ publishable_key: string;
82
+ secret_key: string;
83
+ warning: string;
84
+ }>;
85
+ list(params?: {
86
+ status?: 'active' | 'archived';
87
+ limit?: number;
88
+ offset?: number;
89
+ }): Promise<{
90
+ data: App[];
91
+ has_more: boolean;
92
+ }>;
93
+ get(id: string): Promise<App & {
94
+ stats: AppStats;
95
+ }>;
96
+ update(id: string, params: AppUpdateParams): Promise<App>;
97
+ rotateSecret(id: string): Promise<{
98
+ app_id: string;
99
+ secret_key: string;
100
+ warning: string;
101
+ }>;
102
+ archive(id: string): Promise<{
103
+ id: string;
104
+ is_active: boolean;
105
+ }>;
106
+ analytics(id: string, period?: '24h' | '7d' | '30d' | '90d'): Promise<AppAnalytics>;
107
+ /** List the app's declared custom-field schemas. */
108
+ listCustomFieldSchemas(id: string): Promise<{
109
+ data: CustomFieldSchema[];
110
+ }>;
111
+ /** Declare/upsert a custom-field schema (idempotent). */
112
+ upsertCustomFieldSchema(id: string, schema: CustomFieldSchemaCreateParams): Promise<CustomFieldSchema>;
113
+ /** Update an existing custom-field schema. */
114
+ updateCustomFieldSchema(id: string, fieldKey: string, patch: Partial<Omit<CustomFieldSchemaCreateParams, 'field_key'>>): Promise<CustomFieldSchema>;
115
+ /** Delete a custom-field schema. */
116
+ deleteCustomFieldSchema(id: string, fieldKey: string): Promise<{
117
+ deleted: boolean;
118
+ field_key: string;
119
+ }>;
120
+ }
121
+ export type CustomFieldType = 'string' | 'number' | 'boolean' | 'date' | 'json';
122
+ export interface CustomFieldSchema {
123
+ id: string;
124
+ app_id: string;
125
+ field_key: string;
126
+ field_type: CustomFieldType;
127
+ is_required: boolean;
128
+ max_length: number | null;
129
+ description: string | null;
130
+ default_value: unknown;
131
+ created_at: string;
132
+ updated_at: string;
133
+ }
134
+ export interface CustomFieldSchemaCreateParams {
135
+ field_key: string;
136
+ field_type: CustomFieldType;
137
+ is_required?: boolean;
138
+ max_length?: number | null;
139
+ description?: string | null;
140
+ default_value?: unknown;
141
+ }
142
+ //# sourceMappingURL=apps.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/resources/apps.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,49 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.AppsResource = void 0;
4
+ class AppsResource {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ async create(params) {
10
+ return this.client.request('/v1/apps', { method: 'POST', body: params });
11
+ }
12
+ async list(params) {
13
+ const qs = params ? '?' + new URLSearchParams(params).toString() : '';
14
+ return this.client.request(`/v1/apps${qs}`);
15
+ }
16
+ async get(id) {
17
+ return this.client.request(`/v1/apps/${id}`);
18
+ }
19
+ async update(id, params) {
20
+ return this.client.request(`/v1/apps/${id}`, { method: 'PATCH', body: params });
21
+ }
22
+ async rotateSecret(id) {
23
+ return this.client.request(`/v1/apps/${id}/rotate-secret`, { method: 'POST' });
24
+ }
25
+ async archive(id) {
26
+ return this.client.request(`/v1/apps/${id}`, { method: 'DELETE' });
27
+ }
28
+ async analytics(id, period = '30d') {
29
+ return this.client.request(`/v1/apps/${id}/analytics?period=${period}`);
30
+ }
31
+ // ── Custom-field schemas (per-workspace typed KV) ─────────
32
+ /** List the app's declared custom-field schemas. */
33
+ async listCustomFieldSchemas(id) {
34
+ return this.client.request(`/v1/apps/${id}/custom-field-schemas`);
35
+ }
36
+ /** Declare/upsert a custom-field schema (idempotent). */
37
+ async upsertCustomFieldSchema(id, schema) {
38
+ return this.client.request(`/v1/apps/${id}/custom-field-schemas`, { method: 'POST', body: schema });
39
+ }
40
+ /** Update an existing custom-field schema. */
41
+ async updateCustomFieldSchema(id, fieldKey, patch) {
42
+ return this.client.request(`/v1/apps/${id}/custom-field-schemas/${encodeURIComponent(fieldKey)}`, { method: 'PATCH', body: patch });
43
+ }
44
+ /** Delete a custom-field schema. */
45
+ async deleteCustomFieldSchema(id, fieldKey) {
46
+ return this.client.request(`/v1/apps/${id}/custom-field-schemas/${encodeURIComponent(fieldKey)}`, { method: 'DELETE' });
47
+ }
48
+ }
49
+ exports.AppsResource = AppsResource;
@@ -0,0 +1,71 @@
1
+ import { HttpClient } from '../http';
2
+ export interface AuthResponse {
3
+ merchant: {
4
+ id: string;
5
+ business_name: string;
6
+ email: string;
7
+ kyc_status?: string;
8
+ status?: string;
9
+ email_verified?: boolean;
10
+ role?: string;
11
+ last_login_at?: string;
12
+ created_at?: string;
13
+ };
14
+ token: string;
15
+ refresh_token?: string;
16
+ expires_in?: number;
17
+ api_key?: string;
18
+ admin?: boolean;
19
+ }
20
+ export interface LoginParams {
21
+ email: string;
22
+ password: string;
23
+ }
24
+ export interface RegisterParams {
25
+ business_name: string;
26
+ email: string;
27
+ password: string;
28
+ phone?: string;
29
+ country?: string;
30
+ }
31
+ export interface RefreshResponse {
32
+ token: string;
33
+ refresh_token: string;
34
+ expires_in: number;
35
+ token_type: string;
36
+ }
37
+ export declare class AuthResource {
38
+ private client;
39
+ constructor(client: HttpClient);
40
+ register(params: RegisterParams): Promise<AuthResponse>;
41
+ login(params: LoginParams): Promise<AuthResponse>;
42
+ me(): Promise<AuthResponse>;
43
+ refresh(refreshToken: string): Promise<RefreshResponse>;
44
+ logout(refreshToken?: string): Promise<{
45
+ success: boolean;
46
+ }>;
47
+ verifyEmail(token: string): Promise<{
48
+ success: boolean;
49
+ message: string;
50
+ }>;
51
+ resendVerification(): Promise<{
52
+ success: boolean;
53
+ message: string;
54
+ }>;
55
+ deleteAccount(): Promise<{
56
+ success: boolean;
57
+ message: string;
58
+ }>;
59
+ changePassword(currentPassword: string, newPassword: string): Promise<{
60
+ success: boolean;
61
+ }>;
62
+ forgotPassword(email: string): Promise<{
63
+ success: boolean;
64
+ message: string;
65
+ }>;
66
+ resetPassword(token: string, newPassword: string): Promise<{
67
+ success: boolean;
68
+ message: string;
69
+ }>;
70
+ }
71
+ //# sourceMappingURL=auth.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"auth.d.ts","sourceRoot":"","sources":["../../src/resources/auth.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAGrC,MAAM,WAAW,YAAY;IAC3B,QAAQ,EAAE;QACR,EAAE,EAAE,MAAM,CAAC;QACX,aAAa,EAAE,MAAM,CAAC;QACtB,KAAK,EAAE,MAAM,CAAC;QACd,UAAU,CAAC,EAAE,MAAM,CAAC;QACpB,MAAM,CAAC,EAAE,MAAM,CAAC;QAChB,cAAc,CAAC,EAAE,OAAO,CAAC;QACzB,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,UAAU,CAAC,EAAE,MAAM,CAAC;KACrB,CAAC;IACF,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,OAAO,CAAC;CACjB;AAED,MAAM,WAAW,WAAW;IAC1B,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,cAAc;IAC7B,aAAa,EAAE,MAAM,CAAC;IACtB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,MAAM,CAAC;IACf,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,UAAU,EAAE,MAAM,CAAC;IACnB,UAAU,EAAE,MAAM,CAAC;CACpB;AAED,qBAAa,YAAY;IACX,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEhC,QAAQ,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC;IAOvD,KAAK,CAAC,MAAM,EAAE,WAAW,GAAG,OAAO,CAAC,YAAY,CAAC;IAOjD,EAAE,IAAI,OAAO,CAAC,YAAY,CAAC;IAI3B,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAOvD,MAAM,CAAC,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAO5D,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAO1E,kBAAkB,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAMpE,aAAa,IAAI,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAM/D,cAAc,CAAC,eAAe,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAO3F,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;IAO7E,aAAa,CAAC,KAAK,EAAE,MAAM,EAAE,WAAW,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE,CAAC;CAMxG"}