@curless/hotel-storefront 0.36.1 → 0.37.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":"make.d.ts","sourceRoot":"","sources":["../../src/huazhu/make.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAY5D,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,EAAE,KAAK,eAAe,KAAG,IAsLjE,CAAC"}
1
+ {"version":3,"file":"make.d.ts","sourceRoot":"","sources":["../../src/huazhu/make.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,SAAS,EAAE,MAAM,cAAc,CAAC;AAG9C,OAAO,KAAK,EAAE,IAAI,EAAE,eAAe,EAAE,MAAM,gBAAgB,CAAC;AAY5D,eAAO,MAAM,UAAU,GAAI,KAAK,SAAS,EAAE,KAAK,eAAe,KAAG,IA4LjE,CAAC"}
@@ -61,6 +61,12 @@ export const makeHuazhu = (api, ctx) => {
61
61
  checkout = new StripeCheckout({
62
62
  apiKey: String(env[stripeKey]),
63
63
  returnUrl,
64
+ // Paid, the guest lands on the booking's own page - not the docs
65
+ // (robin, 2026-10-15: "支付成功要返回一个预订成功页面"); the server
66
+ // draws it from `paymentReturn`. Turned back, they go to `returnUrl`.
67
+ ...(ctx.publicUrl
68
+ ? { successUrl: `${ctx.publicUrl.replace(/\/$/, '')}/paid?session={CHECKOUT_SESSION_ID}` }
69
+ : {}),
64
70
  ...(ctx.gatewayFetch ? { fetch: ctx.gatewayFetch } : {}),
65
71
  });
66
72
  }
@@ -1 +1 @@
1
- {"version":3,"file":"make.js","sourceRoot":"","sources":["../../src/huazhu/make.ts"],"names":[],"mappings":"AACA,OAAO,EAAiB,eAAe,EAAE,MAAM,yBAAyB,CAAC;AACzE,OAAO,EAAE,cAAc,EAAE,MAAM,gCAAgC,CAAC;AAEhE,OAAO,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAClD,OAAO,EAAE,YAAY,EAAE,UAAU,EAAE,MAAM,eAAe,CAAC;AACzD,OAAO,EAAE,OAAO,EAAE,MAAM,cAAc,CAAC;AACvC,OAAO,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAC3C,OAAO,EAAE,aAAa,EAAE,qBAAqB,EAAE,YAAY,EAAE,QAAQ,EAAE,MAAM,aAAa,CAAC;AAE3F,6EAA6E;AAC7E,8EAA8E;AAC9E,uEAAuE;AACvE,wDAAwD;AAExD,MAAM,CAAC,MAAM,UAAU,GAAG,CAAC,GAAc,EAAE,GAAoB,EAAQ,EAAE;IACvE,MAAM,EAAE,GAAG,EAAE,GAAG,EAAE,GAAG,GAAG,CAAC;IACzB,sEAAsE;IACtE,MAAM,MAAM,GAAG,GAAG,CAAC,SAAS,IAAI,QAAQ,CAAC;IACzC,MAAM,KAAK,GAAG;QACZ,QAAQ,EAAE,GAAG,MAAM,YAAY;QAC/B,MAAM,EAAE,GAAG,MAAM,gBAAgB;QACjC,aAAa,EAAE,GAAG,MAAM,iBAAiB;KAC1C,CAAC;IACF,MAAM,OAAO,GAAG,MAAM,CAAC,MAAM,CAAC,KAAK,CAAC,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,CAAC;IAC5D,IAAI,OAAO,CAAC,MAAM,EAAE,CAAC;QACnB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,KAAK,OAAO,CAAC,IAAI,CAAC,IAAI,CAAC,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,qFAAqF,CAChK,CAAC;IACJ,CAAC;IACD,4EAA4E;IAC5E,6CAA6C;IAC7C,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,CAAC;IACnC,IAAI,QAAQ,CAAC,MAAM,EAAE,CAAC;QACpB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,KAAK,QAAQ,CAAC,IAAI,CAAC,OAAO,CAAC,IAAI,QAAQ,CAAC,MAAM,KAAK,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,KAAK,wGAAwG,CACxL,CAAC;IACJ,CAAC;IACD,sEAAsE;IACtE,yEAAyE;IACzE,yEAAyE;IACzE,uEAAuE;IACvE,4DAA4D;IAC5D,MAAM,SAAS,GAAG,qBAAqB,CAAC,GAAG,CAAC,CAAC;IAC7C,IAAI,SAAS,IAAI,CAAC,GAAG,CAAC,IAAI;QACxB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,4GAA4G,CACzH,CAAC;IACJ,IAAI,GAAG,CAAC,IAAI,IAAI,CAAC,SAAS;QACxB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,4GAA4G,CACzH,CAAC;IACJ,MAAM,eAAe,GAAG,CAAC,CAAC,GAAG,CAAC,IAAI,CAAC;IACnC,yEAAyE;IACzE,qEAAqE;IACrE,yEAAyE;IACzE,mEAAmE;IACnE,IAAI,GAAG,CAAC,OAAO,IAAI,CAAC,GAAG,CAAC,OAAO,IAAI,CAAC,eAAe,EAAE,CAAC;QACpD,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,qMAAqM,CAClN,CAAC;IACJ,CAAC;IACD,MAAM,QAAQ,GAAG,GAAG,CAAC,OAAO,EAAE,QAAQ,IAAI,SAAS,CAAC;IACpD,MAAM,SAAS,GACb,GAAG,CAAC,OAAO,EAAE,WAAW;QACxB,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,GAAG,GAAG,CAAC,SAAS,CAAC,OAAO,CAAC,KAAK,EAAE,EAAE,CAAC,OAAO,CAAC,CAAC,CAAC,SAAS,CAAC,CAAC;IAC3E,IAAI,QAA8B,CAAC;IACnC,IAAI,GAAG,CAAC,OAAO,IAAI,QAAQ,KAAK,QAAQ,EAAE,CAAC;QACzC,+DAA+D;QAC/D,6CAA6C;QAC7C,MAAM,SAAS,GAAG,GAAG,MAAM,aAAa,CAAC;QACzC,IAAI,CAAC,GAAG,CAAC,SAAS,CAAC;YACjB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,KAAK,SAAS,qGAAqG,CAChI,CAAC;QACJ,IAAI,CAAC,SAAS;YACZ,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,8FAA8F,CAC3G,CAAC;QACJ,QAAQ,GAAG,IAAI,cAAc,CAAC;YAC5B,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC;YAC9B,SAAS;YACT,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;SAAM,IAAI,GAAG,CAAC,OAAO,EAAE,CAAC;QACvB,MAAM,UAAU,GAAG,GAAG,MAAM,cAAc,CAAC;QAC3C,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU,IAAI,CAAC,GAAG,CAAC,OAAO,CAAC,UAAU;YACpD,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,wEAAwE,CACrF,CAAC;QACJ,IAAI,CAAC,GAAG,CAAC,UAAU,CAAC,EAAE,CAAC;YACrB,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,KAAK,UAAU,4GAA4G,CACxI,CAAC;QACJ,CAAC;QACD,wEAAwE;QACxE,kEAAkE;QAClE,IAAI,eAAe,IAAI,CAAC,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC,CAAC,UAAU,CAAC,WAAW,CAAC,EAAE,CAAC;YACxE,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,KAAK,UAAU,8GAA8G,CAC1I,CAAC;QACJ,CAAC;QACD,QAAQ,GAAG,IAAI,eAAe,CAAC;YAC7B,OAAO,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;YAC/B,UAAU,EAAE,GAAG,CAAC,OAAO,CAAC,UAAU;YAClC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,UAAU,CAAC,CAAC;YAC/B,YAAY,EAAE,GAAG,CAAC,OAAO,CAAC,YAAY,IAAI,GAAG,CAAC,KAAK;YACnD,WAAW,EAAE,GAAG,CAAC,OAAO,CAAC,WAAW,IAAI,GAAG,CAAC,OAAO,CAAC,UAAU;YAC9D,GAAG,CAAC,GAAG,CAAC,YAAY,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,YAAY,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;SACzD,CAAC,CAAC;IACL,CAAC;IACD,4EAA4E;IAC5E,4EAA4E;IAC5E,2CAA2C;IAC3C,MAAM,QAAQ,GAAG,GAAG,CAAC,KAAK,CAAC,GAAG,CAAC;IAC/B,IAAI,CAAC,QAAQ,EAAE,CAAC;QACd,MAAM,IAAI,KAAK,CACb,GAAG,GAAG,CAAC,KAAK,0GAA0G,CACvH,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,IAAI,YAAY,CAAC;QAC9B,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,WAAW,EAAE;YACX,QAAQ,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,QAAQ,CAAC,CAAC;YACrC,MAAM,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,MAAM,CAAC,CAAC;YACjC,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;SAChD;QACD,GAAG,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC,CAAC,EAAE,KAAK,EAAE,GAAG,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC1C,qEAAqE;QACrE,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG;KACJ,CAAC,CAAC;IACH,2EAA2E;IAC3E,6DAA6D;IAC7D,aAAa,CACX,QAAQ,EACR,QAAQ,CAAC;QACP,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,OAAO,EAAE,GAAG,CAAC,OAAO;QACpB,aAAa,EAAE,MAAM,CAAC,GAAG,CAAC,KAAK,CAAC,aAAa,CAAC,CAAC;KAChD,CAAC,CACH,CAAC;IACF,MAAM,OAAO,GAAG,IAAI,OAAO,CAAC;QAC1B,MAAM;QACN,QAAQ;QACR,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,IAAI,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC3C,GAAG;KACJ,CAAC,CAAC;IACH,MAAM,KAAK,GAAG,IAAI,YAAY,CAAC,QAAQ,EAAE,GAAG,CAAC,CAAC;IAC9C,MAAM,UAAU,GAAG,IAAI,UAAU,CAAC,KAAK,EAAE,MAAM,EAAE,GAAG,CAAC,CAAC;IACtD,MAAM,OAAO,GAAG,kBAAkB,CAAC;QACjC,KAAK,EAAE,GAAG,CAAC,KAAK;QAChB,MAAM;QACN,OAAO;QACP,KAAK;QACL,UAAU;QACV,WAAW,EAAE,GAAG,CAAC,WAAW,IAAI,MAAM;QACtC,QAAQ,EAAE,GAAG,CAAC,QAAQ,IAAI,IAAI;QAC9B,EAAE,EAAE,GAAG,CAAC,QAAQ,IAAI,eAAe;QACnC,GAAG,CAAC,GAAG,CAAC,SAAS,CAAC,CAAC,CAAC,EAAE,SAAS,EAAE,GAAG,CAAC,SAAS,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACtD,GAAG,CAAC,GAAG,CAAC,OAAO,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACzC,GAAG,CAAC,eAAe,CAAC,CAAC,CAAC,EAAE,eAAe,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACrD,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,IAAI,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QACvC,GAAG,CAAC,QAAQ,CAAC,CAAC,CAAC,EAAE,OAAO,EAAE,EAAE,QAAQ,EAAE,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC9C,GAAG,CAAC,GAAG,CAAC,MAAM,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,GAAG,CAAC,MAAM,EAAE,CAAC,CAAC,CAAC,EAAE,CAAC;QAC7C,GAAG;KACJ,CAAC,CAAC;IACH,IAAI,GAAG,CAAC,UAAU,EAAE,CAAC;QACnB,UAAU,CAAC,KAAK,EAAE,CAAC;QACnB,uEAAuE;QACvE,sDAAsD;QACtD,IAAI,QAAQ;YAAE,WAAW,CAAC,GAAG,EAAE,CAAC,KAAK,OAAO,CAAC,WAAW,EAAE,EAAE,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;QAC9E,MAAM,WAAW,GAAG,GAAG,EAAE;YACvB,IAAI,OAAO,CAAC,KAAK,EAAE;gBAAE,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;QAC3C,CAAC,CAAC;QACF,WAAW,EAAE,CAAC;QACd,WAAW,CAAC,WAAW,EAAE,EAAE,GAAG,MAAM,CAAC,CAAC,KAAK,EAAE,EAAE,CAAC;IAClD,CAAC;IACD,uEAAuE;IACvE,IAAI,OAAsD,CAAC;IAC3D,OAAO;QACL,OAAO;QACP,YAAY,EAAE,GAAG,EAAE;YACjB,IAAI,CAAC,OAAO,IAAI,OAAO,CAAC,IAAI,KAAK,OAAO,CAAC,IAAI,EAAE,CAAC;gBAC9C,OAAO,GAAG,EAAE,IAAI,EAAE,OAAO,CAAC,IAAI,EAAE,KAAK,EAAE,OAAO,CAAC,YAAY,EAAE,EAAE,CAAC;YAClE,CAAC;YACD,OAAO,OAAO,CAAC,KAAK,CAAC;QACvB,CAAC;QACD,UAAU,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,IAAI;QAC9B,MAAM,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,MAAM,EAAE;QAC9B,KAAK,EAAE,GAAG,EAAE,CAAC,CAAC,OAAO,CAAC,IAAI,GAAG,CAAC,IAAI,CAAC,OAAO,CAAC,KAAK,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,OAAO,EAAE,CAAC,CAAC,CAAC,OAAO,CAAC,IAAI,EAAE,CAAC;QACxF,KAAK,EAAE,GAAG,EAAE,CAAC,OAAO,CAAC,KAAK,EAAE;QAC5B,OAAO,EAAE,CAAC,EAAE,EAAE,UAAU,EAAE,EAAE,CAAC,OAAO,CAAC,OAAO,CAAC,EAAE,EAAE,UAAU,CAAC,KAAK,SAAS;KAC3E,CAAC;AACJ,CAAC,CAAC"}
1
+ {"version":3,"file":"make.js","sourceRoot":"","sources":["../../src/huazhu/make.ts"],"names":[],"mappings":"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"}
package/dist/lib.d.ts CHANGED
@@ -20,7 +20,7 @@ export { buildTools, withheldTools } from './tools.js';
20
20
  export { INSTRUCTS, listingProblems } from './listing.js';
21
21
  export { resolveBrand, DEMO_NOTE } from './vocab.js';
22
22
  export { FULL_CAPABILITIES, MAX_PAGE } from './backend.js';
23
- export type { BackendCapabilities, HotelBackend, SupplierInfo } from './backend.js';
23
+ export type { BackendCapabilities, HotelBackend, PaymentReturn, SupplierInfo } from './backend.js';
24
24
  export type { ApiSource, HotelConfig, ToolNames } from './config.js';
25
25
  export { HUAZHU_CAPABILITIES, createHuazhuHotels } from './huazhu/backend.js';
26
26
  export { checkHuazhu } from './huazhu/check.js';
package/dist/lib.d.ts.map CHANGED
@@ -1 +1 @@
1
- {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACpF,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EACV,OAAO,EACP,aAAa,EACb,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,MAAM,YAAY,CAAC"}
1
+ {"version":3,"file":"lib.d.ts","sourceRoot":"","sources":["../src/lib.ts"],"names":[],"mappings":"AAAA;;;;;;;;;;;;;GAaG;AACH,OAAO,EAAE,aAAa,EAAE,cAAc,EAAE,MAAM,WAAW,CAAC;AAC1D,OAAO,EACL,UAAU,EACV,WAAW,EACX,UAAU,EACV,cAAc,EACd,QAAQ,EACR,UAAU,EACV,SAAS,EACT,OAAO,GACR,MAAM,aAAa,CAAC;AACrB,OAAO,EAAE,gBAAgB,EAAE,MAAM,kBAAkB,CAAC;AACpD,OAAO,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAExC,OAAO,EAAE,UAAU,EAAE,aAAa,EAAE,MAAM,YAAY,CAAC;AAEvD,OAAO,EAAE,SAAS,EAAE,eAAe,EAAE,MAAM,cAAc,CAAC;AAC1D,OAAO,EAAE,YAAY,EAAE,SAAS,EAAE,MAAM,YAAY,CAAC;AACrD,OAAO,EAAE,iBAAiB,EAAE,QAAQ,EAAE,MAAM,cAAc,CAAC;AAC3D,YAAY,EAAE,mBAAmB,EAAE,YAAY,EAAE,aAAa,EAAE,YAAY,EAAE,MAAM,cAAc,CAAC;AACnG,YAAY,EAAE,SAAS,EAAE,WAAW,EAAE,SAAS,EAAE,MAAM,aAAa,CAAC;AAErE,OAAO,EAAE,mBAAmB,EAAE,kBAAkB,EAAE,MAAM,qBAAqB,CAAC;AAC9E,OAAO,EAAE,WAAW,EAAE,MAAM,mBAAmB,CAAC;AAChD,OAAO,EAAE,YAAY,EAAE,aAAa,EAAE,iBAAiB,EAAE,MAAM,oBAAoB,CAAC;AACpF,OAAO,EAAE,cAAc,EAAE,iBAAiB,EAAE,MAAM,2BAA2B,CAAC;AAC9E,YAAY,EAAE,aAAa,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC5D,YAAY,EACV,OAAO,EACP,aAAa,EACb,UAAU,EACV,KAAK,EACL,KAAK,EACL,WAAW,EACX,WAAW,EACX,QAAQ,EACR,MAAM,EACN,KAAK,EACL,WAAW,EACX,WAAW,EACX,KAAK,EACL,IAAI,EACJ,IAAI,EACJ,QAAQ,GACT,MAAM,YAAY,CAAC"}
package/dist/paid.d.ts ADDED
@@ -0,0 +1,40 @@
1
+ import type { PaymentReturn } from './backend.js';
2
+ export type PaidLang = 'en' | 'zh' | 'zh-Hant';
3
+ /** The reader's language from the browser's `Accept-Language`: Chinese, Simplified or Traditional, else English. */
4
+ export declare const paidLang: (header?: string | null) => PaidLang;
5
+ /** A Stripe Checkout page's id, as Stripe makes them. Anything else is never looked up. */
6
+ export declare const SESSION_ID: RegExp;
7
+ /** Every five seconds while the hotel is being asked: two minutes, then the conversation says the rest. */
8
+ export declare const REFRESH_S = 5;
9
+ export declare const ROUNDS = 24;
10
+ export type PaidAsk = {
11
+ brand: string;
12
+ /** What the backend says of a page - see `HotelBackend.paymentReturn`. */
13
+ lookup: (sessionId: string) => Promise<PaymentReturn | undefined>;
14
+ session?: string | null;
15
+ /** How many times the page has refreshed itself (`n`). */
16
+ round?: string | null;
17
+ acceptLanguage?: string | null;
18
+ /** The group's own test system, or a simulated copy of its system: a test booking, paid in test mode. */
19
+ env?: 'test' | 'sandbox';
20
+ logoUrl?: string;
21
+ logoDarkUrl?: string;
22
+ /** The group's primary colour, `#rrggbb`. */
23
+ color?: string;
24
+ };
25
+ /** The page, and its status: 404 for an address that names no payment here. */
26
+ export declare const paidAnswer: (a: PaidAsk) => Promise<{
27
+ status: 200 | 404;
28
+ html: string;
29
+ }>;
30
+ /** What the page is drawn from: no lookup, and a session only once it named a payment (or failed to be read). */
31
+ type Drawn = Pick<PaidAsk, 'brand' | 'env' | 'logoUrl' | 'logoDarkUrl' | 'color'> & {
32
+ lang: PaidLang;
33
+ round: number;
34
+ session?: string;
35
+ found?: PaymentReturn;
36
+ failed?: boolean;
37
+ };
38
+ export declare const paidPage: (d: Drawn) => string;
39
+ export {};
40
+ //# sourceMappingURL=paid.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paid.d.ts","sourceRoot":"","sources":["../src/paid.ts"],"names":[],"mappings":"AACA,OAAO,KAAK,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAkBlD,MAAM,MAAM,QAAQ,GAAG,IAAI,GAAG,IAAI,GAAG,SAAS,CAAC;AAE/C,oHAAoH;AACpH,eAAO,MAAM,QAAQ,GAAI,SAAS,MAAM,GAAG,IAAI,KAAG,QAqBjD,CAAC;AAEF,2FAA2F;AAC3F,eAAO,MAAM,UAAU,QAAwC,CAAC;AAEhE,2GAA2G;AAC3G,eAAO,MAAM,SAAS,IAAI,CAAC;AAC3B,eAAO,MAAM,MAAM,KAAK,CAAC;AAQzB,MAAM,MAAM,OAAO,GAAG;IACpB,KAAK,EAAE,MAAM,CAAC;IACd,0EAA0E;IAC1E,MAAM,EAAE,CAAC,SAAS,EAAE,MAAM,KAAK,OAAO,CAAC,aAAa,GAAG,SAAS,CAAC,CAAC;IAClE,OAAO,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACxB,0DAA0D;IAC1D,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IACtB,cAAc,CAAC,EAAE,MAAM,GAAG,IAAI,CAAC;IAC/B,yGAAyG;IACzG,GAAG,CAAC,EAAE,MAAM,GAAG,SAAS,CAAC;IACzB,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,WAAW,CAAC,EAAE,MAAM,CAAC;IACrB,6CAA6C;IAC7C,KAAK,CAAC,EAAE,MAAM,CAAC;CAChB,CAAC;AAEF,+EAA+E;AAC/E,eAAO,MAAM,UAAU,GAAU,GAAG,OAAO,KAAG,OAAO,CAAC;IAAE,MAAM,EAAE,GAAG,GAAG,GAAG,CAAC;IAAC,IAAI,EAAE,MAAM,CAAA;CAAE,CAuBxF,CAAC;AAEF,iHAAiH;AACjH,KAAK,KAAK,GAAG,IAAI,CAAC,OAAO,EAAE,OAAO,GAAG,KAAK,GAAG,SAAS,GAAG,aAAa,GAAG,OAAO,CAAC,GAAG;IAClF,IAAI,EAAE,QAAQ,CAAC;IACf,KAAK,EAAE,MAAM,CAAC;IACd,OAAO,CAAC,EAAE,MAAM,CAAC;IACjB,KAAK,CAAC,EAAE,aAAa,CAAC;IACtB,MAAM,CAAC,EAAE,OAAO,CAAC;CAClB,CAAC;AAWF,eAAO,MAAM,QAAQ,GAAI,GAAG,KAAK,KAAG,MAiNnC,CAAC"}
package/dist/paid.js ADDED
@@ -0,0 +1,257 @@
1
+ import { Converter } from 'opencc-js/cn2t';
2
+ import { formatMoney } from './money.js';
3
+ /** The reader's language from the browser's `Accept-Language`: Chinese, Simplified or Traditional, else English. */
4
+ export const paidLang = (header) => {
5
+ const asked = String(header ?? '')
6
+ .split(',')
7
+ .map((part, i) => {
8
+ const [tag = '', ...params] = part.trim().split(';');
9
+ const q = Number(params
10
+ .find((p) => p.trim().startsWith('q='))
11
+ ?.trim()
12
+ .slice(2) ?? 1);
13
+ return { tag: tag.trim().toLowerCase(), q: Number.isFinite(q) ? q : 0, i };
14
+ })
15
+ .filter((x) => x.tag && x.q > 0)
16
+ .sort((a, b) => b.q - a.q || a.i - b.i);
17
+ for (const { tag } of asked) {
18
+ if (tag === 'zh' || tag.startsWith('zh-'))
19
+ return /^zh-(hant|tw|hk|mo)\b/.test(tag) ? 'zh-Hant' : 'zh';
20
+ if (tag === 'en' || tag.startsWith('en-'))
21
+ return 'en';
22
+ }
23
+ return 'en';
24
+ };
25
+ /** A Stripe Checkout page's id, as Stripe makes them. Anything else is never looked up. */
26
+ export const SESSION_ID = /^cs_(test|live)_[A-Za-z0-9]{1,200}$/;
27
+ /** Every five seconds while the hotel is being asked: two minutes, then the conversation says the rest. */
28
+ export const REFRESH_S = 5;
29
+ export const ROUNDS = 24;
30
+ /**
31
+ * A page Stripe has just sent a payer to may not read as paid for a moment -
32
+ * the backend moves a page on at most once in ten seconds. "Not paid" is
33
+ * said once three looks have said it.
34
+ */
35
+ const UNPAID_ROUNDS = 3;
36
+ /** The page, and its status: 404 for an address that names no payment here. */
37
+ export const paidAnswer = async (a) => {
38
+ const page = {
39
+ brand: a.brand,
40
+ lang: paidLang(a.acceptLanguage),
41
+ round: Math.max(0, Math.min(ROUNDS, Math.floor(Number(a.round) || 0))),
42
+ ...(a.env ? { env: a.env } : {}),
43
+ ...(a.logoUrl ? { logoUrl: a.logoUrl } : {}),
44
+ ...(a.logoDarkUrl ? { logoDarkUrl: a.logoDarkUrl } : {}),
45
+ ...(a.color ? { color: a.color } : {}),
46
+ };
47
+ const session = String(a.session ?? '');
48
+ // Not one of Stripe's: never looked up, and said as nothing found.
49
+ if (!SESSION_ID.test(session))
50
+ return { status: 404, html: paidPage(page) };
51
+ let found;
52
+ try {
53
+ found = await a.lookup(session);
54
+ }
55
+ catch {
56
+ // Said as "cannot say yet", and looked at again - never the error itself.
57
+ return { status: 200, html: paidPage({ ...page, session, failed: true }) };
58
+ }
59
+ return found
60
+ ? { status: 200, html: paidPage({ ...page, session, found }) }
61
+ : { status: 404, html: paidPage(page) };
62
+ };
63
+ const hant = Converter({ from: 'cn', to: 'twp' });
64
+ /** A name keeps its own words - characters only (see names.ts). */
65
+ const hantName = Converter({ from: 'cn', to: 'tw' });
66
+ /** A hotel's mark of being simulated or a test - said once, by the page, not inside its name. */
67
+ const MARKED = /^\s*[【[]\s*(模拟|simulated|测试|test)\s*[】\]]\s*/i;
68
+ const hasCJK = (t) => /[㐀-鿿]/.test(t);
69
+ export const paidPage = (d) => {
70
+ const zh = d.lang !== 'en';
71
+ const say = (en, cn) => zh ? (d.lang === 'zh-Hant' ? hant(cn) : cn) : en;
72
+ // The group by its name in English; in Chinese, by its own where it is
73
+ // written in Chinese, else "the hotel" - never a Latin name mid-sentence.
74
+ const group = zh ? (hasCJK(d.brand) ? d.brand : say('', '酒店')) : d.brand;
75
+ const f = d.found;
76
+ const state = d.failed ? 'unknown' : f?.state;
77
+ const hotel = f ? hotelSaid(f, d.lang) : '';
78
+ const waiting = (state === 'booking' || state === 'unknown') && d.round < ROUNDS
79
+ ? true
80
+ : state === 'not-paid' && d.round < UNPAID_ROUNDS;
81
+ const words = !d.session
82
+ ? {
83
+ title: say('Payment not found', '找不到这笔付款'),
84
+ lead: say('This address does not match a payment here. Go back to the conversation: My bookings there shows your bookings.', '这个地址对不上这里的任何付款。回到对话,在“我的预订”里可以看到你的预订。'),
85
+ mark: 'stop',
86
+ }
87
+ : state === 'booked'
88
+ ? {
89
+ title: say('Booked', '预订成功'),
90
+ lead: say(`Paid, and ${group} has confirmed the booking.`, `已付款,${group}已确认这笔预订。`),
91
+ mark: 'ok',
92
+ }
93
+ : state === 'booking'
94
+ ? waiting
95
+ ? {
96
+ title: say('Paid — confirming your booking', '已付款,正在确认预订'),
97
+ lead: say(`${group} is being asked for the booking now. That usually takes under a minute, and this page updates itself.`, `正在向${group}提交预订,通常不到一分钟,这一页会自动刷新。`),
98
+ mark: 'wait',
99
+ }
100
+ : {
101
+ title: say('Paid — not confirmed yet', '已付款,还在等确认'),
102
+ lead: say(`${group} has not answered yet. If the booking cannot be made, the full amount goes back to your card. My bookings in the conversation shows where it stands.`, `${group}还没有回复。如果最终订不成,款项会全额退回原卡。对话里的“我的预订”会显示最新状态。`),
103
+ mark: 'wait',
104
+ }
105
+ : state === 'refunded'
106
+ ? {
107
+ title: say('Not booked — your money goes back', '没能订上,款项会退回'),
108
+ lead: say('This stay is not booked, and the full amount paid goes back to the card it was paid with.', '这次住宿没有订上,已付的全部款项会退回付款的那张卡。'),
109
+ mark: 'stop',
110
+ }
111
+ : state === 'not-paid'
112
+ ? waiting
113
+ ? {
114
+ title: say('Checking the payment', '正在核对付款'),
115
+ lead: say('If you have just paid, this takes a few seconds, and this page updates itself.', '如果你刚付完款,核对需要几秒钟,这一页会自动刷新。'),
116
+ mark: 'wait',
117
+ }
118
+ : {
119
+ title: say('Not paid', '没有付款'),
120
+ lead: say('This payment page was not paid, or it has closed - nothing was charged. Go back to the conversation to book again.', '这个付款页没有付款,或已经关闭,没有扣款。回到对话里可以重新预订。'),
121
+ mark: 'stop',
122
+ }
123
+ : {
124
+ title: say('Cannot say yet', '暂时无法确认'),
125
+ lead: waiting
126
+ ? say('Where this payment stands cannot be checked just now. This page tries again by itself.', '现在查不到这笔付款的状态,这一页会自动再试。')
127
+ : say('Where this payment stands cannot be checked just now. My bookings in the conversation shows it - and if the stay is not booked, the full amount goes back to your card.', '现在查不到这笔付款的状态。对话里的“我的预订”会显示;如果最终没有订上,款项会全额退回。'),
128
+ mark: 'wait',
129
+ };
130
+ const rows = f
131
+ ? [
132
+ ...(f.code ? [[say('Booking code', '预订号'), f.code]] : []),
133
+ [say('Hotel', '酒店'), hotel],
134
+ [say('Dates', '日期'), staySaid(f.stay, d.lang)],
135
+ [say('Room', '房型'), f.room],
136
+ [
137
+ state === 'refunded'
138
+ ? say('Goes back', '退回')
139
+ : state === 'booked' || state === 'booking'
140
+ ? say('Paid', '已付')
141
+ : say('Amount', '金额'),
142
+ formatMoney(f.amount),
143
+ ],
144
+ ]
145
+ : [];
146
+ const env = d.env
147
+ ? {
148
+ badge: d.env === 'test' ? say('Test system', '测试环境') : say('Simulated', '模拟'),
149
+ note: d.env === 'test'
150
+ ? say(`A test booking in ${d.brand}'s test system: no room is held for anyone, and it was paid in test mode with a test card - no real money moved.`, `这是${group}测试环境里的测试单,不给任何人留房;用测试卡在测试模式下付款,没有真实扣款。`)
151
+ : say(`A test booking in a simulated copy of ${d.brand}'s system, not a reservation: paid in test mode with a test card - no real money moved.`, `这是${group}系统模拟副本里的测试单,不是真实预订;用测试卡在测试模式下付款,没有真实扣款。`),
152
+ }
153
+ : undefined;
154
+ const refresh = waiting && d.session
155
+ ? `<meta http-equiv="refresh" content="${REFRESH_S};url=?session=${encodeURIComponent(d.session)}&amp;n=${d.round + 1}">`
156
+ : '';
157
+ const color = /^#[0-9a-f]{6}$/i.test(d.color ?? '') ? d.color : undefined;
158
+ const logo = d.logoUrl
159
+ ? `<picture>${d.logoDarkUrl ? `<source media="(prefers-color-scheme: dark)" srcset="${esc(d.logoDarkUrl)}">` : ''}<img class="logo" src="${esc(d.logoUrl)}" alt="${esc(d.brand)}"></picture>`
160
+ : `<span class="brand">${esc(d.brand)}</span>`;
161
+ const MARKS = {
162
+ ok: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.4" stroke-linecap="round" stroke-linejoin="round" aria-hidden="true"><path d="M5 12.5l4.5 4.5L19 7.5"/></svg>',
163
+ wait: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5V12l3 2"/></svg>',
164
+ stop: '<svg viewBox="0 0 24 24" fill="none" stroke="currentColor" stroke-width="2.2" stroke-linecap="round" aria-hidden="true"><circle cx="12" cy="12" r="8.5"/><path d="M12 7.5v5.5M12 16.2v.3"/></svg>',
165
+ };
166
+ const htmlLang = d.lang === 'zh' ? 'zh-CN' : d.lang === 'zh-Hant' ? 'zh-TW' : 'en';
167
+ return `<!doctype html>
168
+ <html lang="${htmlLang}"><head>
169
+ <meta charset="utf-8">
170
+ <meta name="viewport" content="width=device-width, initial-scale=1">
171
+ <meta name="robots" content="noindex, nofollow">
172
+ ${refresh}<title>${esc(words.title)} · ${esc(d.brand)}</title>
173
+ <style>
174
+ :root {
175
+ --bg: #f6f6f4; --card: #fff; --fg: #17171a; --soft: #62626b; --line: #e5e5e1;
176
+ --ok: #0f7b4f; --ok-bg: #e8f5ee; --wait: #8a5a00; --wait-bg: #fdf3e0;
177
+ --stop: #5b5b63; --stop-bg: #efeff1; --brand: ${color ?? '#17171a'};
178
+ }
179
+ @media (prefers-color-scheme: dark) {
180
+ :root {
181
+ --bg: #101014; --card: #18181d; --fg: #f2f2f4; --soft: #a2a2ab; --line: #2a2a31;
182
+ --ok: #59d49b; --ok-bg: #16281f; --wait: #e9b866; --wait-bg: #2a2114;
183
+ --stop: #b9b9c2; --stop-bg: #24242a; --brand: ${color ?? '#f2f2f4'};
184
+ }
185
+ }
186
+ * { box-sizing: border-box; }
187
+ body {
188
+ margin: 0; background: var(--bg); color: var(--fg);
189
+ font: 15px/1.6 -apple-system, BlinkMacSystemFont, "Segoe UI", "PingFang SC", "PingFang TC",
190
+ "Hiragino Sans GB", "Microsoft YaHei", sans-serif;
191
+ display: flex; align-items: center; justify-content: center;
192
+ min-height: 100vh; padding: 24px 16px; -webkit-font-smoothing: antialiased;
193
+ }
194
+ .card {
195
+ width: 100%; max-width: 460px; background: var(--card); border: 1px solid var(--line);
196
+ border-top: 4px solid var(--brand); border-radius: 18px; padding: 22px 24px 20px;
197
+ }
198
+ .top { display: flex; align-items: center; gap: 10px; padding-bottom: 18px; border-bottom: 1px solid var(--line); }
199
+ .logo { height: 28px; width: auto; display: block; }
200
+ .brand { font-weight: 760; letter-spacing: -0.01em; color: var(--brand); }
201
+ .env { margin-left: auto; font-size: 11.5px; font-weight: 650; padding: 3px 9px; border-radius: 999px;
202
+ background: var(--wait-bg); color: var(--wait); white-space: nowrap; }
203
+ .mark { width: 46px; height: 46px; margin: 22px 0 14px; border-radius: 999px; display: grid; place-items: center; }
204
+ .mark svg { width: 24px; height: 24px; }
205
+ .mark.ok { background: var(--ok-bg); color: var(--ok); }
206
+ .mark.wait { background: var(--wait-bg); color: var(--wait); }
207
+ .mark.stop { background: var(--stop-bg); color: var(--stop); }
208
+ h1 { margin: 0 0 6px; font-size: 21px; line-height: 1.3; letter-spacing: -0.01em; }
209
+ .lead { margin: 0; color: var(--soft); line-height: 1.7; }
210
+ dl { margin: 20px 0 0; padding: 14px 0 0; border-top: 1px solid var(--line);
211
+ display: grid; grid-template-columns: auto 1fr; gap: 12px 16px; font-size: 14px; }
212
+ dt { color: var(--soft); white-space: nowrap; }
213
+ dd { margin: 0; text-align: right; font-weight: 650; font-variant-numeric: tabular-nums; overflow-wrap: anywhere; }
214
+ .note { margin: 18px 0 0; padding: 12px 13px; border-radius: 12px; background: var(--wait-bg);
215
+ color: var(--wait); font-size: 13.5px; line-height: 1.7; }
216
+ .hint { margin: 18px 0 0; color: var(--soft); font-size: 13px; text-align: center; }
217
+ .links { margin: 14px 0 0; font-size: 12px; text-align: center; color: var(--soft); }
218
+ .links a { color: inherit; }
219
+ </style>
220
+ </head><body>
221
+ <main class="card">
222
+ <div class="top">${logo}${env ? `<span class="env">${esc(env.badge)}</span>` : ''}</div>
223
+ <div class="mark ${words.mark}">${MARKS[words.mark]}</div>
224
+ <h1>${esc(words.title)}</h1>
225
+ <p class="lead">${esc(words.lead)}</p>
226
+ ${rows.length ? `<dl>${rows.map(([k, v]) => `<dt>${esc(k)}</dt><dd>${esc(v)}</dd>`).join('')}</dl>` : ''}
227
+ ${env && f ? `<p class="note">${esc(env.note)}</p>` : ''}
228
+ <p class="hint">${esc(say('You can close this page and go back to the conversation - My bookings there shows this booking.', '可以关掉这一页回到对话,在“我的预订”里能看到这笔预订。'))}</p>
229
+ <p class="links"><a href="./docs">${esc(say('What this does', '说明'))}</a> · <a href="./privacy">${esc(say('Privacy', '隐私'))}</a> · <a href="./terms">${esc(say('Terms', '条款'))}</a></p>
230
+ </main>
231
+ </body></html>
232
+ `;
233
+ };
234
+ /** The hotel in the reader's language where the group gave one - its mark said by the page, not the name. */
235
+ const hotelSaid = (f, lang) => {
236
+ const n = f.hotelNames;
237
+ const name = lang === 'zh'
238
+ ? (n?.zh ?? f.hotelName)
239
+ : lang === 'zh-Hant'
240
+ ? (n?.['zh-Hant'] ?? hantName(n?.zh ?? f.hotelName))
241
+ : (n?.en ?? f.hotelName);
242
+ return name.replace(MARKED, '');
243
+ };
244
+ /** "Sun 25 Oct → Tue 27 Oct · 2 nights" / "10月25日周日 至 10月27日周二 · 2 晚" - the hotel's own dates, never moved by a clock. */
245
+ const staySaid = (s, lang) => {
246
+ const at = (iso) => new Date(`${iso}T00:00:00Z`);
247
+ const fmt = new Intl.DateTimeFormat(lang === 'zh' ? 'zh-CN' : lang === 'zh-Hant' ? 'zh-TW' : 'en-GB', { weekday: 'short', day: 'numeric', month: 'short', timeZone: 'UTC' });
248
+ const nights = Math.round((at(s.checkOut).getTime() - at(s.checkIn).getTime()) / 86_400_000);
249
+ const valid = Number.isFinite(nights) && nights > 0;
250
+ if (!valid)
251
+ return `${s.checkIn} – ${s.checkOut}`;
252
+ return lang === 'en'
253
+ ? `${fmt.format(at(s.checkIn))} → ${fmt.format(at(s.checkOut))} · ${nights} ${nights === 1 ? 'night' : 'nights'}`
254
+ : `${fmt.format(at(s.checkIn))} 至 ${fmt.format(at(s.checkOut))} · ${nights} 晚`;
255
+ };
256
+ const esc = (s) => String(s ?? '').replace(/[&<>"']/g, (c) => c === '&' ? '&amp;' : c === '<' ? '&lt;' : c === '>' ? '&gt;' : c === '"' ? '&quot;' : '&#39;');
257
+ //# sourceMappingURL=paid.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"paid.js","sourceRoot":"","sources":["../src/paid.ts"],"names":[],"mappings":"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"}
@@ -2,8 +2,14 @@ import type { Checkout, CheckoutState, OpenedCheckout, PaymentMethod } from './c
2
2
  export type StripeCheckoutOptions = {
3
3
  /** A Stripe secret key in test mode: `sk_test_…`. */
4
4
  apiKey: string;
5
- /** Where Stripe sends the guest back after paying, or after turning back. */
5
+ /** Where Stripe sends the guest back after turning back - and after paying, without `successUrl`. */
6
6
  returnUrl: string;
7
+ /**
8
+ * Where a guest who paid lands, as Stripe takes it: `{CHECKOUT_SESSION_ID}`
9
+ * in it becomes the page's id (Stripe's own placeholder) - the booking's
10
+ * landing page.
11
+ */
12
+ successUrl?: string;
7
13
  fetch?: typeof fetch;
8
14
  timeoutMs?: number;
9
15
  /** Stripe's API - a test's fake answers in its place. */
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-checkout.d.ts","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,qBAAqB,GAAG;IAClC,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,6EAA6E;IAC7E,SAAS,EAAE,MAAM,CAAC;IAClB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AA6BF,qBAAa,cAAe,YAAW,QAAQ;IAKjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,IAAI,EAAE,qBAAqB;YAW1C,IAAI;IAkClB,sEAAsE;IAChE,IAAI,CAAC,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgDrB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMtD,oFAAoF;IAC9E,UAAU,CACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAUjE,0GAA0G;IACpG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBtD,8DAA8D;IACxD,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBjD,4FAA4F;IACtF,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAczE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOtD"}
1
+ {"version":3,"file":"stripe-checkout.d.ts","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"AAaA,OAAO,KAAK,EAAE,QAAQ,EAAE,aAAa,EAAE,cAAc,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAG5F,MAAM,MAAM,qBAAqB,GAAG;IAClC,qDAAqD;IACrD,MAAM,EAAE,MAAM,CAAC;IACf,qGAAqG;IACrG,SAAS,EAAE,MAAM,CAAC;IAClB;;;;OAIG;IACH,UAAU,CAAC,EAAE,MAAM,CAAC;IACpB,KAAK,CAAC,EAAE,OAAO,KAAK,CAAC;IACrB,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,yDAAyD;IACzD,OAAO,CAAC,EAAE,MAAM,CAAC;CAClB,CAAC;AA6BF,qBAAa,cAAe,YAAW,QAAQ;IAKjC,OAAO,CAAC,QAAQ,CAAC,IAAI;IAJjC,QAAQ,CAAC,MAAM,EAAE,aAAa,CAAU;IACxC,OAAO,CAAC,QAAQ,CAAC,KAAK,CAAe;IACrC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAS;gBAED,IAAI,EAAE,qBAAqB;YAW1C,IAAI;IAkClB,sEAAsE;IAChE,IAAI,CAAC,CAAC,EAAE;QACZ,GAAG,EAAE,MAAM,CAAC;QACZ,IAAI,CAAC,EAAE,MAAM,CAAC;QACd,KAAK,EAAE,MAAM,CAAC;QACd,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,EAAE,MAAM,CAAC;QACjB,KAAK,CAAC,EAAE,MAAM,CAAC;KAChB,GAAG,OAAO,CAAC,cAAc,CAAC;IAgDrB,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAMtD,oFAAoF;IAC9E,UAAU,CACd,SAAS,EAAE,MAAM,GAChB,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,QAAQ,EAAE,MAAM,CAAA;KAAE,GAAG,SAAS,CAAC;IAUjE,0GAA0G;IACpG,KAAK,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,CAAC;IAgBtD,8DAA8D;IACxD,MAAM,CACV,SAAS,EAAE,MAAM,EACjB,MAAM,EAAE,MAAM,EACd,GAAG,CAAC,EAAE,MAAM,GACX,OAAO,CAAC;QAAE,SAAS,EAAE,MAAM,CAAC;QAAC,MAAM,EAAE,MAAM,CAAA;KAAE,CAAC;IAyBjD,4FAA4F;IACtF,QAAQ,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,GAAG,OAAO,CAAC,IAAI,CAAC;IAczE,WAAW,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC;CAOtD"}
@@ -106,7 +106,7 @@ export class StripeCheckout {
106
106
  'payment_intent_data[metadata][ref]': o.ref,
107
107
  ...ids,
108
108
  ...(prefill ? { customer_email: email } : {}),
109
- success_url: `${back}${back.includes('?') ? '&' : '?'}paid=1`,
109
+ success_url: this.opts.successUrl ?? `${back}${back.includes('?') ? '&' : '?'}paid=1`,
110
110
  cancel_url: back,
111
111
  expires_at: String(Math.floor(Date.now() / 1000) + PAGE_LIFE_S),
112
112
  },
@@ -1 +1 @@
1
- {"version":3,"file":"stripe-checkout.js","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"stripe-checkout.js","sourceRoot":"","sources":["../../src/payments/stripe-checkout.ts"],"names":[],"mappings":"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"}
package/dist/server.d.ts CHANGED
@@ -28,7 +28,7 @@ export declare const INITIALIZE_PER_MINUTE = 300;
28
28
  * number. Found by reading the boot banner of a container that had just been
29
29
  * deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
30
30
  */
31
- export declare const VERSION = "0.36.1";
31
+ export declare const VERSION = "0.37.0";
32
32
  /**
33
33
  * The card's resource URI.
34
34
  *
@@ -1 +1 @@
1
- {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"server.d.ts","sourceRoot":"","sources":["../src/server.ts"],"names":[],"mappings":"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"}
package/dist/server.js CHANGED
@@ -10,6 +10,7 @@ import { HOTEL_CARD_HTML } from './card.generated.js';
10
10
  import { docsPage, privacyPage, termsPage } from './legal.js';
11
11
  import { Misses, WindowCounter } from './limits.js';
12
12
  import { MemberStore } from './members.js';
13
+ import { paidAnswer } from './paid.js';
13
14
  import { Sessions } from './sessions.js';
14
15
  import { StateDir } from './state.js';
15
16
  import { makeSupplier } from './supplier.js';
@@ -46,7 +47,7 @@ export const INITIALIZE_PER_MINUTE = 300;
46
47
  * number. Found by reading the boot banner of a container that had just been
47
48
  * deployed (2026-09-22): seventeen tools listed, and "0.7.0" above them.
48
49
  */
49
- export const VERSION = '0.36.1';
50
+ export const VERSION = '0.37.0';
50
51
  /**
51
52
  * The card's resource URI.
52
53
  *
@@ -361,6 +362,38 @@ export const buildServer = (opts) => {
361
362
  app.get('/docs', (c) => c.html(docsPage(config, caps)));
362
363
  app.get('/privacy', (c) => c.html(privacyPage(config, made.imageDomains(), caps, state.persisted)));
363
364
  app.get('/terms', (c) => c.html(termsPage(config, caps)));
365
+ // Where a guest lands from the payment page, paid (robin, 2026-10-15) - see
366
+ // paid.ts. Only where something is paid in advance: the backend's
367
+ // `paymentReturn` says what became of the stay, and moves it on itself.
368
+ const landing = backend.paymentReturn?.bind(backend);
369
+ if (landing) {
370
+ app.get('/paid', async (c) => {
371
+ const page = await paidAnswer({
372
+ brand: config.brand,
373
+ lookup: landing,
374
+ session: c.req.query('session'),
375
+ round: c.req.query('n'),
376
+ acceptLanguage: c.req.header('accept-language'),
377
+ ...(brand.vocab.test
378
+ ? { env: 'test' }
379
+ : brand.vocab.sandbox
380
+ ? { env: 'sandbox' }
381
+ : {}),
382
+ ...(logoUrl ? { logoUrl } : {}),
383
+ ...(logoDarkUrl ? { logoDarkUrl } : {}),
384
+ ...((deps.primary?.color ?? deps.accent)
385
+ ? { color: deps.primary?.color ?? deps.accent }
386
+ : {}),
387
+ });
388
+ return c.html(page.html, page.status, {
389
+ // Its state, now: never kept, never passed on with the page's id in it.
390
+ 'cache-control': 'no-store',
391
+ 'referrer-policy': 'no-referrer',
392
+ 'x-robots-tag': 'noindex, nofollow',
393
+ 'content-security-policy': "default-src 'none'; img-src 'self' https: data:; style-src 'unsafe-inline'; base-uri 'none'; form-action 'none'; frame-ancestors 'none'",
394
+ });
395
+ });
396
+ }
364
397
  // ⚠️ TWO HEALTH ANSWERS. `/healthz` is public (the deploy gate reads it
365
398
  // through Caddy) and says only what is running; how many trips, sign-ins and
366
399
  // bookings there are - and whether one needs a person - is business volume,