@birtalanrobert/commerce 3.1.0 → 4.0.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 +1 @@
1
- {"version":3,"file":"commerce.service.d.ts","sourceRoot":"","sources":["../../src/nestjs/commerce.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commerce.service.d.ts","sourceRoot":"","sources":["../../src/nestjs/commerce.service.ts"],"names":[],"mappings":"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"}
@@ -64,7 +64,10 @@ let CommerceService = class CommerceService {
64
64
  */
65
65
  async startOnboarding(tenantId, options) {
66
66
  const existing = await this.payoutAccount(tenantId);
67
- const account = await this.provider.account(existing?.externalId ?? null, options.country, options.email);
67
+ const account = await this.provider.account(existing?.externalId ?? null, options.country, options.email,
68
+ // Written into the provider's metadata at creation, so an account event
69
+ // months later can say whose it is.
70
+ tenantId);
68
71
  await this.saveAccount(tenantId, account);
69
72
  return this.provider.onboard(account.externalId, options.returnUrl, options.refreshUrl);
70
73
  }
@@ -99,6 +102,7 @@ let CommerceService = class CommerceService {
99
102
  throw new http_1.ValidationError([{ field: 'amount', message: 'There is nothing to charge.' }], 'There is nothing to charge.');
100
103
  }
101
104
  const result = await this.provider.charge({
105
+ tenantId,
102
106
  account: account.externalId,
103
107
  amount: input.amount,
104
108
  currency: input.currency,
@@ -151,6 +155,7 @@ let CommerceService = class CommerceService {
151
155
  async saveCard(tenantId, input) {
152
156
  const existing = await this.savedCards(tenantId, input.subject);
153
157
  const result = await this.provider.saveCard({
158
+ tenantId,
154
159
  subject: input.subject,
155
160
  reference: input.reference,
156
161
  // Reuse the customer this person already has, so a second card joins the
@@ -357,27 +362,39 @@ let CommerceService = class CommerceService {
357
362
  * books.
358
363
  */
359
364
  async settle(event) {
365
+ /*
366
+ * The tenant comes from the metadata we wrote on the way out, and there is
367
+ * no fallback.
368
+ *
369
+ * The obvious alternative — look the provider's identifier up in our own
370
+ * table — **cannot work here**, and fails in the worst way: every one of
371
+ * these tables is under `FORCE ROW LEVEL SECURITY`, so a query with no
372
+ * tenant bound returns *no rows at all* rather than an error. The webhook
373
+ * then verifies, reads, understands and changes nothing, and the only
374
+ * evidence is a payment stuck in whatever state it was in.
375
+ *
376
+ * An event with no tenant on it is about something this deployment did not
377
+ * create — another environment sharing the provider account — and ignoring
378
+ * it is the right answer rather than a limitation.
379
+ */
380
+ const tenantId = event.tenantId;
381
+ if (!tenantId)
382
+ return undefined;
360
383
  if (event.kind === 'account' && event.accountStatus) {
361
- const rows = await this.dataSource.query(`SELECT "tenant_id" FROM "mortar_payout_accounts" WHERE "external_id" = $1`, [event.externalId]);
362
- const tenantId = rows[0]?.tenant_id;
363
- if (!tenantId)
364
- return undefined;
365
384
  await this.saveAccount(tenantId, event.accountStatus);
366
385
  return (await this.payoutAccount(tenantId)) ?? undefined;
367
386
  }
368
387
  if (event.kind !== 'payment' || !event.state)
369
388
  return undefined;
370
- /*
371
- * Found by the provider's identifier, which is the only thing both sides
372
- * share and read without a tenant because a webhook does not carry one.
373
- * The row itself says whose it is.
374
- */
375
- const rows = await this.dataSource.query(`SELECT "id", "tenant_id" FROM "mortar_payments" WHERE "external_id" = $1`, [event.externalId]);
376
- const found = rows[0];
389
+ // Inside the tenant's own policy, which is the only way this table can be
390
+ // read at all.
391
+ const found = await (0, tenancy_1.runInTenantTransaction)(this.dataSource, (scoped) => scoped
392
+ .getRepository(payment_entity_1.Payment)
393
+ .findOne({ where: { tenantId, externalId: event.externalId } }), { tenantId });
377
394
  if (!found)
378
395
  return undefined;
379
396
  const state = event.state === 'refunded' ? 'refunded' : event.state;
380
- return this.update(found.tenant_id, found.id, {
397
+ return this.update(tenantId, found.id, {
381
398
  state,
382
399
  ...(state === 'captured' ? { takenAt: new Date() } : {}),
383
400
  ...(event.instrument ? { instrument: event.instrument } : {}),
@@ -1 +1 @@
1
- {"version":3,"file":"commerce.service.js","sourceRoot":"","sources":["../../src/nestjs/commerce.service.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"commerce.service.js","sourceRoot":"","sources":["../../src/nestjs/commerce.service.ts"],"names":[],"mappings":";;;;;;;;;;;;;;;AAAA,2CAAoD;AAEpD,uDAA4D;AAC5D,qDAAiE;AACjE,qDAAmD;AACnD,+CAAqF;AACrF,0CAA8D;AAE9D,mEAAwD;AACxD,0CAA6D;AAC7D,qDAA8E;AAC9E,2DAAgD;AAEhD,iFAAiF;AACpE,QAAA,iBAAiB,GAAG,MAAM,CAAC,mBAAmB,CAAC,CAAC;AA2D7D;;;;;;;;;;;;GAYG;AAEI,IAAM,eAAe,GAArB,MAAM,eAAe;IAEa;IACO;IAF9C,YACuC,UAAsB,EACf,QAAyB;QADhC,eAAU,GAAV,UAAU,CAAY;QACf,aAAQ,GAAR,QAAQ,CAAiB;IACpE,CAAC;IAEJ,4EAA4E;IAE5E,gFAAgF;IAChF,KAAK,CAAC,aAAa,CAAC,QAAgB;QAClC,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CACT,MAAM;aACH,aAAa,CAAC,qCAAa,CAAC;aAC5B,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI,EAAE,EAAE,CAAC,EACnE,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,YAAY,CAAC,QAAgB;QACjC,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,EAAE,MAAM,IAAI,MAAM,CAAC;IAChE,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,eAAe,CACnB,QAAgB,EAChB,OAAmF;QAEnF,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEpD,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CACzC,QAAQ,EAAE,UAAU,IAAI,IAAI,EAC5B,OAAO,CAAC,OAAO,EACf,OAAO,CAAC,KAAK;QACb,wEAAwE;QACxE,oCAAoC;QACpC,QAAQ,CACT,CAAC;QAEF,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE1C,OAAO,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,OAAO,CAAC,SAAS,EAAE,OAAO,CAAC,UAAU,CAAC,CAAC;IAC1F,CAAC;IAED,yEAAyE;IACzE,KAAK,CAAC,oBAAoB,CAAC,QAAgB;QACzC,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QACpD,IAAI,CAAC,QAAQ;YAAE,OAAO,MAAM,CAAC;QAE7B,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,QAAQ,CAAC,UAAU,EAAE,IAAI,CAAC,CAAC;QACvE,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,OAAO,CAAC,CAAC;QAE1C,OAAO,OAAO,CAAC,MAAM,CAAC;IACxB,CAAC;IAED,4EAA4E;IAE5E;;;;;;;OAOG;IACH,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,KAAkB;QAC7C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC;QAEnD,IAAI,CAAC,OAAO,IAAI,CAAC,IAAA,uBAAY,EAAC,OAAO,CAAC,MAAM,CAAC,EAAE,CAAC;YAC9C,MAAM,IAAI,oBAAa,CAAC,8CAA8C,CAAC,CAAC;QAC1E,CAAC;QAED,MAAM,KAAK,GAAG,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC;QAE3F,IAAI,KAAK,CAAC,WAAW,IAAI,CAAC,KAAK,EAAE,CAAC;YAChC,MAAM,IAAI,oBAAa,CAAC,WAAW,EAAE,KAAK,CAAC,WAAW,CAAC,CAAC;QAC1D,CAAC;QAED,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAe,CACvB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,EAC7D,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;YACxC,QAAQ;YACR,OAAO,EAAE,OAAO,CAAC,UAAU;YAC3B,MAAM,EAAE,KAAK,CAAC,MAAM;YACpB,QAAQ,EAAE,KAAK,CAAC,QAAQ;YACxB,cAAc,EAAE,KAAK,CAAC,cAAc,IAAI,CAAC;YACzC,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,OAAO,EAAE,KAAK,CAAC,OAAO,IAAI,IAAI;YAC9B,GAAG,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAChE,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,KAAK,CAAC,WAAW,EAAE,aAAa,EAAE,KAAK,CAAC,gBAAgB,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxF,SAAS,EAAE,KAAK,CAAC,SAAS;SAC3B,CAAC,CAAC;QAEH,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAsB,EAC1C,IAAI,CAAC,UAAU,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC;YAEjD,OAAO,UAAU,CAAC,IAAI,CACpB,UAAU,CAAC,MAAM,CAAC;gBAChB,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,MAAM;gBACd,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM;gBAC1B,KAAK,EAAE,MAAM,CAAC,KAAK;gBACnB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,cAAc,EAAE,MAAM,CAAC,KAAK,CAAC,cAAc,IAAI,CAAC,CAAC;gBACjD,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAC5B,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,mEAAmE;gBACnE,oEAAoE;gBACpE,OAAO,EAAE,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;gBACxD,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;gBAC7B,UAAU,EAAE,IAAA,kBAAQ,GAAE,EAAE,EAAE,IAAI,IAAI;aACnC,CAAC,CACH,CAAC;QACJ,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;QAEF;;;;;;WAMG;QACH,OAAO,EAAE,OAAO,EAAE,GAAG,CAAC,MAAM,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC,EAAE,CAAC;IAC5F,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,QAAQ,CACZ,QAAgB,EAChB,KAAiB;QAEjB,MAAM,QAAQ,GAAG,MAAM,IAAI,CAAC,UAAU,CAAC,QAAQ,EAAE,KAAK,CAAC,OAAO,CAAC,CAAC;QAEhE,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,QAAQ,CAAC;YAC1C,QAAQ;YACR,OAAO,EAAE,KAAK,CAAC,OAAO;YACtB,SAAS,EAAE,KAAK,CAAC,SAAS;YAC1B,yEAAyE;YACzE,4DAA4D;YAC5D,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,QAAQ,CAAC,CAAC,CAAC,CAAC,WAAW,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAC9D,CAAC,CAAC;QAEH,OAAO,EAAE,UAAU,EAAE,MAAM,CAAC,UAAU,EAAE,YAAY,EAAE,MAAM,CAAC,YAAY,EAAE,CAAC;IAC9E,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,WAAW,CACf,QAAgB,EAChB,UAAkB,EAClB,KAAiB;QAEjB,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,UAAU,CAAC,CAAC;QAC1D,IAAI,CAAC,MAAM;YAAE,OAAO,IAAI,CAAC;QAEzB,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,6BAAS,CAAC,CAAC;YAEnD,MAAM,OAAO,GAAG,MAAM,UAAU,CAAC,OAAO,CAAC;gBACvC,KAAK,EAAE,EAAE,QAAQ,EAAE,gBAAgB,EAAE,MAAM,CAAC,aAAa,EAAE;aAC5D,CAAC,CAAC;YAEH,qEAAqE;YACrE,2DAA2D;YAC3D,IAAI,OAAO;gBAAE,OAAO,OAAO,CAAC;YAE5B,OAAO,UAAU,CAAC,IAAI,CACpB,UAAU,CAAC,MAAM,CAAC;gBAChB,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,QAAQ,EAAE,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAC5B,WAAW,EAAE,MAAM,CAAC,QAAQ;gBAC5B,gBAAgB,EAAE,MAAM,CAAC,aAAa;gBACtC,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;gBAC3B,KAAK,EAAE,MAAM,CAAC,KAAK,IAAI,IAAI;gBAC3B,WAAW,EAAE,MAAM,CAAC,WAAW,IAAI,IAAI;gBACvC,UAAU,EAAE,MAAM,CAAC,UAAU,IAAI,IAAI;gBACrC,WAAW,EAAE,KAAK,CAAC,WAAW;gBAC9B,WAAW,EAAE,IAAI,IAAI,EAAE;gBACvB,QAAQ,EAAE,IAAA,kBAAQ,GAAE,EAAE,EAAE,IAAI,IAAI;aACjC,CAAC,CACH,CAAC;QACJ,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAe;QAChD,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CACT,MAAM;aACH,aAAa,CAAC,6BAAS,CAAC;aACxB,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,MAAM,EAAE,EAAE,CAAC,EACzE,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,KAAK,CAAC,SAAS,CAAC,QAAgB,EAAE,EAAU;QAC1C,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,6BAAS,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,EAAE,EAAE,EAAE,CAAC,EAChF,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;OAOG;IACH,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,EAAU;QAC3C,MAAM,IAAI,GAAG,MAAM,IAAI,CAAC,SAAS,CAAC,QAAQ,EAAE,EAAE,CAAC,CAAC;QAChD,IAAI,CAAC,IAAI;YAAE,OAAO;QAElB,MAAM,IAAI,CAAC,QAAQ,CAAC,UAAU,CAAC,IAAI,CAAC,gBAAgB,CAAC,CAAC;QAEtD,MAAM,IAAA,gCAAsB,EAC1B,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,6BAAS,CAAC,CAAC,MAAM,CAAC,EAAE,QAAQ,EAAE,EAAE,EAAE,CAAC,EACpE,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED;;;;;;;;OAQG;IACH,KAAK,CAAC,MAAM,CAAC,QAAgB,EAAE,KAAoB;QACjD,IAAI,KAAK,CAAC,MAAM,IAAI,CAAC,EAAE,CAAC;YACtB,MAAM,IAAI,sBAAe,CACvB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,6BAA6B,EAAE,CAAC,EAC7D,6BAA6B,CAC9B,CAAC;QACJ,CAAC;QAED,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,UAAU,GAAG,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC;YAEjD,OAAO,UAAU,CAAC,IAAI,CACpB,UAAU,CAAC,MAAM,CAAC;gBAChB,QAAQ;gBACR,OAAO,EAAE,KAAK,CAAC,OAAO;gBACtB,MAAM,EAAE,KAAK,CAAC,MAAM;gBACpB,IAAI,EAAE,KAAK,CAAC,IAAI,IAAI,MAAM;gBAC1B,8DAA8D;gBAC9D,wDAAwD;gBACxD,KAAK,EAAE,UAAU;gBACjB,MAAM,EAAE,MAAM,CAAC,KAAK,CAAC,MAAM,CAAC;gBAC5B,QAAQ,EAAE,KAAK,CAAC,QAAQ;gBACxB,cAAc,EAAE,GAAG;gBACnB,QAAQ,EAAE,GAAG;gBACb,QAAQ,EAAE,IAAI;gBACd,UAAU,EAAE,IAAI;gBAChB,OAAO,EAAE,IAAI,IAAI,EAAE;gBACnB,MAAM,EAAE,KAAK,CAAC,MAAM,IAAI,IAAI;gBAC5B,mEAAmE;gBACnE,UAAU,EAAE,IAAA,kBAAQ,GAAE,EAAE,EAAE,IAAI,IAAI;aACnC,CAAC,CACH,CAAC;QACJ,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED;;;;;;OAMG;IACH,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,SAAiB,EAAE,MAAe;QAChE,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,IAAI,oBAAa,CAAC,iCAAiC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,MAAM,GAAG,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,EAAE,MAAM,CAAC,CAAC;QAEvE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE;YACtC,KAAK,EAAE,MAAM,CAAC,KAAK;YACnB,OAAO,EAAE,MAAM,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;YACxD,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC,EAAE,CAAC;YAC3D,MAAM,EAAE,MAAM,CAAC,MAAM,IAAI,IAAI;SAC9B,CAAC,CAAC;IACL,CAAC;IAED,mDAAmD;IACnD,KAAK,CAAC,OAAO,CAAC,QAAgB,EAAE,SAAiB;QAC/C,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,OAAO,CAAC,KAAK,KAAK,YAAY,IAAI,CAAC,OAAO,CAAC,UAAU,EAAE,CAAC;YAC1D,MAAM,IAAI,oBAAa,CAAC,iCAAiC,CAAC,CAAC;QAC7D,CAAC;QAED,MAAM,IAAI,CAAC,QAAQ,CAAC,OAAO,CAAC,OAAO,CAAC,UAAU,CAAC,CAAC;QAEhD,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,WAAW,EAAE,CAAC,CAAC;IAClE,CAAC;IAED,4EAA4E;IAE5E;;;;;OAKG;IACH,KAAK,CAAC,MAAM,CACV,QAAgB,EAChB,SAAiB,EACjB,MAAc,EACd,MAAc;QAEd,MAAM,OAAO,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,QAAQ,EAAE,SAAS,CAAC,CAAC;QAErD,IAAI,CAAC,IAAA,uBAAY,EAAC,OAAO,CAAC,KAAK,CAAC,EAAE,CAAC;YACjC,MAAM,IAAI,oBAAa,CAAC,kCAAkC,CAAC,CAAC;QAC9D,CAAC;QAED,MAAM,OAAO,GAAG,MAAM,CAAC,OAAO,CAAC,QAAQ,CAAC,CAAC;QACzC,MAAM,SAAS,GAAG,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,GAAG,OAAO,CAAC;QAEnD,IAAI,MAAM,IAAI,CAAC,IAAI,MAAM,GAAG,SAAS,EAAE,CAAC;YACtC,MAAM,IAAI,sBAAe,CACvB,CAAC,EAAE,KAAK,EAAE,QAAQ,EAAE,OAAO,EAAE,WAAW,SAAS,qBAAqB,EAAE,CAAC,EACzE,WAAW,SAAS,qBAAqB,CAC1C,CAAC;QACJ,CAAC;QAED;;;;;;WAMG;QACH,MAAM,QAAQ,GAAG,OAAO,CAAC,UAAU;YACjC,CAAC,CAAC,MAAM,IAAI,CAAC,QAAQ,CAAC,MAAM,CAAC;gBACzB,UAAU,EAAE,OAAO,CAAC,UAAU;gBAC9B,MAAM;gBACN,MAAM;gBACN,SAAS,EAAE,GAAG,SAAS,IAAI,OAAO,GAAG,MAAM,EAAE;aAC9C,CAAC;YACJ,CAAC,CAAC,IAAI,CAAC;QAET,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,OAAO,GAAG,MAAM,CAAC,aAAa,CAAC,8BAAa,CAAC,CAAC;YAEpD,MAAM,OAAO,CAAC,IAAI,CAChB,OAAO,CAAC,MAAM,CAAC;gBACb,QAAQ;gBACR,SAAS;gBACT,MAAM,EAAE,MAAM,CAAC,MAAM,CAAC;gBACtB,MAAM;gBACN,UAAU,EAAE,QAAQ,EAAE,UAAU,IAAI,IAAI;gBACxC,UAAU,EAAE,IAAA,kBAAQ,GAAE,EAAE,EAAE,IAAI,IAAI;aACnC,CAAC,CACH,CAAC;YAEF,MAAM,KAAK,GAAG,OAAO,GAAG,MAAM,CAAC;YAE/B,MAAM,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC,MAAM,CACxC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAC3B;gBACE,QAAQ,EAAE,MAAM,CAAC,KAAK,CAAC;gBACvB,KAAK,EAAE,KAAK,IAAI,MAAM,CAAC,OAAO,CAAC,MAAM,CAAC,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,oBAAoB;aAC3E,CACF,CAAC;YAEF,OAAO,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,4EAA4E;IAE5E,kEAAkE;IAClE,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,OAAe;QAChD,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CACT,MAAM;aACH,aAAa,CAAC,wBAAO,CAAC;aACtB,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,OAAO,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EACxE,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,kDAAkD;IAClD,KAAK,CAAC,UAAU,CAAC,QAAgB,EAAE,SAAiB;QAClD,OAAO,IAAA,gCAAsB,EAC3B,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CACT,MAAM;aACH,aAAa,CAAC,8BAAa,CAAC;aAC5B,IAAI,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,SAAS,EAAE,EAAE,KAAK,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE,EAAE,CAAC,EAC1E,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;IAED,4EAA4E;IAE5E;;;;;;;OAOG;IACH,KAAK,CAAC,MAAM,CAAC,KAAoB;QAC/B;;;;;;;;;;;;;;WAcG;QACH,MAAM,QAAQ,GAAG,KAAK,CAAC,QAAQ,CAAC;QAChC,IAAI,CAAC,QAAQ;YAAE,OAAO,SAAS,CAAC;QAEhC,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,KAAK,CAAC,aAAa,EAAE,CAAC;YACpD,MAAM,IAAI,CAAC,WAAW,CAAC,QAAQ,EAAE,KAAK,CAAC,aAAa,CAAC,CAAC;YACtD,OAAO,CAAC,MAAM,IAAI,CAAC,aAAa,CAAC,QAAQ,CAAC,CAAC,IAAI,SAAS,CAAC;QAC3D,CAAC;QAED,IAAI,KAAK,CAAC,IAAI,KAAK,SAAS,IAAI,CAAC,KAAK,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE/D,0EAA0E;QAC1E,eAAe;QACf,MAAM,KAAK,GAAG,MAAM,IAAA,gCAAsB,EACxC,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CACT,MAAM;aACH,aAAa,CAAC,wBAAO,CAAC;aACtB,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,QAAQ,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,EAAE,CAAC,EACnE,EAAE,QAAQ,EAAE,CACb,CAAC;QAEF,IAAI,CAAC,KAAK;YAAE,OAAO,SAAS,CAAC;QAE7B,MAAM,KAAK,GAAG,KAAK,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,KAAK,CAAC,KAAK,CAAC;QAEpE,OAAO,IAAI,CAAC,MAAM,CAAC,QAAQ,EAAE,KAAK,CAAC,EAAE,EAAE;YACrC,KAAK;YACL,GAAG,CAAC,KAAK,KAAK,UAAU,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,IAAI,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YACxD,GAAG,CAAC,KAAK,CAAC,UAAU,CAAC,CAAC,CAAC,EAAE,UAAU,EAAE,KAAK,CAAC,UAAU,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;YAC7D,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SAClD,CAAC,CAAC;IACL,CAAC;IAED,4EAA4E;IAEpE,KAAK,CAAC,IAAI,CAAC,QAAgB,EAAE,SAAiB;QACpD,MAAM,OAAO,GAAG,MAAM,IAAA,gCAAsB,EAC1C,IAAI,CAAC,UAAU,EACf,CAAC,MAAM,EAAE,EAAE,CAAC,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC,OAAO,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,EACzF,EAAE,QAAQ,EAAE,CACb,CAAC;QAEF,IAAI,CAAC,OAAO;YAAE,MAAM,IAAI,oBAAa,CAAC,SAAS,EAAE,SAAS,CAAC,CAAC;QAC5D,OAAO,OAAO,CAAC;IACjB,CAAC;IAEO,KAAK,CAAC,MAAM,CAClB,QAAgB,EAChB,SAAiB,EACjB,KAAuB,EACvB,OAAuB;QAEvB,MAAM,IAAI,GAAG,KAAK,EAAE,MAAqB,EAAoB,EAAE;YAC7D,MAAM,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC,MAAM,CAAC,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,KAAK,CAAC,CAAC;YAC/E,OAAO,MAAM,CAAC,aAAa,CAAC,wBAAO,CAAC,CAAC,aAAa,CAAC,EAAE,KAAK,EAAE,EAAE,EAAE,EAAE,SAAS,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC;QAC7F,CAAC,CAAC;QAEF,OAAO,OAAO,CAAC,CAAC,CAAC,IAAI,CAAC,OAAO,CAAC,CAAC,CAAC,CAAC,IAAA,gCAAsB,EAAC,IAAI,CAAC,UAAU,EAAE,IAAI,EAAE,EAAE,QAAQ,EAAE,CAAC,CAAC;IAC/F,CAAC;IAEO,KAAK,CAAC,WAAW,CACvB,QAAgB,EAChB,OAAsF;QAEtF,MAAM,IAAA,gCAAsB,EAC1B,IAAI,CAAC,UAAU,EACf,KAAK,EAAE,MAAM,EAAE,EAAE;YACf,MAAM,MAAM,CAAC,KAAK,CAChB;;;;;;;;;;;;8CAYoC,EACpC;gBACE,QAAQ;gBACR,IAAI,CAAC,QAAQ,CAAC,IAAI;gBAClB,OAAO,CAAC,UAAU;gBAClB,OAAO,CAAC,MAAM;gBACd,IAAI,CAAC,SAAS,CAAC,CAAC,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;gBACzC,OAAO,CAAC,MAAM,KAAK,OAAO,CAAC,CAAC,CAAC,IAAI,IAAI,EAAE,CAAC,CAAC,CAAC,IAAI;aAC/C,CACF,CAAC;QACJ,CAAC,EACD,EAAE,QAAQ,EAAE,CACb,CAAC;IACJ,CAAC;CACF,CAAA;AA1jBY,0CAAe;0BAAf,eAAe;IAD3B,IAAA,mBAAU,GAAE;IAGR,WAAA,IAAA,2BAAgB,GAAE,CAAA;IAClB,WAAA,IAAA,eAAM,EAAC,yBAAiB,CAAC,CAAA;;GAHjB,eAAe,CA0jB3B"}
@@ -30,6 +30,16 @@ export interface OnboardingLink {
30
30
  readonly expiresAt: Date;
31
31
  }
32
32
  export interface ChargeRequest {
33
+ /**
34
+ * Whose charge this is, carried into the provider's own metadata.
35
+ *
36
+ * **The only thing that ties a webhook back to a tenant.** A provider's
37
+ * event names the provider's identifiers and nothing of ours, and the tables
38
+ * that could translate one into the other are under row-level security — so
39
+ * an unbound lookup returns *nothing*, silently, and the event changes
40
+ * nothing while appearing to have been handled.
41
+ */
42
+ readonly tenantId: string;
33
43
  /** The business being paid, as the provider knows it. */
34
44
  readonly account: string;
35
45
  /**
@@ -89,6 +99,8 @@ export interface ChargeResult {
89
99
  }
90
100
  /** A card being stored for later, rather than charged now. */
91
101
  export interface SaveCardRequest {
102
+ /** Whose card this is. See `ChargeRequest.tenantId`. */
103
+ readonly tenantId: string;
92
104
  /** An existing customer to attach it to, where the person already has one. */
93
105
  readonly customer?: string;
94
106
  /** What it is being saved for, carried through for matching a webhook back. */
@@ -122,6 +134,14 @@ export interface RefundRequest {
122
134
  export interface ProviderEvent {
123
135
  readonly kind: 'payment' | 'account' | 'other';
124
136
  readonly externalId: string;
137
+ /**
138
+ * Whose it is, read back from the metadata we set on the way out.
139
+ *
140
+ * Absent means the event is about something this deployment did not create —
141
+ * another environment sharing the provider account — and the right response
142
+ * is to ignore it rather than to go looking.
143
+ */
144
+ readonly tenantId?: string;
125
145
  readonly state?: 'authorized' | 'captured' | 'failed' | 'refunded';
126
146
  readonly accountStatus?: ProviderAccount;
127
147
  readonly instrument?: string;
@@ -131,8 +151,13 @@ export interface PaymentProvider {
131
151
  readonly name: string;
132
152
  /** Starts or resumes onboarding, and says where to send the business. */
133
153
  onboard(tenantId: string, returnUrl: string, refreshUrl: string): Promise<OnboardingLink>;
134
- /** Creates the account if there is none, and reports where it stands. */
135
- account(externalId: string | null, country: string, email?: string): Promise<ProviderAccount>;
154
+ /**
155
+ * Creates the account if there is none, and reports where it stands.
156
+ *
157
+ * `tenantId` is written into the provider's metadata when an account is
158
+ * created, so that an account webhook months later can say whose it is.
159
+ */
160
+ account(externalId: string | null, country: string, email?: string, tenantId?: string): Promise<ProviderAccount>;
136
161
  charge(request: ChargeRequest): Promise<ChargeResult>;
137
162
  /** Takes money that was only held. The human decision has been made. */
138
163
  capture(externalId: string, amount?: number): Promise<ChargeResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/providers/port.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"port.d.ts","sourceRoot":"","sources":["../../src/providers/port.ts"],"names":[],"mappings":"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"}
@@ -26,7 +26,7 @@ export declare class StripeConnect implements PaymentProvider {
26
26
  readonly name = "stripe";
27
27
  private readonly stripe;
28
28
  constructor(options: StripeConnectOptions);
29
- account(externalId: string | null, country: string, email?: string): Promise<ProviderAccount>;
29
+ account(externalId: string | null, country: string, email?: string, tenantId?: string): Promise<ProviderAccount>;
30
30
  onboard(externalId: string, returnUrl: string, refreshUrl: string): Promise<OnboardingLink>;
31
31
  charge(request: ChargeRequest): Promise<ChargeResult>;
32
32
  capture(externalId: string, amount?: number): Promise<ChargeResult>;
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/providers/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,UAAU,EACX,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,eAAe;IAIvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEH,OAAO,EAAE,oBAAoB;IAIpD,OAAO,CACX,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,GACb,OAAO,CAAC,eAAe,CAAC;IAarB,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;IAkBpB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IAsDrD,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAanE,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA4B3D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAwB/D,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAarE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS;CAoB3F"}
1
+ {"version":3,"file":"stripe.d.ts","sourceRoot":"","sources":["../../src/providers/stripe.ts"],"names":[],"mappings":"AAAA,OAAO,MAAM,MAAM,QAAQ,CAAC;AAC5B,OAAO,KAAK,EACV,aAAa,EACb,YAAY,EACZ,cAAc,EACd,eAAe,EACf,eAAe,EACf,aAAa,EACb,aAAa,EACb,eAAe,EACf,cAAc,EACd,UAAU,EACX,MAAM,QAAQ,CAAC;AAEhB,MAAM,WAAW,oBAAoB;IACnC,SAAS,EAAE,MAAM,CAAC;IAClB,2EAA2E;IAC3E,aAAa,CAAC,EAAE,MAAM,CAAC;IACvB,+EAA+E;IAC/E,MAAM,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;;;;;;;;;;;GAaG;AACH,qBAAa,aAAc,YAAW,eAAe;IAIvC,OAAO,CAAC,QAAQ,CAAC,OAAO;IAHpC,QAAQ,CAAC,IAAI,YAAY;IACzB,OAAO,CAAC,QAAQ,CAAC,MAAM,CAAS;gBAEH,OAAO,EAAE,oBAAoB;IAIpD,OAAO,CACX,UAAU,EAAE,MAAM,GAAG,IAAI,EACzB,OAAO,EAAE,MAAM,EACf,KAAK,CAAC,EAAE,MAAM,EACd,QAAQ,CAAC,EAAE,MAAM,GAChB,OAAO,CAAC,eAAe,CAAC;IAgBrB,OAAO,CACX,UAAU,EAAE,MAAM,EAClB,SAAS,EAAE,MAAM,EACjB,UAAU,EAAE,MAAM,GACjB,OAAO,CAAC,cAAc,CAAC;IAkBpB,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC,YAAY,CAAC;IA8DrD,OAAO,CAAC,UAAU,EAAE,MAAM,EAAE,MAAM,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,CAAC;IAanE,OAAO,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD;;;;;;;OAOG;IACG,QAAQ,CAAC,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,cAAc,CAAC;IA4B3D,UAAU,CAAC,UAAU,EAAE,MAAM,GAAG,OAAO,CAAC,UAAU,GAAG,SAAS,CAAC;IAwB/D,UAAU,CAAC,aAAa,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAIhD,MAAM,CAAC,OAAO,EAAE,aAAa,GAAG,OAAO,CAAC;QAAE,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAarE,MAAM,CAAC,OAAO,EAAE,MAAM,GAAG,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,SAAS,GAAG,aAAa,GAAG,SAAS;CAoB3F"}
@@ -27,13 +27,16 @@ class StripeConnect {
27
27
  this.options = options;
28
28
  this.stripe = options.client ?? new stripe_1.default(options.secretKey);
29
29
  }
30
- async account(externalId, country, email) {
30
+ async account(externalId, country, email, tenantId) {
31
31
  const account = externalId
32
32
  ? await this.stripe.accounts.retrieve(externalId)
33
33
  : await this.stripe.accounts.create({
34
34
  type: 'express',
35
35
  country,
36
36
  ...(email ? { email } : {}),
37
+ // Written once, at creation, so an account event months later can say
38
+ // whose it is without a lookup that row-level security would refuse.
39
+ ...(tenantId ? { metadata: { tenant: tenantId } } : {}),
37
40
  capabilities: { card_payments: { requested: true }, transfers: { requested: true } },
38
41
  });
39
42
  return interpretAccount(account);
@@ -88,7 +91,15 @@ class StripeConnect {
88
91
  : {}),
89
92
  // Carried through so a webhook can be matched back to what it paid
90
93
  // for without a lookup table of our own.
91
- metadata: { subject: request.subject },
94
+ /*
95
+ * The tenant as well as the subject.
96
+ *
97
+ * A webhook names the provider's identifiers and nothing of ours, and
98
+ * the table that could translate one into the other is under
99
+ * row-level security — so a lookup with no tenant returns nothing at
100
+ * all. This is what makes an event attributable.
101
+ */
102
+ metadata: { subject: request.subject, tenant: request.tenantId },
92
103
  /*
93
104
  * Only where a card still has to be entered. Offering a redirect
94
105
  * method to a charge that is already confirmed against a stored card
@@ -127,12 +138,12 @@ class StripeConnect {
127
138
  */
128
139
  async saveCard(request) {
129
140
  const customer = request.customer ??
130
- (await this.stripe.customers.create({ metadata: { subject: request.subject } }, { idempotencyKey: `customer-${request.reference}` })).id;
141
+ (await this.stripe.customers.create({ metadata: { subject: request.subject, tenant: request.tenantId } }, { idempotencyKey: `customer-${request.reference}` })).id;
131
142
  const intent = await this.stripe.setupIntents.create({
132
143
  customer,
133
144
  usage: 'off_session',
134
145
  payment_method_types: ['card'],
135
- metadata: { subject: request.subject },
146
+ metadata: { subject: request.subject, tenant: request.tenantId },
136
147
  }, { idempotencyKey: request.reference });
137
148
  return {
138
149
  customer,
@@ -245,6 +256,7 @@ function interpretEvent(event) {
245
256
  const intent = event.data.object;
246
257
  const result = interpretIntent(intent);
247
258
  return {
259
+ ...(intent.metadata?.tenant ? { tenantId: intent.metadata.tenant } : {}),
248
260
  kind: 'payment',
249
261
  externalId: intent.id,
250
262
  state: event.type === 'payment_intent.payment_failed'
@@ -266,7 +278,12 @@ function interpretEvent(event) {
266
278
  }
267
279
  case 'account.updated': {
268
280
  const account = event.data.object;
269
- return { kind: 'account', externalId: account.id, accountStatus: interpretAccount(account) };
281
+ return {
282
+ kind: 'account',
283
+ externalId: account.id,
284
+ ...(account.metadata?.tenant ? { tenantId: account.metadata.tenant } : {}),
285
+ accountStatus: interpretAccount(account),
286
+ };
270
287
  }
271
288
  default:
272
289
  /*
@@ -1 +1 @@
1
- {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/providers/stripe.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe.js","sourceRoot":"","sources":["../../src/providers/stripe.ts"],"names":[],"mappings":"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"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@birtalanrobert/commerce",
3
- "version": "3.1.0",
3
+ "version": "4.0.0",
4
4
  "description": "Taking money on a business's behalf: payout onboarding, payments, refunds and the record of both",
5
5
  "license": "AGPL-3.0-only",
6
6
  "author": "Robert Birtalan",
@@ -44,11 +44,11 @@
44
44
  ],
45
45
  "dependencies": {
46
46
  "stripe": "^22.6.0",
47
- "@birtalanrobert/context": "^1.1.0",
48
- "@birtalanrobert/http": "^2.0.0",
49
- "@birtalanrobert/money": "^1.0.0",
47
+ "@birtalanrobert/database": "^1.0.0",
50
48
  "@birtalanrobert/tenancy": "^1.1.0",
51
- "@birtalanrobert/database": "^1.0.0"
49
+ "@birtalanrobert/http": "^2.0.0",
50
+ "@birtalanrobert/context": "^1.1.0",
51
+ "@birtalanrobert/money": "^1.0.0"
52
52
  },
53
53
  "peerDependencies": {
54
54
  "@nestjs/common": "^11.0.0",
@@ -126,6 +126,9 @@ export class CommerceService {
126
126
  existing?.externalId ?? null,
127
127
  options.country,
128
128
  options.email,
129
+ // Written into the provider's metadata at creation, so an account event
130
+ // months later can say whose it is.
131
+ tenantId,
129
132
  );
130
133
 
131
134
  await this.saveAccount(tenantId, account);
@@ -175,6 +178,7 @@ export class CommerceService {
175
178
  }
176
179
 
177
180
  const result = await this.provider.charge({
181
+ tenantId,
178
182
  account: account.externalId,
179
183
  amount: input.amount,
180
184
  currency: input.currency,
@@ -241,6 +245,7 @@ export class CommerceService {
241
245
  const existing = await this.savedCards(tenantId, input.subject);
242
246
 
243
247
  const result = await this.provider.saveCard({
248
+ tenantId,
244
249
  subject: input.subject,
245
250
  reference: input.reference,
246
251
  // Reuse the customer this person already has, so a second card joins the
@@ -541,37 +546,47 @@ export class CommerceService {
541
546
  * books.
542
547
  */
543
548
  async settle(event: ProviderEvent): Promise<Payment | PayoutAccount | undefined> {
544
- if (event.kind === 'account' && event.accountStatus) {
545
- const rows = await this.dataSource.query<Array<{ tenant_id: string }>>(
546
- `SELECT "tenant_id" FROM "mortar_payout_accounts" WHERE "external_id" = $1`,
547
- [event.externalId],
548
- );
549
-
550
- const tenantId = rows[0]?.tenant_id;
551
- if (!tenantId) return undefined;
549
+ /*
550
+ * The tenant comes from the metadata we wrote on the way out, and there is
551
+ * no fallback.
552
+ *
553
+ * The obvious alternative — look the provider's identifier up in our own
554
+ * table — **cannot work here**, and fails in the worst way: every one of
555
+ * these tables is under `FORCE ROW LEVEL SECURITY`, so a query with no
556
+ * tenant bound returns *no rows at all* rather than an error. The webhook
557
+ * then verifies, reads, understands and changes nothing, and the only
558
+ * evidence is a payment stuck in whatever state it was in.
559
+ *
560
+ * An event with no tenant on it is about something this deployment did not
561
+ * create — another environment sharing the provider account — and ignoring
562
+ * it is the right answer rather than a limitation.
563
+ */
564
+ const tenantId = event.tenantId;
565
+ if (!tenantId) return undefined;
552
566
 
567
+ if (event.kind === 'account' && event.accountStatus) {
553
568
  await this.saveAccount(tenantId, event.accountStatus);
554
569
  return (await this.payoutAccount(tenantId)) ?? undefined;
555
570
  }
556
571
 
557
572
  if (event.kind !== 'payment' || !event.state) return undefined;
558
573
 
559
- /*
560
- * Found by the provider's identifier, which is the only thing both sides
561
- * share and read without a tenant because a webhook does not carry one.
562
- * The row itself says whose it is.
563
- */
564
- const rows = await this.dataSource.query<Array<{ id: string; tenant_id: string }>>(
565
- `SELECT "id", "tenant_id" FROM "mortar_payments" WHERE "external_id" = $1`,
566
- [event.externalId],
574
+ // Inside the tenant's own policy, which is the only way this table can be
575
+ // read at all.
576
+ const found = await runInTenantTransaction(
577
+ this.dataSource,
578
+ (scoped) =>
579
+ scoped
580
+ .getRepository(Payment)
581
+ .findOne({ where: { tenantId, externalId: event.externalId } }),
582
+ { tenantId },
567
583
  );
568
584
 
569
- const found = rows[0];
570
585
  if (!found) return undefined;
571
586
 
572
587
  const state = event.state === 'refunded' ? 'refunded' : event.state;
573
588
 
574
- return this.update(found.tenant_id, found.id, {
589
+ return this.update(tenantId, found.id, {
575
590
  state,
576
591
  ...(state === 'captured' ? { takenAt: new Date() } : {}),
577
592
  ...(event.instrument ? { instrument: event.instrument } : {}),
@@ -33,6 +33,16 @@ export interface OnboardingLink {
33
33
  }
34
34
 
35
35
  export interface ChargeRequest {
36
+ /**
37
+ * Whose charge this is, carried into the provider's own metadata.
38
+ *
39
+ * **The only thing that ties a webhook back to a tenant.** A provider's
40
+ * event names the provider's identifiers and nothing of ours, and the tables
41
+ * that could translate one into the other are under row-level security — so
42
+ * an unbound lookup returns *nothing*, silently, and the event changes
43
+ * nothing while appearing to have been handled.
44
+ */
45
+ readonly tenantId: string;
36
46
  /** The business being paid, as the provider knows it. */
37
47
  readonly account: string;
38
48
  /**
@@ -94,6 +104,8 @@ export interface ChargeResult {
94
104
 
95
105
  /** A card being stored for later, rather than charged now. */
96
106
  export interface SaveCardRequest {
107
+ /** Whose card this is. See `ChargeRequest.tenantId`. */
108
+ readonly tenantId: string;
97
109
  /** An existing customer to attach it to, where the person already has one. */
98
110
  readonly customer?: string;
99
111
  /** What it is being saved for, carried through for matching a webhook back. */
@@ -131,6 +143,14 @@ export interface RefundRequest {
131
143
  export interface ProviderEvent {
132
144
  readonly kind: 'payment' | 'account' | 'other';
133
145
  readonly externalId: string;
146
+ /**
147
+ * Whose it is, read back from the metadata we set on the way out.
148
+ *
149
+ * Absent means the event is about something this deployment did not create —
150
+ * another environment sharing the provider account — and the right response
151
+ * is to ignore it rather than to go looking.
152
+ */
153
+ readonly tenantId?: string;
134
154
  readonly state?: 'authorized' | 'captured' | 'failed' | 'refunded';
135
155
  readonly accountStatus?: ProviderAccount;
136
156
  readonly instrument?: string;
@@ -143,8 +163,18 @@ export interface PaymentProvider {
143
163
  /** Starts or resumes onboarding, and says where to send the business. */
144
164
  onboard(tenantId: string, returnUrl: string, refreshUrl: string): Promise<OnboardingLink>;
145
165
 
146
- /** Creates the account if there is none, and reports where it stands. */
147
- account(externalId: string | null, country: string, email?: string): Promise<ProviderAccount>;
166
+ /**
167
+ * Creates the account if there is none, and reports where it stands.
168
+ *
169
+ * `tenantId` is written into the provider's metadata when an account is
170
+ * created, so that an account webhook months later can say whose it is.
171
+ */
172
+ account(
173
+ externalId: string | null,
174
+ country: string,
175
+ email?: string,
176
+ tenantId?: string,
177
+ ): Promise<ProviderAccount>;
148
178
 
149
179
  charge(request: ChargeRequest): Promise<ChargeResult>;
150
180
 
@@ -46,6 +46,7 @@ export class StripeConnect implements PaymentProvider {
46
46
  externalId: string | null,
47
47
  country: string,
48
48
  email?: string,
49
+ tenantId?: string,
49
50
  ): Promise<ProviderAccount> {
50
51
  const account = externalId
51
52
  ? await this.stripe.accounts.retrieve(externalId)
@@ -53,6 +54,9 @@ export class StripeConnect implements PaymentProvider {
53
54
  type: 'express',
54
55
  country,
55
56
  ...(email ? { email } : {}),
57
+ // Written once, at creation, so an account event months later can say
58
+ // whose it is without a lookup that row-level security would refuse.
59
+ ...(tenantId ? { metadata: { tenant: tenantId } } : {}),
56
60
  capabilities: { card_payments: { requested: true }, transfers: { requested: true } },
57
61
  });
58
62
 
@@ -116,7 +120,15 @@ export class StripeConnect implements PaymentProvider {
116
120
  : {}),
117
121
  // Carried through so a webhook can be matched back to what it paid
118
122
  // for without a lookup table of our own.
119
- metadata: { subject: request.subject },
123
+ /*
124
+ * The tenant as well as the subject.
125
+ *
126
+ * A webhook names the provider's identifiers and nothing of ours, and
127
+ * the table that could translate one into the other is under
128
+ * row-level security — so a lookup with no tenant returns nothing at
129
+ * all. This is what makes an event attributable.
130
+ */
131
+ metadata: { subject: request.subject, tenant: request.tenantId },
120
132
  /*
121
133
  * Only where a card still has to be entered. Offering a redirect
122
134
  * method to a charge that is already confirmed against a stored card
@@ -165,7 +177,7 @@ export class StripeConnect implements PaymentProvider {
165
177
  request.customer ??
166
178
  (
167
179
  await this.stripe.customers.create(
168
- { metadata: { subject: request.subject } },
180
+ { metadata: { subject: request.subject, tenant: request.tenantId } },
169
181
  { idempotencyKey: `customer-${request.reference}` },
170
182
  )
171
183
  ).id;
@@ -175,7 +187,7 @@ export class StripeConnect implements PaymentProvider {
175
187
  customer,
176
188
  usage: 'off_session',
177
189
  payment_method_types: ['card'],
178
- metadata: { subject: request.subject },
190
+ metadata: { subject: request.subject, tenant: request.tenantId },
179
191
  },
180
192
  { idempotencyKey: request.reference },
181
193
  );
@@ -311,6 +323,7 @@ function interpretEvent(event: Stripe.Event): ProviderEvent {
311
323
  const result = interpretIntent(intent);
312
324
 
313
325
  return {
326
+ ...(intent.metadata?.tenant ? { tenantId: intent.metadata.tenant } : {}),
314
327
  kind: 'payment',
315
328
  externalId: intent.id,
316
329
  state:
@@ -335,7 +348,13 @@ function interpretEvent(event: Stripe.Event): ProviderEvent {
335
348
 
336
349
  case 'account.updated': {
337
350
  const account = event.data.object as Stripe.Account;
338
- return { kind: 'account', externalId: account.id, accountStatus: interpretAccount(account) };
351
+
352
+ return {
353
+ kind: 'account',
354
+ externalId: account.id,
355
+ ...(account.metadata?.tenant ? { tenantId: account.metadata.tenant } : {}),
356
+ accountStatus: interpretAccount(account),
357
+ };
339
358
  }
340
359
 
341
360
  default: