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
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.d.ts","sourceRoot":"","sources":["../../../src/resources/balance.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,aAAa,CAAA;AAE1C;;;;;;;;;;;;GAYG;AACH,qBAAa,eAAe;IACd,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,QAAQ,IAAI,OAAO,CAAC,OAAO,CAAC;CAOnC"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.BalanceResource = void 0;
|
|
4
|
+
/**
|
|
5
|
+
* Votre solde : ce que vous avez, et ce qui arrive.
|
|
6
|
+
*
|
|
7
|
+
* ```ts
|
|
8
|
+
* const solde = await tupay.balance.retrieve()
|
|
9
|
+
* solde.available.amountXpf // encaissable, commission déduite
|
|
10
|
+
* solde.pending.amountXpf // pas encore
|
|
11
|
+
* solde.nextAvailableAt // quand la plus proche bascule
|
|
12
|
+
* ```
|
|
13
|
+
*
|
|
14
|
+
* Le solde n'a ni identifiant ni date de création : c'est un état
|
|
15
|
+
* instantané, pas un objet stocké. Ce sont les écritures qui en ont.
|
|
16
|
+
*/
|
|
17
|
+
class BalanceResource {
|
|
18
|
+
client;
|
|
19
|
+
constructor(client) {
|
|
20
|
+
this.client = client;
|
|
21
|
+
}
|
|
22
|
+
async retrieve() {
|
|
23
|
+
const { data } = await this.client.request({
|
|
24
|
+
method: 'GET',
|
|
25
|
+
path: '/balance',
|
|
26
|
+
});
|
|
27
|
+
return data;
|
|
28
|
+
}
|
|
29
|
+
}
|
|
30
|
+
exports.BalanceResource = BalanceResource;
|
|
31
|
+
//# sourceMappingURL=balance.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"balance.js","sourceRoot":"","sources":["../../../src/resources/balance.ts"],"names":[],"mappings":";;;AAGA;;;;;;;;;;;;GAYG;AACH,MAAa,eAAe;IACG;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,QAAQ;QACZ,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAoB;YAC5D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;SACjB,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAVD,0CAUC"}
|
|
@@ -0,0 +1,71 @@
|
|
|
1
|
+
import { type ListParams } from '../liste.js';
|
|
2
|
+
import { TupayClient } from '../client.js';
|
|
3
|
+
import type { Dispute, DisputeEvidence, DisputeStatus, ListResult } from '../types.js';
|
|
4
|
+
export interface ListDisputesParams extends ListParams {
|
|
5
|
+
status?: DisputeStatus;
|
|
6
|
+
}
|
|
7
|
+
export interface SubmitDisputeEvidenceParams {
|
|
8
|
+
/**
|
|
9
|
+
* Ce que vous affirmez, en texte libre (5 000 signes au plus).
|
|
10
|
+
* Décrivez la commande, la livraison, et vos échanges avec le client.
|
|
11
|
+
*/
|
|
12
|
+
explanation: string;
|
|
13
|
+
/** Omise, le SDK génère un UUID v4 — la requête devient rejouable. */
|
|
14
|
+
idempotencyKey?: string;
|
|
15
|
+
}
|
|
16
|
+
/**
|
|
17
|
+
* Les contestations ouvertes par vos clients auprès de leur banque.
|
|
18
|
+
*
|
|
19
|
+
* ```ts
|
|
20
|
+
* const { data } = await tupay.disputes.list({ status: 'needs_response' })
|
|
21
|
+
* data[0].evidenceDueBy // la date limite
|
|
22
|
+
* data[0].responseStillPossible // est-il encore temps ?
|
|
23
|
+
* ```
|
|
24
|
+
*
|
|
25
|
+
* ⚠️ **Un litige non traité est perdu par défaut.** Pas rejeté, pas mis
|
|
26
|
+
* en attente : perdu, avec l'argent qui part. Branchez
|
|
27
|
+
* `dispute.created` et `dispute.reminder`.
|
|
28
|
+
*
|
|
29
|
+
* Aucune méthode pour en créer : un litige vient du réseau. En mode
|
|
30
|
+
* test, `POST /test/simulate` avec `disputeReason` en ouvre un.
|
|
31
|
+
*
|
|
32
|
+
* Ce que vous POUVEZ écrire, en revanche, c'est votre réponse :
|
|
33
|
+
* `submitEvidence()`. C'est la seule chose d'un litige qui vous
|
|
34
|
+
* appartienne.
|
|
35
|
+
*/
|
|
36
|
+
export declare class Disputes {
|
|
37
|
+
private readonly client;
|
|
38
|
+
constructor(client: TupayClient);
|
|
39
|
+
retrieve(id: string): Promise<Dispute>;
|
|
40
|
+
list(params?: ListDisputesParams): Promise<ListResult<Dispute>>;
|
|
41
|
+
/**
|
|
42
|
+
* Répond à un litige, et le fait passer en examen.
|
|
43
|
+
*
|
|
44
|
+
* ```ts
|
|
45
|
+
* const preuve = await tupay.disputes.submitEvidence(dp.id, {
|
|
46
|
+
* explanation: 'Commande livrée le 12/09, signée par le client.',
|
|
47
|
+
* })
|
|
48
|
+
* preuve.dispute.status // 'under_review'
|
|
49
|
+
* ```
|
|
50
|
+
*
|
|
51
|
+
* ⚠️ **Avant `evidenceDueBy`, jamais après.** Passée la date limite,
|
|
52
|
+
* l'appel rend `409` et cite la date : le litige est perdu par défaut,
|
|
53
|
+
* et le réseau n'accepte plus rien.
|
|
54
|
+
*
|
|
55
|
+
* Vous pouvez soumettre plusieurs fois tant que l'échéance n'est pas
|
|
56
|
+
* passée : chaque appel AJOUTE au journal, il n'écrase pas le
|
|
57
|
+
* précédent.
|
|
58
|
+
*/
|
|
59
|
+
submitEvidence(id: string, params: SubmitDisputeEvidenceParams): Promise<DisputeEvidence & {
|
|
60
|
+
dispute: Dispute;
|
|
61
|
+
}>;
|
|
62
|
+
/**
|
|
63
|
+
* Ce que vous avez transmis sur ce litige, le plus récent d'abord.
|
|
64
|
+
*
|
|
65
|
+
* Rien ne s'y écrase : vous relisez exactement ce qui est parti, et
|
|
66
|
+
* quand. Un litige sans réponse rend une liste vide ; un litige qui
|
|
67
|
+
* n'existe pas lève une erreur `404`.
|
|
68
|
+
*/
|
|
69
|
+
listEvidence(id: string, params?: ListParams): Promise<ListResult<DisputeEvidence>>;
|
|
70
|
+
}
|
|
71
|
+
//# sourceMappingURL=disputes.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disputes.d.ts","sourceRoot":"","sources":["../../../src/resources/disputes.ts"],"names":[],"mappings":"AAAA,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EACV,OAAO,EACP,eAAe,EACf,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,MAAM,CAAC,EAAE,aAAa,CAAA;CACvB;AAED,MAAM,WAAW,2BAA2B;IAC1C;;;OAGG;IACH,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED;;;;;;;;;;;;;;;;;;;GAmBG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQtC,IAAI,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;IAUzE;;;;;;;;;;;;;;;;;OAiBG;IACG,cAAc,CAClB,EAAE,EAAE,MAAM,EACV,MAAM,EAAE,2BAA2B,GAClC,OAAO,CAAC,eAAe,GAAG;QAAE,OAAO,EAAE,OAAO,CAAA;KAAE,CAAC;IAalD;;;;;;OAMG;IACG,YAAY,CAChB,EAAE,EAAE,MAAM,EACV,MAAM,GAAE,UAAe,GACtB,OAAO,CAAC,UAAU,CAAC,eAAe,CAAC,CAAC;CASxC"}
|
|
@@ -0,0 +1,89 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Disputes = void 0;
|
|
4
|
+
const liste_js_1 = require("../liste.js");
|
|
5
|
+
const client_js_1 = require("../client.js");
|
|
6
|
+
/**
|
|
7
|
+
* Les contestations ouvertes par vos clients auprès de leur banque.
|
|
8
|
+
*
|
|
9
|
+
* ```ts
|
|
10
|
+
* const { data } = await tupay.disputes.list({ status: 'needs_response' })
|
|
11
|
+
* data[0].evidenceDueBy // la date limite
|
|
12
|
+
* data[0].responseStillPossible // est-il encore temps ?
|
|
13
|
+
* ```
|
|
14
|
+
*
|
|
15
|
+
* ⚠️ **Un litige non traité est perdu par défaut.** Pas rejeté, pas mis
|
|
16
|
+
* en attente : perdu, avec l'argent qui part. Branchez
|
|
17
|
+
* `dispute.created` et `dispute.reminder`.
|
|
18
|
+
*
|
|
19
|
+
* Aucune méthode pour en créer : un litige vient du réseau. En mode
|
|
20
|
+
* test, `POST /test/simulate` avec `disputeReason` en ouvre un.
|
|
21
|
+
*
|
|
22
|
+
* Ce que vous POUVEZ écrire, en revanche, c'est votre réponse :
|
|
23
|
+
* `submitEvidence()`. C'est la seule chose d'un litige qui vous
|
|
24
|
+
* appartienne.
|
|
25
|
+
*/
|
|
26
|
+
class Disputes {
|
|
27
|
+
client;
|
|
28
|
+
constructor(client) {
|
|
29
|
+
this.client = client;
|
|
30
|
+
}
|
|
31
|
+
async retrieve(id) {
|
|
32
|
+
const { data } = await this.client.request({
|
|
33
|
+
method: 'GET',
|
|
34
|
+
path: `/disputes/${encodeURIComponent(id)}`,
|
|
35
|
+
});
|
|
36
|
+
return data;
|
|
37
|
+
}
|
|
38
|
+
async list(params = {}) {
|
|
39
|
+
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
40
|
+
method: 'GET',
|
|
41
|
+
path: '/disputes',
|
|
42
|
+
query: { ...(0, liste_js_1.parametresListe)(params), status: params.status },
|
|
43
|
+
}));
|
|
44
|
+
}
|
|
45
|
+
/**
|
|
46
|
+
* Répond à un litige, et le fait passer en examen.
|
|
47
|
+
*
|
|
48
|
+
* ```ts
|
|
49
|
+
* const preuve = await tupay.disputes.submitEvidence(dp.id, {
|
|
50
|
+
* explanation: 'Commande livrée le 12/09, signée par le client.',
|
|
51
|
+
* })
|
|
52
|
+
* preuve.dispute.status // 'under_review'
|
|
53
|
+
* ```
|
|
54
|
+
*
|
|
55
|
+
* ⚠️ **Avant `evidenceDueBy`, jamais après.** Passée la date limite,
|
|
56
|
+
* l'appel rend `409` et cite la date : le litige est perdu par défaut,
|
|
57
|
+
* et le réseau n'accepte plus rien.
|
|
58
|
+
*
|
|
59
|
+
* Vous pouvez soumettre plusieurs fois tant que l'échéance n'est pas
|
|
60
|
+
* passée : chaque appel AJOUTE au journal, il n'écrase pas le
|
|
61
|
+
* précédent.
|
|
62
|
+
*/
|
|
63
|
+
async submitEvidence(id, params) {
|
|
64
|
+
const { idempotencyKey, ...body } = params;
|
|
65
|
+
const { data } = await this.client.request({
|
|
66
|
+
method: 'POST',
|
|
67
|
+
path: `/disputes/${encodeURIComponent(id)}/evidence`,
|
|
68
|
+
body,
|
|
69
|
+
idempotencyKey: idempotencyKey ?? client_js_1.TupayClient.idempotencyKey(),
|
|
70
|
+
});
|
|
71
|
+
return data;
|
|
72
|
+
}
|
|
73
|
+
/**
|
|
74
|
+
* Ce que vous avez transmis sur ce litige, le plus récent d'abord.
|
|
75
|
+
*
|
|
76
|
+
* Rien ne s'y écrase : vous relisez exactement ce qui est parti, et
|
|
77
|
+
* quand. Un litige sans réponse rend une liste vide ; un litige qui
|
|
78
|
+
* n'existe pas lève une erreur `404`.
|
|
79
|
+
*/
|
|
80
|
+
async listEvidence(id, params = {}) {
|
|
81
|
+
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
82
|
+
method: 'GET',
|
|
83
|
+
path: `/disputes/${encodeURIComponent(id)}/evidence`,
|
|
84
|
+
query: (0, liste_js_1.parametresListe)(params),
|
|
85
|
+
}));
|
|
86
|
+
}
|
|
87
|
+
}
|
|
88
|
+
exports.Disputes = Disputes;
|
|
89
|
+
//# sourceMappingURL=disputes.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"disputes.js","sourceRoot":"","sources":["../../../src/resources/disputes.ts"],"names":[],"mappings":";;;AAAA,0CAKoB;AACpB,4CAA0C;AAsB1C;;;;;;;;;;;;;;;;;;;GAmBG;AACH,MAAa,QAAQ;IACU;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,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,KAAK,CAAC,IAAI,CAAC,SAA6B,EAAE;QACxC,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB;YAC7C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE,EAAE,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SAC7D,CAAC,CACH,CAAA;IACH,CAAC;IAED;;;;;;;;;;;;;;;;;OAiBG;IACH,KAAK,CAAC,cAAc,CAClB,EAAU,EACV,MAAmC;QAEnC,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAEvC;YACD,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,WAAW;YACpD,IAAI;YACJ,cAAc,EAAE,cAAc,IAAI,uBAAW,CAAC,cAAc,EAAE;SAC/D,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,YAAY,CAChB,EAAU,EACV,SAAqB,EAAE;QAEvB,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAA8B;YACrD,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,WAAW;YACpD,KAAK,EAAE,IAAA,0BAAe,EAAC,MAAM,CAAC;SAC/B,CAAC,CACH,CAAA;IACH,CAAC;CACF;AA1ED,4BA0EC"}
|
|
@@ -36,6 +36,26 @@ export declare class Invoices {
|
|
|
36
36
|
* Une facture déjà réglée lève une `TupayConflictError`.
|
|
37
37
|
*/
|
|
38
38
|
pay(id: string): Promise<InvoicePaymentAttempt>;
|
|
39
|
+
/**
|
|
40
|
+
* La facture telle qu'on l'imprime : un document, pas du JSON.
|
|
41
|
+
*
|
|
42
|
+
* Le rendu est en français, montants en francs pacifiques entiers,
|
|
43
|
+
* avec la mention de la TGC appliquée. Il porte le `number` de la
|
|
44
|
+
* facture — celui qu'on cite à un comptable — et non son identifiant
|
|
45
|
+
* technique.
|
|
46
|
+
*
|
|
47
|
+
* ```ts
|
|
48
|
+
* const html = await tupay.invoices.document(facture.id)
|
|
49
|
+
* // → l'ouvrir dans un navigateur, puis « Imprimer → Enregistrer en PDF »
|
|
50
|
+
* ```
|
|
51
|
+
*
|
|
52
|
+
* Une facture de test se voit : son numéro commence par `TEST-`, et le
|
|
53
|
+
* document s'ouvre sur « document sans valeur comptable ».
|
|
54
|
+
*
|
|
55
|
+
* @param format `html` (défaut) pour le document imprimable, `text`
|
|
56
|
+
* pour la même facture en texte brut — une pièce jointe, un journal.
|
|
57
|
+
*/
|
|
58
|
+
document(id: string, format?: 'html' | 'text'): Promise<string>;
|
|
39
59
|
list(params?: ListInvoicesParams): Promise<ListResult<Invoice>>;
|
|
40
60
|
}
|
|
41
61
|
//# sourceMappingURL=invoices.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EACV,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C;;;;;;;;;;;;;;;OAeG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;
|
|
1
|
+
{"version":3,"file":"invoices.d.ts","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EACV,OAAO,EACP,qBAAqB,EACrB,aAAa,EACb,UAAU,EACX,MAAM,aAAa,CAAA;AACpB,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AAEpB,MAAM,WAAW,kBAAmB,SAAQ,UAAU;IACpD,MAAM,CAAC,EAAE,aAAa,CAAA;IACtB,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB,YAAY,CAAC,EAAE,MAAM,CAAA;CACtB;AAED;;;;;;;;GAQG;AACH,qBAAa,QAAQ;IACP,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC;IAQ5C;;;;;;;;;;;;;;;OAeG;IACG,GAAG,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,qBAAqB,CAAC;IASrD;;;;;;;;;;;;;;;;;;OAkBG;IACG,QAAQ,CAAC,EAAE,EAAE,MAAM,EAAE,MAAM,GAAE,MAAM,GAAG,MAAe,GAAG,OAAO,CAAC,MAAM,CAAC;IAUvE,IAAI,CAAC,MAAM,GAAE,kBAAuB,GAAG,OAAO,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC;CAc1E"}
|
|
@@ -47,6 +47,34 @@ class Invoices {
|
|
|
47
47
|
});
|
|
48
48
|
return data;
|
|
49
49
|
}
|
|
50
|
+
/**
|
|
51
|
+
* La facture telle qu'on l'imprime : un document, pas du JSON.
|
|
52
|
+
*
|
|
53
|
+
* Le rendu est en français, montants en francs pacifiques entiers,
|
|
54
|
+
* avec la mention de la TGC appliquée. Il porte le `number` de la
|
|
55
|
+
* facture — celui qu'on cite à un comptable — et non son identifiant
|
|
56
|
+
* technique.
|
|
57
|
+
*
|
|
58
|
+
* ```ts
|
|
59
|
+
* const html = await tupay.invoices.document(facture.id)
|
|
60
|
+
* // → l'ouvrir dans un navigateur, puis « Imprimer → Enregistrer en PDF »
|
|
61
|
+
* ```
|
|
62
|
+
*
|
|
63
|
+
* Une facture de test se voit : son numéro commence par `TEST-`, et le
|
|
64
|
+
* document s'ouvre sur « document sans valeur comptable ».
|
|
65
|
+
*
|
|
66
|
+
* @param format `html` (défaut) pour le document imprimable, `text`
|
|
67
|
+
* pour la même facture en texte brut — une pièce jointe, un journal.
|
|
68
|
+
*/
|
|
69
|
+
async document(id, format = 'html') {
|
|
70
|
+
return this.client.request({
|
|
71
|
+
method: 'GET',
|
|
72
|
+
path: `/invoices/${encodeURIComponent(id)}/document`,
|
|
73
|
+
query: { format },
|
|
74
|
+
raw: true,
|
|
75
|
+
accept: format === 'text' ? 'text/plain' : 'text/html',
|
|
76
|
+
});
|
|
77
|
+
}
|
|
50
78
|
async list(params = {}) {
|
|
51
79
|
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
52
80
|
method: 'GET',
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":";;;AAOA,0CAKoB;AAQpB;;;;;;;;GAQG;AACH,MAAa,QAAQ;IACU;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,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;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAkC;YAC1E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,MAAM;YAC/C,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAA6B,EAAE;QACxC,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB;YAC7C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACL,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;SACF,CAAC,CACH,CAAA;IACH,CAAC;CACF;
|
|
1
|
+
{"version":3,"file":"invoices.js","sourceRoot":"","sources":["../../../src/resources/invoices.ts"],"names":[],"mappings":";;;AAOA,0CAKoB;AAQpB;;;;;;;;GAQG;AACH,MAAa,QAAQ;IACU;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,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;;;;;;;;;;;;;;;OAeG;IACH,KAAK,CAAC,GAAG,CAAC,EAAU;QAClB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAkC;YAC1E,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,MAAM;YAC/C,IAAI,EAAE,EAAE;SACT,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,QAAQ,CAAC,EAAU,EAAE,SAA0B,MAAM;QACzD,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAS;YACjC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,aAAa,kBAAkB,CAAC,EAAE,CAAC,WAAW;YACpD,KAAK,EAAE,EAAE,MAAM,EAAE;YACjB,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,MAAM,KAAK,MAAM,CAAC,CAAC,CAAC,YAAY,CAAC,CAAC,CAAC,WAAW;SACvD,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAA6B,EAAE;QACxC,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAsB;YAC7C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,WAAW;YACjB,KAAK,EAAE;gBACL,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC;gBAC1B,MAAM,EAAE,MAAM,CAAC,MAAM;gBACrB,QAAQ,EAAE,MAAM,CAAC,QAAQ;gBACzB,YAAY,EAAE,MAAM,CAAC,YAAY;aAClC;SACF,CAAC,CACH,CAAA;IACH,CAAC;CACF;AA/ED,4BA+EC"}
|
|
@@ -40,6 +40,36 @@ export interface CreatePaymentIntentParams {
|
|
|
40
40
|
*/
|
|
41
41
|
offSession?: boolean;
|
|
42
42
|
metadata?: Record<string, string>;
|
|
43
|
+
/**
|
|
44
|
+
* **Encaisser pour un compte connecté** — `<uuid>` ou `acct_<uuid>`.
|
|
45
|
+
*
|
|
46
|
+
* Le paiement appartient alors au VENDEUR : son solde, ses écritures,
|
|
47
|
+
* ses virements, ses litiges. Vous n'êtes que celle qui a passé
|
|
48
|
+
* l'appel.
|
|
49
|
+
*
|
|
50
|
+
* ⚠️ En mode **live**, un compte dont la vérification d'activité n'est
|
|
51
|
+
* pas validée lève une erreur `account_not_ready`, dont `requirement`
|
|
52
|
+
* nomme ce qui manque. En mode test rien n'est bridé — branchez tout
|
|
53
|
+
* votre parcours avant d'avoir fait valider votre premier vendeur.
|
|
54
|
+
*/
|
|
55
|
+
onBehalfOf?: string;
|
|
56
|
+
/**
|
|
57
|
+
* **La commission que vous prélevez** sur ce paiement, en francs
|
|
58
|
+
* entiers. Exige `onBehalfOf`.
|
|
59
|
+
*
|
|
60
|
+
* Le net va au vendeur, la commission à vous, et deux écritures
|
|
61
|
+
* distinctes sont créées — une dans chaque journal de solde.
|
|
62
|
+
*
|
|
63
|
+
* ⚠️ Refusée si elle dépasse le montant, et refusée aussi si,
|
|
64
|
+
* **commission Tupay déduite**, elle laisserait votre vendeur en
|
|
65
|
+
* négatif. La seconde règle est plus stricte : notre commission se
|
|
66
|
+
* prélève aussi, et vous ne connaissez pas le barème de votre vendeur.
|
|
67
|
+
*
|
|
68
|
+
* ⚠️ **Elle n'est pas rendue sur un remboursement.** Même règle que
|
|
69
|
+
* la commission Tupay : elle paie un apport d'affaires, et l'affaire
|
|
70
|
+
* a eu lieu.
|
|
71
|
+
*/
|
|
72
|
+
applicationFeeXpf?: number;
|
|
43
73
|
/**
|
|
44
74
|
* Clé d'idempotence. Omise, le SDK en génère une (UUID v4) : la requête
|
|
45
75
|
* devient rejouable sans risque de double débit. Fournissez la vôtre si
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-intents.d.ts","sourceRoot":"","sources":["../../../src/resources/payment-intents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,WAAW,yBAAyB;IACxC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;CAUxE"}
|
|
1
|
+
{"version":3,"file":"payment-intents.d.ts","sourceRoot":"","sources":["../../../src/resources/payment-intents.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC1C,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,aAAa,CAAA;AAEhD,MAAM,WAAW,yBAAyB;IACxC,2CAA2C;IAC3C,SAAS,EAAE,MAAM,CAAA;IACjB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,QAAQ,CAAC,EAAE,MAAM,CAAA;IACjB;;;;;;;;;OASG;IACH,aAAa,CAAC,EAAE,MAAM,CAAA;IACtB;;;;;;OAMG;IACH,UAAU,CAAC,EAAE,OAAO,CAAA;IACpB,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IACjC;;;;;;;;;;;OAWG;IACH,UAAU,CAAC,EAAE,MAAM,CAAA;IACnB;;;;;;;;;;;;;;;OAeG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAA;IAC1B;;;;;OAKG;IACH,cAAc,CAAC,EAAE,MAAM,CAAA;CACxB;AAED,qBAAa,cAAc;IACb,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,MAAM,CAAC,MAAM,EAAE,yBAAyB,GAAG,OAAO,CAAC,aAAa,CAAC;CAUxE"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"payment-intents.js","sourceRoot":"","sources":["../../../src/resources/payment-intents.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;
|
|
1
|
+
{"version":3,"file":"payment-intents.js","sourceRoot":"","sources":["../../../src/resources/payment-intents.ts"],"names":[],"mappings":";;;AAAA,4CAA0C;AAkF1C,MAAa,cAAc;IACI;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,MAAM,CAAC,MAAiC;QAC5C,MAAM,EAAE,cAAc,EAAE,GAAG,IAAI,EAAE,GAAG,MAAM,CAAA;QAC1C,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAA0B;YAClE,MAAM,EAAE,MAAM;YACd,IAAI,EAAE,kBAAkB;YACxB,IAAI;YACJ,cAAc,EAAE,cAAc,IAAI,uBAAW,CAAC,cAAc,EAAE;SAC/D,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;CACF;AAbD,wCAaC"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
import type { TupayClient } from '../client.js';
|
|
2
|
+
import { type ListParams } from '../liste.js';
|
|
3
|
+
import type { ListResult, Payout, PayoutStatus } from '../types.js';
|
|
4
|
+
export interface ListPayoutsParams extends ListParams {
|
|
5
|
+
/** N'obtenir que les virements dans cet état. */
|
|
6
|
+
status?: PayoutStatus;
|
|
7
|
+
}
|
|
8
|
+
/**
|
|
9
|
+
* Vos virements vers votre compte bancaire.
|
|
10
|
+
*
|
|
11
|
+
* ```ts
|
|
12
|
+
* const { data } = await tupay.payouts.list({ status: 'failed' })
|
|
13
|
+
* data[0].failureMessage // la cause, en français
|
|
14
|
+
* ```
|
|
15
|
+
*
|
|
16
|
+
* ⚠️ **Aucun virement n'est émis aujourd'hui** : Tupay n'a pas encore
|
|
17
|
+
* de prestataire capable de transférer des fonds. La liste est vide, et
|
|
18
|
+
* c'est la vérité — pas une panne.
|
|
19
|
+
*
|
|
20
|
+
* Un virement **débite votre solde à l'émission**, pas à l'arrivée.
|
|
21
|
+
* S'il échoue, les fonds reviennent : une seconde écriture les rend,
|
|
22
|
+
* sans effacer la première.
|
|
23
|
+
*
|
|
24
|
+
* Aucune méthode pour en créer : un virement part du calendrier, pas
|
|
25
|
+
* d'un appel.
|
|
26
|
+
*/
|
|
27
|
+
export declare class Payouts {
|
|
28
|
+
private readonly client;
|
|
29
|
+
constructor(client: TupayClient);
|
|
30
|
+
retrieve(id: string): Promise<Payout>;
|
|
31
|
+
/**
|
|
32
|
+
* Le détail d'un virement, en **CSV** : le fichier que vous posez à
|
|
33
|
+
* côté de votre relevé bancaire.
|
|
34
|
+
*
|
|
35
|
+
* ```ts
|
|
36
|
+
* const csv = await tupay.payouts.export(virement.id)
|
|
37
|
+
* ```
|
|
38
|
+
*
|
|
39
|
+
* Une ligne par écriture, puis deux lignes de contrôle — le TOTAL des
|
|
40
|
+
* écritures et le montant VIRÉ. S'ils ne coïncident pas, le fichier
|
|
41
|
+
* est incomplet.
|
|
42
|
+
*
|
|
43
|
+
* BOM UTF-8 et séparateur `;` : Excel en français l'ouvre sans
|
|
44
|
+
* assistant d'importation. Montants en francs entiers, sans
|
|
45
|
+
* séparateur de milliers — c'est ce qu'un tableur sait additionner.
|
|
46
|
+
*
|
|
47
|
+
* Les mêmes lignes en JSON :
|
|
48
|
+
* `balanceTransactions.list({ payout: id })`.
|
|
49
|
+
*/
|
|
50
|
+
export(id: string): Promise<string>;
|
|
51
|
+
list(params?: ListPayoutsParams): Promise<ListResult<Payout>>;
|
|
52
|
+
}
|
|
53
|
+
//# sourceMappingURL=payouts.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payouts.d.ts","sourceRoot":"","sources":["../../../src/resources/payouts.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,WAAW,EAAE,MAAM,cAAc,CAAA;AAC/C,OAAO,EAIL,KAAK,UAAU,EAChB,MAAM,aAAa,CAAA;AACpB,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,aAAa,CAAA;AAEnE,MAAM,WAAW,iBAAkB,SAAQ,UAAU;IACnD,iDAAiD;IACjD,MAAM,CAAC,EAAE,YAAY,CAAA;CACtB;AAED;;;;;;;;;;;;;;;;;;GAkBG;AACH,qBAAa,OAAO;IACN,OAAO,CAAC,QAAQ,CAAC,MAAM;gBAAN,MAAM,EAAE,WAAW;IAE1C,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IAQ3C;;;;;;;;;;;;;;;;;;OAkBG;IACG,MAAM,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;IASnC,IAAI,CAAC,MAAM,GAAE,iBAAsB,GAAG,OAAO,CAAC,UAAU,CAAC,MAAM,CAAC,CAAC;CASxE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
"use strict";
|
|
2
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
+
exports.Payouts = void 0;
|
|
4
|
+
const liste_js_1 = require("../liste.js");
|
|
5
|
+
/**
|
|
6
|
+
* Vos virements vers votre compte bancaire.
|
|
7
|
+
*
|
|
8
|
+
* ```ts
|
|
9
|
+
* const { data } = await tupay.payouts.list({ status: 'failed' })
|
|
10
|
+
* data[0].failureMessage // la cause, en français
|
|
11
|
+
* ```
|
|
12
|
+
*
|
|
13
|
+
* ⚠️ **Aucun virement n'est émis aujourd'hui** : Tupay n'a pas encore
|
|
14
|
+
* de prestataire capable de transférer des fonds. La liste est vide, et
|
|
15
|
+
* c'est la vérité — pas une panne.
|
|
16
|
+
*
|
|
17
|
+
* Un virement **débite votre solde à l'émission**, pas à l'arrivée.
|
|
18
|
+
* S'il échoue, les fonds reviennent : une seconde écriture les rend,
|
|
19
|
+
* sans effacer la première.
|
|
20
|
+
*
|
|
21
|
+
* Aucune méthode pour en créer : un virement part du calendrier, pas
|
|
22
|
+
* d'un appel.
|
|
23
|
+
*/
|
|
24
|
+
class Payouts {
|
|
25
|
+
client;
|
|
26
|
+
constructor(client) {
|
|
27
|
+
this.client = client;
|
|
28
|
+
}
|
|
29
|
+
async retrieve(id) {
|
|
30
|
+
const { data } = await this.client.request({
|
|
31
|
+
method: 'GET',
|
|
32
|
+
path: `/payouts/${encodeURIComponent(id)}`,
|
|
33
|
+
});
|
|
34
|
+
return data;
|
|
35
|
+
}
|
|
36
|
+
/**
|
|
37
|
+
* Le détail d'un virement, en **CSV** : le fichier que vous posez à
|
|
38
|
+
* côté de votre relevé bancaire.
|
|
39
|
+
*
|
|
40
|
+
* ```ts
|
|
41
|
+
* const csv = await tupay.payouts.export(virement.id)
|
|
42
|
+
* ```
|
|
43
|
+
*
|
|
44
|
+
* Une ligne par écriture, puis deux lignes de contrôle — le TOTAL des
|
|
45
|
+
* écritures et le montant VIRÉ. S'ils ne coïncident pas, le fichier
|
|
46
|
+
* est incomplet.
|
|
47
|
+
*
|
|
48
|
+
* BOM UTF-8 et séparateur `;` : Excel en français l'ouvre sans
|
|
49
|
+
* assistant d'importation. Montants en francs entiers, sans
|
|
50
|
+
* séparateur de milliers — c'est ce qu'un tableur sait additionner.
|
|
51
|
+
*
|
|
52
|
+
* Les mêmes lignes en JSON :
|
|
53
|
+
* `balanceTransactions.list({ payout: id })`.
|
|
54
|
+
*/
|
|
55
|
+
async export(id) {
|
|
56
|
+
return this.client.request({
|
|
57
|
+
method: 'GET',
|
|
58
|
+
path: `/payouts/${encodeURIComponent(id)}/export`,
|
|
59
|
+
raw: true,
|
|
60
|
+
accept: 'text/csv',
|
|
61
|
+
});
|
|
62
|
+
}
|
|
63
|
+
async list(params = {}) {
|
|
64
|
+
return (0, liste_js_1.normaliserListe)(await this.client.request({
|
|
65
|
+
method: 'GET',
|
|
66
|
+
path: '/payouts',
|
|
67
|
+
query: { ...(0, liste_js_1.parametresListe)(params), status: params.status },
|
|
68
|
+
}));
|
|
69
|
+
}
|
|
70
|
+
}
|
|
71
|
+
exports.Payouts = Payouts;
|
|
72
|
+
//# sourceMappingURL=payouts.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"payouts.js","sourceRoot":"","sources":["../../../src/resources/payouts.ts"],"names":[],"mappings":";;;AACA,0CAKoB;AAQpB;;;;;;;;;;;;;;;;;;GAkBG;AACH,MAAa,OAAO;IACW;IAA7B,YAA6B,MAAmB;QAAnB,WAAM,GAAN,MAAM,CAAa;IAAG,CAAC;IAEpD,KAAK,CAAC,QAAQ,CAAC,EAAU;QACvB,MAAM,EAAE,IAAI,EAAE,GAAG,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAmB;YAC3D,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,EAAE;SAC3C,CAAC,CAAA;QACF,OAAO,IAAI,CAAA;IACb,CAAC;IAED;;;;;;;;;;;;;;;;;;OAkBG;IACH,KAAK,CAAC,MAAM,CAAC,EAAU;QACrB,OAAO,IAAI,CAAC,MAAM,CAAC,OAAO,CAAS;YACjC,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,YAAY,kBAAkB,CAAC,EAAE,CAAC,SAAS;YACjD,GAAG,EAAE,IAAI;YACT,MAAM,EAAE,UAAU;SACnB,CAAC,CAAA;IACJ,CAAC;IAED,KAAK,CAAC,IAAI,CAAC,SAA4B,EAAE;QACvC,OAAO,IAAA,0BAAe,EACpB,MAAM,IAAI,CAAC,MAAM,CAAC,OAAO,CAAqB;YAC5C,MAAM,EAAE,KAAK;YACb,IAAI,EAAE,UAAU;YAChB,KAAK,EAAE,EAAE,GAAG,IAAA,0BAAe,EAAC,MAAM,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,EAAE;SAC7D,CAAC,CACH,CAAA;IACH,CAAC;CACF;AAhDD,0BAgDC"}
|