@vonpay/checkout-cli 0.10.0 → 0.11.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.
|
@@ -1,3 +1,16 @@
|
|
|
1
1
|
import { Command } from "commander";
|
|
2
|
+
import { makeCheckoutClient } from "../client-factory.js";
|
|
3
|
+
type SessionRead = Awaited<ReturnType<ReturnType<typeof makeCheckoutClient>["sessions"]["get"]>>;
|
|
4
|
+
/**
|
|
5
|
+
* The human-readable `sessions get` output. A hand-written field list, so it
|
|
6
|
+
* is exported for a test that pins the money fields: before this, the printer
|
|
7
|
+
* showed neither whether the money moved nor the payment intent a held
|
|
8
|
+
* payment is captured with, and a merchant reading it could not see a hold.
|
|
9
|
+
*/
|
|
10
|
+
declare function sessionLines(session: SessionRead): string[];
|
|
11
|
+
export declare const __testing__: {
|
|
12
|
+
sessionLines: typeof sessionLines;
|
|
13
|
+
};
|
|
2
14
|
export declare function sessionsCommand(): Command;
|
|
15
|
+
export {};
|
|
3
16
|
//# sourceMappingURL=sessions.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.d.ts","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAIpC,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAK1D,KAAK,WAAW,GAAG,OAAO,CAAC,UAAU,CAAC,UAAU,CAAC,OAAO,kBAAkB,CAAC,CAAC,UAAU,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,CAAC;AAEjG;;;;;GAKG;AACH,iBAAS,YAAY,CAAC,OAAO,EAAE,WAAW,GAAG,MAAM,EAAE,CAuDpD;AAED,eAAO,MAAM,WAAW;;CAAmB,CAAC;AAE5C,wBAAgB,eAAe,IAAI,OAAO,CAkGzC"}
|
|
@@ -5,6 +5,59 @@ import { formatMinorUnits } from "@vonpay/checkout-node";
|
|
|
5
5
|
import { makeCheckoutClient } from "../client-factory.js";
|
|
6
6
|
import { handleError } from "../utils/errors.js";
|
|
7
7
|
const makeClient = makeCheckoutClient;
|
|
8
|
+
/**
|
|
9
|
+
* The human-readable `sessions get` output. A hand-written field list, so it
|
|
10
|
+
* is exported for a test that pins the money fields: before this, the printer
|
|
11
|
+
* showed neither whether the money moved nor the payment intent a held
|
|
12
|
+
* payment is captured with, and a merchant reading it could not see a hold.
|
|
13
|
+
*/
|
|
14
|
+
function sessionLines(session) {
|
|
15
|
+
const statusColor = session.status === "succeeded"
|
|
16
|
+
? chalk.green
|
|
17
|
+
: session.status === "failed"
|
|
18
|
+
? chalk.red
|
|
19
|
+
: session.status === "expired"
|
|
20
|
+
? chalk.gray
|
|
21
|
+
: chalk.yellow;
|
|
22
|
+
const lines = [
|
|
23
|
+
` ID: ${session.id}`,
|
|
24
|
+
` Status: ${statusColor(session.status)}`,
|
|
25
|
+
` Amount: ${formatMinorUnits(session.amount, session.currency)}`,
|
|
26
|
+
];
|
|
27
|
+
if (session.paymentStatus) {
|
|
28
|
+
const paymentColor = session.paymentStatus === "paid"
|
|
29
|
+
? chalk.green
|
|
30
|
+
: session.paymentStatus === "held"
|
|
31
|
+
? chalk.yellow
|
|
32
|
+
: chalk.gray;
|
|
33
|
+
lines.push(` Payment: ${paymentColor(session.paymentStatus)}`);
|
|
34
|
+
if (session.paymentStatus === "held") {
|
|
35
|
+
lines.push(chalk.yellow(" Held, not taken: capture it to take the money, or void it. Do not ship on a hold alone."));
|
|
36
|
+
}
|
|
37
|
+
}
|
|
38
|
+
if (session.paymentIntentId) {
|
|
39
|
+
lines.push(` Intent: ${session.paymentIntentId}`);
|
|
40
|
+
}
|
|
41
|
+
if (session.transactionId) {
|
|
42
|
+
lines.push(` Transaction: ${session.transactionId}`);
|
|
43
|
+
}
|
|
44
|
+
// The refund id (`refunds create --transaction`). Shown only when it is a
|
|
45
|
+
// string; vp_tx_count 2+ means the buyer was charged more than once and no
|
|
46
|
+
// single id is a safe refund target.
|
|
47
|
+
if (typeof session.vp_tx_id === "string") {
|
|
48
|
+
lines.push(` Refund id: ${session.vp_tx_id}`);
|
|
49
|
+
}
|
|
50
|
+
if (typeof session.vp_tx_count === "number") {
|
|
51
|
+
lines.push(` Payments: ${session.vp_tx_count}`);
|
|
52
|
+
if (session.vp_tx_count >= 2) {
|
|
53
|
+
lines.push(chalk.red(` ⚠ Charged ${session.vp_tx_count} times: there is no single refund id. Have a person check the payments before refunding or fulfilling.`));
|
|
54
|
+
}
|
|
55
|
+
}
|
|
56
|
+
lines.push(` Created: ${session.createdAt}`);
|
|
57
|
+
lines.push(` Expires: ${session.expiresAt}`);
|
|
58
|
+
return lines;
|
|
59
|
+
}
|
|
60
|
+
export const __testing__ = { sessionLines };
|
|
8
61
|
export function sessionsCommand() {
|
|
9
62
|
const sessions = new Command("sessions").description("Create and manage checkout sessions");
|
|
10
63
|
sessions
|
|
@@ -85,21 +138,8 @@ export function sessionsCommand() {
|
|
|
85
138
|
console.log(JSON.stringify(session, null, 2));
|
|
86
139
|
}
|
|
87
140
|
else {
|
|
88
|
-
const
|
|
89
|
-
|
|
90
|
-
: session.status === "failed"
|
|
91
|
-
? chalk.red
|
|
92
|
-
: session.status === "expired"
|
|
93
|
-
? chalk.gray
|
|
94
|
-
: chalk.yellow;
|
|
95
|
-
console.log(` ID: ${session.id}`);
|
|
96
|
-
console.log(` Status: ${statusColor(session.status)}`);
|
|
97
|
-
console.log(` Amount: ${formatMinorUnits(session.amount, session.currency)}`);
|
|
98
|
-
if (session.transactionId) {
|
|
99
|
-
console.log(` Transaction: ${session.transactionId}`);
|
|
100
|
-
}
|
|
101
|
-
console.log(` Created: ${session.createdAt}`);
|
|
102
|
-
console.log(` Expires: ${session.expiresAt}`);
|
|
141
|
+
for (const line of sessionLines(session))
|
|
142
|
+
console.log(line);
|
|
103
143
|
}
|
|
104
144
|
}
|
|
105
145
|
catch (err) {
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AACpC,OAAO,KAAK,MAAM,OAAO,CAAC;AAC1B,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,gBAAgB,EAAE,MAAM,uBAAuB,CAAC;AACzD,OAAO,EAAE,kBAAkB,EAAE,MAAM,sBAAsB,CAAC;AAC1D,OAAO,EAAE,WAAW,EAAE,MAAM,oBAAoB,CAAC;AAEjD,MAAM,UAAU,GAAG,kBAAkB,CAAC;
|
|
1
|
+
{"version":3,"file":"sessions.js","sourceRoot":"","sources":["../../src/commands/sessions.ts"],"names":[],"mappings":"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"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@vonpay/checkout-cli",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.11.0",
|
|
4
4
|
"description": "Von Payments CLI — developer tools for checkout integration",
|
|
5
5
|
"license": "MIT",
|
|
6
6
|
"type": "module",
|
|
@@ -15,7 +15,7 @@
|
|
|
15
15
|
"node": ">=20"
|
|
16
16
|
},
|
|
17
17
|
"dependencies": {
|
|
18
|
-
"@vonpay/checkout-node": "^3.
|
|
18
|
+
"@vonpay/checkout-node": "^3.4.0",
|
|
19
19
|
"commander": "^13.0.0",
|
|
20
20
|
"chalk": "^5.4.0",
|
|
21
21
|
"ora": "^8.2.0"
|