From dc217c9732763b56813202cd3211e97f766910bf Mon Sep 17 00:00:00 2001 From: Kyle Reese Date: Mon, 31 Aug 2026 15:11:00 -0400 Subject: [PATCH 1/4] Use pm.name from API in rendering payment methods list as PM label --- packages/cli/src/commands/payment-methods/list.tsx | 2 +- packages/sdk/src/resources/payment-methods.ts | 2 ++ plugins/cursor-link/.cursor-plugin/plugin.json | 10 ++++++++-- plugins/link/.claude-plugin/plugin.json | 2 +- plugins/link/.codex-plugin/plugin.json | 2 +- skills/create-payment-credential/SKILL.md | 2 +- skills/financial-insights/SKILL.md | 2 +- 7 files changed, 15 insertions(+), 7 deletions(-) diff --git a/packages/cli/src/commands/payment-methods/list.tsx b/packages/cli/src/commands/payment-methods/list.tsx index fabd470e..12db5d2e 100644 --- a/packages/cli/src/commands/payment-methods/list.tsx +++ b/packages/cli/src/commands/payment-methods/list.tsx @@ -49,7 +49,7 @@ export const PaymentMethodsList: React.FC = ({ Payment Methods {methods.map((pm) => { - const label = + const label = pm.name ?? pm.card_details?.brand ?? pm.bank_account_details?.bank_name ?? 'Bank account'; diff --git a/packages/sdk/src/resources/payment-methods.ts b/packages/sdk/src/resources/payment-methods.ts index 946c5348..ebe67510 100644 --- a/packages/sdk/src/resources/payment-methods.ts +++ b/packages/sdk/src/resources/payment-methods.ts @@ -8,6 +8,8 @@ const paymentMethodSchema = z.looseObject({ id: z.string(), type: z.string(), is_default: z.boolean(), + name: z.string(), + nickname: z.optional(z.string().nullable()), }); const paymentMethodsResponseSchema = z.looseObject({ payment_details: z.array(paymentMethodSchema), diff --git a/plugins/cursor-link/.cursor-plugin/plugin.json b/plugins/cursor-link/.cursor-plugin/plugin.json index 2f4ac656..9a008ae6 100644 --- a/plugins/cursor-link/.cursor-plugin/plugin.json +++ b/plugins/cursor-link/.cursor-plugin/plugin.json @@ -1,7 +1,7 @@ { "name": "link", "displayName": "Link", - "version": "0.15.0", + "version": "0.15.1", "description": "Complete purchases with one-time-use payment credentials from a Link wallet, using spend requests the user has approved.", "author": { "name": "Stripe" @@ -10,7 +10,13 @@ "repository": "https://github.com/stripe/link-cli", "license": "MIT", "logo": "./assets/link.svg", - "keywords": ["payment", "link", "stripe", "agentic-commerce", "mcp"], + "keywords": [ + "payment", + "link", + "stripe", + "agentic-commerce", + "mcp" + ], "skills": "./skills/", "mcpServers": "./.mcp.json" } diff --git a/plugins/link/.claude-plugin/plugin.json b/plugins/link/.claude-plugin/plugin.json index 6fe72c5a..d2c3f3f3 100644 --- a/plugins/link/.claude-plugin/plugin.json +++ b/plugins/link/.claude-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "link", - "version": "0.15.0", + "version": "0.15.1", "description": "Authenticate with Link, create spend requests, and retrieve one-time-use card or shared payment token credentials for user-approved purchases.", "author": { "name": "Stripe" diff --git a/plugins/link/.codex-plugin/plugin.json b/plugins/link/.codex-plugin/plugin.json index ff564807..2b249616 100644 --- a/plugins/link/.codex-plugin/plugin.json +++ b/plugins/link/.codex-plugin/plugin.json @@ -1,6 +1,6 @@ { "name": "link", - "version": "0.15.0", + "version": "0.15.1", "description": "Secure, one-time-use payment credentials from Link", "author": { "name": "Stripe", diff --git a/skills/create-payment-credential/SKILL.md b/skills/create-payment-credential/SKILL.md index b120c0ab..7406ba80 100644 --- a/skills/create-payment-credential/SKILL.md +++ b/skills/create-payment-credential/SKILL.md @@ -1,5 +1,5 @@ --- -version: 0.15.0 +version: 0.15.1 name: create-payment-credential description: | Gets secure, one-time-use payment credentials (cards, tokens) from a Link wallet so agents can complete purchases on behalf of users. Use when the user says "get me a card", "buy something", "pay for X", "make a purchase", "I need to pay", "complete checkout", or asks to transact on any merchant site. Use when the user asks to connect or log in to or sign up for their Link account. diff --git a/skills/financial-insights/SKILL.md b/skills/financial-insights/SKILL.md index 9b37440d..d92dca64 100644 --- a/skills/financial-insights/SKILL.md +++ b/skills/financial-insights/SKILL.md @@ -1,5 +1,5 @@ --- -version: 0.15.0 +version: 0.15.1 name: financial-insights description: | Reads a user's Link financial data — transactions, balances, and wallet sources — so agents can answer questions about spending and available source capabilities. Use when the user says "check my balance", "how much did I spend", "show my transactions", "what accounts are connected", "summarize my spending", "recent purchases", or asks about their financial activity, account balances, or linked sources. From a1c10325296e30f948c904d12f2b4f54bf254eb2 Mon Sep 17 00:00:00 2001 From: Kyle Reese Date: Mon, 31 Aug 2026 15:17:40 -0400 Subject: [PATCH 2/4] Fix tests --- .../sdk/src/resources/__tests__/payment-methods.test.ts | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/packages/sdk/src/resources/__tests__/payment-methods.test.ts b/packages/sdk/src/resources/__tests__/payment-methods.test.ts index d362ebb4..efa764b9 100644 --- a/packages/sdk/src/resources/__tests__/payment-methods.test.ts +++ b/packages/sdk/src/resources/__tests__/payment-methods.test.ts @@ -38,6 +38,8 @@ describe('PaymentMethodsResource', () => { exp_month: 12, exp_year: 2028, }, + name: 'Visa Credit', + nickname: 'Home Credit', }, ], }); @@ -60,6 +62,8 @@ describe('PaymentMethodsResource', () => { exp_month: 12, exp_year: 2028, }, + name: 'Visa Credit', + nickname: 'Home Credit', }, ]); }); @@ -107,7 +111,7 @@ describe('PaymentMethodsResource', () => { logger: { debug }, }); mockFetchResponse(200, { - payment_details: [{ id: 'pm_secret', type: 'card', is_default: true }], + payment_details: [{ id: 'pm_secret', type: 'card', is_default: true, name: 'Visa Credit', nickname: 'Home Credit' }], }); await repo.list(); @@ -119,7 +123,7 @@ describe('PaymentMethodsResource', () => { it('rejects malformed successful responses', async () => { mockFetchResponse(200, { - payment_details: [{ id: 123, type: 'card', is_default: true }], + payment_details: [{ id: 123, type: 'card', is_default: true, name: 'Visa Credit', nickname: 'Home Credit' }], }); const error = await repo.list().catch((cause) => cause); From 02266e93306cef78de320bdd0f477ad69bee2ab6 Mon Sep 17 00:00:00 2001 From: Kyle Reese Date: Mon, 31 Aug 2026 15:17:56 -0400 Subject: [PATCH 3/4] fmt --- .../cli/src/commands/payment-methods/list.tsx | 3 ++- .../__tests__/payment-methods.test.ts | 20 +++++++++++++++++-- .../cursor-link/.cursor-plugin/plugin.json | 8 +------- 3 files changed, 21 insertions(+), 10 deletions(-) diff --git a/packages/cli/src/commands/payment-methods/list.tsx b/packages/cli/src/commands/payment-methods/list.tsx index 12db5d2e..6589fe55 100644 --- a/packages/cli/src/commands/payment-methods/list.tsx +++ b/packages/cli/src/commands/payment-methods/list.tsx @@ -49,7 +49,8 @@ export const PaymentMethodsList: React.FC = ({ Payment Methods {methods.map((pm) => { - const label = pm.name ?? + const label = + pm.name ?? pm.card_details?.brand ?? pm.bank_account_details?.bank_name ?? 'Bank account'; diff --git a/packages/sdk/src/resources/__tests__/payment-methods.test.ts b/packages/sdk/src/resources/__tests__/payment-methods.test.ts index efa764b9..0bc262eb 100644 --- a/packages/sdk/src/resources/__tests__/payment-methods.test.ts +++ b/packages/sdk/src/resources/__tests__/payment-methods.test.ts @@ -111,7 +111,15 @@ describe('PaymentMethodsResource', () => { logger: { debug }, }); mockFetchResponse(200, { - payment_details: [{ id: 'pm_secret', type: 'card', is_default: true, name: 'Visa Credit', nickname: 'Home Credit' }], + payment_details: [ + { + id: 'pm_secret', + type: 'card', + is_default: true, + name: 'Visa Credit', + nickname: 'Home Credit', + }, + ], }); await repo.list(); @@ -123,7 +131,15 @@ describe('PaymentMethodsResource', () => { it('rejects malformed successful responses', async () => { mockFetchResponse(200, { - payment_details: [{ id: 123, type: 'card', is_default: true, name: 'Visa Credit', nickname: 'Home Credit' }], + payment_details: [ + { + id: 123, + type: 'card', + is_default: true, + name: 'Visa Credit', + nickname: 'Home Credit', + }, + ], }); const error = await repo.list().catch((cause) => cause); diff --git a/plugins/cursor-link/.cursor-plugin/plugin.json b/plugins/cursor-link/.cursor-plugin/plugin.json index 9a008ae6..27ab9870 100644 --- a/plugins/cursor-link/.cursor-plugin/plugin.json +++ b/plugins/cursor-link/.cursor-plugin/plugin.json @@ -10,13 +10,7 @@ "repository": "https://github.com/stripe/link-cli", "license": "MIT", "logo": "./assets/link.svg", - "keywords": [ - "payment", - "link", - "stripe", - "agentic-commerce", - "mcp" - ], + "keywords": ["payment", "link", "stripe", "agentic-commerce", "mcp"], "skills": "./skills/", "mcpServers": "./.mcp.json" } From 7d0a21d8fb8aac607eb1d29ae6a041bdd2334783 Mon Sep 17 00:00:00 2001 From: Kyle Reese Date: Mon, 31 Aug 2026 15:22:39 -0400 Subject: [PATCH 4/4] Fix types --- packages/sdk/src/types/index.ts | 1 + 1 file changed, 1 insertion(+) diff --git a/packages/sdk/src/types/index.ts b/packages/sdk/src/types/index.ts index 1ff18f27..9ce4b23a 100644 --- a/packages/sdk/src/types/index.ts +++ b/packages/sdk/src/types/index.ts @@ -193,6 +193,7 @@ export interface PaymentMethod { id: string; type: string; is_default: boolean; + name: string; nickname?: string; card_details?: CardDetails; bank_account_details?: BankAccountDetails;