@tagadapay/node-sdk 0.2.1 → 1.0.0
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +1 -1
- package/dist/HttpClient.d.ts +10 -0
- package/dist/HttpClient.d.ts.map +1 -1
- package/dist/HttpClient.js +21 -6
- package/dist/HttpClient.js.map +1 -1
- package/dist/Tagada.d.ts +30 -0
- package/dist/Tagada.d.ts.map +1 -1
- package/dist/Tagada.js +6 -0
- package/dist/Tagada.js.map +1 -1
- package/dist/dashboard/client.d.ts +147 -0
- package/dist/dashboard/client.d.ts.map +1 -0
- package/dist/dashboard/client.js +243 -0
- package/dist/dashboard/client.js.map +1 -0
- package/dist/dashboard/httpTransport.d.ts +28 -0
- package/dist/dashboard/httpTransport.d.ts.map +1 -0
- package/dist/dashboard/httpTransport.js +196 -0
- package/dist/dashboard/httpTransport.js.map +1 -0
- package/dist/dashboard/index.d.ts +22 -0
- package/dist/dashboard/index.d.ts.map +1 -0
- package/dist/dashboard/index.js +22 -0
- package/dist/dashboard/index.js.map +1 -0
- package/dist/dashboard/internalTransport.d.ts +29 -0
- package/dist/dashboard/internalTransport.d.ts.map +1 -0
- package/dist/dashboard/internalTransport.js +70 -0
- package/dist/dashboard/internalTransport.js.map +1 -0
- package/dist/dashboard/types.d.ts +304 -0
- package/dist/dashboard/types.d.ts.map +1 -0
- package/dist/dashboard/types.js +50 -0
- package/dist/dashboard/types.js.map +1 -0
- package/dist/index.d.ts +3 -1
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +9 -0
- package/dist/index.js.map +1 -1
- package/dist/resources/Partners.d.ts +133 -0
- package/dist/resources/Partners.d.ts.map +1 -0
- package/dist/resources/Partners.js +151 -0
- package/dist/resources/Partners.js.map +1 -0
- package/dist/resources/PaymentSetup.d.ts +34 -0
- package/dist/resources/PaymentSetup.d.ts.map +1 -0
- package/dist/resources/PaymentSetup.js +34 -0
- package/dist/resources/PaymentSetup.js.map +1 -0
- package/dist/resources/Plugins.d.ts +1 -1
- package/dist/resources/Plugins.d.ts.map +1 -1
- package/dist/resources/Plugins.js +10 -3
- package/dist/resources/Plugins.js.map +1 -1
- package/dist/resources/Products.d.ts +5 -1
- package/dist/resources/Products.d.ts.map +1 -1
- package/dist/resources/Products.js +6 -0
- package/dist/resources/Products.js.map +1 -1
- package/dist/resources/Threeds.d.ts +30 -0
- package/dist/resources/Threeds.d.ts.map +1 -0
- package/dist/resources/Threeds.js +32 -0
- package/dist/resources/Threeds.js.map +1 -0
- package/dist/types/index.d.ts +3 -1
- package/dist/types/index.d.ts.map +1 -1
- package/dist/types/index.js +3 -1
- package/dist/types/index.js.map +1 -1
- package/dist/types/partners.d.ts +119 -0
- package/dist/types/partners.d.ts.map +1 -0
- package/dist/types/partners.js +9 -0
- package/dist/types/partners.js.map +1 -0
- package/dist/types/paymentSetup.d.ts +67 -0
- package/dist/types/paymentSetup.d.ts.map +1 -0
- package/dist/types/paymentSetup.js +9 -0
- package/dist/types/paymentSetup.js.map +1 -0
- package/dist/types/plugins.d.ts +2 -2
- package/dist/types/plugins.d.ts.map +1 -1
- package/dist/types/products.d.ts +12 -0
- package/dist/types/products.d.ts.map +1 -1
- package/dist/types/stores.d.ts +0 -1
- package/dist/types/stores.d.ts.map +1 -1
- package/dist/types/threeds.d.ts +27 -0
- package/dist/types/threeds.d.ts.map +1 -0
- package/dist/types/threeds.js +8 -0
- package/dist/types/threeds.js.map +1 -0
- package/package.json +6 -1
|
@@ -0,0 +1,243 @@
|
|
|
1
|
+
import { createHttpTransport } from './httpTransport.js';
|
|
2
|
+
/**
|
|
3
|
+
* TagadaPayClient — pluggable-transport client.
|
|
4
|
+
*
|
|
5
|
+
* Two transports:
|
|
6
|
+
*
|
|
7
|
+
* - `InternalTransport` for in-process Hub→TagadaPay handoff (no HTTP
|
|
8
|
+
* hop). Used by `src/app/services/tagadapay/client.ts`:
|
|
9
|
+
*
|
|
10
|
+
* const tagadapay = new TagadaPayClient({
|
|
11
|
+
* transport: createInternalTransport({ accounts: { create, retrieve } }),
|
|
12
|
+
* });
|
|
13
|
+
*
|
|
14
|
+
* - `HttpTransport` for the public `/api/tagadapay/v1/*` surface:
|
|
15
|
+
*
|
|
16
|
+
* const tagadapay = new TagadaPayClient({
|
|
17
|
+
* transport: createHttpTransport({ apiKey: 'tp_sk_***', baseUrl: '...' }),
|
|
18
|
+
* });
|
|
19
|
+
*
|
|
20
|
+
* For new partner / external code, prefer the modern `Tagada` client
|
|
21
|
+
* and the `tagada.partners.*` namespace — resource-keyed (Stripe-style)
|
|
22
|
+
* and exposed at the top level of `@tagadapay/node-sdk`.
|
|
23
|
+
*/
|
|
24
|
+
export class TagadaPayClient {
|
|
25
|
+
constructor(config) {
|
|
26
|
+
// ── Dashboard API — merchant lifecycle ──────────────────────────
|
|
27
|
+
this.accounts = {
|
|
28
|
+
create: (payload, opts) => this.transport.accountsCreate(payload, this.withVersion(opts)),
|
|
29
|
+
retrieve: (id, opts) => this.transport.accountsRetrieve(id, this.withVersion(opts)),
|
|
30
|
+
update: (id, patch, opts) => this.transport.accountsUpdate(id, patch, this.withVersion(opts)),
|
|
31
|
+
list: (params, opts) => this.transport.accountsList(params, this.withVersion(opts)),
|
|
32
|
+
uploadDocument: (id, doc, opts) => this.transport.accountsUploadDocument(id, doc, this.withVersion(opts)),
|
|
33
|
+
listRequirements: (id, opts) => this.transport.accountsListRequirements(id, this.withVersion(opts)),
|
|
34
|
+
createOnboardingLink: (id, opts) => this.transport.accountsCreateOnboardingLink(id, this.withVersion(opts)),
|
|
35
|
+
listCapabilities: (id, opts) => this.transport.accountsListCapabilities(id, this.withVersion(opts)),
|
|
36
|
+
};
|
|
37
|
+
// ── Servicing read-only (stubbed before Phase C) ────────────────
|
|
38
|
+
this.payouts = {
|
|
39
|
+
list: (params, opts) => this.transport.payoutsList(params, this.withVersion(opts)),
|
|
40
|
+
retrieve: (id, opts) => this.transport.payoutsRetrieve(id, this.withVersion(opts)),
|
|
41
|
+
};
|
|
42
|
+
this.disputes = {
|
|
43
|
+
list: (params, opts) => this.transport.disputesList(params, this.withVersion(opts)),
|
|
44
|
+
retrieve: (id, opts) => this.transport.disputesRetrieve(id, this.withVersion(opts)),
|
|
45
|
+
submitEvidence: (id, evidence, opts) => this.transport.disputesSubmitEvidence(id, evidence, this.withVersion(opts)),
|
|
46
|
+
};
|
|
47
|
+
this.chargebackAlerts = {
|
|
48
|
+
list: (params, opts) => this.transport.chargebackAlertsList(params, this.withVersion(opts)),
|
|
49
|
+
retrieve: (id, opts) => this.transport.chargebackAlertsRetrieve(id, this.withVersion(opts)),
|
|
50
|
+
action: (id, action, opts) => this.transport.chargebackAlertsAction(id, action, this.withVersion(opts)),
|
|
51
|
+
};
|
|
52
|
+
this.balanceTransactions = {
|
|
53
|
+
list: (params, opts) => this.transport.balanceTransactionsList(params, this.withVersion(opts)),
|
|
54
|
+
retrieve: (id, opts) => this.transport.balanceTransactionsRetrieve(id, this.withVersion(opts)),
|
|
55
|
+
};
|
|
56
|
+
this.reportRuns = {
|
|
57
|
+
create: (params, opts) => this.transport.reportRunsCreate(params, this.withVersion(opts)),
|
|
58
|
+
retrieve: (id, opts) => this.transport.reportRunsRetrieve(id, this.withVersion(opts)),
|
|
59
|
+
list: (cursor, opts) => this.transport.reportRunsList(cursor, this.withVersion(opts)),
|
|
60
|
+
};
|
|
61
|
+
this.webhookEndpoints = {
|
|
62
|
+
create: (params, opts) => this.transport.webhookEndpointsCreate(params, this.withVersion(opts)),
|
|
63
|
+
list: (ownerType, ownerId, opts) => this.transport.webhookEndpointsList(ownerType, ownerId, this.withVersion(opts)),
|
|
64
|
+
update: (id, patch, opts) => this.transport.webhookEndpointsUpdate(id, patch, this.withVersion(opts)),
|
|
65
|
+
delete: (id, opts) => this.transport.webhookEndpointsDelete(id, this.withVersion(opts)),
|
|
66
|
+
};
|
|
67
|
+
this.pricingTemplates = {
|
|
68
|
+
create: (params, opts) => this.transport.pricingTemplatesCreate(params, this.withVersion(opts)),
|
|
69
|
+
list: (ownerType, ownerId, opts) => this.transport.pricingTemplatesList(ownerType, ownerId, this.withVersion(opts)),
|
|
70
|
+
retrieve: (id, opts) => this.transport.pricingTemplatesRetrieve(id, this.withVersion(opts)),
|
|
71
|
+
};
|
|
72
|
+
this.paymentsRestrictions = {
|
|
73
|
+
place: (id, restriction, opts) => this.transport.accountsPlacePaymentsRestriction(id, restriction, this.withVersion(opts)),
|
|
74
|
+
release: (id, opts) => this.transport.accountsReleasePaymentsRestriction(id, this.withVersion(opts)),
|
|
75
|
+
};
|
|
76
|
+
this.webhooks = {
|
|
77
|
+
/**
|
|
78
|
+
* Verify HMAC signature and parse the envelope. Spec-compat with
|
|
79
|
+
* Stripe-style signatures for portability (`t=<ts>,v1=<hex>`).
|
|
80
|
+
*/
|
|
81
|
+
constructEvent: (rawBody, signature, secret) => {
|
|
82
|
+
if (!verifyHmacSignature(rawBody, signature, secret)) {
|
|
83
|
+
throw new Error('TagadaPayClient.webhooks: invalid HMAC signature');
|
|
84
|
+
}
|
|
85
|
+
const parsed = JSON.parse(rawBody);
|
|
86
|
+
if (!parsed?.type || typeof parsed.type !== 'string') {
|
|
87
|
+
throw new Error('TagadaPayClient.webhooks: malformed event envelope');
|
|
88
|
+
}
|
|
89
|
+
return parsed;
|
|
90
|
+
},
|
|
91
|
+
};
|
|
92
|
+
this.apiVersion = config.apiVersion ?? '2026-04-19';
|
|
93
|
+
if (config.transport) {
|
|
94
|
+
this.transport = config.transport;
|
|
95
|
+
}
|
|
96
|
+
else if (config.internalTrust) {
|
|
97
|
+
this.transport = new NotWiredTransport('InternalTransport must be injected explicitly at Hub boot. ' +
|
|
98
|
+
'Use `new TagadaPayClient({ transport: createInternalTransport(...) })`.');
|
|
99
|
+
}
|
|
100
|
+
else if (config.apiKey && config.baseUrl) {
|
|
101
|
+
this.transport = createHttpTransport({
|
|
102
|
+
apiKey: config.apiKey,
|
|
103
|
+
baseUrl: config.baseUrl,
|
|
104
|
+
apiVersion: this.apiVersion,
|
|
105
|
+
});
|
|
106
|
+
}
|
|
107
|
+
else if (config.apiKey) {
|
|
108
|
+
this.transport = new HttpStubTransport(config);
|
|
109
|
+
}
|
|
110
|
+
else {
|
|
111
|
+
throw new Error('TagadaPayClient: must provide apiKey, internalTrust, or transport.');
|
|
112
|
+
}
|
|
113
|
+
}
|
|
114
|
+
withVersion(opts) {
|
|
115
|
+
return { ...opts, apiVersion: opts?.apiVersion ?? this.apiVersion };
|
|
116
|
+
}
|
|
117
|
+
}
|
|
118
|
+
// ─────────────────────────────────────────────────────────────────
|
|
119
|
+
// Built-in transports
|
|
120
|
+
// ─────────────────────────────────────────────────────────────────
|
|
121
|
+
class NotWiredTransport {
|
|
122
|
+
constructor(msg) {
|
|
123
|
+
this.msg = msg;
|
|
124
|
+
this.kind = 'internal';
|
|
125
|
+
}
|
|
126
|
+
fail() {
|
|
127
|
+
throw new Error(this.msg);
|
|
128
|
+
}
|
|
129
|
+
accountsCreate() { return this.fail(); }
|
|
130
|
+
accountsRetrieve() { return this.fail(); }
|
|
131
|
+
accountsUpdate() { return this.fail(); }
|
|
132
|
+
accountsList() { return this.fail(); }
|
|
133
|
+
accountsUploadDocument() { return this.fail(); }
|
|
134
|
+
accountsListRequirements() { return this.fail(); }
|
|
135
|
+
accountsCreateOnboardingLink() { return this.fail(); }
|
|
136
|
+
accountsListCapabilities() { return this.fail(); }
|
|
137
|
+
payoutsList() { return this.fail(); }
|
|
138
|
+
payoutsRetrieve() { return this.fail(); }
|
|
139
|
+
disputesList() { return this.fail(); }
|
|
140
|
+
disputesRetrieve() { return this.fail(); }
|
|
141
|
+
disputesSubmitEvidence() { return this.fail(); }
|
|
142
|
+
chargebackAlertsList() { return this.fail(); }
|
|
143
|
+
chargebackAlertsRetrieve() { return this.fail(); }
|
|
144
|
+
chargebackAlertsAction() { return this.fail(); }
|
|
145
|
+
balanceTransactionsList() { return this.fail(); }
|
|
146
|
+
balanceTransactionsRetrieve() { return this.fail(); }
|
|
147
|
+
reportRunsCreate() { return this.fail(); }
|
|
148
|
+
reportRunsRetrieve() { return this.fail(); }
|
|
149
|
+
reportRunsList() { return this.fail(); }
|
|
150
|
+
webhookEndpointsCreate() { return this.fail(); }
|
|
151
|
+
webhookEndpointsList() { return this.fail(); }
|
|
152
|
+
webhookEndpointsUpdate() { return this.fail(); }
|
|
153
|
+
webhookEndpointsDelete() { return this.fail(); }
|
|
154
|
+
pricingTemplatesCreate() { return this.fail(); }
|
|
155
|
+
pricingTemplatesList() { return this.fail(); }
|
|
156
|
+
pricingTemplatesRetrieve() { return this.fail(); }
|
|
157
|
+
accountsPlacePaymentsRestriction() { return this.fail(); }
|
|
158
|
+
accountsReleasePaymentsRestriction() { return this.fail(); }
|
|
159
|
+
}
|
|
160
|
+
/**
|
|
161
|
+
* HttpStubTransport — placeholder for Phase C8 when the real HTTP API
|
|
162
|
+
* ships. For now every method throws NotImplementedError, which is the
|
|
163
|
+
* desired behaviour (we refuse to silently succeed against a non-existent
|
|
164
|
+
* backend).
|
|
165
|
+
*/
|
|
166
|
+
class HttpStubTransport {
|
|
167
|
+
constructor(config) {
|
|
168
|
+
this.config = config;
|
|
169
|
+
this.kind = 'http';
|
|
170
|
+
}
|
|
171
|
+
fail(method) {
|
|
172
|
+
throw new Error(`TagadaPayClient.${method}: HTTP transport not implemented yet. ` +
|
|
173
|
+
`Scheduled for Phase C8 (tagadapay-app standalone). ` +
|
|
174
|
+
`baseUrl=${this.config.baseUrl ?? '<unset>'}`);
|
|
175
|
+
}
|
|
176
|
+
accountsCreate() { return this.fail('accounts.create'); }
|
|
177
|
+
accountsRetrieve() { return this.fail('accounts.retrieve'); }
|
|
178
|
+
accountsUpdate() { return this.fail('accounts.update'); }
|
|
179
|
+
accountsList() { return this.fail('accounts.list'); }
|
|
180
|
+
accountsUploadDocument() { return this.fail('accounts.uploadDocument'); }
|
|
181
|
+
accountsListRequirements() { return this.fail('accounts.listRequirements'); }
|
|
182
|
+
accountsCreateOnboardingLink() { return this.fail('accounts.createOnboardingLink'); }
|
|
183
|
+
accountsListCapabilities() { return this.fail('accounts.listCapabilities'); }
|
|
184
|
+
payoutsList() { return this.fail('payouts.list'); }
|
|
185
|
+
payoutsRetrieve() { return this.fail('payouts.retrieve'); }
|
|
186
|
+
disputesList() { return this.fail('disputes.list'); }
|
|
187
|
+
disputesRetrieve() { return this.fail('disputes.retrieve'); }
|
|
188
|
+
disputesSubmitEvidence() { return this.fail('disputes.submitEvidence'); }
|
|
189
|
+
chargebackAlertsList() { return this.fail('chargebackAlerts.list'); }
|
|
190
|
+
chargebackAlertsRetrieve() { return this.fail('chargebackAlerts.retrieve'); }
|
|
191
|
+
chargebackAlertsAction() { return this.fail('chargebackAlerts.action'); }
|
|
192
|
+
balanceTransactionsList() { return this.fail('balanceTransactions.list'); }
|
|
193
|
+
balanceTransactionsRetrieve() { return this.fail('balanceTransactions.retrieve'); }
|
|
194
|
+
reportRunsCreate() { return this.fail('reportRuns.create'); }
|
|
195
|
+
reportRunsRetrieve() { return this.fail('reportRuns.retrieve'); }
|
|
196
|
+
reportRunsList() { return this.fail('reportRuns.list'); }
|
|
197
|
+
webhookEndpointsCreate() { return this.fail('webhookEndpoints.create'); }
|
|
198
|
+
webhookEndpointsList() { return this.fail('webhookEndpoints.list'); }
|
|
199
|
+
webhookEndpointsUpdate() { return this.fail('webhookEndpoints.update'); }
|
|
200
|
+
webhookEndpointsDelete() { return this.fail('webhookEndpoints.delete'); }
|
|
201
|
+
pricingTemplatesCreate() { return this.fail('pricingTemplates.create'); }
|
|
202
|
+
pricingTemplatesList() { return this.fail('pricingTemplates.list'); }
|
|
203
|
+
pricingTemplatesRetrieve() { return this.fail('pricingTemplates.retrieve'); }
|
|
204
|
+
accountsPlacePaymentsRestriction() { return this.fail('paymentsRestrictions.place'); }
|
|
205
|
+
accountsReleasePaymentsRestriction() { return this.fail('paymentsRestrictions.release'); }
|
|
206
|
+
}
|
|
207
|
+
// ─────────────────────────────────────────────────────────────────
|
|
208
|
+
// HMAC helper (Stripe-compatible 't=<ts>,v1=<hex>' format)
|
|
209
|
+
// ─────────────────────────────────────────────────────────────────
|
|
210
|
+
function verifyHmacSignature(rawBody, signatureHeader, secret) {
|
|
211
|
+
// Phase A: SDK is consumed in Node (Hub) and browser (dashboard) —
|
|
212
|
+
// we lazily pick between crypto.subtle and node:crypto without
|
|
213
|
+
// introducing a hard dep on either at module init time.
|
|
214
|
+
const parts = signatureHeader.split(',').reduce((acc, part) => {
|
|
215
|
+
const [k, v] = part.split('=');
|
|
216
|
+
if (k && v)
|
|
217
|
+
acc[k.trim()] = v.trim();
|
|
218
|
+
return acc;
|
|
219
|
+
}, {});
|
|
220
|
+
if (!parts.t || !parts.v1)
|
|
221
|
+
return false;
|
|
222
|
+
const payload = `${parts.t}.${rawBody}`;
|
|
223
|
+
const expected = computeHmacHex(payload, secret);
|
|
224
|
+
return constantTimeEqual(expected, parts.v1);
|
|
225
|
+
}
|
|
226
|
+
function computeHmacHex(payload, secret) {
|
|
227
|
+
// eslint-disable-next-line @typescript-eslint/no-require-imports
|
|
228
|
+
const nodeCrypto = typeof process !== 'undefined' ? require('node:crypto') : undefined;
|
|
229
|
+
if (nodeCrypto?.createHmac) {
|
|
230
|
+
return nodeCrypto.createHmac('sha256', secret).update(payload).digest('hex');
|
|
231
|
+
}
|
|
232
|
+
throw new Error('constructEvent: no HMAC backend available (expected node:crypto)');
|
|
233
|
+
}
|
|
234
|
+
function constantTimeEqual(a, b) {
|
|
235
|
+
if (a.length !== b.length)
|
|
236
|
+
return false;
|
|
237
|
+
let diff = 0;
|
|
238
|
+
for (let i = 0; i < a.length; i++) {
|
|
239
|
+
diff |= a.charCodeAt(i) ^ b.charCodeAt(i);
|
|
240
|
+
}
|
|
241
|
+
return diff === 0;
|
|
242
|
+
}
|
|
243
|
+
//# sourceMappingURL=client.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/dashboard/client.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* Phase C8 — HTTP transport for the TagadaPay SDK.
|
|
3
|
+
*
|
|
4
|
+
* Talks to `/api/tagadapay/v1/*` on the Hub (or any deployment that
|
|
5
|
+
* exposes the same routes). Authentication is a bearer token stored
|
|
6
|
+
* in `tp_api_keys`.
|
|
7
|
+
*
|
|
8
|
+
* Keep this file free of any node-only deps so it can run in any JS
|
|
9
|
+
* runtime (Node, edge, Deno, browser). We rely on global `fetch` only.
|
|
10
|
+
*/
|
|
11
|
+
import type { ClientTransport } from './client.js';
|
|
12
|
+
export interface HttpTransportConfig {
|
|
13
|
+
/** Secret API key — must start with tp_sk_live_/tp_sk_test_. */
|
|
14
|
+
apiKey: string;
|
|
15
|
+
/** Base URL of the Hub deployment exposing /api/tagadapay/v1. */
|
|
16
|
+
baseUrl: string;
|
|
17
|
+
/** API pinned version — sent as `TagadaPay-Version`. */
|
|
18
|
+
apiVersion?: string;
|
|
19
|
+
/** Pluggable fetch (tests). Defaults to global fetch. */
|
|
20
|
+
fetchImpl?: typeof fetch;
|
|
21
|
+
}
|
|
22
|
+
export declare function createHttpTransport(config: HttpTransportConfig): ClientTransport;
|
|
23
|
+
export declare class TagadaPayApiError extends Error {
|
|
24
|
+
code: string;
|
|
25
|
+
statusCode: number;
|
|
26
|
+
constructor(code: string, message: string, statusCode: number);
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=httpTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTransport.d.ts","sourceRoot":"","sources":["../../src/dashboard/httpTransport.ts"],"names":[],"mappings":"AAAA;;;;;;;;;GASG;AACH,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AA6BnD,MAAM,WAAW,mBAAmB;IAClC,gEAAgE;IAChE,MAAM,EAAE,MAAM,CAAC;IACf,iEAAiE;IACjE,OAAO,EAAE,MAAM,CAAC;IAChB,wDAAwD;IACxD,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,yDAAyD;IACzD,SAAS,CAAC,EAAE,OAAO,KAAK,CAAC;CAC1B;AAED,wBAAgB,mBAAmB,CAAC,MAAM,EAAE,mBAAmB,GAAG,eAAe,CAkPhF;AAED,qBAAa,iBAAkB,SAAQ,KAAK;IACvB,IAAI,EAAE,MAAM;IAA0B,UAAU,EAAE,MAAM;gBAAxD,IAAI,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,EAAS,UAAU,EAAE,MAAM;CAI5E"}
|
|
@@ -0,0 +1,196 @@
|
|
|
1
|
+
export function createHttpTransport(config) {
|
|
2
|
+
const fetchImpl = config.fetchImpl ?? globalThis.fetch;
|
|
3
|
+
if (!fetchImpl) {
|
|
4
|
+
throw new Error('createHttpTransport: no global fetch available');
|
|
5
|
+
}
|
|
6
|
+
const base = config.baseUrl.replace(/\/+$/, '');
|
|
7
|
+
const version = config.apiVersion ?? '2026-04-19';
|
|
8
|
+
async function request(method, path, init = {}) {
|
|
9
|
+
const url = new URL(`${base}/api/tagadapay/v1${path}`);
|
|
10
|
+
if (init.query) {
|
|
11
|
+
for (const [k, v] of Object.entries(init.query)) {
|
|
12
|
+
if (v !== undefined && v !== null && v !== '')
|
|
13
|
+
url.searchParams.set(k, String(v));
|
|
14
|
+
}
|
|
15
|
+
}
|
|
16
|
+
const headers = {
|
|
17
|
+
authorization: `Bearer ${config.apiKey}`,
|
|
18
|
+
'tagadapay-version': init.opts?.apiVersion ?? version,
|
|
19
|
+
};
|
|
20
|
+
if (init.opts?.idempotencyKey)
|
|
21
|
+
headers['idempotency-key'] = init.opts.idempotencyKey;
|
|
22
|
+
if (init.body !== undefined)
|
|
23
|
+
headers['content-type'] = 'application/json';
|
|
24
|
+
const res = await fetchImpl(url.toString(), {
|
|
25
|
+
method,
|
|
26
|
+
headers,
|
|
27
|
+
body: init.body !== undefined ? JSON.stringify(init.body) : undefined,
|
|
28
|
+
});
|
|
29
|
+
if (res.status === 204)
|
|
30
|
+
return undefined;
|
|
31
|
+
const raw = await res.text();
|
|
32
|
+
const parsed = raw ? safeParse(raw) : null;
|
|
33
|
+
if (!res.ok) {
|
|
34
|
+
const msg = parsed?.error?.message ??
|
|
35
|
+
`HTTP ${res.status}`;
|
|
36
|
+
const code = parsed?.error?.code ?? `http_${res.status}`;
|
|
37
|
+
throw new TagadaPayApiError(code, msg, res.status);
|
|
38
|
+
}
|
|
39
|
+
return parsed;
|
|
40
|
+
}
|
|
41
|
+
function listToPage(obj) {
|
|
42
|
+
return {
|
|
43
|
+
object: 'list',
|
|
44
|
+
data: obj.data,
|
|
45
|
+
hasMore: obj.hasMore,
|
|
46
|
+
nextCursor: obj.nextCursor ?? undefined,
|
|
47
|
+
};
|
|
48
|
+
}
|
|
49
|
+
function notImpl(method) {
|
|
50
|
+
throw new Error(`TagadaPayClient.${method}: HTTP transport endpoint not implemented yet.`);
|
|
51
|
+
}
|
|
52
|
+
return {
|
|
53
|
+
kind: 'http',
|
|
54
|
+
async accountsCreate(_payload) {
|
|
55
|
+
return notImpl('accounts.create');
|
|
56
|
+
},
|
|
57
|
+
async accountsRetrieve(id) {
|
|
58
|
+
return request('GET', `/accounts/${encodeURIComponent(id)}`);
|
|
59
|
+
},
|
|
60
|
+
async accountsUpdate(id, patch) {
|
|
61
|
+
return request('PATCH', `/accounts/${encodeURIComponent(id)}`, { body: patch });
|
|
62
|
+
},
|
|
63
|
+
async accountsList(params) {
|
|
64
|
+
const res = await request('GET', '/accounts', { query: { limit: params.limit, cursor: params.cursor ?? undefined } });
|
|
65
|
+
return listToPage(res);
|
|
66
|
+
},
|
|
67
|
+
async accountsUploadDocument(_id, _doc) {
|
|
68
|
+
return notImpl('accounts.uploadDocument');
|
|
69
|
+
},
|
|
70
|
+
async accountsListRequirements(_id) {
|
|
71
|
+
return notImpl('accounts.listRequirements');
|
|
72
|
+
},
|
|
73
|
+
async accountsCreateOnboardingLink(_id) {
|
|
74
|
+
return notImpl('accounts.createOnboardingLink');
|
|
75
|
+
},
|
|
76
|
+
async accountsListCapabilities(_id) {
|
|
77
|
+
return notImpl('accounts.listCapabilities');
|
|
78
|
+
},
|
|
79
|
+
async payoutsList(params) {
|
|
80
|
+
const res = await request('GET', '/payouts', {
|
|
81
|
+
query: {
|
|
82
|
+
account: params.tagadapayAccountId,
|
|
83
|
+
limit: params.limit,
|
|
84
|
+
cursor: params.cursor ?? undefined,
|
|
85
|
+
status: params.status ?? undefined,
|
|
86
|
+
},
|
|
87
|
+
});
|
|
88
|
+
return listToPage(res);
|
|
89
|
+
},
|
|
90
|
+
async payoutsRetrieve(_id) {
|
|
91
|
+
return notImpl('payouts.retrieve');
|
|
92
|
+
},
|
|
93
|
+
async disputesList(params) {
|
|
94
|
+
const res = await request('GET', '/disputes', {
|
|
95
|
+
query: {
|
|
96
|
+
account: params.tagadapayAccountId,
|
|
97
|
+
limit: params.limit,
|
|
98
|
+
cursor: params.cursor ?? undefined,
|
|
99
|
+
status: params.status ?? undefined,
|
|
100
|
+
},
|
|
101
|
+
});
|
|
102
|
+
return listToPage(res);
|
|
103
|
+
},
|
|
104
|
+
async disputesRetrieve(_id) {
|
|
105
|
+
return notImpl('disputes.retrieve');
|
|
106
|
+
},
|
|
107
|
+
async disputesSubmitEvidence() {
|
|
108
|
+
return notImpl('disputes.submitEvidence');
|
|
109
|
+
},
|
|
110
|
+
async chargebackAlertsList(params) {
|
|
111
|
+
const res = await request('GET', '/chargeback_alerts', {
|
|
112
|
+
query: {
|
|
113
|
+
account: params.tagadapayAccountId,
|
|
114
|
+
limit: params.limit,
|
|
115
|
+
cursor: params.cursor ?? undefined,
|
|
116
|
+
status: params.status ?? undefined,
|
|
117
|
+
},
|
|
118
|
+
});
|
|
119
|
+
return listToPage(res);
|
|
120
|
+
},
|
|
121
|
+
async chargebackAlertsRetrieve() {
|
|
122
|
+
return notImpl('chargebackAlerts.retrieve');
|
|
123
|
+
},
|
|
124
|
+
async chargebackAlertsAction() {
|
|
125
|
+
return notImpl('chargebackAlerts.action');
|
|
126
|
+
},
|
|
127
|
+
async balanceTransactionsList(params) {
|
|
128
|
+
const res = await request('GET', '/balance_transactions', {
|
|
129
|
+
query: {
|
|
130
|
+
account: params.tagadapayAccountId,
|
|
131
|
+
limit: params.limit,
|
|
132
|
+
cursor: params.cursor ?? undefined,
|
|
133
|
+
type: params.type ?? undefined,
|
|
134
|
+
},
|
|
135
|
+
});
|
|
136
|
+
return listToPage(res);
|
|
137
|
+
},
|
|
138
|
+
async balanceTransactionsRetrieve() {
|
|
139
|
+
return notImpl('balanceTransactions.retrieve');
|
|
140
|
+
},
|
|
141
|
+
async reportRunsCreate(_params) {
|
|
142
|
+
return notImpl('reportRuns.create');
|
|
143
|
+
},
|
|
144
|
+
async reportRunsRetrieve() {
|
|
145
|
+
return notImpl('reportRuns.retrieve');
|
|
146
|
+
},
|
|
147
|
+
async reportRunsList() {
|
|
148
|
+
return notImpl('reportRuns.list');
|
|
149
|
+
},
|
|
150
|
+
async webhookEndpointsCreate(params) {
|
|
151
|
+
return request('POST', '/webhook_endpoints', { body: params });
|
|
152
|
+
},
|
|
153
|
+
async webhookEndpointsList(ownerType, ownerId) {
|
|
154
|
+
const res = await request('GET', '/webhook_endpoints', { query: { ownerType, ownerId } });
|
|
155
|
+
return listToPage(res);
|
|
156
|
+
},
|
|
157
|
+
async webhookEndpointsUpdate(id, patch) {
|
|
158
|
+
return request('PATCH', `/webhook_endpoints/${encodeURIComponent(id)}`, { body: patch });
|
|
159
|
+
},
|
|
160
|
+
async webhookEndpointsDelete(id) {
|
|
161
|
+
await request('DELETE', `/webhook_endpoints/${encodeURIComponent(id)}`);
|
|
162
|
+
},
|
|
163
|
+
async pricingTemplatesCreate() {
|
|
164
|
+
return notImpl('pricingTemplates.create');
|
|
165
|
+
},
|
|
166
|
+
async pricingTemplatesList() {
|
|
167
|
+
return notImpl('pricingTemplates.list');
|
|
168
|
+
},
|
|
169
|
+
async pricingTemplatesRetrieve() {
|
|
170
|
+
return notImpl('pricingTemplates.retrieve');
|
|
171
|
+
},
|
|
172
|
+
async accountsPlacePaymentsRestriction(_id, _restriction) {
|
|
173
|
+
return notImpl('paymentsRestrictions.place');
|
|
174
|
+
},
|
|
175
|
+
async accountsReleasePaymentsRestriction(_id) {
|
|
176
|
+
return notImpl('paymentsRestrictions.release');
|
|
177
|
+
},
|
|
178
|
+
};
|
|
179
|
+
}
|
|
180
|
+
export class TagadaPayApiError extends Error {
|
|
181
|
+
constructor(code, message, statusCode) {
|
|
182
|
+
super(message);
|
|
183
|
+
this.code = code;
|
|
184
|
+
this.statusCode = statusCode;
|
|
185
|
+
this.name = 'TagadaPayApiError';
|
|
186
|
+
}
|
|
187
|
+
}
|
|
188
|
+
function safeParse(raw) {
|
|
189
|
+
try {
|
|
190
|
+
return JSON.parse(raw);
|
|
191
|
+
}
|
|
192
|
+
catch {
|
|
193
|
+
return raw;
|
|
194
|
+
}
|
|
195
|
+
}
|
|
196
|
+
//# sourceMappingURL=httpTransport.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"httpTransport.js","sourceRoot":"","sources":["../../src/dashboard/httpTransport.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `TagadaPayClient` — pluggable-transport client for the Hub's
|
|
3
|
+
* in-process TagadaPay handoff (and any external HTTP caller that
|
|
4
|
+
* still wants the lower-level surface).
|
|
5
|
+
*
|
|
6
|
+
* • `Tagada` — modern HTTP client. Use this for partner /
|
|
7
|
+
* external integrations (top-level export):
|
|
8
|
+
* `import { Tagada } from '@tagadapay/node-sdk'`
|
|
9
|
+
* `tagada.partners.accounts.create(...)`
|
|
10
|
+
*
|
|
11
|
+
* • `TagadaPayClient` — pluggable-transport client. Two transports:
|
|
12
|
+
* - `InternalTransport` for in-process Hub
|
|
13
|
+
* calls (no HTTP hop) — used by
|
|
14
|
+
* `src/app/services/tagadapay/client.ts`.
|
|
15
|
+
* - `HttpTransport` for the public
|
|
16
|
+
* `/api/tagadapay/v1/*` surface.
|
|
17
|
+
*/
|
|
18
|
+
export { TagadaPayClient, type ClientTransport, type TagadaPayClientConfig, } from './client.js';
|
|
19
|
+
export { createInternalTransport, type InternalAdapters, } from './internalTransport.js';
|
|
20
|
+
export { createHttpTransport, TagadaPayApiError, type HttpTransportConfig, } from './httpTransport.js';
|
|
21
|
+
export * from './types.js';
|
|
22
|
+
//# sourceMappingURL=index.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,eAAe,EACf,KAAK,eAAe,EACpB,KAAK,qBAAqB,GAC3B,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,EACvB,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,EACjB,KAAK,mBAAmB,GACzB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `TagadaPayClient` — pluggable-transport client for the Hub's
|
|
3
|
+
* in-process TagadaPay handoff (and any external HTTP caller that
|
|
4
|
+
* still wants the lower-level surface).
|
|
5
|
+
*
|
|
6
|
+
* • `Tagada` — modern HTTP client. Use this for partner /
|
|
7
|
+
* external integrations (top-level export):
|
|
8
|
+
* `import { Tagada } from '@tagadapay/node-sdk'`
|
|
9
|
+
* `tagada.partners.accounts.create(...)`
|
|
10
|
+
*
|
|
11
|
+
* • `TagadaPayClient` — pluggable-transport client. Two transports:
|
|
12
|
+
* - `InternalTransport` for in-process Hub
|
|
13
|
+
* calls (no HTTP hop) — used by
|
|
14
|
+
* `src/app/services/tagadapay/client.ts`.
|
|
15
|
+
* - `HttpTransport` for the public
|
|
16
|
+
* `/api/tagadapay/v1/*` surface.
|
|
17
|
+
*/
|
|
18
|
+
export { TagadaPayClient, } from './client.js';
|
|
19
|
+
export { createInternalTransport, } from './internalTransport.js';
|
|
20
|
+
export { createHttpTransport, TagadaPayApiError, } from './httpTransport.js';
|
|
21
|
+
export * from './types.js';
|
|
22
|
+
//# sourceMappingURL=index.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/dashboard/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAEH,OAAO,EACL,eAAe,GAGhB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,uBAAuB,GAExB,MAAM,wBAAwB,CAAC;AAEhC,OAAO,EACL,mBAAmB,EACnB,iBAAiB,GAElB,MAAM,oBAAoB,CAAC;AAE5B,cAAc,YAAY,CAAC"}
|
|
@@ -0,0 +1,29 @@
|
|
|
1
|
+
import type { ClientTransport } from './client.js';
|
|
2
|
+
import type { Account, Capability, CreateAccountParams, Document, DocumentUpload, ListAccountsParams, OnboardingLink, Page, Requirement, RequestOpts, UpdateAccountParams } from './types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Set of adapters the Hub (or any in-process caller) must provide so
|
|
5
|
+
* the InternalTransport can actually do work. Everything is async and
|
|
6
|
+
* shaped like the public SDK so the tagadapay-app implementation in
|
|
7
|
+
* Phase C can re-use these same adapters.
|
|
8
|
+
*
|
|
9
|
+
* Phase A ships only `accounts.*` live; the rest are stubs that throw
|
|
10
|
+
* NotImplementedError (as promised in the plan §3.A4).
|
|
11
|
+
*/
|
|
12
|
+
export interface InternalAdapters {
|
|
13
|
+
accounts: {
|
|
14
|
+
create(payload: CreateAccountParams, opts?: RequestOpts): Promise<Account>;
|
|
15
|
+
retrieve(id: string): Promise<Account>;
|
|
16
|
+
update?(id: string, patch: UpdateAccountParams): Promise<Account>;
|
|
17
|
+
list?(params: ListAccountsParams): Promise<Page<Account>>;
|
|
18
|
+
uploadDocument?(id: string, doc: DocumentUpload): Promise<Document>;
|
|
19
|
+
listRequirements?(id: string): Promise<Requirement[]>;
|
|
20
|
+
createOnboardingLink?(id: string): Promise<OnboardingLink>;
|
|
21
|
+
listCapabilities?(id: string): Promise<Capability[]>;
|
|
22
|
+
};
|
|
23
|
+
}
|
|
24
|
+
/**
|
|
25
|
+
* Factory for the InternalTransport. Called once at Hub boot with the
|
|
26
|
+
* set of local services wired to their real implementations.
|
|
27
|
+
*/
|
|
28
|
+
export declare function createInternalTransport(adapters: InternalAdapters): ClientTransport;
|
|
29
|
+
//# sourceMappingURL=internalTransport.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"internalTransport.d.ts","sourceRoot":"","sources":["../../src/dashboard/internalTransport.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AACnD,OAAO,KAAK,EACV,OAAO,EAEP,UAAU,EAEV,mBAAmB,EAGnB,QAAQ,EACR,cAAc,EACd,kBAAkB,EAKlB,cAAc,EACd,IAAI,EAIJ,WAAW,EACX,WAAW,EACX,mBAAmB,EAEpB,MAAM,YAAY,CAAC;AAEpB;;;;;;;;GAQG;AACH,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,EAAE;QACR,MAAM,CAAC,OAAO,EAAE,mBAAmB,EAAE,IAAI,CAAC,EAAE,WAAW,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAC3E,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QACvC,MAAM,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,KAAK,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAC;QAClE,IAAI,CAAC,CAAC,MAAM,EAAE,kBAAkB,GAAG,OAAO,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC;QAC1D,cAAc,CAAC,CAAC,EAAE,EAAE,MAAM,EAAE,GAAG,EAAE,cAAc,GAAG,OAAO,CAAC,QAAQ,CAAC,CAAC;QACpE,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,WAAW,EAAE,CAAC,CAAC;QACtD,oBAAoB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC,CAAC;QAC3D,gBAAgB,CAAC,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,EAAE,CAAC,CAAC;KACtD,CAAC;CACH;AASD;;;GAGG;AACH,wBAAgB,uBAAuB,CAAC,QAAQ,EAAE,gBAAgB,GAAG,eAAe,CAuEnF"}
|