@waffo/pancake-ts 0.1.7 → 0.2.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.
package/CHANGELOG.md CHANGED
@@ -4,6 +4,36 @@ All notable changes to `@waffo/pancake-ts` will be documented in this file.
4
4
 
5
5
  Format follows [Keep a Changelog](https://keepachangelog.com/en/1.1.0/), versioning follows [Semantic Versioning](https://semver.org/spec/v2.0.0.html).
6
6
 
7
+ ## [0.2.0] - 2026-04-02
8
+
9
+ ### Added
10
+
11
+ - **Checkout convenience methods** — `client.checkout.authenticated.create()` and `client.checkout.anonymous.create()` wrap the full checkout flow into a single call. Authenticated mode issues a session token, creates a checkout session, and returns a URL with the token appended as a URL fragment. Anonymous mode creates a session directly.
12
+ - **Buyer self-service** — `client.buyer(token)` creates a session-token-authenticated buyer session with methods: `cancelSubscription()`, `cancelOnetimeOrder()`, `reactivateSubscription()`, `createRefundTicket()`, `resubmitRefundTicket()`, and `graphql.query()`.
13
+ - **Types** — `AuthenticatedCheckoutParams`, `AuthenticatedCheckoutResult`, `AnonymousCheckoutParams`, `CancelOnetimeOrderParams`, `CancelOnetimeOrderResult`, `ReactivateSubscriptionParams`, `ReactivateSubscriptionResult`, `CreateRefundTicketParams`, `ResubmitRefundTicketParams`, `RefundTicket`, `RequestedAmount`
14
+ - **Resources** — `CheckoutAnonymousResource`, `CheckoutAuthenticatedResource`, `BuyerSession`, `BuyerHttpClient`
15
+
16
+ ### Changed
17
+
18
+ - **Base URL** — Default API endpoint changed from `waffo-pancake-auth-service.vercel.app` to `api.waffo.ai`
19
+ - **Package** — `docs/` directory now included in npm package (`files` field)
20
+ - **Docs** — `docs/api-reference.md` synced with endpoint docs: fixed `storeId` required status, added `BillingDetail` conditional field rules, fixed price amount format (display string, not integer), added subscription product group UUID note, added Buyer Self-Service section
21
+ - **Docs** — `docs/graphql-guide.md` rewritten: corrected query names (`onetimeOrders` / `subscriptionOrders`), added product version queries, exchange rate query, webhook/email delivery log queries, 9 analytics queries (`orderStatistics`, `paymentStatistics`, `productStatistics`, `trendAnalysis`, `distributionAnalysis`, `customerAnalysis`, `taxAnalysis`, `subscriptionAnalysis`, `refundTicketAnalysis`), updated count query list and filter examples
22
+ - **Docs** — `docs/webhook-guide.md` fixed `amount` / `taxAmount` type from `number` to `string` (display format), added retry mechanism section with delivery status table
23
+ - **README** — Reorganized by use-case priority (checkout → webhooks → buyer self-service → GraphQL → programmatic management), added checkout mode comparison and recommendation rationale
24
+
25
+ ## [0.1.8] - 2026-03-20
26
+
27
+ ### Added
28
+
29
+ - **Types** — `UpdateStoreParams` adds optional `supportEmail` and `website` fields (`string | null`) with JSDoc
30
+ - **Types** — `ErrorLayer` enum adds `Ticket = "ticket"` value
31
+
32
+ ### Changed
33
+
34
+ - **Resources** — All resource method calls now use explicit generic type parameters (`http.post<T>()`) for improved type safety
35
+ - **README** — Corrected Node requirement to "Node >= 20" and build output to "ESM + CJS"
36
+
7
37
  ## [0.1.7] - 2026-03-20
8
38
 
9
39
  ### Added
@@ -29,7 +59,7 @@ Remove `taxIncluded` from all `PriceInfo` / `Prices` objects:
29
59
 
30
60
  ```diff
31
61
  const { product } = await client.onetimeProducts.create({
32
- storeId: "store_xxx",
62
+ storeId: "STO_xxx",
33
63
  name: "My Product",
34
64
  prices: {
35
65
  - USD: { amount: 2900, taxIncluded: false, taxCategory: "digital_goods" },
@@ -42,7 +72,7 @@ Remove `isPublic` from `stores.update()` calls:
42
72
 
43
73
  ```diff
44
74
  const { store } = await client.stores.update({
45
- id: "store_xxx",
75
+ id: "STO_xxx",
46
76
  - isPublic: true,
47
77
  name: "Updated Name",
48
78
  });