@tagadapay/headless-sdk 1.1.0 → 1.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/dist/core/client.d.ts +2 -5
- package/dist/core/client.d.ts.map +1 -1
- package/dist/core/client.js +1 -3
- package/dist/core/client.js.map +1 -1
- package/dist/core/index.d.ts +1 -2
- package/dist/core/index.d.ts.map +1 -1
- package/dist/core/index.js +0 -1
- package/dist/core/index.js.map +1 -1
- package/dist/core/modules/checkout.d.ts +15 -8
- package/dist/core/modules/checkout.d.ts.map +1 -1
- package/dist/core/modules/checkout.js +50 -14
- package/dist/core/modules/checkout.js.map +1 -1
- package/dist/core/modules/offers.d.ts +64 -23
- package/dist/core/modules/offers.d.ts.map +1 -1
- package/dist/core/modules/offers.js +70 -33
- package/dist/core/modules/offers.js.map +1 -1
- package/dist/core/types.d.ts +26 -16
- package/dist/core/types.d.ts.map +1 -1
- package/dist/react/hooks/useCheckout.d.ts +1 -1
- package/dist/react/hooks/useCheckout.d.ts.map +1 -1
- package/dist/react/hooks/useCheckout.js +61 -16
- package/dist/react/hooks/useCheckout.js.map +1 -1
- package/dist/react/hooks/useOffers.d.ts +63 -22
- package/dist/react/hooks/useOffers.d.ts.map +1 -1
- package/dist/react/hooks/useOffers.js +36 -52
- package/dist/react/hooks/useOffers.js.map +1 -1
- package/dist/react/index.d.ts +1 -3
- package/dist/react/index.d.ts.map +1 -1
- package/dist/react/index.js +0 -1
- package/dist/react/index.js.map +1 -1
- package/dist/tagada-headless-react.min.js +2 -2
- package/dist/tagada-headless-react.min.js.map +4 -4
- package/dist/tagada-headless.js +127 -311
- package/dist/tagada-headless.min.js +2 -2
- package/dist/tagada-headless.min.js.map +4 -4
- package/package.json +3 -3
- package/dist/core/modules/analytics.d.ts +0 -79
- package/dist/core/modules/analytics.d.ts.map +0 -1
- package/dist/core/modules/analytics.js +0 -265
- package/dist/core/modules/analytics.js.map +0 -1
- package/dist/react/hooks/useAnalytics.d.ts +0 -59
- package/dist/react/hooks/useAnalytics.d.ts.map +0 -1
- package/dist/react/hooks/useAnalytics.js +0 -49
- package/dist/react/hooks/useAnalytics.js.map +0 -1
package/dist/core/client.d.ts
CHANGED
|
@@ -1,6 +1,5 @@
|
|
|
1
1
|
import { CheckoutModule } from './modules/checkout.js';
|
|
2
2
|
import { PaymentModule } from './modules/payment.js';
|
|
3
|
-
import { AnalyticsModule } from './modules/analytics.js';
|
|
4
3
|
import { OffersModule } from './modules/offers.js';
|
|
5
4
|
import { CustomerModule } from './modules/customer.js';
|
|
6
5
|
import { CatalogModule } from './modules/catalog.js';
|
|
@@ -8,7 +7,7 @@ import type { HeadlessConfig } from './types.js';
|
|
|
8
7
|
/**
|
|
9
8
|
* Main entry point for the TagadaPay Headless SDK.
|
|
10
9
|
*
|
|
11
|
-
* Composes all domain modules (checkout, payment,
|
|
10
|
+
* Composes all domain modules (checkout, payment, offers, customer, catalog)
|
|
12
11
|
* over a single lightweight HTTP client built on native fetch.
|
|
13
12
|
*/
|
|
14
13
|
export declare class HeadlessClient {
|
|
@@ -20,9 +19,7 @@ export declare class HeadlessClient {
|
|
|
20
19
|
readonly checkout: CheckoutModule;
|
|
21
20
|
/** Payment processing -- setup config, APMs, tokenize, pay, 3DS, poll. */
|
|
22
21
|
readonly payment: PaymentModule;
|
|
23
|
-
/**
|
|
24
|
-
readonly analytics: AnalyticsModule;
|
|
25
|
-
/** Post-purchase offers -- load, accept, decline upsells and order bumps. */
|
|
22
|
+
/** Offers -- preview, pay, accept/decline upsells and order bumps. */
|
|
26
23
|
readonly offers: OffersModule;
|
|
27
24
|
/** Customer data -- profile, orders, subscriptions. */
|
|
28
25
|
readonly customer: CustomerModule;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.d.ts","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AACA,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,KAAK,EAAE,cAAc,EAAe,MAAM,YAAY,CAAC;AAE9D;;;;;GAKG;AACH,qBAAa,cAAc;IACzB,QAAQ,CAAC,MAAM,EAAE,QAAQ,CAAC,IAAI,CAAC,cAAc,EAAE,SAAS,GAAG,aAAa,CAAC,CAAC,GAAG,cAAc,CAAC;IAE5F,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAa;IAElC,4EAA4E;IAC5E,OAAO,CAAC,aAAa,CAAqB;IAE1C,gFAAgF;IAChF,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,0EAA0E;IAC1E,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;IAEhC,sEAAsE;IACtE,QAAQ,CAAC,MAAM,EAAE,YAAY,CAAC;IAE9B,uDAAuD;IACvD,QAAQ,CAAC,QAAQ,EAAE,cAAc,CAAC;IAElC,8DAA8D;IAC9D,QAAQ,CAAC,OAAO,EAAE,aAAa,CAAC;gBAEpB,MAAM,EAAE,cAAc;IA6BlC,0EAA0E;IAC1E,eAAe,CAAC,KAAK,EAAE,MAAM;CAG9B;AAED;;;;;;;;;;;;;;GAcG;AACH,wBAAgB,oBAAoB,CAAC,MAAM,EAAE,cAAc,GAAG,cAAc,CAE3E"}
|
package/dist/core/client.js
CHANGED
|
@@ -1,14 +1,13 @@
|
|
|
1
1
|
import { HttpClient } from './http.js';
|
|
2
2
|
import { CheckoutModule } from './modules/checkout.js';
|
|
3
3
|
import { PaymentModule } from './modules/payment.js';
|
|
4
|
-
import { AnalyticsModule } from './modules/analytics.js';
|
|
5
4
|
import { OffersModule } from './modules/offers.js';
|
|
6
5
|
import { CustomerModule } from './modules/customer.js';
|
|
7
6
|
import { CatalogModule } from './modules/catalog.js';
|
|
8
7
|
/**
|
|
9
8
|
* Main entry point for the TagadaPay Headless SDK.
|
|
10
9
|
*
|
|
11
|
-
* Composes all domain modules (checkout, payment,
|
|
10
|
+
* Composes all domain modules (checkout, payment, offers, customer, catalog)
|
|
12
11
|
* over a single lightweight HTTP client built on native fetch.
|
|
13
12
|
*/
|
|
14
13
|
export class HeadlessClient {
|
|
@@ -32,7 +31,6 @@ export class HeadlessClient {
|
|
|
32
31
|
};
|
|
33
32
|
this.checkout = new CheckoutModule(this.http, this.config.storeId, setToken);
|
|
34
33
|
this.payment = new PaymentModule(this.http, this.config.storeId, environment);
|
|
35
|
-
this.analytics = new AnalyticsModule(this.http, this.config.storeId);
|
|
36
34
|
this.offers = new OffersModule(this.http, this.config.storeId);
|
|
37
35
|
this.customer = new CustomerModule(this.http, this.config.storeId);
|
|
38
36
|
this.catalog = new CatalogModule(this.http, this.config.storeId);
|
package/dist/core/client.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"client.js","sourceRoot":"","sources":["../../src/core/client.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AACvC,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAGrD;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAuBzB,YAAY,MAAsB;QAChC,MAAM,WAAW,GAAgB,MAAM,CAAC,WAAW,IAAI,YAAY,CAAC;QACpE,MAAM,OAAO,GAAG,UAAU,CAAC,cAAc,CAAC,WAAW,EAAE,MAAM,CAAC,OAAO,CAAC,CAAC;QAEvE,IAAI,CAAC,MAAM,GAAG;YACZ,GAAG,MAAM;YACT,WAAW;YACX,OAAO;YACP,OAAO,EAAE,MAAM,CAAC,OAAO,IAAI,KAAM;SAClC,CAAC;QAEF,IAAI,CAAC,IAAI,GAAG,IAAI,UAAU,CAAC;YACzB,OAAO;YACP,OAAO,EAAE,IAAI,CAAC,MAAM,CAAC,OAAQ;YAC7B,MAAM,EAAE,MAAM,CAAC,MAAM;YACrB,QAAQ,EAAE,GAAG,EAAE,CAAC,IAAI,CAAC,aAAa;SACnC,CAAC,CAAC;QAEH,MAAM,QAAQ,GAAG,CAAC,KAAa,EAAE,EAAE;YACjC,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;QAC7B,CAAC,CAAC;QAEF,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,QAAQ,CAAC,CAAC;QAC7E,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,EAAE,WAAW,CAAC,CAAC;QAC9E,IAAI,CAAC,MAAM,GAAG,IAAI,YAAY,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QAC/D,IAAI,CAAC,QAAQ,GAAG,IAAI,cAAc,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;QACnE,IAAI,CAAC,OAAO,GAAG,IAAI,aAAa,CAAC,IAAI,CAAC,IAAI,EAAE,IAAI,CAAC,MAAM,CAAC,OAAO,CAAC,CAAC;IACnE,CAAC;IAED,0EAA0E;IAC1E,eAAe,CAAC,KAAa;QAC3B,IAAI,CAAC,aAAa,GAAG,KAAK,CAAC;IAC7B,CAAC;CACF;AAED;;;;;;;;;;;;;;GAcG;AACH,MAAM,UAAU,oBAAoB,CAAC,MAAsB;IACzD,OAAO,IAAI,cAAc,CAAC,MAAM,CAAC,CAAC;AACpC,CAAC"}
|
package/dist/core/index.d.ts
CHANGED
|
@@ -1,11 +1,10 @@
|
|
|
1
1
|
export { HeadlessClient, createHeadlessClient } from './client.js';
|
|
2
2
|
export { CheckoutModule } from './modules/checkout.js';
|
|
3
3
|
export { PaymentModule } from './modules/payment.js';
|
|
4
|
-
export { AnalyticsModule } from './modules/analytics.js';
|
|
5
4
|
export { OffersModule } from './modules/offers.js';
|
|
6
5
|
export { CustomerModule } from './modules/customer.js';
|
|
7
6
|
export { CatalogModule } from './modules/catalog.js';
|
|
8
7
|
export { HttpClient } from './http.js';
|
|
9
8
|
export { TagadaError, TagadaAuthError, TagadaValidationError, TagadaNotFoundError, TagadaRateLimitError, TagadaPaymentError, TagadaNetworkError, } from './errors.js';
|
|
10
|
-
export type { Environment, HeadlessConfig, HttpRequestOptions, LineItem, CheckoutSession, CheckoutLineItem, CheckoutTotals, CheckoutCustomer, Address, ShippingRate, PaymentMethodConfig, PaymentSetupConfig, ExpressMethod, ExpressMethods, StoreConfig, PayResult, PayOptions, PayDirectOptions, CreateInstrumentOptions, PaymentInstrument, ThreedsSession, PaymentStatus,
|
|
9
|
+
export type { Environment, HeadlessConfig, HttpRequestOptions, LineItem, CheckoutSession, CheckoutLineItem, CheckoutTotals, CheckoutCustomer, Address, ShippingRate, PaymentMethodConfig, PaymentSetupConfig, ExpressMethod, ExpressMethods, StoreConfig, PayResult, PayOptions, PayDirectOptions, CreateInstrumentOptions, PaymentInstrument, ThreedsSession, PaymentStatus, Offer, OfferLineItem, OfferPreview, OfferPreviewItem, OfferPayResult, Customer, Order, OrderItem, Subscription, CatalogProduct, CatalogVariant, CatalogPrice, CurrencyOption, } from './types.js';
|
|
11
10
|
//# sourceMappingURL=index.d.ts.map
|
package/dist/core/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC;AAErB,YAAY,EACV,WAAW,EACX,cAAc,EACd,kBAAkB,EAClB,QAAQ,EACR,eAAe,EACf,gBAAgB,EAChB,cAAc,EACd,gBAAgB,EAChB,OAAO,EACP,YAAY,EACZ,mBAAmB,EACnB,kBAAkB,EAClB,aAAa,EACb,cAAc,EACd,WAAW,EACX,SAAS,EACT,UAAU,EACV,gBAAgB,EAChB,uBAAuB,EACvB,iBAAiB,EACjB,cAAc,EACd,aAAa,EACb,KAAK,EACL,aAAa,EACb,YAAY,EACZ,gBAAgB,EAChB,cAAc,EACd,QAAQ,EACR,KAAK,EACL,SAAS,EACT,YAAY,EACZ,cAAc,EACd,cAAc,EACd,YAAY,EACZ,cAAc,GACf,MAAM,YAAY,CAAC"}
|
package/dist/core/index.js
CHANGED
|
@@ -1,7 +1,6 @@
|
|
|
1
1
|
export { HeadlessClient, createHeadlessClient } from './client.js';
|
|
2
2
|
export { CheckoutModule } from './modules/checkout.js';
|
|
3
3
|
export { PaymentModule } from './modules/payment.js';
|
|
4
|
-
export { AnalyticsModule } from './modules/analytics.js';
|
|
5
4
|
export { OffersModule } from './modules/offers.js';
|
|
6
5
|
export { CustomerModule } from './modules/customer.js';
|
|
7
6
|
export { CatalogModule } from './modules/catalog.js';
|
package/dist/core/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/core/index.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,cAAc,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AAEnE,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AACrD,OAAO,EAAE,YAAY,EAAE,MAAM,qBAAqB,CAAC;AACnD,OAAO,EAAE,cAAc,EAAE,MAAM,uBAAuB,CAAC;AACvD,OAAO,EAAE,aAAa,EAAE,MAAM,sBAAsB,CAAC;AAErD,OAAO,EAAE,UAAU,EAAE,MAAM,WAAW,CAAC;AAEvC,OAAO,EACL,WAAW,EACX,eAAe,EACf,qBAAqB,EACrB,mBAAmB,EACnB,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,GACnB,MAAM,aAAa,CAAC"}
|
|
@@ -43,21 +43,28 @@ export declare class CheckoutModule {
|
|
|
43
43
|
}>;
|
|
44
44
|
/** Replace the cart items for an existing session. */
|
|
45
45
|
updateCart(sessionId: string, items: LineItem[]): Promise<CheckoutSession>;
|
|
46
|
-
/**
|
|
47
|
-
|
|
48
|
-
|
|
46
|
+
/**
|
|
47
|
+
* Update customer + address information on the session.
|
|
48
|
+
* Uses the combined endpoint with `partial: true` so missing fields are tolerated.
|
|
49
|
+
*/
|
|
50
|
+
updateCustomer(sessionId: string, customer: Partial<CheckoutCustomer>): Promise<void>;
|
|
51
|
+
/**
|
|
52
|
+
* Update shipping and/or billing address on the session.
|
|
53
|
+
*
|
|
54
|
+
* Address fields use the API's naming: `address1`, `postal`, etc.
|
|
55
|
+
*/
|
|
49
56
|
updateAddress(sessionId: string, addresses: {
|
|
50
57
|
shippingAddress?: Address;
|
|
51
58
|
billingAddress?: Address;
|
|
52
|
-
}): Promise<
|
|
59
|
+
}): Promise<void>;
|
|
53
60
|
/** Apply a promotion code to the session. */
|
|
54
|
-
applyPromoCode(sessionId: string, code: string): Promise<
|
|
55
|
-
/** Remove the
|
|
56
|
-
removePromoCode(sessionId: string): Promise<
|
|
61
|
+
applyPromoCode(sessionId: string, code: string): Promise<void>;
|
|
62
|
+
/** Remove a promotion from the session by promotion ID. */
|
|
63
|
+
removePromoCode(sessionId: string, promotionId?: string): Promise<void>;
|
|
57
64
|
/** Fetch available shipping rates for the session's address. */
|
|
58
65
|
getShippingRates(sessionId: string): Promise<ShippingRate[]>;
|
|
59
66
|
/** Select a shipping rate for the session. */
|
|
60
|
-
selectShippingRate(sessionId: string, rateId: string): Promise<
|
|
67
|
+
selectShippingRate(sessionId: string, rateId: string): Promise<void>;
|
|
61
68
|
/**
|
|
62
69
|
* Normalize the raw v2 API response into a cleaner CheckoutSession shape.
|
|
63
70
|
* The raw response has nested `checkoutSession` + `summary` -- we flatten it.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB;;;;;GAKG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IALjC,OAAO,CAAC,YAAY,CAAqB;gBAGtB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,aAAA;IAG1D;;;;;;;;OAQG;IACG,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBzF;;;;;OAKG;IACG,aAAa,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;
|
|
1
|
+
{"version":3,"file":"checkout.d.ts","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EACV,eAAe,EACf,QAAQ,EACR,YAAY,EACZ,OAAO,EACP,gBAAgB,EACjB,MAAM,aAAa,CAAC;AAErB;;;;;GAKG;AACH,qBAAa,cAAc;IAIvB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;IACxB,OAAO,CAAC,QAAQ,CAAC,aAAa,CAAC;IALjC,OAAO,CAAC,YAAY,CAAqB;gBAGtB,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM,EACf,aAAa,CAAC,GAAE,CAAC,KAAK,EAAE,MAAM,KAAK,IAAI,aAAA;IAG1D;;;;;;;;OAQG;IACG,WAAW,CAAC,aAAa,EAAE,MAAM,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC;IAiBzF;;;;;OAKG;IACG,aAAa,CAAC,IAAI,EAAE;QACxB,KAAK,EAAE,QAAQ,EAAE,CAAC;QAClB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,aAAa,CAAC,EAAE,MAAM,CAAC;QACvB,iBAAiB,CAAC,EAAE,MAAM,CAAC;QAC3B,gBAAgB,CAAC,EAAE,MAAM,CAAC;KAC3B,GAAG,OAAO,CAAC;QAAE,WAAW,EAAE,MAAM,CAAC;QAAC,aAAa,EAAE,MAAM,CAAC;QAAC,YAAY,EAAE,MAAM,CAAC;QAAC,UAAU,EAAE,MAAM,CAAA;KAAE,CAAC;IAyCrG,sDAAsD;IAChD,UAAU,CAAC,SAAS,EAAE,MAAM,EAAE,KAAK,EAAE,QAAQ,EAAE,GAAG,OAAO,CAAC,eAAe,CAAC;IAQhF;;;OAGG;IACG,cAAc,CAClB,SAAS,EAAE,MAAM,EACjB,QAAQ,EAAE,OAAO,CAAC,gBAAgB,CAAC,GAClC,OAAO,CAAC,IAAI,CAAC;IAqBhB;;;;OAIG;IACG,aAAa,CACjB,SAAS,EAAE,MAAM,EACjB,SAAS,EAAE;QAAE,eAAe,CAAC,EAAE,OAAO,CAAC;QAAC,cAAc,CAAC,EAAE,OAAO,CAAA;KAAE,GACjE,OAAO,CAAC,IAAI,CAAC;IA0BhB,6CAA6C;IACvC,cAAc,CAAC,SAAS,EAAE,MAAM,EAAE,IAAI,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQpE,2DAA2D;IACrD,eAAe,CAAC,SAAS,EAAE,MAAM,EAAE,WAAW,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ7E,gEAAgE;IAC1D,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,OAAO,CAAC,YAAY,EAAE,CAAC;IAQlE,8CAA8C;IACxC,kBAAkB,CAAC,SAAS,EAAE,MAAM,EAAE,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,IAAI,CAAC;IAQ1E;;;OAGG;IACH,OAAO,CAAC,gBAAgB;CAwDzB"}
|
|
@@ -59,7 +59,6 @@ export class CheckoutModule {
|
|
|
59
59
|
};
|
|
60
60
|
}
|
|
61
61
|
const res = await this.http.post('/api/v1/checkout/session/init', body);
|
|
62
|
-
// Extract the JWT token from the checkoutUrl query params
|
|
63
62
|
const url = new URL(res.checkoutUrl);
|
|
64
63
|
const sessionToken = url.searchParams.get('token') ?? '';
|
|
65
64
|
this.sessionToken = sessionToken;
|
|
@@ -74,34 +73,71 @@ export class CheckoutModule {
|
|
|
74
73
|
}
|
|
75
74
|
/** Replace the cart items for an existing session. */
|
|
76
75
|
async updateCart(sessionId, items) {
|
|
77
|
-
return this.http.post(`/api/v1/checkout-sessions/${sessionId}/items`, { items }, { token: this.sessionToken });
|
|
76
|
+
return this.http.post(`/api/v1/checkout-sessions/${sessionId}/line-items`, { items }, { token: this.sessionToken });
|
|
78
77
|
}
|
|
79
|
-
/**
|
|
78
|
+
/**
|
|
79
|
+
* Update customer + address information on the session.
|
|
80
|
+
* Uses the combined endpoint with `partial: true` so missing fields are tolerated.
|
|
81
|
+
*/
|
|
80
82
|
async updateCustomer(sessionId, customer) {
|
|
81
|
-
|
|
83
|
+
await this.http.post(`/api/v1/checkout-sessions/${sessionId}/customer-and-session-info`, {
|
|
84
|
+
checkoutSessionId: sessionId,
|
|
85
|
+
partial: true,
|
|
86
|
+
customerData: {
|
|
87
|
+
email: customer.email,
|
|
88
|
+
},
|
|
89
|
+
shippingAddress: {
|
|
90
|
+
firstName: customer.firstName,
|
|
91
|
+
lastName: customer.lastName,
|
|
92
|
+
phone: customer.phone,
|
|
93
|
+
},
|
|
94
|
+
billingAddress: {},
|
|
95
|
+
differentBillingAddress: false,
|
|
96
|
+
}, { token: this.sessionToken });
|
|
82
97
|
}
|
|
83
|
-
/**
|
|
98
|
+
/**
|
|
99
|
+
* Update shipping and/or billing address on the session.
|
|
100
|
+
*
|
|
101
|
+
* Address fields use the API's naming: `address1`, `postal`, etc.
|
|
102
|
+
*/
|
|
84
103
|
async updateAddress(sessionId, addresses) {
|
|
85
|
-
|
|
104
|
+
const mapAddress = (a) => {
|
|
105
|
+
if (!a)
|
|
106
|
+
return undefined;
|
|
107
|
+
return {
|
|
108
|
+
address1: a.line1,
|
|
109
|
+
address2: a.line2,
|
|
110
|
+
city: a.city,
|
|
111
|
+
state: a.state,
|
|
112
|
+
postal: a.postalCode,
|
|
113
|
+
country: a.country,
|
|
114
|
+
};
|
|
115
|
+
};
|
|
116
|
+
await this.http.post(`/api/v1/checkout-sessions/${sessionId}/address`, {
|
|
117
|
+
checkoutSessionId: sessionId,
|
|
118
|
+
data: {
|
|
119
|
+
shippingAddress: mapAddress(addresses.shippingAddress) ?? {},
|
|
120
|
+
billingAddress: mapAddress(addresses.billingAddress),
|
|
121
|
+
},
|
|
122
|
+
}, { token: this.sessionToken });
|
|
86
123
|
}
|
|
87
124
|
/** Apply a promotion code to the session. */
|
|
88
125
|
async applyPromoCode(sessionId, code) {
|
|
89
|
-
|
|
126
|
+
await this.http.post(`/api/v1/checkout-sessions/${sessionId}/promotions/apply`, { checkoutSessionId: sessionId, code }, { token: this.sessionToken });
|
|
90
127
|
}
|
|
91
|
-
/** Remove the
|
|
92
|
-
async removePromoCode(sessionId) {
|
|
93
|
-
|
|
94
|
-
|
|
95
|
-
});
|
|
128
|
+
/** Remove a promotion from the session by promotion ID. */
|
|
129
|
+
async removePromoCode(sessionId, promotionId) {
|
|
130
|
+
const promoId = promotionId ?? 'default';
|
|
131
|
+
await this.http.delete(`/api/v1/checkout-sessions/${sessionId}/promotions/${promoId}`, { token: this.sessionToken });
|
|
96
132
|
}
|
|
97
133
|
/** Fetch available shipping rates for the session's address. */
|
|
98
134
|
async getShippingRates(sessionId) {
|
|
99
135
|
const res = await this.http.get(`/api/v1/checkout-sessions/${sessionId}/shipping-rates`, { token: this.sessionToken });
|
|
100
|
-
return res.rates;
|
|
136
|
+
return res.rates ?? [];
|
|
101
137
|
}
|
|
102
138
|
/** Select a shipping rate for the session. */
|
|
103
139
|
async selectShippingRate(sessionId, rateId) {
|
|
104
|
-
|
|
140
|
+
await this.http.post(`/api/v1/checkout-sessions/${sessionId}/shipping-rate`, { checkoutSessionId: sessionId, shippingRateId: rateId }, { token: this.sessionToken });
|
|
105
141
|
}
|
|
106
142
|
/**
|
|
107
143
|
* Normalize the raw v2 API response into a cleaner CheckoutSession shape.
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"AASA;;;;;GAKG;AACH,MAAM,OAAO,cAAc;IAGzB,YACmB,IAAgB,EAChB,OAAe,EACf,aAAuC;QAFvC,SAAI,GAAJ,IAAI,CAAY;QAChB,YAAO,GAAP,OAAO,CAAQ;QACf,kBAAa,GAAb,aAAa,CAA0B;IACvD,CAAC;IAEJ;;;;;;;;OAQG;IACH,KAAK,CAAC,WAAW,CAAC,aAAqB,EAAE,YAAqB;QAC5D,IAAI,YAAY,EAAE,CAAC;YACjB,IAAI,CAAC,YAAY,GAAG,YAAY,CAAC;YACjC,IAAI,CAAC,aAAa,EAAE,CAAC,YAAY,CAAC,CAAC;QACrC,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,GAAG,CAC7B,6BAA6B,aAAa,KAAK,EAC/C;YACE,MAAM,EAAE,EAAE,aAAa,EAAE,OAAO,EAAE;YAClC,KAAK,EAAE,IAAI,CAAC,YAAY;SACzB,CACF,CAAC;QAEF,OAAO,IAAI,CAAC,gBAAgB,CAAC,GAAG,CAAC,CAAC;IACpC,CAAC;IAED;;;;;OAKG;IACH,KAAK,CAAC,aAAa,CAAC,IAOnB;QACC,MAAM,SAAS,GAAG,IAAI,CAAC,KAAK,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC;YACvC,SAAS,EAAE,CAAC,CAAC,SAAS;YACtB,OAAO,EAAE,CAAC,CAAC,OAAO;YAClB,QAAQ,EAAE,CAAC,CAAC,QAAQ;SACrB,CAAC,CAAC,CAAC;QAEJ,MAAM,IAAI,GAA4B;YACpC,OAAO,EAAE,IAAI,CAAC,OAAO;YACrB,SAAS;SACV,CAAC;QACF,IAAI,IAAI,CAAC,QAAQ;YAAE,IAAI,CAAC,QAAQ,GAAG,IAAI,CAAC,QAAQ,CAAC;QACjD,IAAI,IAAI,CAAC,SAAS;YAAE,IAAI,CAAC,SAAS,GAAG,IAAI,CAAC,SAAS,CAAC;QACpD,IAAI,IAAI,CAAC,aAAa,EAAE,CAAC;YACvB,IAAI,CAAC,QAAQ,GAAG;gBACd,KAAK,EAAE,IAAI,CAAC,aAAa;gBACzB,SAAS,EAAE,IAAI,CAAC,iBAAiB;gBACjC,QAAQ,EAAE,IAAI,CAAC,gBAAgB;gBAC/B,QAAQ,EAAE,IAAI,CAAC,QAAQ;aACxB,CAAC;QACJ,CAAC;QAED,MAAM,GAAG,GAAG,MAAM,IAAI,CAAC,IAAI,CAAC,IAAI,CAI7B,+BAA+B,EAAE,IAAI,CAAC,CAAC;QAE1C,
|
|
1
|
+
{"version":3,"file":"checkout.js","sourceRoot":"","sources":["../../../src/core/modules/checkout.ts"],"names":[],"mappings":"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"}
|
|
@@ -1,43 +1,84 @@
|
|
|
1
1
|
import type { HttpClient } from '../http.js';
|
|
2
|
-
import type { Offer,
|
|
2
|
+
import type { Offer, OfferPreview, OfferPayResult } from '../types.js';
|
|
3
3
|
/**
|
|
4
|
-
*
|
|
4
|
+
* Offers — upsells, downsells, order bumps, and post-purchase offers.
|
|
5
5
|
*
|
|
6
|
-
*
|
|
7
|
-
*
|
|
8
|
-
*
|
|
6
|
+
* Endpoints align with the plugin-sdk patterns:
|
|
7
|
+
* GET /api/v1/offers/:id — single offer
|
|
8
|
+
* GET /api/v1/stores/:storeId/offers — list store offers
|
|
9
|
+
* POST /api/v1/offers/:offerId/preview — preview pricing
|
|
10
|
+
* POST /api/v1/offers/:offerId/pay-preview — pay a previewed offer (one-click)
|
|
11
|
+
* POST /api/v1/checkout-sessions/:id/toggle-order-bump — toggle order bump
|
|
12
|
+
* GET /api/v1/post-purchase/:orderId/offers — post-purchase offers for an order
|
|
13
|
+
* POST /api/v1/orders/:orderId/post-purchase-offers/:offerId/accept — accept
|
|
14
|
+
* POST /api/v1/orders/:orderId/post-purchase-offers/:offerId/decline — decline
|
|
9
15
|
*/
|
|
10
16
|
export declare class OffersModule {
|
|
11
17
|
private readonly http;
|
|
12
18
|
private readonly storeId;
|
|
13
19
|
constructor(http: HttpClient, storeId: string);
|
|
14
|
-
/**
|
|
15
|
-
|
|
16
|
-
/** List
|
|
20
|
+
/** Get a single offer by ID. */
|
|
21
|
+
getOffer(offerId: string): Promise<Offer>;
|
|
22
|
+
/** List offers for the current store. Optionally filter by type or a set of IDs. */
|
|
17
23
|
listOffers(opts?: {
|
|
18
24
|
type?: 'upsell' | 'orderbump';
|
|
25
|
+
ids?: string[];
|
|
19
26
|
}): Promise<Offer[]>;
|
|
27
|
+
/** Preview offer pricing. Returns line items with amounts and totals. */
|
|
28
|
+
previewOffer(opts: {
|
|
29
|
+
offerId: string;
|
|
30
|
+
currency?: string;
|
|
31
|
+
lineItems?: Array<{
|
|
32
|
+
lineItemId?: string;
|
|
33
|
+
productId?: string;
|
|
34
|
+
variantId: string;
|
|
35
|
+
quantity: number;
|
|
36
|
+
}>;
|
|
37
|
+
}): Promise<OfferPreview>;
|
|
20
38
|
/**
|
|
21
|
-
*
|
|
22
|
-
*
|
|
39
|
+
* Pay a previously previewed offer (one-click charge).
|
|
40
|
+
* Used after a main order so the stored payment instrument is reused.
|
|
23
41
|
*/
|
|
24
|
-
|
|
42
|
+
payPreviewedOffer(opts: {
|
|
25
43
|
offerId: string;
|
|
26
|
-
|
|
44
|
+
mainOrderId: string;
|
|
45
|
+
currency?: string;
|
|
46
|
+
lineItems?: Array<{
|
|
47
|
+
lineItemId?: string;
|
|
48
|
+
productId?: string;
|
|
49
|
+
variantId: string;
|
|
50
|
+
quantity: number;
|
|
51
|
+
}>;
|
|
52
|
+
returnUrl?: string;
|
|
27
53
|
paymentInstrumentId?: string;
|
|
28
|
-
}): Promise<
|
|
29
|
-
/**
|
|
30
|
-
declineOffer(opts: {
|
|
31
|
-
offerId: string;
|
|
32
|
-
checkoutSessionId: string;
|
|
33
|
-
}): Promise<OfferResult>;
|
|
34
|
-
/** List order bumps available for a checkout session (shown on the checkout page). */
|
|
35
|
-
listOrderBumps(checkoutSessionId: string): Promise<Offer[]>;
|
|
36
|
-
/** Toggle an order bump on/off for a checkout session. */
|
|
54
|
+
}): Promise<OfferPayResult>;
|
|
55
|
+
/** Toggle an order bump on/off within a checkout session. */
|
|
37
56
|
toggleOrderBump(opts: {
|
|
38
57
|
checkoutSessionId: string;
|
|
39
|
-
|
|
58
|
+
orderBumpOfferId: string;
|
|
40
59
|
selected: boolean;
|
|
41
|
-
}): Promise<
|
|
60
|
+
}): Promise<unknown>;
|
|
61
|
+
/** List post-purchase offers for an order. */
|
|
62
|
+
listPostPurchaseOffers(orderId: string): Promise<Offer[]>;
|
|
63
|
+
/** Accept a post-purchase offer. */
|
|
64
|
+
acceptPostPurchaseOffer(opts: {
|
|
65
|
+
orderId: string;
|
|
66
|
+
offerId: string;
|
|
67
|
+
items?: Array<{
|
|
68
|
+
variantId: string;
|
|
69
|
+
quantity: number;
|
|
70
|
+
}>;
|
|
71
|
+
}): Promise<{
|
|
72
|
+
success: boolean;
|
|
73
|
+
error?: string;
|
|
74
|
+
}>;
|
|
75
|
+
/** Decline a post-purchase offer. */
|
|
76
|
+
declinePostPurchaseOffer(opts: {
|
|
77
|
+
orderId: string;
|
|
78
|
+
offerId: string;
|
|
79
|
+
}): Promise<{
|
|
80
|
+
success: boolean;
|
|
81
|
+
error?: string;
|
|
82
|
+
}>;
|
|
42
83
|
}
|
|
43
84
|
//# sourceMappingURL=offers.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offers.d.ts","sourceRoot":"","sources":["../../../src/core/modules/offers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,
|
|
1
|
+
{"version":3,"file":"offers.d.ts","sourceRoot":"","sources":["../../../src/core/modules/offers.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,UAAU,EAAE,MAAM,YAAY,CAAC;AAC7C,OAAO,KAAK,EAAE,KAAK,EAAE,YAAY,EAAE,cAAc,EAAE,MAAM,aAAa,CAAC;AAEvE;;;;;;;;;;;;GAYG;AACH,qBAAa,YAAY;IAErB,OAAO,CAAC,QAAQ,CAAC,IAAI;IACrB,OAAO,CAAC,QAAQ,CAAC,OAAO;gBADP,IAAI,EAAE,UAAU,EAChB,OAAO,EAAE,MAAM;IAOlC,gCAAgC;IAC1B,QAAQ,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,CAAC;IAI/C,oFAAoF;IAC9E,UAAU,CAAC,IAAI,CAAC,EAAE;QACtB,IAAI,CAAC,EAAE,QAAQ,GAAG,WAAW,CAAC;QAC9B,GAAG,CAAC,EAAE,MAAM,EAAE,CAAC;KAChB,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAkBpB,yEAAyE;IACnE,YAAY,CAAC,IAAI,EAAE;QACvB,OAAO,EAAE,MAAM,CAAC;QAChB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACrG,GAAG,OAAO,CAAC,YAAY,CAAC;IAQzB;;;OAGG;IACG,iBAAiB,CAAC,IAAI,EAAE;QAC5B,OAAO,EAAE,MAAM,CAAC;QAChB,WAAW,EAAE,MAAM,CAAC;QACpB,QAAQ,CAAC,EAAE,MAAM,CAAC;QAClB,SAAS,CAAC,EAAE,KAAK,CAAC;YAAE,UAAU,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,CAAC,EAAE,MAAM,CAAC;YAAC,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;QACpG,SAAS,CAAC,EAAE,MAAM,CAAC;QACnB,mBAAmB,CAAC,EAAE,MAAM,CAAC;KAC9B,GAAG,OAAO,CAAC,cAAc,CAAC;IAe3B,6DAA6D;IACvD,eAAe,CAAC,IAAI,EAAE;QAC1B,iBAAiB,EAAE,MAAM,CAAC;QAC1B,gBAAgB,EAAE,MAAM,CAAC;QACzB,QAAQ,EAAE,OAAO,CAAC;KACnB,GAAG,OAAO,CAAC,OAAO,CAAC;IAcpB,8CAA8C;IACxC,sBAAsB,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,KAAK,EAAE,CAAC;IAK/D,oCAAoC;IAC9B,uBAAuB,CAAC,IAAI,EAAE;QAClC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;QAChB,KAAK,CAAC,EAAE,KAAK,CAAC;YAAE,SAAS,EAAE,MAAM,CAAC;YAAC,QAAQ,EAAE,MAAM,CAAA;SAAE,CAAC,CAAC;KACxD,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;IAOjD,qCAAqC;IAC/B,wBAAwB,CAAC,IAAI,EAAE;QACnC,OAAO,EAAE,MAAM,CAAC;QAChB,OAAO,EAAE,MAAM,CAAC;KACjB,GAAG,OAAO,CAAC;QAAE,OAAO,EAAE,OAAO,CAAC;QAAC,KAAK,CAAC,EAAE,MAAM,CAAA;KAAE,CAAC;CAKlD"}
|
|
@@ -1,56 +1,93 @@
|
|
|
1
1
|
/**
|
|
2
|
-
*
|
|
2
|
+
* Offers — upsells, downsells, order bumps, and post-purchase offers.
|
|
3
3
|
*
|
|
4
|
-
*
|
|
5
|
-
*
|
|
6
|
-
*
|
|
4
|
+
* Endpoints align with the plugin-sdk patterns:
|
|
5
|
+
* GET /api/v1/offers/:id — single offer
|
|
6
|
+
* GET /api/v1/stores/:storeId/offers — list store offers
|
|
7
|
+
* POST /api/v1/offers/:offerId/preview — preview pricing
|
|
8
|
+
* POST /api/v1/offers/:offerId/pay-preview — pay a previewed offer (one-click)
|
|
9
|
+
* POST /api/v1/checkout-sessions/:id/toggle-order-bump — toggle order bump
|
|
10
|
+
* GET /api/v1/post-purchase/:orderId/offers — post-purchase offers for an order
|
|
11
|
+
* POST /api/v1/orders/:orderId/post-purchase-offers/:offerId/accept — accept
|
|
12
|
+
* POST /api/v1/orders/:orderId/post-purchase-offers/:offerId/decline — decline
|
|
7
13
|
*/
|
|
8
14
|
export class OffersModule {
|
|
9
15
|
constructor(http, storeId) {
|
|
10
16
|
this.http = http;
|
|
11
17
|
this.storeId = storeId;
|
|
12
18
|
}
|
|
13
|
-
|
|
14
|
-
|
|
15
|
-
|
|
16
|
-
|
|
19
|
+
// ---------------------------------------------------------------------------
|
|
20
|
+
// Offer loading
|
|
21
|
+
// ---------------------------------------------------------------------------
|
|
22
|
+
/** Get a single offer by ID. */
|
|
23
|
+
async getOffer(offerId) {
|
|
24
|
+
return this.http.get(`/api/v1/offers/${offerId}`);
|
|
17
25
|
}
|
|
18
|
-
/** List
|
|
26
|
+
/** List offers for the current store. Optionally filter by type or a set of IDs. */
|
|
19
27
|
async listOffers(opts) {
|
|
20
|
-
|
|
21
|
-
|
|
28
|
+
let url = `/api/v1/stores/${this.storeId}/offers`;
|
|
29
|
+
const queryParts = [];
|
|
30
|
+
if (opts?.type)
|
|
31
|
+
queryParts.push(`type=${encodeURIComponent(opts.type)}`);
|
|
32
|
+
if (opts?.ids?.length) {
|
|
33
|
+
for (const id of opts.ids)
|
|
34
|
+
queryParts.push(`ids=${encodeURIComponent(id)}`);
|
|
35
|
+
}
|
|
36
|
+
if (queryParts.length)
|
|
37
|
+
url += `?${queryParts.join('&')}`;
|
|
38
|
+
const res = await this.http.get(url);
|
|
39
|
+
return res.offers ?? [];
|
|
22
40
|
}
|
|
23
|
-
|
|
24
|
-
|
|
25
|
-
|
|
26
|
-
|
|
27
|
-
async
|
|
28
|
-
return this.http.post(
|
|
41
|
+
// ---------------------------------------------------------------------------
|
|
42
|
+
// Preview & pay (one-click upsell flow from plugin-sdk)
|
|
43
|
+
// ---------------------------------------------------------------------------
|
|
44
|
+
/** Preview offer pricing. Returns line items with amounts and totals. */
|
|
45
|
+
async previewOffer(opts) {
|
|
46
|
+
return this.http.post(`/api/v1/offers/${opts.offerId}/preview`, {
|
|
29
47
|
offerId: opts.offerId,
|
|
30
|
-
|
|
31
|
-
|
|
32
|
-
paymentInstrumentId: opts.paymentInstrumentId,
|
|
48
|
+
currency: opts.currency ?? '',
|
|
49
|
+
lineItems: opts.lineItems,
|
|
33
50
|
});
|
|
34
51
|
}
|
|
35
|
-
/**
|
|
36
|
-
|
|
37
|
-
|
|
52
|
+
/**
|
|
53
|
+
* Pay a previously previewed offer (one-click charge).
|
|
54
|
+
* Used after a main order so the stored payment instrument is reused.
|
|
55
|
+
*/
|
|
56
|
+
async payPreviewedOffer(opts) {
|
|
57
|
+
return this.http.post(`/api/v1/offers/${opts.offerId}/pay-preview`, {
|
|
38
58
|
offerId: opts.offerId,
|
|
39
|
-
|
|
40
|
-
|
|
59
|
+
currency: opts.currency ?? '',
|
|
60
|
+
lineItems: opts.lineItems,
|
|
61
|
+
returnUrl: opts.returnUrl ?? (typeof window !== 'undefined' ? window.location.href : ''),
|
|
62
|
+
mainOrderId: opts.mainOrderId,
|
|
63
|
+
paymentInstrumentId: opts.paymentInstrumentId,
|
|
41
64
|
});
|
|
42
65
|
}
|
|
43
|
-
|
|
44
|
-
|
|
45
|
-
|
|
46
|
-
|
|
47
|
-
}
|
|
48
|
-
/** Toggle an order bump on/off for a checkout session. */
|
|
66
|
+
// ---------------------------------------------------------------------------
|
|
67
|
+
// Order bumps (checkout-session scoped)
|
|
68
|
+
// ---------------------------------------------------------------------------
|
|
69
|
+
/** Toggle an order bump on/off within a checkout session. */
|
|
49
70
|
async toggleOrderBump(opts) {
|
|
50
|
-
|
|
51
|
-
|
|
71
|
+
return this.http.post(`/api/v1/checkout-sessions/${opts.checkoutSessionId}/toggle-order-bump`, {
|
|
72
|
+
orderBumpOfferId: opts.orderBumpOfferId,
|
|
52
73
|
selected: opts.selected,
|
|
53
74
|
});
|
|
54
75
|
}
|
|
76
|
+
// ---------------------------------------------------------------------------
|
|
77
|
+
// Post-purchase offers (order-scoped)
|
|
78
|
+
// ---------------------------------------------------------------------------
|
|
79
|
+
/** List post-purchase offers for an order. */
|
|
80
|
+
async listPostPurchaseOffers(orderId) {
|
|
81
|
+
const res = await this.http.get(`/api/v1/post-purchase/${orderId}/offers`);
|
|
82
|
+
return Array.isArray(res) ? res : [];
|
|
83
|
+
}
|
|
84
|
+
/** Accept a post-purchase offer. */
|
|
85
|
+
async acceptPostPurchaseOffer(opts) {
|
|
86
|
+
return this.http.post(`/api/v1/orders/${opts.orderId}/post-purchase-offers/${opts.offerId}/accept`, { items: opts.items ?? [] });
|
|
87
|
+
}
|
|
88
|
+
/** Decline a post-purchase offer. */
|
|
89
|
+
async declinePostPurchaseOffer(opts) {
|
|
90
|
+
return this.http.post(`/api/v1/orders/${opts.orderId}/post-purchase-offers/${opts.offerId}/decline`);
|
|
91
|
+
}
|
|
55
92
|
}
|
|
56
93
|
//# sourceMappingURL=offers.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"offers.js","sourceRoot":"","sources":["../../../src/core/modules/offers.ts"],"names":[],"mappings":"AAGA
|
|
1
|
+
{"version":3,"file":"offers.js","sourceRoot":"","sources":["../../../src/core/modules/offers.ts"],"names":[],"mappings":"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"}
|
package/dist/core/types.d.ts
CHANGED
|
@@ -191,19 +191,6 @@ export interface PaymentStatus {
|
|
|
191
191
|
status: 'succeeded' | 'pending' | 'failed' | 'declined';
|
|
192
192
|
requireAction?: string;
|
|
193
193
|
}
|
|
194
|
-
export interface AnalyticsEvent {
|
|
195
|
-
event: string;
|
|
196
|
-
data?: Record<string, unknown>;
|
|
197
|
-
timestamp?: number;
|
|
198
|
-
}
|
|
199
|
-
export interface PixelConfig {
|
|
200
|
-
metaPixelId?: string;
|
|
201
|
-
tiktokPixelId?: string;
|
|
202
|
-
snapchatPixelId?: string;
|
|
203
|
-
pinterestTagId?: string;
|
|
204
|
-
gtmId?: string;
|
|
205
|
-
gaId?: string;
|
|
206
|
-
}
|
|
207
194
|
export interface Offer {
|
|
208
195
|
id: string;
|
|
209
196
|
type: 'upsell' | 'downsell' | 'orderbump';
|
|
@@ -219,16 +206,39 @@ export interface Offer {
|
|
|
219
206
|
metadata?: Record<string, unknown>;
|
|
220
207
|
}
|
|
221
208
|
export interface OfferLineItem {
|
|
209
|
+
id: string;
|
|
222
210
|
priceId: string;
|
|
211
|
+
productId?: string;
|
|
212
|
+
variantId?: string;
|
|
223
213
|
quantity: number;
|
|
224
214
|
productName?: string;
|
|
225
215
|
variantName?: string;
|
|
226
|
-
|
|
216
|
+
imageUrl?: string;
|
|
217
|
+
unitAmount?: number;
|
|
218
|
+
currency?: string;
|
|
219
|
+
}
|
|
220
|
+
export interface OfferPreview {
|
|
221
|
+
items: OfferPreviewItem[];
|
|
222
|
+
totalAmount: number;
|
|
223
|
+
totalAdjustedAmount: number;
|
|
224
|
+
currency: string;
|
|
225
|
+
}
|
|
226
|
+
export interface OfferPreviewItem {
|
|
227
|
+
id: string;
|
|
228
|
+
productId: string;
|
|
229
|
+
productName: string;
|
|
230
|
+
variantId: string;
|
|
231
|
+
variantName: string;
|
|
232
|
+
imageUrl?: string;
|
|
233
|
+
quantity: number;
|
|
234
|
+
unitAmount: number;
|
|
235
|
+
currency: string;
|
|
227
236
|
}
|
|
228
|
-
export interface
|
|
237
|
+
export interface OfferPayResult {
|
|
229
238
|
success: boolean;
|
|
230
239
|
orderId?: string;
|
|
231
|
-
|
|
240
|
+
checkoutSessionId?: string;
|
|
241
|
+
checkoutUrl?: string;
|
|
232
242
|
error?: string;
|
|
233
243
|
}
|
|
234
244
|
export interface CatalogProduct {
|