@pagci/node 0.1.0 → 0.1.1
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 +224 -0
- package/dist/cjs/cli.d.ts +12 -0
- package/dist/cjs/cli.d.ts.map +1 -0
- package/dist/cjs/cli.js +131 -0
- package/dist/cjs/cli.js.map +1 -0
- package/dist/cjs/client.d.ts +45 -5
- package/dist/cjs/client.d.ts.map +1 -1
- package/dist/cjs/client.js +10 -2
- package/dist/cjs/client.js.map +1 -1
- package/dist/cjs/index.d.ts +3 -1
- package/dist/cjs/index.d.ts.map +1 -1
- package/dist/cjs/index.js +5 -1
- package/dist/cjs/index.js.map +1 -1
- package/dist/cjs/listen.d.ts +53 -0
- package/dist/cjs/listen.d.ts.map +1 -0
- package/dist/cjs/listen.js +372 -0
- package/dist/cjs/listen.js.map +1 -0
- package/dist/esm/cli.d.ts +12 -0
- package/dist/esm/cli.d.ts.map +1 -0
- package/dist/esm/cli.js +129 -0
- package/dist/esm/cli.js.map +1 -0
- package/dist/esm/client.d.ts +45 -5
- package/dist/esm/client.d.ts.map +1 -1
- package/dist/esm/client.js +10 -2
- package/dist/esm/client.js.map +1 -1
- package/dist/esm/index.d.ts +3 -1
- package/dist/esm/index.d.ts.map +1 -1
- package/dist/esm/index.js +2 -0
- package/dist/esm/index.js.map +1 -1
- package/dist/esm/listen.d.ts +53 -0
- package/dist/esm/listen.d.ts.map +1 -0
- package/dist/esm/listen.js +335 -0
- package/dist/esm/listen.js.map +1 -0
- package/package.json +18 -4
package/README.md
ADDED
|
@@ -0,0 +1,224 @@
|
|
|
1
|
+
<div align="center">
|
|
2
|
+
|
|
3
|
+
<br/>
|
|
4
|
+
|
|
5
|
+
<h1>@pagci/node</h1>
|
|
6
|
+
|
|
7
|
+
<p>SDK oficial para integração com a plataforma de pagamentos PIX PAGCI.</p>
|
|
8
|
+
|
|
9
|
+
<a href="https://docs.pagci.com">Documentação</a> · <a href="https://docs.pagci.com/webhooks">Webhooks</a> · <a href="https://docs.pagci.com/errors">Errors</a> · <a href="https://github.com/pagci/sdk-node/issues">Issues</a>
|
|
10
|
+
|
|
11
|
+
<br/>
|
|
12
|
+
<br/>
|
|
13
|
+
|
|
14
|
+
<a href="https://www.npmjs.com/package/@pagci/node"><img src="https://img.shields.io/npm/v/@pagci/node?style=flat-square&color=06B6D4" alt="npm" /></a> <a href="https://www.npmjs.com/package/@pagci/node"><img src="https://img.shields.io/npm/dm/@pagci/node?style=flat-square&color=06B6D4" alt="downloads" /></a> <a href="https://github.com/pagci/sdk-node/blob/main/LICENSE"><img src="https://img.shields.io/npm/l/@pagci/node?style=flat-square&color=06B6D4" alt="license" /></a> <img src="https://img.shields.io/badge/deps-0-06B6D4?style=flat-square" alt="zero deps" />
|
|
15
|
+
|
|
16
|
+
<br/>
|
|
17
|
+
<br/>
|
|
18
|
+
|
|
19
|
+
</div>
|
|
20
|
+
|
|
21
|
+
```bash
|
|
22
|
+
npm install @pagci/node
|
|
23
|
+
```
|
|
24
|
+
|
|
25
|
+
```typescript
|
|
26
|
+
import { Pagci } from '@pagci/node';
|
|
27
|
+
|
|
28
|
+
const pagci = new Pagci('sua_api_key');
|
|
29
|
+
|
|
30
|
+
const payment = await pagci.payments.create({
|
|
31
|
+
owner: { wallet_id: 'wallet_main' },
|
|
32
|
+
customer: { id: 'cust_1', document: '12345678900' },
|
|
33
|
+
items: [{ name: 'Assinatura mensal', id: 'sub_1', value: 4990 }],
|
|
34
|
+
recipients: [{ wallet_id: 'wallet_main', amount: 4990 }],
|
|
35
|
+
});
|
|
36
|
+
|
|
37
|
+
console.log(payment.liquidator.pix_qr); // PIX copia e cola
|
|
38
|
+
```
|
|
39
|
+
|
|
40
|
+
> Todos os valores são `number` em **centavos**. `4990` = R$ 49,90.
|
|
41
|
+
|
|
42
|
+
---
|
|
43
|
+
|
|
44
|
+
### Paginar resultados
|
|
45
|
+
|
|
46
|
+
```typescript
|
|
47
|
+
for await (const p of pagci.payments.list({ status: 'confirmed' })) {
|
|
48
|
+
console.log(p.id, p.pix_total);
|
|
49
|
+
}
|
|
50
|
+
|
|
51
|
+
// ou colete com limite
|
|
52
|
+
const batch = await pagci.payments.list().autoPagingToArray({ limit: 100 });
|
|
53
|
+
```
|
|
54
|
+
|
|
55
|
+
---
|
|
56
|
+
|
|
57
|
+
### Saques
|
|
58
|
+
|
|
59
|
+
```typescript
|
|
60
|
+
const w = await pagci.withdrawals.create({
|
|
61
|
+
wallet_id: 'wallet_main',
|
|
62
|
+
amount: 10000,
|
|
63
|
+
pix_key: 'email@example.com',
|
|
64
|
+
pix_key_type: 'email',
|
|
65
|
+
});
|
|
66
|
+
```
|
|
67
|
+
|
|
68
|
+
---
|
|
69
|
+
|
|
70
|
+
### Testar webhooks localmente
|
|
71
|
+
|
|
72
|
+
```bash
|
|
73
|
+
npx @pagci/node listen --port 3000
|
|
74
|
+
```
|
|
75
|
+
|
|
76
|
+
```
|
|
77
|
+
⚡ PAGCI Webhook Listener
|
|
78
|
+
────────────────────────────────────────────────────
|
|
79
|
+
Tunnel https://xyz.trycloudflare.com
|
|
80
|
+
Forward http://localhost:3000
|
|
81
|
+
Provider cloudflared
|
|
82
|
+
Status ● Ready
|
|
83
|
+
────────────────────────────────────────────────────
|
|
84
|
+
|
|
85
|
+
14:32:01 → payment.confirmed pay_01jx... 200 23ms
|
|
86
|
+
14:32:05 → withdrawal.settled wdrl_01jx... 200 12ms
|
|
87
|
+
```
|
|
88
|
+
|
|
89
|
+
O SDK detecta automaticamente qual tunnel usar. Instale um:
|
|
90
|
+
|
|
91
|
+
<details>
|
|
92
|
+
<summary>Opções de tunnel (por ordem de facilidade)</summary>
|
|
93
|
+
<br/>
|
|
94
|
+
|
|
95
|
+
**1. localtunnel** — mais fácil, só npm
|
|
96
|
+
|
|
97
|
+
```bash
|
|
98
|
+
npm install localtunnel
|
|
99
|
+
```
|
|
100
|
+
|
|
101
|
+
**2. cloudflared** — mais estável, sem conta
|
|
102
|
+
|
|
103
|
+
```bash
|
|
104
|
+
# macOS
|
|
105
|
+
brew install cloudflared
|
|
106
|
+
|
|
107
|
+
# Windows
|
|
108
|
+
choco install cloudflared
|
|
109
|
+
|
|
110
|
+
# Linux (Debian/Ubuntu)
|
|
111
|
+
sudo apt install cloudflared
|
|
112
|
+
```
|
|
113
|
+
|
|
114
|
+
**3. ngrok** — requer conta gratuita
|
|
115
|
+
|
|
116
|
+
```bash
|
|
117
|
+
# macOS
|
|
118
|
+
brew install ngrok
|
|
119
|
+
|
|
120
|
+
# Windows
|
|
121
|
+
choco install ngrok
|
|
122
|
+
|
|
123
|
+
# Linux
|
|
124
|
+
snap install ngrok
|
|
125
|
+
|
|
126
|
+
# Setup (uma vez)
|
|
127
|
+
ngrok config add-authtoken <seu_token> # pegar em dashboard.ngrok.com
|
|
128
|
+
```
|
|
129
|
+
|
|
130
|
+
</details>
|
|
131
|
+
|
|
132
|
+
Use a URL do tunnel como `overwrite_webhook_url` ao criar pagamentos:
|
|
133
|
+
|
|
134
|
+
```typescript
|
|
135
|
+
const session = await listen('sua_api_key', { port: 3000 });
|
|
136
|
+
|
|
137
|
+
await pagci.payments.create({
|
|
138
|
+
// ...
|
|
139
|
+
config: { overwrite_webhook_url: session.url },
|
|
140
|
+
});
|
|
141
|
+
```
|
|
142
|
+
|
|
143
|
+
---
|
|
144
|
+
|
|
145
|
+
### Verificar assinatura de webhooks
|
|
146
|
+
|
|
147
|
+
```typescript
|
|
148
|
+
app.post('/webhooks', express.raw({ type: 'application/json' }), (req, res) => {
|
|
149
|
+
const event = pagci.webhooks.constructEvent(
|
|
150
|
+
req.body.toString(),
|
|
151
|
+
req.headers['x-webhook-signature'],
|
|
152
|
+
'whsec_...',
|
|
153
|
+
);
|
|
154
|
+
|
|
155
|
+
if (event.payload.event === 'payment.confirmed') {
|
|
156
|
+
const payment = event.payload.data;
|
|
157
|
+
// payment é tipado como Payment
|
|
158
|
+
}
|
|
159
|
+
|
|
160
|
+
res.sendStatus(200);
|
|
161
|
+
});
|
|
162
|
+
```
|
|
163
|
+
|
|
164
|
+
<details>
|
|
165
|
+
<summary>Eventos disponíveis</summary>
|
|
166
|
+
<br/>
|
|
167
|
+
|
|
168
|
+
`payment.confirmed` · `payment.failed` · `payment.cancelled` · `payment.expired` · `withdrawal.settled` · `withdrawal.failed` · `refund.completed`
|
|
169
|
+
|
|
170
|
+
</details>
|
|
171
|
+
|
|
172
|
+
---
|
|
173
|
+
|
|
174
|
+
### Erros tipados
|
|
175
|
+
|
|
176
|
+
```typescript
|
|
177
|
+
import { ValidationError, InsufficientBalanceError } from '@pagci/node';
|
|
178
|
+
|
|
179
|
+
try {
|
|
180
|
+
await pagci.payments.create({ /* ... */ });
|
|
181
|
+
} catch (err) {
|
|
182
|
+
if (err instanceof ValidationError) {
|
|
183
|
+
console.log(err.code, err.field);
|
|
184
|
+
}
|
|
185
|
+
}
|
|
186
|
+
```
|
|
187
|
+
|
|
188
|
+
<details>
|
|
189
|
+
<summary>Hierarquia de erros</summary>
|
|
190
|
+
<br/>
|
|
191
|
+
|
|
192
|
+
`AuthenticationError` · `ForbiddenError` · `NotFoundError` · `ValidationError` · `ConflictError` · `InsufficientBalanceError` · `RateLimitError` · `ApiError` · `ConnectionError` · `TimeoutError` · `SignatureVerificationError`
|
|
193
|
+
|
|
194
|
+
Todos seguem [RFC 9457](https://www.rfc-editor.org/rfc/rfc9457.html) — `type`, `title`, `status`, `code`, `detail`, `field`.
|
|
195
|
+
|
|
196
|
+
</details>
|
|
197
|
+
|
|
198
|
+
---
|
|
199
|
+
|
|
200
|
+
### Configuração
|
|
201
|
+
|
|
202
|
+
```typescript
|
|
203
|
+
const pagci = new Pagci('sua_api_key', {
|
|
204
|
+
maxRetries: 2, // backoff exponencial + jitter
|
|
205
|
+
timeout: 30_000, // ms
|
|
206
|
+
});
|
|
207
|
+
```
|
|
208
|
+
|
|
209
|
+
Retry automático em erros de rede, 429 e 5xx. POST financeiro só faz retry com `Idempotency-Key` — gerada automaticamente em `payments.create()` e `withdrawals.create()`.
|
|
210
|
+
|
|
211
|
+
---
|
|
212
|
+
|
|
213
|
+
<div align="center">
|
|
214
|
+
|
|
215
|
+
Node.js 18+ · Zero dependências · 86 testes · TCP keep-alive
|
|
216
|
+
|
|
217
|
+
<br/>
|
|
218
|
+
|
|
219
|
+
<a href="https://docs.pagci.com">Documentação →</a>
|
|
220
|
+
|
|
221
|
+
<br/>
|
|
222
|
+
<br/>
|
|
223
|
+
|
|
224
|
+
</div>
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
/**
|
|
3
|
+
* PAGCI CLI — Local webhook testing.
|
|
4
|
+
*
|
|
5
|
+
* Usage:
|
|
6
|
+
* npx @pagci/node listen Listen for webhooks
|
|
7
|
+
* npx @pagci/node listen --test + create test payment + QR code
|
|
8
|
+
* npx @pagci/node listen --test --verbose + full headers & JSON
|
|
9
|
+
* npx @pagci/node listen --port 3000 --test --verbose Custom port
|
|
10
|
+
*/
|
|
11
|
+
export {};
|
|
12
|
+
//# sourceMappingURL=cli.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.d.ts","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":";AAEA;;;;;;;;GAQG"}
|
package/dist/cjs/cli.js
ADDED
|
@@ -0,0 +1,131 @@
|
|
|
1
|
+
#!/usr/bin/env node
|
|
2
|
+
"use strict";
|
|
3
|
+
/**
|
|
4
|
+
* PAGCI CLI — Local webhook testing.
|
|
5
|
+
*
|
|
6
|
+
* Usage:
|
|
7
|
+
* npx @pagci/node listen Listen for webhooks
|
|
8
|
+
* npx @pagci/node listen --test + create test payment + QR code
|
|
9
|
+
* npx @pagci/node listen --test --verbose + full headers & JSON
|
|
10
|
+
* npx @pagci/node listen --port 3000 --test --verbose Custom port
|
|
11
|
+
*/
|
|
12
|
+
Object.defineProperty(exports, "__esModule", { value: true });
|
|
13
|
+
const client_js_1 = require("./client.js");
|
|
14
|
+
const listen_js_1 = require("./listen.js");
|
|
15
|
+
const c = {
|
|
16
|
+
reset: '\x1b[0m',
|
|
17
|
+
bold: '\x1b[1m',
|
|
18
|
+
dim: '\x1b[2m',
|
|
19
|
+
cyan: '\x1b[36m',
|
|
20
|
+
green: '\x1b[32m',
|
|
21
|
+
red: '\x1b[31m',
|
|
22
|
+
gray: '\x1b[90m',
|
|
23
|
+
};
|
|
24
|
+
function printHelp() {
|
|
25
|
+
console.log();
|
|
26
|
+
console.log(` ${c.cyan}${c.bold}⚡ PAGCI CLI${c.reset}`);
|
|
27
|
+
console.log();
|
|
28
|
+
console.log(` ${c.bold}Usage${c.reset}`);
|
|
29
|
+
console.log(` ${c.dim}npx @pagci/node listen${c.reset} Listen for webhooks`);
|
|
30
|
+
console.log(` ${c.dim}npx @pagci/node listen --test${c.reset} + create payment + QR`);
|
|
31
|
+
console.log(` ${c.dim}npx @pagci/node listen --test --verbose${c.reset} + headers & JSON`);
|
|
32
|
+
console.log(` ${c.dim}npx @pagci/node listen --port 3000 --test${c.reset} Custom port`);
|
|
33
|
+
console.log();
|
|
34
|
+
console.log(` ${c.bold}Options${c.reset}`);
|
|
35
|
+
console.log(` --port <n> Port to listen on (default: 4400)`);
|
|
36
|
+
console.log(` --key <key> API key (or set PAGCI_API_KEY)`);
|
|
37
|
+
console.log(` --test Create a test payment and show PIX QR code`);
|
|
38
|
+
console.log(` --verbose Show full webhook headers and JSON body`);
|
|
39
|
+
console.log(` --wallet <id> Wallet ID for test payment (default: first available)`);
|
|
40
|
+
console.log();
|
|
41
|
+
}
|
|
42
|
+
const FLAGS_WITHOUT_VALUE = new Set(['verbose', 'test']);
|
|
43
|
+
function parseArgs(args) {
|
|
44
|
+
const result = {};
|
|
45
|
+
for (let i = 0; i < args.length; i++) {
|
|
46
|
+
const arg = args[i];
|
|
47
|
+
if (arg.startsWith('--')) {
|
|
48
|
+
const key = arg.slice(2);
|
|
49
|
+
if (FLAGS_WITHOUT_VALUE.has(key)) {
|
|
50
|
+
result[key] = 'true';
|
|
51
|
+
}
|
|
52
|
+
else if (i + 1 < args.length) {
|
|
53
|
+
result[key] = args[++i];
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
else {
|
|
57
|
+
result['_command'] = arg;
|
|
58
|
+
}
|
|
59
|
+
}
|
|
60
|
+
return result;
|
|
61
|
+
}
|
|
62
|
+
async function main() {
|
|
63
|
+
const args = parseArgs(process.argv.slice(2));
|
|
64
|
+
if (!args['_command'] || args['_command'] === 'help') {
|
|
65
|
+
printHelp();
|
|
66
|
+
return;
|
|
67
|
+
}
|
|
68
|
+
if (args['_command'] !== 'listen') {
|
|
69
|
+
console.log(` ${c.red}Unknown command: ${args['_command']}${c.reset}`);
|
|
70
|
+
printHelp();
|
|
71
|
+
process.exit(1);
|
|
72
|
+
}
|
|
73
|
+
const apiKey = args['key'] ?? process.env['PAGCI_API_KEY'] ?? '';
|
|
74
|
+
if (!apiKey) {
|
|
75
|
+
console.log();
|
|
76
|
+
console.log(` ${c.red}${c.bold}✗${c.reset} ${c.red}Missing API key.${c.reset}`);
|
|
77
|
+
console.log(` ${c.dim}Set PAGCI_API_KEY env or use --key <key>${c.reset}`);
|
|
78
|
+
console.log();
|
|
79
|
+
process.exit(1);
|
|
80
|
+
}
|
|
81
|
+
const port = args['port'] ? parseInt(args['port'], 10) : undefined;
|
|
82
|
+
const verbose = 'verbose' in args;
|
|
83
|
+
const testMode = 'test' in args;
|
|
84
|
+
// Start listener
|
|
85
|
+
const session = await (0, listen_js_1.listen)(apiKey, { port, verbose });
|
|
86
|
+
// If --test, create a payment and show QR
|
|
87
|
+
if (testMode) {
|
|
88
|
+
const pagci = new client_js_1.Pagci(apiKey);
|
|
89
|
+
const walletId = args['wallet'] ?? 'icaro';
|
|
90
|
+
console.log(` ${c.dim}Creating test payment (R$ 0,01)...${c.reset}`);
|
|
91
|
+
console.log();
|
|
92
|
+
try {
|
|
93
|
+
const payment = await pagci.payments.create({
|
|
94
|
+
owner: { wallet_id: walletId },
|
|
95
|
+
customer: { id: 'cli_test', document: '12345678900' },
|
|
96
|
+
items: [{ name: 'CLI Test', id: 'cli_1', value: 1 }],
|
|
97
|
+
recipients: [{ wallet_id: walletId, amount: 1 }],
|
|
98
|
+
config: { overwrite_webhook_url: session.url },
|
|
99
|
+
});
|
|
100
|
+
console.log(` ${c.green}${c.bold}✓${c.reset} Payment ${c.bold}${payment.id}${c.reset} R$ ${(payment.pix_total / 100).toFixed(2)}`);
|
|
101
|
+
console.log();
|
|
102
|
+
const pixQR = payment.liquidator?.pix_qr;
|
|
103
|
+
if (pixQR) {
|
|
104
|
+
await (0, listen_js_1.printQR)(pixQR);
|
|
105
|
+
console.log(` ${c.gray}PIX copia e cola:${c.reset}`);
|
|
106
|
+
console.log(` ${c.dim}${pixQR}${c.reset}`);
|
|
107
|
+
console.log();
|
|
108
|
+
}
|
|
109
|
+
console.log(` ${c.dim}Pay the PIX above. Webhook will appear here when confirmed.${c.reset}`);
|
|
110
|
+
console.log();
|
|
111
|
+
}
|
|
112
|
+
catch (err) {
|
|
113
|
+
const msg = err instanceof Error ? err.message : String(err);
|
|
114
|
+
console.log(` ${c.red}✗ Failed to create payment: ${msg}${c.reset}`);
|
|
115
|
+
console.log(` ${c.dim}Listener is still running — send webhooks to ${session.url}${c.reset}`);
|
|
116
|
+
console.log();
|
|
117
|
+
}
|
|
118
|
+
}
|
|
119
|
+
// Keep alive until Ctrl+C
|
|
120
|
+
const shutdown = async () => {
|
|
121
|
+
await session.close();
|
|
122
|
+
process.exit(0);
|
|
123
|
+
};
|
|
124
|
+
process.on('SIGINT', () => void shutdown());
|
|
125
|
+
process.on('SIGTERM', () => void shutdown());
|
|
126
|
+
}
|
|
127
|
+
main().catch((err) => {
|
|
128
|
+
console.error(` ${c.red}${err.message}${c.reset}`);
|
|
129
|
+
process.exit(1);
|
|
130
|
+
});
|
|
131
|
+
//# sourceMappingURL=cli.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"cli.js","sourceRoot":"","sources":["../../src/cli.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/client.d.ts
CHANGED
|
@@ -14,14 +14,53 @@ export interface PagciConfig {
|
|
|
14
14
|
/** Custom HTTP agent (e.g. for proxies or custom TLS). */
|
|
15
15
|
httpAgent?: unknown;
|
|
16
16
|
}
|
|
17
|
-
|
|
18
|
-
|
|
19
|
-
|
|
20
|
-
|
|
17
|
+
import type { Payment } from './types/payment.js';
|
|
18
|
+
import type { Withdrawal } from './types/withdrawal.js';
|
|
19
|
+
import type { Balance } from './types/balance.js';
|
|
20
|
+
interface WebhookEventBase {
|
|
21
|
+
/** HMAC signature that was verified. */
|
|
21
22
|
signature: string;
|
|
22
|
-
/**
|
|
23
|
+
/** Unix timestamp from the webhook header. */
|
|
23
24
|
timestamp: string;
|
|
25
|
+
/** Per-wallet balances at time of event. */
|
|
26
|
+
balances?: Record<string, Balance>;
|
|
27
|
+
/** Account-level total balance. */
|
|
28
|
+
account_balance?: Balance;
|
|
24
29
|
}
|
|
30
|
+
export interface PaymentConfirmedEvent extends WebhookEventBase {
|
|
31
|
+
type: 'payment.confirmed';
|
|
32
|
+
data: Payment;
|
|
33
|
+
}
|
|
34
|
+
export interface PaymentFailedEvent extends WebhookEventBase {
|
|
35
|
+
type: 'payment.failed';
|
|
36
|
+
data: Payment;
|
|
37
|
+
}
|
|
38
|
+
export interface PaymentCancelledEvent extends WebhookEventBase {
|
|
39
|
+
type: 'payment.cancelled';
|
|
40
|
+
data: Payment;
|
|
41
|
+
}
|
|
42
|
+
export interface PaymentExpiredEvent extends WebhookEventBase {
|
|
43
|
+
type: 'payment.expired';
|
|
44
|
+
data: Payment;
|
|
45
|
+
}
|
|
46
|
+
export interface PaymentDisputeEvent extends WebhookEventBase {
|
|
47
|
+
type: 'payment.dispute';
|
|
48
|
+
data: Payment;
|
|
49
|
+
}
|
|
50
|
+
export interface WithdrawalSettledEvent extends WebhookEventBase {
|
|
51
|
+
type: 'withdrawal.settled';
|
|
52
|
+
data: Withdrawal;
|
|
53
|
+
}
|
|
54
|
+
export interface WithdrawalFailedEvent extends WebhookEventBase {
|
|
55
|
+
type: 'withdrawal.failed';
|
|
56
|
+
data: Withdrawal;
|
|
57
|
+
}
|
|
58
|
+
export interface RefundCompletedEvent extends WebhookEventBase {
|
|
59
|
+
type: 'refund.completed';
|
|
60
|
+
data: unknown;
|
|
61
|
+
}
|
|
62
|
+
/** Discriminated union of all webhook events. Switch on `event.type` for type narrowing. */
|
|
63
|
+
export type WebhookEvent = PaymentConfirmedEvent | PaymentFailedEvent | PaymentCancelledEvent | PaymentExpiredEvent | PaymentDisputeEvent | WithdrawalSettledEvent | WithdrawalFailedEvent | RefundCompletedEvent;
|
|
25
64
|
/**
|
|
26
65
|
* Main entry point for the PAGCI Node.js SDK.
|
|
27
66
|
*
|
|
@@ -62,4 +101,5 @@ export declare class Pagci {
|
|
|
62
101
|
};
|
|
63
102
|
constructor(apiKey: string, config?: PagciConfig);
|
|
64
103
|
}
|
|
104
|
+
export {};
|
|
65
105
|
//# sourceMappingURL=client.d.ts.map
|
package/dist/cjs/client.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAIvD,MAAM,WAAW,WAAW;IAC1B,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,oEAAoE;IACpE,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,uDAAuD;IACvD,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,0DAA0D;IAC1D,SAAS,CAAC,EAAE,OAAO,CAAC;CACrB;AAID,MAAM,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/client.js
CHANGED
|
@@ -80,8 +80,12 @@ class Pagci {
|
|
|
80
80
|
if (!crypto.timingSafeEqual(sig, expectedSig)) {
|
|
81
81
|
throw new errors_js_1.SignatureVerificationError('Webhook signature verification failed');
|
|
82
82
|
}
|
|
83
|
+
const envelope = JSON.parse(rawBody);
|
|
83
84
|
return {
|
|
84
|
-
|
|
85
|
+
type: envelope.event,
|
|
86
|
+
data: envelope.data,
|
|
87
|
+
balances: envelope.balances,
|
|
88
|
+
account_balance: envelope.account_balance,
|
|
85
89
|
signature: sig,
|
|
86
90
|
timestamp,
|
|
87
91
|
};
|
|
@@ -140,8 +144,12 @@ function verifyAndParse(crypto, rawBody, signatureHeader, secret, tolerance) {
|
|
|
140
144
|
if (!crypto.timingSafeEqual(sig, expectedSig)) {
|
|
141
145
|
throw new errors_js_1.SignatureVerificationError('Webhook signature verification failed');
|
|
142
146
|
}
|
|
147
|
+
const envelope = JSON.parse(rawBody);
|
|
143
148
|
return {
|
|
144
|
-
|
|
149
|
+
type: envelope.event,
|
|
150
|
+
data: envelope.data,
|
|
151
|
+
balances: envelope.balances,
|
|
152
|
+
account_balance: envelope.account_balance,
|
|
145
153
|
signature: sig,
|
|
146
154
|
timestamp,
|
|
147
155
|
};
|
package/dist/cjs/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":";;;AACA,0EAAoE;AAEpE,+DAAyD;AACzD,yDAAmD;AACnD,yCAAkD;AAClD,2CAAyD;AAEzD,wEAAwE;AACxE,yDAA2D;AAC3D,+DAAiE;AACjE,mDAAqD;AACrD,uDAAyD;AACzD,yEAA2E;AAC3E,qDAAuD;
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/client.ts"],"names":[],"mappings":"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"}
|
package/dist/cjs/index.d.ts
CHANGED
|
@@ -1,5 +1,5 @@
|
|
|
1
1
|
export { Pagci } from './client.js';
|
|
2
|
-
export type { PagciConfig, WebhookEvent } from './client.js';
|
|
2
|
+
export type { PagciConfig, WebhookEvent, PaymentConfirmedEvent, PaymentFailedEvent, PaymentCancelledEvent, PaymentExpiredEvent, PaymentDisputeEvent, WithdrawalSettledEvent, WithdrawalFailedEvent, RefundCompletedEvent, } from './client.js';
|
|
3
3
|
export { PagciError, AuthenticationError, ForbiddenError, NotFoundError, ValidationError, ConflictError, InsufficientBalanceError, RateLimitError, ApiError, ConnectionError, TimeoutError, SignatureVerificationError, errorFromResponse, } from './errors.js';
|
|
4
4
|
export type { ApiResponse, RequestOptions, ResponseMeta } from './requestSender.js';
|
|
5
5
|
export type { RetryConfig } from './retry.js';
|
|
@@ -8,6 +8,8 @@ export { NodeCryptoProvider } from './crypto/NodeCryptoProvider.js';
|
|
|
8
8
|
export type { HttpClient, HttpClientResponse } from './net/HttpClient.js';
|
|
9
9
|
export { NodeHttpClient } from './net/NodeHttpClient.js';
|
|
10
10
|
export { generateIdempotencyKey } from './idempotency.js';
|
|
11
|
+
export { listen, printQR } from './listen.js';
|
|
12
|
+
export type { ListenOptions, ListenSession, IncomingWebhook } from './listen.js';
|
|
11
13
|
export { Page } from './pagination.js';
|
|
12
14
|
export { PaymentsResource } from './resources/payments.js';
|
|
13
15
|
export { WithdrawalsResource } from './resources/withdrawals.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":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,KAAK,EAAE,MAAM,aAAa,CAAC;AACpC,YAAY,EACV,WAAW,EACX,YAAY,EACZ,qBAAqB,EACrB,kBAAkB,EAClB,qBAAqB,EACrB,mBAAmB,EACnB,mBAAmB,EACnB,sBAAsB,EACtB,qBAAqB,EACrB,oBAAoB,GACrB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,UAAU,EACV,mBAAmB,EACnB,cAAc,EACd,aAAa,EACb,eAAe,EACf,aAAa,EACb,wBAAwB,EACxB,cAAc,EACd,QAAQ,EACR,eAAe,EACf,YAAY,EACZ,0BAA0B,EAC1B,iBAAiB,GAClB,MAAM,aAAa,CAAC;AAGrB,YAAY,EAAE,WAAW,EAAE,cAAc,EAAE,YAAY,EAAE,MAAM,oBAAoB,CAAC;AAGpF,YAAY,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC;AAG9C,YAAY,EAAE,cAAc,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,kBAAkB,EAAE,MAAM,gCAAgC,CAAC;AAGpE,YAAY,EAAE,UAAU,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC1E,OAAO,EAAE,cAAc,EAAE,MAAM,yBAAyB,CAAC;AAGzD,OAAO,EAAE,sBAAsB,EAAE,MAAM,kBAAkB,CAAC;AAG1D,OAAO,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,aAAa,CAAC;AAC9C,YAAY,EAAE,aAAa,EAAE,aAAa,EAAE,eAAe,EAAE,MAAM,aAAa,CAAC;AAGjF,OAAO,EAAE,IAAI,EAAE,MAAM,iBAAiB,CAAC;AAGvC,OAAO,EAAE,gBAAgB,EAAE,MAAM,yBAAyB,CAAC;AAC3D,OAAO,EAAE,mBAAmB,EAAE,MAAM,4BAA4B,CAAC;AACjE,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,eAAe,EAAE,MAAM,wBAAwB,CAAC;AACzD,OAAO,EAAE,wBAAwB,EAAE,MAAM,iCAAiC,CAAC;AAC3E,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AAGvD,YAAY,EACV,KAAK,EACL,YAAY,EACZ,QAAQ,EACR,IAAI,EACJ,QAAQ,EACR,YAAY,EACZ,cAAc,EACd,eAAe,EACf,KAAK,EACL,IAAI,EACJ,WAAW,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,aAAa,EACb,QAAQ,EACR,YAAY,EACZ,kBAAkB,EAClB,cAAc,EACd,aAAa,EACb,aAAa,EACb,cAAc,EACd,OAAO,EACP,cAAc,EACd,WAAW,EACX,eAAe,EACf,mBAAmB,EACnB,oBAAoB,EACpB,YAAY,EACZ,eAAe,EACf,cAAc,EACd,iBAAiB,EACjB,YAAY,EACZ,QAAQ,EACR,oBAAoB,EACpB,UAAU,EACV,wBAAwB,EACxB,sBAAsB,EACtB,oBAAoB,EACpB,OAAO,EACP,YAAY,EACZ,gBAAgB,EAChB,eAAe,EACf,eAAe,EACf,4BAA4B,EAC5B,oBAAoB,EACpB,sBAAsB,EACtB,eAAe,EACf,2BAA2B,EAC3B,iBAAiB,EACjB,mBAAmB,EACnB,yBAAyB,EACzB,gBAAgB,EAChB,kBAAkB,EAClB,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,uBAAuB,EACvB,yBAAyB,EACzB,kBAAkB,EAClB,oBAAoB,EACpB,uBAAuB,GACxB,MAAM,kBAAkB,CAAC;AAC1B,OAAO,EAAE,SAAS,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC"}
|
package/dist/cjs/index.js
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
"use strict";
|
|
2
2
|
Object.defineProperty(exports, "__esModule", { value: true });
|
|
3
|
-
exports.WebhookEventType = exports.ErrorCode = exports.TokensResource = exports.WebhookEndpointsResource = exports.BalanceResource = exports.DebtsResource = exports.WithdrawalsResource = exports.PaymentsResource = exports.Page = exports.generateIdempotencyKey = exports.NodeHttpClient = exports.NodeCryptoProvider = exports.errorFromResponse = exports.SignatureVerificationError = exports.TimeoutError = exports.ConnectionError = exports.ApiError = exports.RateLimitError = exports.InsufficientBalanceError = exports.ConflictError = exports.ValidationError = exports.NotFoundError = exports.ForbiddenError = exports.AuthenticationError = exports.PagciError = exports.Pagci = void 0;
|
|
3
|
+
exports.WebhookEventType = exports.ErrorCode = exports.TokensResource = exports.WebhookEndpointsResource = exports.BalanceResource = exports.DebtsResource = exports.WithdrawalsResource = exports.PaymentsResource = exports.Page = exports.printQR = exports.listen = exports.generateIdempotencyKey = exports.NodeHttpClient = exports.NodeCryptoProvider = exports.errorFromResponse = exports.SignatureVerificationError = exports.TimeoutError = exports.ConnectionError = exports.ApiError = exports.RateLimitError = exports.InsufficientBalanceError = exports.ConflictError = exports.ValidationError = exports.NotFoundError = exports.ForbiddenError = exports.AuthenticationError = exports.PagciError = exports.Pagci = void 0;
|
|
4
4
|
// ── Main client ──────────────────────────────────────────────────────
|
|
5
5
|
var client_js_1 = require("./client.js");
|
|
6
6
|
Object.defineProperty(exports, "Pagci", { enumerable: true, get: function () { return client_js_1.Pagci; } });
|
|
@@ -26,6 +26,10 @@ Object.defineProperty(exports, "NodeHttpClient", { enumerable: true, get: functi
|
|
|
26
26
|
// ── Utilities ────────────────────────────────────────────────────────
|
|
27
27
|
var idempotency_js_1 = require("./idempotency.js");
|
|
28
28
|
Object.defineProperty(exports, "generateIdempotencyKey", { enumerable: true, get: function () { return idempotency_js_1.generateIdempotencyKey; } });
|
|
29
|
+
// ── Webhook Listener (dev tool) ─────────────────────────────────────
|
|
30
|
+
var listen_js_1 = require("./listen.js");
|
|
31
|
+
Object.defineProperty(exports, "listen", { enumerable: true, get: function () { return listen_js_1.listen; } });
|
|
32
|
+
Object.defineProperty(exports, "printQR", { enumerable: true, get: function () { return listen_js_1.printQR; } });
|
|
29
33
|
// ── Pagination ──────────────────────────────────────────────────────
|
|
30
34
|
var pagination_js_1 = require("./pagination.js");
|
|
31
35
|
Object.defineProperty(exports, "Page", { enumerable: true, get: function () { return pagination_js_1.Page; } });
|
package/dist/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAwE;AACxE,yCAAoC;AAA3B,kGAAA,KAAK,OAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/index.ts"],"names":[],"mappings":";;;AAAA,wEAAwE;AACxE,yCAAoC;AAA3B,kGAAA,KAAK,OAAA;AAcd,wEAAwE;AACxE,yCAcqB;AAbnB,uGAAA,UAAU,OAAA;AACV,gHAAA,mBAAmB,OAAA;AACnB,2GAAA,cAAc,OAAA;AACd,0GAAA,aAAa,OAAA;AACb,4GAAA,eAAe,OAAA;AACf,0GAAA,aAAa,OAAA;AACb,qHAAA,wBAAwB,OAAA;AACxB,2GAAA,cAAc,OAAA;AACd,qGAAA,QAAQ,OAAA;AACR,4GAAA,eAAe,OAAA;AACf,yGAAA,YAAY,OAAA;AACZ,uHAAA,0BAA0B,OAAA;AAC1B,8GAAA,iBAAiB,OAAA;AAWnB,wEAAoE;AAA3D,2HAAA,kBAAkB,OAAA;AAI3B,6DAAyD;AAAhD,mHAAA,cAAc,OAAA;AAEvB,wEAAwE;AACxE,mDAA0D;AAAjD,wHAAA,sBAAsB,OAAA;AAE/B,uEAAuE;AACvE,yCAA8C;AAArC,mGAAA,MAAM,OAAA;AAAE,oGAAA,OAAO,OAAA;AAGxB,uEAAuE;AACvE,iDAAuC;AAA9B,qGAAA,IAAI,OAAA;AAEb,uEAAuE;AACvE,uDAA2D;AAAlD,+GAAA,gBAAgB,OAAA;AACzB,6DAAiE;AAAxD,qHAAA,mBAAmB,OAAA;AAC5B,iDAAqD;AAA5C,yGAAA,aAAa,OAAA;AACtB,qDAAyD;AAAhD,6GAAA,eAAe,OAAA;AACxB,uEAA2E;AAAlE,+HAAA,wBAAwB,OAAA;AACjC,mDAAuD;AAA9C,2GAAA,cAAc,OAAA;AAmEvB,6CAA+D;AAAtD,qGAAA,SAAS,OAAA;AAAE,4GAAA,gBAAgB,OAAA"}
|
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
/**
|
|
2
|
+
* `pagci.listen()` — Local webhook listener for development.
|
|
3
|
+
*
|
|
4
|
+
* Starts a local HTTP server, creates a public tunnel (localtunnel),
|
|
5
|
+
* and returns the tunnel URL. Use it as `overwrite_webhook_url` when
|
|
6
|
+
* creating payments — webhooks will arrive at your local server.
|
|
7
|
+
*
|
|
8
|
+
* Usage:
|
|
9
|
+
* const session = await listen('api_key', { port: 3000 });
|
|
10
|
+
* console.log(session.url); // https://xyz.loca.lt
|
|
11
|
+
*
|
|
12
|
+
* CLI:
|
|
13
|
+
* npx @pagci/node listen --port 3000
|
|
14
|
+
*
|
|
15
|
+
* Requires `localtunnel` as optional peer dependency:
|
|
16
|
+
* npm install localtunnel
|
|
17
|
+
*/
|
|
18
|
+
export interface ListenOptions {
|
|
19
|
+
/** Local port to receive webhooks. Default: 4400 */
|
|
20
|
+
port?: number;
|
|
21
|
+
/** Callback for each received event. */
|
|
22
|
+
onEvent?: (event: IncomingWebhook) => void;
|
|
23
|
+
/** Suppress log output. Default: false */
|
|
24
|
+
silent?: boolean;
|
|
25
|
+
/** Show full headers and JSON body for each event. Default: false */
|
|
26
|
+
verbose?: boolean;
|
|
27
|
+
}
|
|
28
|
+
export interface IncomingWebhook {
|
|
29
|
+
event: string;
|
|
30
|
+
resource_type: string;
|
|
31
|
+
data: unknown;
|
|
32
|
+
balances?: Record<string, unknown>;
|
|
33
|
+
account_balance?: unknown;
|
|
34
|
+
/** Raw JSON body */
|
|
35
|
+
raw: string;
|
|
36
|
+
/** Headers from the webhook request */
|
|
37
|
+
headers: Record<string, string | string[] | undefined>;
|
|
38
|
+
}
|
|
39
|
+
export interface ListenSession {
|
|
40
|
+
/** Public tunnel URL — use as overwrite_webhook_url in payments.create() */
|
|
41
|
+
url: string;
|
|
42
|
+
/** Local port the server is running on */
|
|
43
|
+
port: number;
|
|
44
|
+
/** Stop the listener and close the tunnel */
|
|
45
|
+
close: () => Promise<void>;
|
|
46
|
+
}
|
|
47
|
+
/**
|
|
48
|
+
* Print a QR code in the terminal (requires optional qrcode-terminal package).
|
|
49
|
+
* Falls back to a hint message if not installed.
|
|
50
|
+
*/
|
|
51
|
+
export declare function printQR(text: string): Promise<void>;
|
|
52
|
+
export declare function listen(_apiKey: string, options?: ListenOptions): Promise<ListenSession>;
|
|
53
|
+
//# sourceMappingURL=listen.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"listen.d.ts","sourceRoot":"","sources":["../../src/listen.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;;;;GAgBG;AAoBH,MAAM,WAAW,aAAa;IAC5B,oDAAoD;IACpD,IAAI,CAAC,EAAE,MAAM,CAAC;IACd,wCAAwC;IACxC,OAAO,CAAC,EAAE,CAAC,KAAK,EAAE,eAAe,KAAK,IAAI,CAAC;IAC3C,0CAA0C;IAC1C,MAAM,CAAC,EAAE,OAAO,CAAC;IACjB,qEAAqE;IACrE,OAAO,CAAC,EAAE,OAAO,CAAC;CACnB;AAED,MAAM,WAAW,eAAe;IAC9B,KAAK,EAAE,MAAM,CAAC;IACd,aAAa,EAAE,MAAM,CAAC;IACtB,IAAI,EAAE,OAAO,CAAC;IACd,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IACnC,eAAe,CAAC,EAAE,OAAO,CAAC;IAC1B,oBAAoB;IACpB,GAAG,EAAE,MAAM,CAAC;IACZ,uCAAuC;IACvC,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,GAAG,MAAM,EAAE,GAAG,SAAS,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,aAAa;IAC5B,4EAA4E;IAC5E,GAAG,EAAE,MAAM,CAAC;IACZ,0CAA0C;IAC1C,IAAI,EAAE,MAAM,CAAC;IACb,6CAA6C;IAC7C,KAAK,EAAE,MAAM,OAAO,CAAC,IAAI,CAAC,CAAC;CAC5B;AAyED;;;GAGG;AACH,wBAAsB,OAAO,CAAC,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC,CAezD;AA8LD,wBAAsB,MAAM,CAC1B,OAAO,EAAE,MAAM,EACf,OAAO,GAAE,aAAkB,GAC1B,OAAO,CAAC,aAAa,CAAC,CAoDxB"}
|