tupay 0.14.0 → 0.16.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/dist/cjs/client.d.ts +27 -0
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +6 -2
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.d.ts +40 -0
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +53 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/resources/accounts.d.ts +93 -0
- package/dist/cjs/resources/accounts.d.ts.map +1 -0
- package/dist/cjs/resources/accounts.js +106 -0
- package/dist/cjs/resources/accounts.js.map +1 -0
- package/dist/cjs/resources/balance-transactions.d.ts +44 -0
- package/dist/cjs/resources/balance-transactions.d.ts.map +1 -0
- package/dist/cjs/resources/balance-transactions.js +40 -0
- package/dist/cjs/resources/balance-transactions.js.map +1 -0
- package/dist/cjs/resources/balance.d.ts +21 -0
- package/dist/cjs/resources/balance.d.ts.map +1 -0
- package/dist/cjs/resources/balance.js +31 -0
- package/dist/cjs/resources/balance.js.map +1 -0
- package/dist/cjs/resources/disputes.d.ts +71 -0
- package/dist/cjs/resources/disputes.d.ts.map +1 -0
- package/dist/cjs/resources/disputes.js +89 -0
- package/dist/cjs/resources/disputes.js.map +1 -0
- package/dist/cjs/resources/invoices.d.ts +20 -0
- package/dist/cjs/resources/invoices.d.ts.map +1 -1
- package/dist/cjs/resources/invoices.js +28 -0
- package/dist/cjs/resources/invoices.js.map +1 -1
- package/dist/cjs/resources/payment-intents.d.ts +30 -0
- package/dist/cjs/resources/payment-intents.d.ts.map +1 -1
- package/dist/cjs/resources/payment-intents.js.map +1 -1
- package/dist/cjs/resources/payouts.d.ts +53 -0
- package/dist/cjs/resources/payouts.d.ts.map +1 -0
- package/dist/cjs/resources/payouts.js +72 -0
- package/dist/cjs/resources/payouts.js.map +1 -0
- package/dist/cjs/types.d.ts +271 -0
- package/dist/cjs/types.d.ts.map +1 -1
- package/dist/esm/client.d.ts +27 -0
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +6 -2
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.d.ts +40 -0
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +47 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/resources/accounts.d.ts +93 -0
- package/dist/esm/resources/accounts.d.ts.map +1 -0
- package/dist/esm/resources/accounts.js +102 -0
- package/dist/esm/resources/accounts.js.map +1 -0
- package/dist/esm/resources/balance-transactions.d.ts +44 -0
- package/dist/esm/resources/balance-transactions.d.ts.map +1 -0
- package/dist/esm/resources/balance-transactions.js +36 -0
- package/dist/esm/resources/balance-transactions.js.map +1 -0
- package/dist/esm/resources/balance.d.ts +21 -0
- package/dist/esm/resources/balance.d.ts.map +1 -0
- package/dist/esm/resources/balance.js +27 -0
- package/dist/esm/resources/balance.js.map +1 -0
- package/dist/esm/resources/disputes.d.ts +71 -0
- package/dist/esm/resources/disputes.d.ts.map +1 -0
- package/dist/esm/resources/disputes.js +85 -0
- package/dist/esm/resources/disputes.js.map +1 -0
- package/dist/esm/resources/invoices.d.ts +20 -0
- package/dist/esm/resources/invoices.d.ts.map +1 -1
- package/dist/esm/resources/invoices.js +28 -0
- package/dist/esm/resources/invoices.js.map +1 -1
- package/dist/esm/resources/payment-intents.d.ts +30 -0
- package/dist/esm/resources/payment-intents.d.ts.map +1 -1
- package/dist/esm/resources/payment-intents.js.map +1 -1
- package/dist/esm/resources/payouts.d.ts +53 -0
- package/dist/esm/resources/payouts.d.ts.map +1 -0
- package/dist/esm/resources/payouts.js +68 -0
- package/dist/esm/resources/payouts.js.map +1 -0
- package/dist/esm/types.d.ts +271 -0
- package/dist/esm/types.d.ts.map +1 -1
- package/package.json +1 -1
package/dist/cjs/client.d.ts
CHANGED
|
@@ -22,6 +22,22 @@ export interface TupayOptions {
|
|
|
22
22
|
* ignorée.
|
|
23
23
|
*/
|
|
24
24
|
apiVersion?: string;
|
|
25
|
+
/**
|
|
26
|
+
* **Agir pour le compte d'un de vos vendeurs** (Connect).
|
|
27
|
+
*
|
|
28
|
+
* Toutes les requêtes de ce client s'exécutent alors dans le contexte
|
|
29
|
+
* de ce compte : les objets créés lui appartiennent, et les lectures
|
|
30
|
+
* ne voient que les siens.
|
|
31
|
+
*
|
|
32
|
+
* Préférez `tupay.forAccount(id)`, qui construit un client déjà
|
|
33
|
+
* portant cette option sans dupliquer les autres.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ Un compte qui n'est pas le vôtre fait échouer la requête en
|
|
36
|
+
* `401` — l'en-tête fait partie de la revendication d'identité, pas
|
|
37
|
+
* des paramètres. Un compte inexistant donne exactement la même
|
|
38
|
+
* réponse, à dessein.
|
|
39
|
+
*/
|
|
40
|
+
account?: string;
|
|
25
41
|
/** Injectable pour les tests. Défaut : `globalThis.fetch`. */
|
|
26
42
|
fetch?: typeof globalThis.fetch;
|
|
27
43
|
}
|
|
@@ -35,6 +51,17 @@ export interface RequestOptions {
|
|
|
35
51
|
* sécurité : c'est elle qui autorise le SDK à retenter un POST.
|
|
36
52
|
*/
|
|
37
53
|
idempotencyKey?: string;
|
|
54
|
+
/**
|
|
55
|
+
* Rend le corps TEL QUEL, sans le passer par `JSON.parse`.
|
|
56
|
+
*
|
|
57
|
+
* Une seule opération en a besoin aujourd'hui : le document imprimable
|
|
58
|
+
* d'une facture, qui est du HTML. Les erreurs, elles, restent du JSON
|
|
59
|
+
* enveloppé et sont traitées comme partout ailleurs — ce drapeau ne
|
|
60
|
+
* change que la lecture d'une réponse RÉUSSIE.
|
|
61
|
+
*/
|
|
62
|
+
raw?: boolean;
|
|
63
|
+
/** En-tête `accept` à envoyer, quand ce n'est pas du JSON. */
|
|
64
|
+
accept?: string;
|
|
38
65
|
}
|
|
39
66
|
export declare class TupayClient {
|
|
40
67
|
#private;
|
package/dist/cjs/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACjF,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AAAA;;;;GAIG;AAKH,MAAM,WAAW,YAAY;IAC3B,2FAA2F;IAC3F,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,gEAAgE;IAChE,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,wEAAwE;IACxE,OAAO,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAChC;;;;;;;;OAQG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;;;;OAcG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,8DAA8D;IAC9D,KAAK,CAAC,EAAE,OAAO,UAAU,CAAC,KAAK,CAAA;CAChC;AAED,MAAM,WAAW,cAAc;IAC7B,MAAM,EAAE,KAAK,GAAG,MAAM,GAAG,OAAO,GAAG,QAAQ,CAAA;IAC3C,IAAI,EAAE,MAAM,CAAA;IACZ,KAAK,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,GAAG,OAAO,GAAG,SAAS,MAAM,EAAE,GAAG,SAAS,CAAC,CAAA;IACjF,IAAI,CAAC,EAAE,OAAO,CAAA;IACd;;;OAGG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;IACvB;;;;;;;OAOG;IACH,GAAG,CAAC,EAAE,OAAO,CAAA;IACb,8DAA8D;IAC9D,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAsBD,qBAAa,WAAW;;IAQtB,kFAAkF;IAClF,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;gBAEd,MAAM,EAAE,MAAM,EAAE,OAAO,GAAE,YAAiB;IAsCtD,qFAAqF;IACrF,MAAM,CAAC,cAAc,IAAI,MAAM;IAIzB,OAAO,CAAC,CAAC,EAAE,OAAO,EAAE,cAAc,GAAG,OAAO,CAAC,CAAC,CAAC;CA4HtD"}
|
package/dist/cjs/client.js
CHANGED
|
@@ -52,6 +52,10 @@ class TupayClient {
|
|
|
52
52
|
this.#maxRetries = options.maxRetries ?? DEFAULT_MAX_RETRIES;
|
|
53
53
|
this.#headers = {
|
|
54
54
|
...(options.apiVersion ? { 'tupay-version': options.apiVersion } : {}),
|
|
55
|
+
...(options.account ? { 'tupay-account': options.account } : {}),
|
|
56
|
+
// Les en-têtes de l'appelant en dernier : ils peuvent tout
|
|
57
|
+
// surcharger, y compris ceux-ci. C'était déjà vrai de
|
|
58
|
+
// `tupay-version`.
|
|
55
59
|
...(options.headers ?? {}),
|
|
56
60
|
};
|
|
57
61
|
this.#fetch = fetchImpl;
|
|
@@ -65,7 +69,7 @@ class TupayClient {
|
|
|
65
69
|
const url = this.#buildUrl(options.path, options.query);
|
|
66
70
|
const headers = {
|
|
67
71
|
authorization: `Bearer ${this.#apiKey}`,
|
|
68
|
-
accept: 'application/json',
|
|
72
|
+
accept: options.accept ?? 'application/json',
|
|
69
73
|
'user-agent': 'tupay-node',
|
|
70
74
|
...this.#headers,
|
|
71
75
|
};
|
|
@@ -96,7 +100,7 @@ class TupayClient {
|
|
|
96
100
|
const text = await response.text();
|
|
97
101
|
if (!text)
|
|
98
102
|
return undefined;
|
|
99
|
-
return JSON.parse(text);
|
|
103
|
+
return (options.raw ? text : JSON.parse(text));
|
|
100
104
|
}
|
|
101
105
|
const body = await this.#safeJson(response);
|
|
102
106
|
const error = (0, errors_js_1.errorFromResponse)(response.status, body, requestId);
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";AAAA;;;;GAIG;;;AAEH,6CAAwC;AACxC,2CAAiF;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -24,6 +24,11 @@ import { CheckoutSessions } from './resources/checkout-sessions.js';
|
|
|
24
24
|
import { Receipts } from './resources/receipts.js';
|
|
25
25
|
import { Prices } from './resources/prices.js';
|
|
26
26
|
import { Subscriptions } from './resources/subscriptions.js';
|
|
27
|
+
import { BalanceResource } from './resources/balance.js';
|
|
28
|
+
import { BalanceTransactions } from './resources/balance-transactions.js';
|
|
29
|
+
import { Payouts } from './resources/payouts.js';
|
|
30
|
+
import { Disputes } from './resources/disputes.js';
|
|
31
|
+
import { Accounts } from './resources/accounts.js';
|
|
27
32
|
import { Invoices } from './resources/invoices.js';
|
|
28
33
|
import { Transactions } from './resources/transactions.js';
|
|
29
34
|
import { Refunds } from './resources/refunds.js';
|
|
@@ -51,6 +56,12 @@ export declare class Tupay {
|
|
|
51
56
|
readonly receipts: Receipts;
|
|
52
57
|
readonly prices: Prices;
|
|
53
58
|
readonly subscriptions: Subscriptions;
|
|
59
|
+
readonly balance: BalanceResource;
|
|
60
|
+
readonly balanceTransactions: BalanceTransactions;
|
|
61
|
+
readonly payouts: Payouts;
|
|
62
|
+
readonly disputes: Disputes;
|
|
63
|
+
/** Connect — vos vendeurs. */
|
|
64
|
+
readonly accounts: Accounts;
|
|
54
65
|
readonly invoices: Invoices;
|
|
55
66
|
readonly refunds: Refunds;
|
|
56
67
|
readonly webhookEndpoints: WebhookEndpoints;
|
|
@@ -62,6 +73,26 @@ export declare class Tupay {
|
|
|
62
73
|
/** `true` si la clé fournie est une `tpk_live_`. Déduit du préfixe. */
|
|
63
74
|
readonly livemode: boolean;
|
|
64
75
|
constructor(apiKey: string, options?: TupayOptions);
|
|
76
|
+
/**
|
|
77
|
+
* **Un client qui agit pour l'un de vos vendeurs** (Connect).
|
|
78
|
+
*
|
|
79
|
+
* ```ts
|
|
80
|
+
* const chezLeVendeur = tupay.forAccount(vendeur.id)
|
|
81
|
+
* await chezLeVendeur.customers.create({ name: 'Hina' }) // à LUI
|
|
82
|
+
* await chezLeVendeur.balance.retrieve() // le SIEN
|
|
83
|
+
* ```
|
|
84
|
+
*
|
|
85
|
+
* Toutes les requêtes du client rendu s'exécutent dans le contexte de
|
|
86
|
+
* ce compte : les objets créés lui appartiennent, et les lectures ne
|
|
87
|
+
* voient que les siens. Votre client d'origine n'est pas modifié.
|
|
88
|
+
*
|
|
89
|
+
* ⚠️ Un compte qui n'est pas le vôtre fait échouer la requête en
|
|
90
|
+
* `401` — l'en-tête fait partie de la revendication d'identité, pas
|
|
91
|
+
* des paramètres. Un compte **inexistant** donne exactement la même
|
|
92
|
+
* réponse : un refus qui les distinguerait dirait qu'un compte existe
|
|
93
|
+
* sous cet identifiant.
|
|
94
|
+
*/
|
|
95
|
+
forAccount(accountId: string): Tupay;
|
|
65
96
|
/**
|
|
66
97
|
* Vérifie la signature d'un webhook et renvoie l'événement typé.
|
|
67
98
|
*
|
|
@@ -114,6 +145,15 @@ export type { CreateSubscriptionParams, ListSubscriptionsParams, } from './resou
|
|
|
114
145
|
export { Subscriptions } from './resources/subscriptions.js';
|
|
115
146
|
export type { ListInvoicesParams } from './resources/invoices.js';
|
|
116
147
|
export { Invoices } from './resources/invoices.js';
|
|
148
|
+
export { BalanceResource } from './resources/balance.js';
|
|
149
|
+
export { BalanceTransactions } from './resources/balance-transactions.js';
|
|
150
|
+
export { Payouts } from './resources/payouts.js';
|
|
151
|
+
export type { ListPayoutsParams } from './resources/payouts.js';
|
|
152
|
+
export { Disputes } from './resources/disputes.js';
|
|
153
|
+
export { Accounts } from './resources/accounts.js';
|
|
154
|
+
export type { CreateAccountParams } from './resources/accounts.js';
|
|
155
|
+
export type { ListDisputesParams, SubmitDisputeEvidenceParams, } from './resources/disputes.js';
|
|
156
|
+
export type { ListBalanceTransactionsParams } from './resources/balance-transactions.js';
|
|
117
157
|
export type { CheckoutLineItem, CreateCheckoutSessionParams, ListCheckoutSessionsParams, } from './resources/checkout-sessions.js';
|
|
118
158
|
export { CheckoutSessions } from './resources/checkout-sessions.js';
|
|
119
159
|
export type { ListReceiptsParams } from './resources/receipts.js';
|
package/dist/cjs/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;GAcG;AAEH,OAAO,EAAe,KAAK,YAAY,EAAE,MAAM,aAAa,CAAA;AAC5D,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAA;AAC/D,OAAO,EAAE,YAAY,EAAE,MAAM,8BAA8B,CAAA;AAC3D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,aAAa,EAAE,MAAM,8BAA8B,CAAA;AAC5D,OAAO,EAAE,QAAQ,EAAE,MAAM,yBAAyB,CAAA;AAClD,OAAO,EAAE,YAAY,EAAE,MAAM,6BAA6B,CAAA;AAC1D,OAAO,EAAE,OAAO,EAAE,MAAM,wBAAwB,CAAA;AAChD,OAAO,EAAE,gBAAgB,EAAE,MAAM,kCAAkC,CAAA;AACnE,OAAO,EAAE,SAAS,EAAE,MAAM,0BAA0B,CAAA;AACpD,OAAO,EAAE,MAAM,EAAE,MAAM,uBAAuB,CAAA;AAC9C,OAAO,EAAE,WAAW,EAAE,MAAM,6BAA6B,CAAA;AACzD,OAAO,EAAkB,KAAK,qBAAqB,EAAE,MAAM,eAAe,CAAA;AAC1E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,YAAY,CAAA;AAE9C,qBAAa,KAAK;;IAChB,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,+EAA+E;IAC/E,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,0EAA0E;IAC1E,QAAQ,CAAC,cAAc,EAAE,cAAc,CAAA;IACvC,mEAAmE;IACnE,QAAQ,CAAC,YAAY,EAAE,YAAY,CAAA;IACnC,yCAAyC;IACzC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,gEAAgE;IAChE,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,QAAQ,CAAC,aAAa,EAAE,aAAa,CAAA;IACrC,QAAQ,CAAC,QAAQ,EAAE,QAAQ,CAAA;IAC3B,QAAQ,CAAC,OAAO,EAAE,OAAO,CAAA;IACzB,QAAQ,CAAC,gBAAgB,EAAE,gBAAgB,CAAA;IAC3C,QAAQ,CAAC,SAAS,EAAE,SAAS,CAAA;IAC7B,8DAA8D;IAC9D,QAAQ,CAAC,MAAM,EAAE,MAAM,CAAA;IACvB,sEAAsE;IACtE,QAAQ,CAAC,WAAW,EAAE,WAAW,CAAA;IAEjC,uEAAuE;IACvE,QAAQ,CAAC,QAAQ,EAAE,OAAO,CAAA;
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
* console.log(link.url)
|
|
16
16
|
*/
|
|
17
17
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
18
|
-
exports.TestHelpers = exports.Events = exports.Receipts = exports.CheckoutSessions = exports.Invoices = exports.Subscriptions = exports.Prices = exports.Products = exports.SetupIntents = exports.PaymentMethods = exports.Customers = exports.TupaySignatureVerificationError = exports.TupayConnectionError = exports.TupayPaymentDeclinedError = exports.TupayBaasError = exports.TupayApiError = exports.TupayRateLimitError = exports.TupayIdempotencyError = exports.TupayConflictError = exports.TupayValidationError = exports.TupayNotFoundError = exports.TupayPermissionError = exports.TupayAuthenticationError = exports.TupayError = exports.DEFAULT_TOLERANCE_SECONDS = exports.constructEvent = exports.TupayClient = exports.Tupay = void 0;
|
|
18
|
+
exports.TestHelpers = exports.Events = exports.Receipts = exports.CheckoutSessions = exports.Accounts = exports.Disputes = exports.Payouts = exports.BalanceTransactions = exports.BalanceResource = exports.Invoices = exports.Subscriptions = exports.Prices = exports.Products = exports.SetupIntents = exports.PaymentMethods = exports.Customers = exports.TupaySignatureVerificationError = exports.TupayConnectionError = exports.TupayPaymentDeclinedError = exports.TupayBaasError = exports.TupayApiError = exports.TupayRateLimitError = exports.TupayIdempotencyError = exports.TupayConflictError = exports.TupayValidationError = exports.TupayNotFoundError = exports.TupayPermissionError = exports.TupayAuthenticationError = exports.TupayError = exports.DEFAULT_TOLERANCE_SECONDS = exports.constructEvent = exports.TupayClient = exports.Tupay = void 0;
|
|
19
19
|
const client_js_1 = require("./client.js");
|
|
20
20
|
const payment_intents_js_1 = require("./resources/payment-intents.js");
|
|
21
21
|
const payment_links_js_1 = require("./resources/payment-links.js");
|
|
@@ -27,6 +27,11 @@ const checkout_sessions_js_1 = require("./resources/checkout-sessions.js");
|
|
|
27
27
|
const receipts_js_1 = require("./resources/receipts.js");
|
|
28
28
|
const prices_js_1 = require("./resources/prices.js");
|
|
29
29
|
const subscriptions_js_1 = require("./resources/subscriptions.js");
|
|
30
|
+
const balance_js_1 = require("./resources/balance.js");
|
|
31
|
+
const balance_transactions_js_1 = require("./resources/balance-transactions.js");
|
|
32
|
+
const payouts_js_1 = require("./resources/payouts.js");
|
|
33
|
+
const disputes_js_1 = require("./resources/disputes.js");
|
|
34
|
+
const accounts_js_1 = require("./resources/accounts.js");
|
|
30
35
|
const invoices_js_1 = require("./resources/invoices.js");
|
|
31
36
|
const transactions_js_1 = require("./resources/transactions.js");
|
|
32
37
|
const refunds_js_1 = require("./resources/refunds.js");
|
|
@@ -52,6 +57,12 @@ class Tupay {
|
|
|
52
57
|
receipts;
|
|
53
58
|
prices;
|
|
54
59
|
subscriptions;
|
|
60
|
+
balance;
|
|
61
|
+
balanceTransactions;
|
|
62
|
+
payouts;
|
|
63
|
+
disputes;
|
|
64
|
+
/** Connect — vos vendeurs. */
|
|
65
|
+
accounts;
|
|
55
66
|
invoices;
|
|
56
67
|
refunds;
|
|
57
68
|
webhookEndpoints;
|
|
@@ -63,7 +74,11 @@ class Tupay {
|
|
|
63
74
|
/** `true` si la clé fournie est une `tpk_live_`. Déduit du préfixe. */
|
|
64
75
|
livemode;
|
|
65
76
|
#client;
|
|
77
|
+
#apiKey;
|
|
78
|
+
#options;
|
|
66
79
|
constructor(apiKey, options = {}) {
|
|
80
|
+
this.#apiKey = apiKey;
|
|
81
|
+
this.#options = options;
|
|
67
82
|
this.#client = new client_js_1.TupayClient(apiKey, options);
|
|
68
83
|
this.livemode = this.#client.livemode;
|
|
69
84
|
this.paymentIntents = new payment_intents_js_1.PaymentIntents(this.#client);
|
|
@@ -77,6 +92,11 @@ class Tupay {
|
|
|
77
92
|
this.receipts = new receipts_js_1.Receipts(this.#client);
|
|
78
93
|
this.prices = new prices_js_1.Prices(this.#client);
|
|
79
94
|
this.subscriptions = new subscriptions_js_1.Subscriptions(this.#client);
|
|
95
|
+
this.balance = new balance_js_1.BalanceResource(this.#client);
|
|
96
|
+
this.balanceTransactions = new balance_transactions_js_1.BalanceTransactions(this.#client);
|
|
97
|
+
this.payouts = new payouts_js_1.Payouts(this.#client);
|
|
98
|
+
this.disputes = new disputes_js_1.Disputes(this.#client);
|
|
99
|
+
this.accounts = new accounts_js_1.Accounts(this.#client);
|
|
80
100
|
this.invoices = new invoices_js_1.Invoices(this.#client);
|
|
81
101
|
this.refunds = new refunds_js_1.Refunds(this.#client);
|
|
82
102
|
this.webhookEndpoints = new webhook_endpoints_js_1.WebhookEndpoints(this.#client);
|
|
@@ -84,6 +104,28 @@ class Tupay {
|
|
|
84
104
|
this.events = new events_js_1.Events(this.#client);
|
|
85
105
|
this.testHelpers = new test_helpers_js_1.TestHelpers(this.#client);
|
|
86
106
|
}
|
|
107
|
+
/**
|
|
108
|
+
* **Un client qui agit pour l'un de vos vendeurs** (Connect).
|
|
109
|
+
*
|
|
110
|
+
* ```ts
|
|
111
|
+
* const chezLeVendeur = tupay.forAccount(vendeur.id)
|
|
112
|
+
* await chezLeVendeur.customers.create({ name: 'Hina' }) // à LUI
|
|
113
|
+
* await chezLeVendeur.balance.retrieve() // le SIEN
|
|
114
|
+
* ```
|
|
115
|
+
*
|
|
116
|
+
* Toutes les requêtes du client rendu s'exécutent dans le contexte de
|
|
117
|
+
* ce compte : les objets créés lui appartiennent, et les lectures ne
|
|
118
|
+
* voient que les siens. Votre client d'origine n'est pas modifié.
|
|
119
|
+
*
|
|
120
|
+
* ⚠️ Un compte qui n'est pas le vôtre fait échouer la requête en
|
|
121
|
+
* `401` — l'en-tête fait partie de la revendication d'identité, pas
|
|
122
|
+
* des paramètres. Un compte **inexistant** donne exactement la même
|
|
123
|
+
* réponse : un refus qui les distinguerait dirait qu'un compte existe
|
|
124
|
+
* sous cet identifiant.
|
|
125
|
+
*/
|
|
126
|
+
forAccount(accountId) {
|
|
127
|
+
return new Tupay(this.#apiKey, { ...this.#options, account: accountId });
|
|
128
|
+
}
|
|
87
129
|
/**
|
|
88
130
|
* Vérifie la signature d'un webhook et renvoie l'événement typé.
|
|
89
131
|
*
|
|
@@ -151,6 +193,16 @@ var subscriptions_js_2 = require("./resources/subscriptions.js");
|
|
|
151
193
|
Object.defineProperty(exports, "Subscriptions", { enumerable: true, get: function () { return subscriptions_js_2.Subscriptions; } });
|
|
152
194
|
var invoices_js_2 = require("./resources/invoices.js");
|
|
153
195
|
Object.defineProperty(exports, "Invoices", { enumerable: true, get: function () { return invoices_js_2.Invoices; } });
|
|
196
|
+
var balance_js_2 = require("./resources/balance.js");
|
|
197
|
+
Object.defineProperty(exports, "BalanceResource", { enumerable: true, get: function () { return balance_js_2.BalanceResource; } });
|
|
198
|
+
var balance_transactions_js_2 = require("./resources/balance-transactions.js");
|
|
199
|
+
Object.defineProperty(exports, "BalanceTransactions", { enumerable: true, get: function () { return balance_transactions_js_2.BalanceTransactions; } });
|
|
200
|
+
var payouts_js_2 = require("./resources/payouts.js");
|
|
201
|
+
Object.defineProperty(exports, "Payouts", { enumerable: true, get: function () { return payouts_js_2.Payouts; } });
|
|
202
|
+
var disputes_js_2 = require("./resources/disputes.js");
|
|
203
|
+
Object.defineProperty(exports, "Disputes", { enumerable: true, get: function () { return disputes_js_2.Disputes; } });
|
|
204
|
+
var accounts_js_2 = require("./resources/accounts.js");
|
|
205
|
+
Object.defineProperty(exports, "Accounts", { enumerable: true, get: function () { return accounts_js_2.Accounts; } });
|
|
154
206
|
var checkout_sessions_js_2 = require("./resources/checkout-sessions.js");
|
|
155
207
|
Object.defineProperty(exports, "CheckoutSessions", { enumerable: true, get: function () { return checkout_sessions_js_2.CheckoutSessions; } });
|
|
156
208
|
var receipts_js_2 = require("./resources/receipts.js");
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";AAAA;;;;;;;;;;;;;;GAcG;;;AAEH,2CAA4D;AAC5D,uEAA+D;AAC/D,mEAA2D;AAC3D,2DAAoD;AACpD,uEAA+D;AAC/D,mEAA2D;AAC3D,yDAAkD;AAClD,2EAAmE;AACnE,yDAAkD;AAClD,qDAA8C;AAC9C,mEAA4D;AAC5D,yDAAkD;AAClD,iEAA0D;AAC1D,uDAAgD;AAChD,2EAAmE;AACnE,2DAAoD;AACpD,qDAA8C;AAC9C,iEAAyD;AACzD,+CAA0E;AAG1E,MAAa,KAAK;IACP,cAAc,CAAgB;IAC9B,YAAY,CAAc;IAC1B,YAAY,CAAc;IACnC,+EAA+E;IACtE,SAAS,CAAW;IAC7B,0EAA0E;IACjE,cAAc,CAAgB;IACvC,mEAAmE;IAC1D,YAAY,CAAc;IACnC,yCAAyC;IAChC,QAAQ,CAAU;IAC3B,gEAAgE;IACvD,gBAAgB,CAAkB;IAClC,QAAQ,CAAU;IAClB,MAAM,CAAQ;IACd,aAAa,CAAe;IAC5B,QAAQ,CAAU;IAClB,OAAO,CAAS;IAChB,gBAAgB,CAAkB;IAClC,SAAS,CAAW;IAC7B,8DAA8D;IACrD,MAAM,CAAQ;IACvB,sEAAsE;IAC7D,WAAW,CAAa;IAEjC,uEAAuE;IAC9D,QAAQ,CAAS;IAEjB,OAAO,CAAa;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import { TupayClient } from '../client.js';
|
|
2
|
+
import { type ListParams } from '../liste.js';
|
|
3
|
+
import type { Account, AccountBalance, ListResult, Payout, TgcRate } from '../types.js';
|
|
4
|
+
export interface CreateAccountParams {
|
|
5
|
+
/** Nom commercial du vendeur. */
|
|
6
|
+
name: string;
|
|
7
|
+
/**
|
|
8
|
+
* L'identité du **vendeur**, pas la vôtre. Un email déjà utilisé par
|
|
9
|
+
* un compte Tupay est refusé.
|
|
10
|
+
*/
|
|
11
|
+
email: string;
|
|
12
|
+
/**
|
|
13
|
+
* Le régime de TGC du vendeur. Défaut `exempt`.
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ Le sien, pas le vôtre. Une pension exemptée et un loueur à 16 %
|
|
16
|
+
* sous la même plateforme n'ont pas la même TGC, et elle est figée sur
|
|
17
|
+
* chaque écriture de solde : un taux faux ne se rattrape pas.
|
|
18
|
+
*/
|
|
19
|
+
tgcRate?: TgcRate;
|
|
20
|
+
/**
|
|
21
|
+
* Coordonnées bancaires XPF du vendeur. Facultatives à la création —
|
|
22
|
+
* tant qu'elles manquent, `payoutsEnabled` est faux.
|
|
23
|
+
*/
|
|
24
|
+
ibanXpf?: string;
|
|
25
|
+
/** Omise, le SDK génère un UUID v4 — la requête devient rejouable. */
|
|
26
|
+
idempotencyKey?: string;
|
|
27
|
+
}
|
|
28
|
+
/**
|
|
29
|
+
* Connect — plusieurs vendeurs sous un même toit.
|
|
30
|
+
*
|
|
31
|
+
* ```ts
|
|
32
|
+
* const vendeur = await tupay.accounts.create({
|
|
33
|
+
* name: 'Pension Tiare',
|
|
34
|
+
* email: 'pension.tiare@exemple.pf',
|
|
35
|
+
* tgcRate: '10',
|
|
36
|
+
* })
|
|
37
|
+
* vendeur.chargesEnabled // false : la vérification n'a pas eu lieu
|
|
38
|
+
* vendeur.requirements // ['kyb.validation', 'bank_account.iban_xpf']
|
|
39
|
+
* ```
|
|
40
|
+
*
|
|
41
|
+
* Puis encaissez pour lui :
|
|
42
|
+
*
|
|
43
|
+
* ```ts
|
|
44
|
+
* await tupay.paymentIntents.create({
|
|
45
|
+
* amountXpf: 4500,
|
|
46
|
+
* onBehalfOf: vendeur.id,
|
|
47
|
+
* })
|
|
48
|
+
* ```
|
|
49
|
+
*
|
|
50
|
+
* **Un compte connecté est un marchand à part entière.** Son solde, ses
|
|
51
|
+
* écritures, ses virements et ses litiges sont les mêmes objets que ceux
|
|
52
|
+
* de n'importe quel compte — il n'y a pas de version diminuée du
|
|
53
|
+
* produit.
|
|
54
|
+
*
|
|
55
|
+
* ⚠️ **Un seul étage** : un compte connecté ne peut pas avoir ses
|
|
56
|
+
* propres comptes connectés.
|
|
57
|
+
*/
|
|
58
|
+
export declare class Accounts {
|
|
59
|
+
private readonly client;
|
|
60
|
+
constructor(client: TupayClient);
|
|
61
|
+
create(params: CreateAccountParams): Promise<Account>;
|
|
62
|
+
retrieve(id: string): Promise<Account>;
|
|
63
|
+
/**
|
|
64
|
+
* Vos vendeurs, le plus récent d'abord.
|
|
65
|
+
*
|
|
66
|
+
* Un marchand ordinaire reçoit une liste vide, et c'est juste : « être
|
|
67
|
+
* une plateforme » n'est pas un type de compte, c'est le fait d'en
|
|
68
|
+
* avoir créé.
|
|
69
|
+
*/
|
|
70
|
+
/**
|
|
71
|
+
* Le solde d'un de vos vendeurs.
|
|
72
|
+
*
|
|
73
|
+
* **Son solde n'est pas le vôtre**, ni celui de vos autres vendeurs :
|
|
74
|
+
* la somme est calculée dans le contexte de ce compte.
|
|
75
|
+
*
|
|
76
|
+
* Un compte connecté n'a ni clé API ni tableau de bord — vous êtes
|
|
77
|
+
* donc le seul chemin par lequel ce solde peut être montré à qui il
|
|
78
|
+
* appartient.
|
|
79
|
+
*
|
|
80
|
+
* ⚠️ Le solde rendu est celui du **mode de votre clé**.
|
|
81
|
+
*/
|
|
82
|
+
retrieveBalance(id: string): Promise<AccountBalance>;
|
|
83
|
+
/**
|
|
84
|
+
* Les virements d'un de vos vendeurs.
|
|
85
|
+
*
|
|
86
|
+
* Ils partent vers **ses** coordonnées bancaires, pas les vôtres.
|
|
87
|
+
* Vous en lisez les quatre derniers caractères, jamais l'IBAN
|
|
88
|
+
* complet.
|
|
89
|
+
*/
|
|
90
|
+
listPayouts(id: string, params?: ListParams): Promise<ListResult<Payout>>;
|
|
91
|
+
list(): Promise<ListResult<Account>>;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=accounts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.d.ts","sourceRoot":"","sources":["../../../src/resources/accounts.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EACV,OAAO,EACP,cAAc,EACd,UAAU,EACV,MAAM,EACN,OAAO,EACR,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,mBAAmB;IAClC,iCAAiC;IACjC,IAAI,EAAE,MAAM,CAAA;IACZ;;;OAGG;IACH,KAAK,EAAE,MAAM,CAAA;IACb;;;;;;OAMG;IACH,OAAO,CAAC,EAAE,OAAO,CAAA;IACjB;;;OAGG;IACH,OAAO,CAAC,EAAE,MAAM,CAAA;IAChB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,MAAM,CAAC,MAAM,EAAE,mBAAmB,GAAG,OAAO,CAAC,OAAO,CAAC;IAWrD,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;IACG,eAAe,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,cAAc,CAAC;IAQ1D;;;;;;OAMG;IACG,WAAW,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,UAAe,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;IAU7E,IAAI,IAAI,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAQ3C"}
|
|
@@ -0,0 +1,106 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Accounts = void 0;
|
|
4
|
+
const client_js_1 = require("../client.js");
|
|
5
|
+
const liste_js_1 = require("../liste.js");
|
|
6
|
+
/**
|
|
7
|
+
* Connect — plusieurs vendeurs sous un même toit.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const vendeur = await tupay.accounts.create({
|
|
11
|
+
* name: 'Pension Tiare',
|
|
12
|
+
* email: 'pension.tiare@exemple.pf',
|
|
13
|
+
* tgcRate: '10',
|
|
14
|
+
* })
|
|
15
|
+
* vendeur.chargesEnabled // false : la vérification n'a pas eu lieu
|
|
16
|
+
* vendeur.requirements // ['kyb.validation', 'bank_account.iban_xpf']
|
|
17
|
+
* ```
|
|
18
|
+
*
|
|
19
|
+
* Puis encaissez pour lui :
|
|
20
|
+
*
|
|
21
|
+
* ```ts
|
|
22
|
+
* await tupay.paymentIntents.create({
|
|
23
|
+
* amountXpf: 4500,
|
|
24
|
+
* onBehalfOf: vendeur.id,
|
|
25
|
+
* })
|
|
26
|
+
* ```
|
|
27
|
+
*
|
|
28
|
+
* **Un compte connecté est un marchand à part entière.** Son solde, ses
|
|
29
|
+
* écritures, ses virements et ses litiges sont les mêmes objets que ceux
|
|
30
|
+
* de n'importe quel compte — il n'y a pas de version diminuée du
|
|
31
|
+
* produit.
|
|
32
|
+
*
|
|
33
|
+
* ⚠️ **Un seul étage** : un compte connecté ne peut pas avoir ses
|
|
34
|
+
* propres comptes connectés.
|
|
35
|
+
*/
|
|
36
|
+
class Accounts {
|
|
37
|
+
client;
|
|
38
|
+
constructor(client) {
|
|
39
|
+
this.client = client;
|
|
40
|
+
}
|
|
41
|
+
async create(params) {
|
|
42
|
+
const { idempotencyKey, ...body } = params;
|
|
43
|
+
const { data } = await this.client.request({
|
|
44
|
+
method: 'POST',
|
|
45
|
+
path: '/accounts',
|
|
46
|
+
body,
|
|
47
|
+
idempotencyKey: idempotencyKey ?? client_js_1.TupayClient.idempotencyKey(),
|
|
48
|
+
});
|
|
49
|
+
return data;
|
|
50
|
+
}
|
|
51
|
+
async retrieve(id) {
|
|
52
|
+
const { data } = await this.client.request({
|
|
53
|
+
method: 'GET',
|
|
54
|
+
path: `/accounts/${encodeURIComponent(id)}`,
|
|
55
|
+
});
|
|
56
|
+
return data;
|
|
57
|
+
}
|
|
58
|
+
/**
|
|
59
|
+
* Vos vendeurs, le plus récent d'abord.
|
|
60
|
+
*
|
|
61
|
+
* Un marchand ordinaire reçoit une liste vide, et c'est juste : « être
|
|
62
|
+
* une plateforme » n'est pas un type de compte, c'est le fait d'en
|
|
63
|
+
* avoir créé.
|
|
64
|
+
*/
|
|
65
|
+
/**
|
|
66
|
+
* Le solde d'un de vos vendeurs.
|
|
67
|
+
*
|
|
68
|
+
* **Son solde n'est pas le vôtre**, ni celui de vos autres vendeurs :
|
|
69
|
+
* la somme est calculée dans le contexte de ce compte.
|
|
70
|
+
*
|
|
71
|
+
* Un compte connecté n'a ni clé API ni tableau de bord — vous êtes
|
|
72
|
+
* donc le seul chemin par lequel ce solde peut être montré à qui il
|
|
73
|
+
* appartient.
|
|
74
|
+
*
|
|
75
|
+
* ⚠️ Le solde rendu est celui du **mode de votre clé**.
|
|
76
|
+
*/
|
|
77
|
+
async retrieveBalance(id) {
|
|
78
|
+
const { data } = await this.client.request({
|
|
79
|
+
method: 'GET',
|
|
80
|
+
path: `/accounts/${encodeURIComponent(id)}/balance`,
|
|
81
|
+
});
|
|
82
|
+
return data;
|
|
83
|
+
}
|
|
84
|
+
/**
|
|
85
|
+
* Les virements d'un de vos vendeurs.
|
|
86
|
+
*
|
|
87
|
+
* Ils partent vers **ses** coordonnées bancaires, pas les vôtres.
|
|
88
|
+
* Vous en lisez les quatre derniers caractères, jamais l'IBAN
|
|
89
|
+
* complet.
|
|
90
|
+
*/
|
|
91
|
+
async listPayouts(id, params = {}) {
|
|
92
|
+
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
93
|
+
method: 'GET',
|
|
94
|
+
path: `/accounts/${encodeURIComponent(id)}/payouts`,
|
|
95
|
+
query: (0, liste_js_1.parametresListe)(params),
|
|
96
|
+
}));
|
|
97
|
+
}
|
|
98
|
+
async list() {
|
|
99
|
+
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
100
|
+
method: 'GET',
|
|
101
|
+
path: '/accounts',
|
|
102
|
+
}));
|
|
103
|
+
}
|
|
104
|
+
}
|
|
105
|
+
exports.Accounts = Accounts;
|
|
106
|
+
//# sourceMappingURL=accounts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"accounts.js","sourceRoot":"","sources":["../../../src/resources/accounts.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAC1C,0CAKoB;AAkCpB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;GA6BG;AACH,MAAa,QAAQ;IACU;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,MAA2B;QACtC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB;YAC5D,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,WAAW;YACjB,IAAI;YACJ,cAAc,EAAE,cAAc,IAAI,uBAAW,CAAC,cAAc,EAAE;SAC/D,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB;YAC5D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,EAAE;SAC5C,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH;;;;;;;;;;;OAWG;IACH,KAAK,CAAC,eAAe,CAAC,EAAU;QAC9B,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAA2B;YACnE,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,UAAU;SACpD,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CAAC,EAAU,EAAE,SAAqB,EAAE;QACnD,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAqB;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,UAAU;YACnD,KAAK,EAAE,IAAA,0BAAe,EAAC,MAAM,CAAC;SAC/B,CAAC,CACH,CAAA;IACH,CAAC;IAED,KAAK,CAAC,IAAI;QACR,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB;YAC7C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;SAClB,CAAC,CACH,CAAA;IACH,CAAC;CACF;AA1ED,4BA0EC"}
|
|
@@ -0,0 +1,44 @@
|
|
|
1
|
+
import type { TupayClient } from '../client.js';
|
|
2
|
+
import { type ListParams } from '../liste.js';
|
|
3
|
+
import type { BalanceTransaction, BalanceTransactionType, ListResult } from '../types.js';
|
|
4
|
+
export interface ListBalanceTransactionsParams extends ListParams {
|
|
5
|
+
/** N'obtenir qu'un type de mouvement. */
|
|
6
|
+
type?: BalanceTransactionType;
|
|
7
|
+
/**
|
|
8
|
+
* `true` pour ce qui est encaissable, `false` pour ce qui attend.
|
|
9
|
+
*
|
|
10
|
+
* La bascule est une comparaison de dates, pas un statut : rien n'a
|
|
11
|
+
* besoin de tourner pour qu'elle ait lieu.
|
|
12
|
+
*/
|
|
13
|
+
available?: boolean;
|
|
14
|
+
/**
|
|
15
|
+
* N'obtenir que les écritures **soldées par ce virement** — de quoi
|
|
16
|
+
* il est composé. Leur somme vaut son montant.
|
|
17
|
+
*
|
|
18
|
+
* À ne pas confondre avec `payoutId` sur une écriture, qui désigne la
|
|
19
|
+
* ligne de **contrepartie** du virement.
|
|
20
|
+
*/
|
|
21
|
+
payout?: string;
|
|
22
|
+
}
|
|
23
|
+
/**
|
|
24
|
+
* Le journal de votre solde : une ligne par mouvement.
|
|
25
|
+
*
|
|
26
|
+
* ```ts
|
|
27
|
+
* const { data } = await tupay.balanceTransactions.list({ available: false })
|
|
28
|
+
* data[0].grossXpf // ce que le client a payé
|
|
29
|
+
* data[0].feeXpf // notre commission
|
|
30
|
+
* data[0].netXpf // ce qui rejoint votre solde
|
|
31
|
+
* ```
|
|
32
|
+
*
|
|
33
|
+
* La somme des `netXpf` est exactement votre solde.
|
|
34
|
+
*
|
|
35
|
+
* ⚠️ **Aucune méthode pour créer, modifier ou supprimer.** Ce n'est pas
|
|
36
|
+
* un oubli : une écriture comptable est immuable. Une correction s'écrit
|
|
37
|
+
* en ajustement, une ligne de plus qui laisse la première visible.
|
|
38
|
+
*/
|
|
39
|
+
export declare class BalanceTransactions {
|
|
40
|
+
private readonly client;
|
|
41
|
+
constructor(client: TupayClient);
|
|
42
|
+
list(params?: ListBalanceTransactionsParams): Promise<ListResult<BalanceTransaction>>;
|
|
43
|
+
}
|
|
44
|
+
//# sourceMappingURL=balance-transactions.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance-transactions.d.ts","sourceRoot":"","sources":["../../../src/resources/balance-transactions.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAAqD,KAAK,UAAU,EAAE,MAAM,aAAa,CAAA;AAChG,OAAO,KAAK,EAAE,kBAAkB,EAAE,sBAAsB,EAAE,UAAU,EAAE,MAAM,aAAa,CAAA;AAEzF,MAAM,WAAW,6BAA8B,SAAQ,UAAU;IAC/D,yCAAyC;IACzC,IAAI,CAAC,EAAE,sBAAsB,CAAA;IAC7B;;;;;OAKG;IACH,SAAS,CAAC,EAAE,OAAO,CAAA;IACnB;;;;;;OAMG;IACH,MAAM,CAAC,EAAE,MAAM,CAAA;CAChB;AAED;;;;;;;;;;;;;;;GAeG;AACH,qBAAa,mBAAmB;IAClB,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,IAAI,CACR,MAAM,GAAE,6BAAkC,GACzC,OAAO,CAAC,UAAU,CAAC,kBAAkB,CAAC,CAAC;CAc3C"}
|
|
@@ -0,0 +1,40 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BalanceTransactions = void 0;
|
|
4
|
+
const liste_js_1 = require("../liste.js");
|
|
5
|
+
/**
|
|
6
|
+
* Le journal de votre solde : une ligne par mouvement.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* const { data } = await tupay.balanceTransactions.list({ available: false })
|
|
10
|
+
* data[0].grossXpf // ce que le client a payé
|
|
11
|
+
* data[0].feeXpf // notre commission
|
|
12
|
+
* data[0].netXpf // ce qui rejoint votre solde
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* La somme des `netXpf` est exactement votre solde.
|
|
16
|
+
*
|
|
17
|
+
* ⚠️ **Aucune méthode pour créer, modifier ou supprimer.** Ce n'est pas
|
|
18
|
+
* un oubli : une écriture comptable est immuable. Une correction s'écrit
|
|
19
|
+
* en ajustement, une ligne de plus qui laisse la première visible.
|
|
20
|
+
*/
|
|
21
|
+
class BalanceTransactions {
|
|
22
|
+
client;
|
|
23
|
+
constructor(client) {
|
|
24
|
+
this.client = client;
|
|
25
|
+
}
|
|
26
|
+
async list(params = {}) {
|
|
27
|
+
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
28
|
+
method: 'GET',
|
|
29
|
+
path: '/balance-transactions',
|
|
30
|
+
query: {
|
|
31
|
+
...(0, liste_js_1.parametresListe)(params),
|
|
32
|
+
type: params.type,
|
|
33
|
+
available: params.available,
|
|
34
|
+
payout: params.payout,
|
|
35
|
+
},
|
|
36
|
+
}));
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
exports.BalanceTransactions = BalanceTransactions;
|
|
40
|
+
//# sourceMappingURL=balance-transactions.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance-transactions.js","sourceRoot":"","sources":["../../../src/resources/balance-transactions.ts"],"names":[],"mappings":";;;AACA,0CAAgG;AAuBhG;;;;;;;;;;;;;;;GAeG;AACH,MAAa,mBAAmB;IACD;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,IAAI,CACR,SAAwC,EAAE;QAE1C,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAiC;YACxD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,uBAAuB;YAC7B,KAAK,EAAE;gBACL,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC;gBAC1B,IAAI,EAAE,MAAM,CAAC,IAAI;gBACjB,SAAS,EAAE,MAAM,CAAC,SAAS;gBAC3B,MAAM,EAAE,MAAM,CAAC,MAAM;aACtB;SACF,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAnBD,kDAmBC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import type { TupayClient } from '../client.js';
|
|
2
|
+
import type { Balance } from '../types.js';
|
|
3
|
+
/**
|
|
4
|
+
* Votre solde : ce que vous avez, et ce qui arrive.
|
|
5
|
+
*
|
|
6
|
+
* ```ts
|
|
7
|
+
* const solde = await tupay.balance.retrieve()
|
|
8
|
+
* solde.available.amountXpf // encaissable, commission déduite
|
|
9
|
+
* solde.pending.amountXpf // pas encore
|
|
10
|
+
* solde.nextAvailableAt // quand la plus proche bascule
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* Le solde n'a ni identifiant ni date de création : c'est un état
|
|
14
|
+
* instantané, pas un objet stocké. Ce sont les écritures qui en ont.
|
|
15
|
+
*/
|
|
16
|
+
export declare class BalanceResource {
|
|
17
|
+
private readonly client;
|
|
18
|
+
constructor(client: TupayClient);
|
|
19
|
+
retrieve(): Promise<Balance>;
|
|
20
|
+
}
|
|
21
|
+
//# sourceMappingURL=balance.d.ts.map
|