@fiatden/openpay 0.0.1 → 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 (50) hide show
  1. package/README.md +52 -12
  2. package/dist/index.d.ts +19 -7
  3. package/dist/index.d.ts.map +1 -1
  4. package/dist/index.js +24 -7
  5. package/dist/index.test.d.ts +2 -0
  6. package/dist/index.test.d.ts.map +1 -0
  7. package/dist/index.test.js +55 -0
  8. package/dist/resources/analytics.d.ts +5 -0
  9. package/dist/resources/analytics.d.ts.map +1 -1
  10. package/dist/resources/analytics.js +4 -0
  11. package/dist/resources/apps.d.ts +34 -0
  12. package/dist/resources/apps.d.ts.map +1 -1
  13. package/dist/resources/apps.js +17 -0
  14. package/dist/resources/currencyPortfolio.d.ts +62 -0
  15. package/dist/resources/currencyPortfolio.d.ts.map +1 -0
  16. package/dist/resources/currencyPortfolio.js +34 -0
  17. package/dist/resources/customers.d.ts +36 -0
  18. package/dist/resources/customers.d.ts.map +1 -1
  19. package/dist/resources/customers.js +22 -0
  20. package/dist/resources/financialAccounts.d.ts +49 -0
  21. package/dist/resources/financialAccounts.d.ts.map +1 -0
  22. package/dist/resources/financialAccounts.js +22 -0
  23. package/dist/resources/merchants.d.ts +18 -0
  24. package/dist/resources/merchants.d.ts.map +1 -1
  25. package/dist/resources/merchants.js +16 -0
  26. package/dist/resources/paymentMethods.d.ts +34 -0
  27. package/dist/resources/paymentMethods.d.ts.map +1 -0
  28. package/dist/resources/paymentMethods.js +17 -0
  29. package/dist/resources/payouts.d.ts +2 -0
  30. package/dist/resources/payouts.d.ts.map +1 -1
  31. package/dist/resources/payouts.js +7 -0
  32. package/dist/resources/platform.d.ts +72 -0
  33. package/dist/resources/platform.d.ts.map +1 -0
  34. package/dist/resources/platform.js +42 -0
  35. package/dist/resources/providers.d.ts +9 -0
  36. package/dist/resources/providers.d.ts.map +1 -1
  37. package/dist/resources/providers.js +4 -0
  38. package/dist/resources/reconciliation.d.ts +5 -5
  39. package/dist/resources/reconciliation.d.ts.map +1 -1
  40. package/dist/resources/reconciliation.js +7 -2
  41. package/dist/resources/status.d.ts +20 -0
  42. package/dist/resources/status.d.ts.map +1 -0
  43. package/dist/resources/status.js +14 -0
  44. package/dist/resources/subscriptions.d.ts +4 -0
  45. package/dist/resources/subscriptions.d.ts.map +1 -1
  46. package/dist/resources/subscriptions.js +8 -0
  47. package/dist/resources/wallets.d.ts +17 -13
  48. package/dist/resources/wallets.d.ts.map +1 -1
  49. package/dist/resources/wallets.js +28 -22
  50. package/package.json +1 -1
package/README.md CHANGED
@@ -1,21 +1,21 @@
1
- # @openpay/sdk
1
+ # @fiatden/openpay
2
2
 
3
3
  Official TypeScript SDK for **OpenPay** — the Stripe-alternative payment orchestrator. One integration, multiple African payment providers (Paystack, Flutterwave, Korapay, Hyperswitch), multi-app workspaces, subscriptions, coupons, metering, payouts, and full platform analytics.
4
4
 
5
5
  - **TypeScript-first** — full type definitions for every request and response
6
- - **23 resources** — charges, checkout, subscriptions, coupons, customers, apps, payouts, analytics, and more
6
+ - **32 resources** — charges, checkout, subscriptions, coupons, customers, apps, payouts, wallets, financial accounts, analytics, and more
7
7
  - **Node 18+** — uses the global `fetch`, zero runtime dependencies
8
8
 
9
9
  ## Install
10
10
 
11
11
  ```bash
12
- npm install @openpay/sdk
12
+ npm install @fiatden/openpay
13
13
  ```
14
14
 
15
15
  ## Quick start
16
16
 
17
17
  ```ts
18
- import { OpenPayApi, OpenPayError } from '@openpay/sdk';
18
+ import { OpenPayApi, OpenPayError } from '@fiatden/openpay';
19
19
 
20
20
  const openpay = new OpenPayApi('pk_your_api_key', {
21
21
  baseUrl: 'https://api.your-domain.com', // default: http://localhost:3000
@@ -96,21 +96,29 @@ const rotated = await openpay.apps.rotateSecret(app.id);
96
96
  |---|---|
97
97
  | `openpay.charges` | `create`, `retrieve`, `refund`, `tokenize`, `invoice`, `sendInvoice` |
98
98
  | `openpay.checkout` | `create`, `get` |
99
- | `openpay.subscriptions` | `createPlan`, `listPlans`, `create`, `list`, `resume`, `cancel` |
99
+ | `openpay.subscriptions` | `createPlan`, `listPlans`, `getPlan`, `updatePlan`, `create`, `list`, `pause`, `resume`, `changePlan`, `cancel` |
100
100
  | `openpay.coupons` | `create`, `list`, `get`, `update`, `deactivate`, `validate` |
101
101
  | `openpay.customers` | `get`, `paymentMethods`, `transactions`, `subscriptions`, `disputes`, `recomputeRisk`, `update`, `exportData`, `erase` |
102
- | `openpay.apps` | `create`, `list`, `get`, `update`, `rotateSecret`, `archive`, `analytics` |
103
- | `openpay.payouts` | `create`, `retrieve`, `list`, `listScheduled`, `createBulk` |
102
+ | `openpay.apps` | `create`, `list`, `get`, `update`, `rotateSecret`, `archive`, `analytics`, `listCustomFieldSchemas`, `upsertCustomFieldSchema`, `updateCustomFieldSchema`, `deleteCustomFieldSchema` |
103
+ | `openpay.payouts` | `create`, `retrieve`, `list`, `listScheduled`, `createBulk`, `listAwaitingApproval`, `approve`, `reject`, `cancel` |
104
104
  | `openpay.disputes` | `list`, `get`, `listEvidenceSubmissions`, `markSubmitted` |
105
105
  | `openpay.apiKeys` | `create`, `list`, `rotate`, `revoke`, `update` |
106
106
  | `openpay.webhooks` | `list`, `retrieve`, `update`, `delete`, `deliveries`, `test` |
107
107
  | `openpay.metering` | `record`, `report`, `history`, `createMeter`, `listMeters`, `deactivateMeter` |
108
- | `openpay.reconciliation` | `upload`, `listReports`, `getReport`, `listUnreconciled`, `clearOperatorHold` |
108
+ | `openpay.reconciliation` | `upload`, `listReports`, `getReport`, `listRecords`, `reprocess`, `summary`, `listUnreconciled`, `clearOperatorHold` |
109
109
  | `openpay.fx` | `list`, `set` |
110
110
  | `openpay.currencies` | `list`, `upsert`, `update`, `deactivate` |
111
- | `openpay.analytics` | `getOverview`, `getMerchantAnalytics`, `getPnl`, `getTrialBalance`, `getCircuitStatus`, `listFxRates`, `getFraudAnalytics`, `getChargebackRatios` |
112
- | `openpay.providers` | `listConfigs`, `deleteConfig`, `getFees` |
111
+ | `openpay.currencyPortfolio` | `getPortfolio`, `getCatalog`, `enable`, `update`, `remove`, `setBase` |
112
+ | `openpay.analytics` | `getOverview`, `getMerchantAnalytics`, `getReferralAnalytics`, `getPnl`, `getTrialBalance`, `getCircuitStatus`, `listFxRates`, `getFraudAnalytics`, `getChargebackRatios`, `getCustomerOverlap`, `getMarketplace` |
113
+ | `openpay.providers` | `listConfigs`, `getHealth`, `deleteConfig`, `getFees`, `getRouterWeights`, `updateRouterWeights` |
113
114
  | `openpay.customers` (CRM) | see `exportData` / `erase` for GDPR flows |
115
+ | `openpay.customers` (fields) | `listCustomFields`, `setCustomField`, `deleteCustomField`, `listConsents`, `recordConsent` |
116
+ | `openpay.paymentMethods` | `list`, `remove` |
117
+ | `openpay.billing` | `createMetric`, `listMetrics`, `getMetric`, `updateMetric`, `deleteMetric`, `ingestEvent`, `ingestEventsBatch`, `listEvents`, `getEvent`, `aggregateMetric`, `aggregateMetricByCode`, `aggregateAll` |
118
+ | `openpay.wallets` | `list`, `get`, `topup`, `createCheckout`, `debit`, `check`, `transactions`, `exportCsv`, `exportLedgerCsv`, `terminate` |
119
+ | `openpay.financialAccounts` | `list`, `get`, `statement` |
120
+ | `openpay.platform` | `getSettings`, `updateSettings`, `getSmtp`, `updateSmtp`, `testSmtp`, `getStatus`, `exportData`, `importData` |
121
+ | `openpay.status` | `get` |
114
122
  | `openpay.paymentLinks` | `create`, `list`, `get`, `deactivate` |
115
123
  | `openpay.referrals` | `myReferral`, `commissions` |
116
124
  | `openpay.riskReview` | `list`, `get`, `approve`, `decline`, `stats` |
@@ -181,13 +189,45 @@ await openpay.subscriptions.resume(sub.id);
181
189
 
182
190
  Billing runs server-side: the platform's durable billing-attempt ledger reserves wallet credit, charges only the uncovered remainder through the provider, and idempotently finalizes from provider webhooks — plan changes mid-cycle bank a proration credit instead of double-charging.
183
191
 
192
+ ## Wallets (Wallet-as-a-Service)
193
+
194
+ WaaS lets you embed a pre-paid balance in **your** product for **your** end-users. The platform does the heavy lifting — ledger, custody, top-up payments, usage debits — and mirrors every movement back to your platform via webhooks, so the wallet state shows up on your side like a Stripe-issued account.
195
+
196
+ Wallets are **scoped per workspace (app)**: one wallet per `(app_id, customer_id)`. Each workspace with wallets gets a platform-managed **financial account** whose balance is the live sum of that workspace's wallet balances.
197
+
198
+ ```ts
199
+ const appId = 'app-uuid';
200
+ const customerId = 'customer-uuid';
201
+
202
+ // Fetch (auto-creates on first read) — one wallet per (app, customer)
203
+ const wallet = await openpay.wallets.get(appId, customerId);
204
+
205
+ // Top up immediately via API credit (source_type=api_credit)
206
+ await openpay.wallets.topup(appId, customerId, { amount: 500000 });
207
+
208
+ // Or mint a checkout the customer pays — the webhook credits the wallet idempotently
209
+ const { checkout } = await openpay.wallets.createCheckout(appId, customerId, { amount: 500000 });
210
+ window.open(checkout.checkout_url);
211
+
212
+ // Usage gate: check, then debit. A 402 means “top up required”.
213
+ if ((await openpay.wallets.check(appId, customerId, { amount: 10000 })).allowed) {
214
+ await openpay.wallets.debit(appId, customerId, { amount: 10000, description: 'API usage' });
215
+ }
216
+
217
+ // Workspace financial account + full statement
218
+ const account = await openpay.financialAccounts.get(appId);
219
+ const statement = await openpay.financialAccounts.statement(appId, { limit: 50 });
220
+ ```
221
+
222
+ Subscribe your webhook to `wallet.created`, `wallet.credited`, `wallet.debited`, `wallet.topup_completed`, and `financial_account.created` to mirror the results into your platform. App-bound webhooks (`app_id` set) only receive their workspace's events.
223
+
184
224
  ## Webhooks
185
225
 
186
226
  ```ts
187
227
  const hooks = await openpay.webhooks.list();
188
228
  await openpay.webhooks.update(hooks.data[0].id, {
189
229
  url: 'https://yourapp.com/api/webhooks',
190
- events: ['charge.success', 'charge.failed'],
230
+ events: ['charge.success', 'charge.failed', 'wallet.credited', 'wallet.debited'],
191
231
  });
192
232
  const deliveries = await openpay.webhooks.deliveries(hooks.data[0].id);
193
233
  await openpay.webhooks.test(hooks.data[0].id); // sends a test event
@@ -216,7 +256,7 @@ await openpay.analytics.getCircuitStatus(); // provider health
216
256
  All errors throw `OpenPayError`:
217
257
 
218
258
  ```ts
219
- import { OpenPayError } from '@openpay/sdk';
259
+ import { OpenPayError } from '@fiatden/openpay';
220
260
 
221
261
  try {
222
262
  await openpay.charges.create({ /* … */ });
package/dist/index.d.ts CHANGED
@@ -25,6 +25,11 @@ import { EmailTemplatesResource } from './resources/emailTemplates';
25
25
  import { RiskReviewResource } from './resources/riskReview';
26
26
  import { BillingResource } from './resources/billing';
27
27
  import { WalletsResource } from './resources/wallets';
28
+ import { FinancialAccountsResource } from './resources/financialAccounts';
29
+ import { CurrencyPortfolioResource } from './resources/currencyPortfolio';
30
+ import { PaymentMethodsResource } from './resources/paymentMethods';
31
+ import { PlatformResource } from './resources/platform';
32
+ import { StatusResource } from './resources/status';
28
33
  import { RolesResource } from './resources/roles';
29
34
  import { PlatformOverview } from './types';
30
35
  export interface OpenPayConfig {
@@ -42,7 +47,7 @@ export type FTDNApiConfig = OpenPayConfig;
42
47
  *
43
48
  * @example
44
49
  * ```ts
45
- * import { OpenPayApi } from '@openpay/sdk';
50
+ * import { OpenPayApi } from '@fiatden/openpay';
46
51
  *
47
52
  * const openpay = new OpenPayApi('pk_your_api_key', { baseUrl: 'https://api.openpay.example.com' });
48
53
  *
@@ -68,14 +73,16 @@ export type FTDNApiConfig = OpenPayConfig;
68
73
  * await openpay.billing.ingestEvent({ transaction_id: 'evt_123', code: 'api_calls', properties: { endpoint: '/v1/charges' } });
69
74
  * const agg = await openpay.billing.aggregateMetric(metric.id, { from: '2026-01-01', to: '2026-02-01' });
70
75
  *
71
- * // Wallet-as-a-Service: one wallet per end-user (merchant base currency)
72
- * const wallet = await openpay.wallets.get(customerId);
73
- * await openpay.wallets.topup(customerId, { amount: 500000 }); // ₦5,000 via API credit
74
- * const { checkout } = await openpay.wallets.createCheckout(customerId, { amount: 500000 }); // or via checkout
76
+ * // Wallet-as-a-Service: one wallet per end-user PER WORKSPACE (app)
77
+ * const wallet = await openpay.wallets.get(appId, customerId);
78
+ * await openpay.wallets.topup(appId, customerId, { amount: 500000 }); // ₦5,000 via API credit
79
+ * const { checkout } = await openpay.wallets.createCheckout(appId, customerId, { amount: 500000 }); // or via checkout
75
80
  * window.open(checkout.checkout_url);
76
- * if ((await openpay.wallets.check(customerId, { amount: 10000 })).allowed) {
77
- * await openpay.wallets.debit(customerId, { amount: 10000, description: 'API usage' });
81
+ * if ((await openpay.wallets.check(appId, customerId, { amount: 10000 })).allowed) {
82
+ * await openpay.wallets.debit(appId, customerId, { amount: 10000, description: 'API usage' });
78
83
  * }
84
+ * // Workspace financial account (platform custodies the funds; balance is live)
85
+ * const account = await openpay.financialAccounts.get(appId);
79
86
  *
80
87
  * // Usage metering (legacy, still supported)
81
88
  * await openpay.metering.record('api_calls', 1);
@@ -116,6 +123,11 @@ export declare class OpenPayApi {
116
123
  readonly riskReview: RiskReviewResource;
117
124
  readonly billing: BillingResource;
118
125
  readonly wallets: WalletsResource;
126
+ readonly financialAccounts: FinancialAccountsResource;
127
+ readonly currencyPortfolio: CurrencyPortfolioResource;
128
+ readonly paymentMethods: PaymentMethodsResource;
129
+ readonly platform: PlatformResource;
130
+ readonly status: StatusResource;
119
131
  readonly invoices: InvoicesResource;
120
132
  readonly roles: RolesResource;
121
133
  readonly platformName: string;
@@ -1 +1 @@
1
- {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"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"}
package/dist/index.js CHANGED
@@ -44,6 +44,11 @@ const emailTemplates_1 = require("./resources/emailTemplates");
44
44
  const riskReview_1 = require("./resources/riskReview");
45
45
  const billing_1 = require("./resources/billing");
46
46
  const wallets_1 = require("./resources/wallets");
47
+ const financialAccounts_1 = require("./resources/financialAccounts");
48
+ const currencyPortfolio_1 = require("./resources/currencyPortfolio");
49
+ const paymentMethods_1 = require("./resources/paymentMethods");
50
+ const platform_1 = require("./resources/platform");
51
+ const status_1 = require("./resources/status");
47
52
  const roles_1 = require("./resources/roles");
48
53
  /**
49
54
  * Open Pay SDK — Stripe-style payment orchestrator client.
@@ -54,7 +59,7 @@ const roles_1 = require("./resources/roles");
54
59
  *
55
60
  * @example
56
61
  * ```ts
57
- * import { OpenPayApi } from '@openpay/sdk';
62
+ * import { OpenPayApi } from '@fiatden/openpay';
58
63
  *
59
64
  * const openpay = new OpenPayApi('pk_your_api_key', { baseUrl: 'https://api.openpay.example.com' });
60
65
  *
@@ -80,14 +85,16 @@ const roles_1 = require("./resources/roles");
80
85
  * await openpay.billing.ingestEvent({ transaction_id: 'evt_123', code: 'api_calls', properties: { endpoint: '/v1/charges' } });
81
86
  * const agg = await openpay.billing.aggregateMetric(metric.id, { from: '2026-01-01', to: '2026-02-01' });
82
87
  *
83
- * // Wallet-as-a-Service: one wallet per end-user (merchant base currency)
84
- * const wallet = await openpay.wallets.get(customerId);
85
- * await openpay.wallets.topup(customerId, { amount: 500000 }); // ₦5,000 via API credit
86
- * const { checkout } = await openpay.wallets.createCheckout(customerId, { amount: 500000 }); // or via checkout
88
+ * // Wallet-as-a-Service: one wallet per end-user PER WORKSPACE (app)
89
+ * const wallet = await openpay.wallets.get(appId, customerId);
90
+ * await openpay.wallets.topup(appId, customerId, { amount: 500000 }); // ₦5,000 via API credit
91
+ * const { checkout } = await openpay.wallets.createCheckout(appId, customerId, { amount: 500000 }); // or via checkout
87
92
  * window.open(checkout.checkout_url);
88
- * if ((await openpay.wallets.check(customerId, { amount: 10000 })).allowed) {
89
- * await openpay.wallets.debit(customerId, { amount: 10000, description: 'API usage' });
93
+ * if ((await openpay.wallets.check(appId, customerId, { amount: 10000 })).allowed) {
94
+ * await openpay.wallets.debit(appId, customerId, { amount: 10000, description: 'API usage' });
90
95
  * }
96
+ * // Workspace financial account (platform custodies the funds; balance is live)
97
+ * const account = await openpay.financialAccounts.get(appId);
91
98
  *
92
99
  * // Usage metering (legacy, still supported)
93
100
  * await openpay.metering.record('api_calls', 1);
@@ -128,6 +135,11 @@ class OpenPayApi {
128
135
  riskReview;
129
136
  billing;
130
137
  wallets;
138
+ financialAccounts;
139
+ currencyPortfolio;
140
+ paymentMethods;
141
+ platform;
142
+ status;
131
143
  invoices;
132
144
  roles;
133
145
  platformName;
@@ -165,6 +177,11 @@ class OpenPayApi {
165
177
  this.riskReview = new riskReview_1.RiskReviewResource(this.http);
166
178
  this.billing = new billing_1.BillingResource(this.http);
167
179
  this.wallets = new wallets_1.WalletsResource(this.http);
180
+ this.financialAccounts = new financialAccounts_1.FinancialAccountsResource(this.http);
181
+ this.currencyPortfolio = new currencyPortfolio_1.CurrencyPortfolioResource(this.http);
182
+ this.paymentMethods = new paymentMethods_1.PaymentMethodsResource(this.http);
183
+ this.platform = new platform_1.PlatformResource(this.http);
184
+ this.status = new status_1.StatusResource(this.http);
168
185
  this.invoices = new invoices_1.InvoicesResource(this.http);
169
186
  this.roles = new roles_1.RolesResource(this.http);
170
187
  }
@@ -0,0 +1,2 @@
1
+ export {};
2
+ //# sourceMappingURL=index.test.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"index.test.d.ts","sourceRoot":"","sources":["../src/index.test.ts"],"names":[],"mappings":""}
@@ -0,0 +1,55 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ const vitest_1 = require("vitest");
4
+ const index_1 = require("./index");
5
+ const mockFetch = vitest_1.vi.fn();
6
+ global.fetch = mockFetch;
7
+ (0, vitest_1.describe)('OpenPayApi surface', () => {
8
+ (0, vitest_1.beforeEach)(() => {
9
+ mockFetch.mockReset();
10
+ mockFetch.mockResolvedValue({
11
+ ok: true,
12
+ status: 200,
13
+ json: async () => ({ data: {} }),
14
+ });
15
+ });
16
+ (0, vitest_1.it)('exposes every platform resource, including the new ones', () => {
17
+ const openpay = new index_1.OpenPayApi('pk_test', { baseUrl: 'https://api.example.test' });
18
+ for (const r of [
19
+ 'charges', 'checkout', 'subscriptions', 'coupons', 'customers', 'apps',
20
+ 'payouts', 'disputes', 'apiKeys', 'webhooks', 'metering', 'reconciliation',
21
+ 'fx', 'currencies', 'analytics', 'providers', 'paymentLinks', 'referrals',
22
+ 'riskReview', 'emailTemplates', 'totp', 'auth', 'billing', 'wallets',
23
+ 'financialAccounts', 'currencyPortfolio', 'paymentMethods', 'platform', 'status',
24
+ 'invoices', 'roles',
25
+ ]) {
26
+ (0, vitest_1.expect)(openpay[r], `missing resource ${r}`).toBeDefined();
27
+ }
28
+ });
29
+ (0, vitest_1.it)('scopes wallet reads to a workspace via app_id', async () => {
30
+ const openpay = new index_1.OpenPayApi('pk_test', { baseUrl: 'https://api.example.test' });
31
+ await openpay.wallets.get('app-1', 'cust-1');
32
+ (0, vitest_1.expect)(mockFetch.mock.calls[0][0]).toBe('https://api.example.test/v1/wallets/cust-1?app_id=app-1');
33
+ });
34
+ (0, vitest_1.it)('sends app_id in wallet top-up bodies', async () => {
35
+ const openpay = new index_1.OpenPayApi('pk_test', { baseUrl: 'https://api.example.test' });
36
+ await openpay.wallets.topup('app-1', 'cust-1', { amount: 500000 });
37
+ const [, init] = mockFetch.mock.calls[0];
38
+ (0, vitest_1.expect)(mockFetch.mock.calls[0][0]).toBe('https://api.example.test/v1/wallets/cust-1/topup');
39
+ (0, vitest_1.expect)(JSON.parse(init.body)).toEqual({ app_id: 'app-1', amount: 500000 });
40
+ });
41
+ (0, vitest_1.it)('exposes the financial-account statement endpoints', async () => {
42
+ const openpay = new index_1.OpenPayApi('pk_test', { baseUrl: 'https://api.example.test' });
43
+ await openpay.financialAccounts.get('app-1');
44
+ await openpay.financialAccounts.statement('app-1');
45
+ (0, vitest_1.expect)(mockFetch.mock.calls[0][0]).toBe('https://api.example.test/v1/financial-accounts/app-1');
46
+ (0, vitest_1.expect)(mockFetch.mock.calls[1][0]).toBe('https://api.example.test/v1/financial-accounts/app-1/statement');
47
+ });
48
+ (0, vitest_1.it)('exposes the admin platform + public status resources', async () => {
49
+ const openpay = new index_1.OpenPayApi('pk_test', { baseUrl: 'https://api.example.test' });
50
+ await openpay.platform.getStatus();
51
+ await openpay.status.get();
52
+ (0, vitest_1.expect)(mockFetch.mock.calls[0][0]).toBe('https://api.example.test/v1/platform/status');
53
+ (0, vitest_1.expect)(mockFetch.mock.calls[1][0]).toBe('https://api.example.test/status');
54
+ });
55
+ });
@@ -82,6 +82,11 @@ export declare class AnalyticsResource {
82
82
  getOverview(): Promise<PlatformOverview>;
83
83
  /** Get per-merchant analytics. */
84
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>>;
85
90
  /** Get P&L statement for a date range. */
86
91
  getPnl(params?: {
87
92
  period_start?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/resources/analytics.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"analytics.d.ts","sourceRoot":"","sources":["../../src/resources/analytics.ts"],"names":[],"mappings":"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"}
@@ -14,6 +14,10 @@ class AnalyticsResource {
14
14
  async getMerchantAnalytics(merchantId) {
15
15
  return this.client.request(`/v1/analytics/merchant/${merchantId}`);
16
16
  }
17
+ /** Referral program performance (clicks, conversions, commissions). */
18
+ async getReferralAnalytics(params) {
19
+ return this.client.request('/v1/analytics/referrals', { params });
20
+ }
17
21
  /** Get P&L statement for a date range. */
18
22
  async getPnl(params) {
19
23
  return this.client.request('/v1/analytics/pnl', { params });
@@ -104,5 +104,39 @@ export declare class AppsResource {
104
104
  is_active: boolean;
105
105
  }>;
106
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;
107
141
  }
108
142
  //# sourceMappingURL=apps.d.ts.map
@@ -1 +1 @@
1
- {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/resources/apps.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"apps.d.ts","sourceRoot":"","sources":["../../src/resources/apps.ts"],"names":[],"mappings":"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"}
@@ -28,5 +28,22 @@ class AppsResource {
28
28
  async analytics(id, period = '30d') {
29
29
  return this.client.request(`/v1/apps/${id}/analytics?period=${period}`);
30
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
+ }
31
48
  }
32
49
  exports.AppsResource = AppsResource;
@@ -0,0 +1,62 @@
1
+ import { HttpClient } from '../http';
2
+ export interface PortfolioCurrency {
3
+ id?: string;
4
+ currency_code: string;
5
+ is_base: boolean;
6
+ is_enabled: boolean;
7
+ custom_symbol: string | null;
8
+ custom_decimals: number | null;
9
+ }
10
+ export interface CatalogCurrency {
11
+ code: string;
12
+ name: string;
13
+ symbol: string;
14
+ decimals: number;
15
+ in_portfolio: boolean;
16
+ enabled: boolean;
17
+ custom_symbol: string | null;
18
+ custom_decimals: number | null;
19
+ }
20
+ export declare class CurrencyPortfolioResource {
21
+ private client;
22
+ constructor(client: HttpClient);
23
+ /** The merchant's enabled currencies and their base currency. */
24
+ getPortfolio(): Promise<{
25
+ data: PortfolioCurrency[];
26
+ base_currency: string | null;
27
+ }>;
28
+ /** Every currency the merchant can enable (platform registry + custom). */
29
+ getCatalog(): Promise<{
30
+ data: CatalogCurrency[];
31
+ }>;
32
+ /** Enable / upsert a currency in the portfolio (optionally as base). */
33
+ enable(params: {
34
+ currency_code: string;
35
+ is_base?: boolean;
36
+ custom_symbol?: string | null;
37
+ custom_decimals?: number | null;
38
+ }): Promise<{
39
+ data: PortfolioCurrency[];
40
+ base_currency: string | null;
41
+ }>;
42
+ /** Update presentation overrides or membership for a currency. */
43
+ update(code: string, patch: {
44
+ custom_symbol?: string | null;
45
+ custom_decimals?: number | null;
46
+ is_enabled?: boolean;
47
+ }): Promise<{
48
+ data: PortfolioCurrency[];
49
+ base_currency: string | null;
50
+ }>;
51
+ /** Remove a currency from the portfolio. */
52
+ remove(code: string): Promise<{
53
+ data: PortfolioCurrency[];
54
+ base_currency: string | null;
55
+ }>;
56
+ /** Select the merchant's base (settlement) currency. */
57
+ setBase(currencyCode: string): Promise<{
58
+ data: PortfolioCurrency[];
59
+ base_currency: string;
60
+ }>;
61
+ }
62
+ //# sourceMappingURL=currencyPortfolio.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"currencyPortfolio.d.ts","sourceRoot":"","sources":["../../src/resources/currencyPortfolio.ts"],"names":[],"mappings":"AAIA,OAAO,EAAE,UAAU,EAAE,MAAM,SAAS,CAAC;AAErC,MAAM,WAAW,iBAAiB;IAChC,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,aAAa,EAAE,MAAM,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,UAAU,EAAE,OAAO,CAAC;IACpB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,MAAM,WAAW,eAAe;IAC9B,IAAI,EAAE,MAAM,CAAC;IACb,IAAI,EAAE,MAAM,CAAC;IACb,MAAM,EAAE,MAAM,CAAC;IACf,QAAQ,EAAE,MAAM,CAAC;IACjB,YAAY,EAAE,OAAO,CAAC;IACtB,OAAO,EAAE,OAAO,CAAC;IACjB,aAAa,EAAE,MAAM,GAAG,IAAI,CAAC;IAC7B,eAAe,EAAE,MAAM,GAAG,IAAI,CAAC;CAChC;AAED,qBAAa,yBAAyB;IACxB,OAAO,CAAC,MAAM;gBAAN,MAAM,EAAE,UAAU;IAEtC,iEAAiE;IAC3D,YAAY,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAI1F,2EAA2E;IACrE,UAAU,IAAI,OAAO,CAAC;QAAE,IAAI,EAAE,eAAe,EAAE,CAAA;KAAE,CAAC;IAIxD,wEAAwE;IAClE,MAAM,CAAC,MAAM,EAAE;QACnB,aAAa,EAAE,MAAM,CAAC;QACtB,OAAO,CAAC,EAAE,OAAO,CAAC;QAClB,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAC9B,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;KACjC,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAIxE,kEAAkE;IAC5D,MAAM,CAAC,IAAI,EAAE,MAAM,EAAE,KAAK,EAAE;QAAE,aAAa,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,eAAe,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;QAAC,UAAU,CAAC,EAAE,OAAO,CAAA;KAAE,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAIjM,4CAA4C;IACtC,MAAM,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,GAAG,IAAI,CAAA;KAAE,CAAC;IAIhG,wDAAwD;IAClD,OAAO,CAAC,YAAY,EAAE,MAAM,GAAG,OAAO,CAAC;QAAE,IAAI,EAAE,iBAAiB,EAAE,CAAC;QAAC,aAAa,EAAE,MAAM,CAAA;KAAE,CAAC;CAGnG"}
@@ -0,0 +1,34 @@
1
+ "use strict";
2
+ Object.defineProperty(exports, "__esModule", { value: true });
3
+ exports.CurrencyPortfolioResource = void 0;
4
+ class CurrencyPortfolioResource {
5
+ client;
6
+ constructor(client) {
7
+ this.client = client;
8
+ }
9
+ /** The merchant's enabled currencies and their base currency. */
10
+ async getPortfolio() {
11
+ return this.client.request('/v1/currencies/portfolio');
12
+ }
13
+ /** Every currency the merchant can enable (platform registry + custom). */
14
+ async getCatalog() {
15
+ return this.client.request('/v1/currencies/catalog');
16
+ }
17
+ /** Enable / upsert a currency in the portfolio (optionally as base). */
18
+ async enable(params) {
19
+ return this.client.request('/v1/currencies/portfolio', { method: 'POST', body: params });
20
+ }
21
+ /** Update presentation overrides or membership for a currency. */
22
+ async update(code, patch) {
23
+ return this.client.request(`/v1/currencies/portfolio/${encodeURIComponent(code)}`, { method: 'PATCH', body: patch });
24
+ }
25
+ /** Remove a currency from the portfolio. */
26
+ async remove(code) {
27
+ return this.client.request(`/v1/currencies/portfolio/${encodeURIComponent(code)}`, { method: 'DELETE' });
28
+ }
29
+ /** Select the merchant's base (settlement) currency. */
30
+ async setBase(currencyCode) {
31
+ return this.client.request('/v1/currencies/portfolio/base', { method: 'POST', body: { currency_code: currencyCode } });
32
+ }
33
+ }
34
+ exports.CurrencyPortfolioResource = CurrencyPortfolioResource;
@@ -123,6 +123,42 @@ export declare class CustomersResource {
123
123
  erasure_hash: string;
124
124
  message: string;
125
125
  }>;
126
+ /** List a customer's custom-field values, optionally for one workspace. */
127
+ listCustomFields(id: string, params?: {
128
+ app_id?: string;
129
+ }): Promise<{
130
+ data: Array<{
131
+ id: string;
132
+ customer_id: string;
133
+ app_id: string;
134
+ field_key: string;
135
+ field_value: unknown;
136
+ created_at: string;
137
+ updated_at: string;
138
+ }>;
139
+ }>;
140
+ /** Write a typed custom-field value (the field must be declared on the app schema). */
141
+ setCustomField(id: string, fieldKey: string, params: {
142
+ app_id: string;
143
+ value: unknown;
144
+ }): Promise<Record<string, unknown>>;
145
+ /** Remove a custom-field value. */
146
+ deleteCustomField(id: string, fieldKey: string, params: {
147
+ app_id: string;
148
+ }): Promise<{
149
+ deleted: boolean;
150
+ }>;
151
+ /** List the customer's consent records. */
152
+ listConsents(id: string): Promise<{
153
+ data: Array<Record<string, unknown>>;
154
+ }>;
155
+ /** Record a consent decision for a purpose. */
156
+ recordConsent(id: string, params: {
157
+ purpose: string;
158
+ granted: boolean;
159
+ policy_version?: string;
160
+ source?: string;
161
+ }): Promise<Record<string, unknown>>;
126
162
  /** Export customers as CSV — mirrors GET /v1/customers/export (same filters as list). Returns raw CSV text. */
127
163
  exportCsv(params?: {
128
164
  search?: string;
@@ -1 +1 @@
1
- {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/resources/customers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"customers.d.ts","sourceRoot":"","sources":["../../src/resources/customers.ts"],"names":[],"mappings":"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"}