@wix/auto_sdk_payments_checkout-sessions 1.0.11 → 1.0.13
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/build/cjs/index.d.ts +11 -8
- package/build/cjs/index.js +12 -12
- package/build/cjs/index.js.map +1 -1
- package/build/cjs/index.typings.d.ts +33 -11
- package/build/cjs/index.typings.js +9 -9
- package/build/cjs/index.typings.js.map +1 -1
- package/build/cjs/meta.d.ts +27 -8
- package/build/cjs/meta.js +10 -10
- package/build/cjs/meta.js.map +1 -1
- package/build/cjs/schemas.d.ts +8 -4
- package/build/cjs/schemas.js +17 -9
- package/build/cjs/schemas.js.map +1 -1
- package/build/es/index.d.mts +11 -8
- package/build/es/index.mjs +11 -11
- package/build/es/index.mjs.map +1 -1
- package/build/es/index.typings.d.mts +33 -11
- package/build/es/index.typings.mjs +8 -8
- package/build/es/index.typings.mjs.map +1 -1
- package/build/es/meta.d.mts +27 -8
- package/build/es/meta.mjs +9 -9
- package/build/es/meta.mjs.map +1 -1
- package/build/es/schemas.d.mts +8 -4
- package/build/es/schemas.mjs +15 -7
- package/build/es/schemas.mjs.map +1 -1
- package/build/internal/cjs/index.d.ts +11 -8
- package/build/internal/cjs/index.js +12 -12
- package/build/internal/cjs/index.js.map +1 -1
- package/build/internal/cjs/index.typings.d.ts +33 -11
- package/build/internal/cjs/index.typings.js +9 -9
- package/build/internal/cjs/index.typings.js.map +1 -1
- package/build/internal/cjs/meta.d.ts +27 -8
- package/build/internal/cjs/meta.js +10 -10
- package/build/internal/cjs/meta.js.map +1 -1
- package/build/internal/cjs/schemas.d.ts +8 -4
- package/build/internal/cjs/schemas.js +17 -9
- package/build/internal/cjs/schemas.js.map +1 -1
- package/build/internal/es/index.d.mts +11 -8
- package/build/internal/es/index.mjs +11 -11
- package/build/internal/es/index.mjs.map +1 -1
- package/build/internal/es/index.typings.d.mts +33 -11
- package/build/internal/es/index.typings.mjs +8 -8
- package/build/internal/es/index.typings.mjs.map +1 -1
- package/build/internal/es/meta.d.mts +27 -8
- package/build/internal/es/meta.mjs +9 -9
- package/build/internal/es/meta.mjs.map +1 -1
- package/build/internal/es/schemas.d.mts +8 -4
- package/build/internal/es/schemas.mjs +15 -7
- package/build/internal/es/schemas.mjs.map +1 -1
- package/package.json +2 -2
package/build/cjs/index.d.ts
CHANGED
|
@@ -1,23 +1,26 @@
|
|
|
1
1
|
import { HttpClient, NonNullablePaths, MaybeContext, BuildRESTFunction } from '@wix/sdk-types';
|
|
2
|
-
import { Cart,
|
|
3
|
-
export { CallbackUrls, CheckoutSession,
|
|
2
|
+
import { Cart, GenerateCheckoutSessionOptions, GenerateCheckoutSessionResponse, GenerateCheckoutSessionApplicationErrors } from './index.typings.js';
|
|
3
|
+
export { CallbackUrls, CheckoutSession, CustomerInfo, FreeTrialPeriod, GenerateCheckoutSessionRequest, LineItem, PhysicalProperties, RegisterCheckoutSessionWebhookRequest, RegisterCheckoutSessionWebhookResponse, SubscriptionFrequency, SubscriptionFrequencyWithLiterals, SubscriptionInfo, SubscriptionSettings, WebhookType, WebhookTypeWithLiterals } from './index.typings.js';
|
|
4
4
|
|
|
5
|
-
declare function
|
|
6
|
-
interface
|
|
5
|
+
declare function generateCheckoutSession$1(httpClient: HttpClient): GenerateCheckoutSessionSignature;
|
|
6
|
+
interface GenerateCheckoutSessionSignature {
|
|
7
7
|
/**
|
|
8
8
|
* Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`
|
|
9
9
|
* and `id`.
|
|
10
10
|
*
|
|
11
11
|
* Each call creates a new, independent session; the method is not idempotent, so a retry produces
|
|
12
12
|
* an additional session rather than recovering an existing one.
|
|
13
|
+
*
|
|
14
|
+
* `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary
|
|
15
|
+
* (legacy) path bound to the same RPC.
|
|
13
16
|
* @param - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.
|
|
14
17
|
* @returns Response after creating a checkout session.
|
|
15
18
|
*/
|
|
16
|
-
(cart: NonNullablePaths<Cart, `items` | `items.${number}.name` | `items.${number}.price` | `items.${number}.quantity` | `items.${number}.subscriptionInfo.subscriptionSettings` | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency` | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`, 7>, options: NonNullablePaths<
|
|
17
|
-
__applicationErrorsType?:
|
|
19
|
+
(cart: NonNullablePaths<Cart, `items` | `items.${number}.name` | `items.${number}.price` | `items.${number}.quantity` | `items.${number}.subscriptionInfo.subscriptionSettings` | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency` | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`, 7>, options: NonNullablePaths<GenerateCheckoutSessionOptions, `callbackUrls` | `callbackUrls.thankYouPageUrl`, 3>): Promise<GenerateCheckoutSessionResponse & {
|
|
20
|
+
__applicationErrorsType?: GenerateCheckoutSessionApplicationErrors;
|
|
18
21
|
}>;
|
|
19
22
|
}
|
|
20
23
|
|
|
21
|
-
declare const
|
|
24
|
+
declare const generateCheckoutSession: MaybeContext<BuildRESTFunction<typeof generateCheckoutSession$1> & typeof generateCheckoutSession$1>;
|
|
22
25
|
|
|
23
|
-
export { Cart,
|
|
26
|
+
export { Cart, GenerateCheckoutSessionApplicationErrors, GenerateCheckoutSessionOptions, GenerateCheckoutSessionResponse, generateCheckoutSession };
|
package/build/cjs/index.js
CHANGED
|
@@ -22,7 +22,7 @@ var index_exports = {};
|
|
|
22
22
|
__export(index_exports, {
|
|
23
23
|
SubscriptionFrequency: () => SubscriptionFrequency,
|
|
24
24
|
WebhookType: () => WebhookType,
|
|
25
|
-
|
|
25
|
+
generateCheckoutSession: () => generateCheckoutSession4
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(index_exports);
|
|
28
28
|
|
|
@@ -60,18 +60,18 @@ function resolveWixPaymentsPlatformV1CheckoutSessionsUrl(opts) {
|
|
|
60
60
|
return (0, import_rest_modules.resolveUrl)(Object.assign(opts, { domainToMappings }));
|
|
61
61
|
}
|
|
62
62
|
var PACKAGE_NAME = "@wix/auto_sdk_payments_checkout-sessions";
|
|
63
|
-
function
|
|
64
|
-
function
|
|
63
|
+
function generateCheckoutSession(payload) {
|
|
64
|
+
function __generateCheckoutSession({ host }) {
|
|
65
65
|
const metadata = {
|
|
66
66
|
entityFqdn: "wix.payments.platform.v1.checkout_session",
|
|
67
67
|
method: "POST",
|
|
68
|
-
methodFqn: "wix.payments.platform.v1.CheckoutSessions.
|
|
68
|
+
methodFqn: "wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession",
|
|
69
69
|
packageName: PACKAGE_NAME,
|
|
70
70
|
migrationOptions: {
|
|
71
71
|
optInTransformResponse: true
|
|
72
72
|
},
|
|
73
73
|
url: resolveWixPaymentsPlatformV1CheckoutSessionsUrl({
|
|
74
|
-
protoPath: "/v1/checkout-sessions/
|
|
74
|
+
protoPath: "/v1/checkout-sessions/generate",
|
|
75
75
|
data: payload,
|
|
76
76
|
host
|
|
77
77
|
}),
|
|
@@ -79,7 +79,7 @@ function constructCheckoutSession(payload) {
|
|
|
79
79
|
};
|
|
80
80
|
return metadata;
|
|
81
81
|
}
|
|
82
|
-
return
|
|
82
|
+
return __generateCheckoutSession;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// src/payments-platform-v1-checkout-session-checkout-sessions.universal.ts
|
|
@@ -97,13 +97,13 @@ var WebhookType = /* @__PURE__ */ ((WebhookType2) => {
|
|
|
97
97
|
WebhookType2["SUBSCRIPTION_ENDED"] = "SUBSCRIPTION_ENDED";
|
|
98
98
|
return WebhookType2;
|
|
99
99
|
})(WebhookType || {});
|
|
100
|
-
async function
|
|
100
|
+
async function generateCheckoutSession2(cart, options) {
|
|
101
101
|
const { httpClient, sideEffects } = arguments[2];
|
|
102
102
|
const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
|
|
103
103
|
cart,
|
|
104
104
|
callbackUrls: options?.callbackUrls
|
|
105
105
|
});
|
|
106
|
-
const reqOpts =
|
|
106
|
+
const reqOpts = generateCheckoutSession(
|
|
107
107
|
payload
|
|
108
108
|
);
|
|
109
109
|
sideEffects?.onSiteCall?.();
|
|
@@ -130,8 +130,8 @@ async function constructCheckoutSession2(cart, options) {
|
|
|
130
130
|
}
|
|
131
131
|
|
|
132
132
|
// src/payments-platform-v1-checkout-session-checkout-sessions.public.ts
|
|
133
|
-
function
|
|
134
|
-
return (cart, options) =>
|
|
133
|
+
function generateCheckoutSession3(httpClient) {
|
|
134
|
+
return (cart, options) => generateCheckoutSession2(
|
|
135
135
|
cart,
|
|
136
136
|
options,
|
|
137
137
|
// @ts-ignore
|
|
@@ -141,11 +141,11 @@ function constructCheckoutSession3(httpClient) {
|
|
|
141
141
|
|
|
142
142
|
// src/payments-platform-v1-checkout-session-checkout-sessions.context.ts
|
|
143
143
|
var import_rest_modules2 = require("@wix/sdk-runtime/rest-modules");
|
|
144
|
-
var
|
|
144
|
+
var generateCheckoutSession4 = /* @__PURE__ */ (0, import_rest_modules2.createRESTModule)(generateCheckoutSession3);
|
|
145
145
|
// Annotate the CommonJS export names for ESM import in node:
|
|
146
146
|
0 && (module.exports = {
|
|
147
147
|
SubscriptionFrequency,
|
|
148
148
|
WebhookType,
|
|
149
|
-
|
|
149
|
+
generateCheckoutSession
|
|
150
150
|
});
|
|
151
151
|
//# sourceMappingURL=index.js.map
|
package/build/cjs/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.universal.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.http.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.public.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.context.ts"],"sourcesContent":["export * from './src/payments-platform-v1-checkout-session-checkout-sessions.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPaymentsPlatformV1CheckoutSession from './payments-platform-v1-checkout-session-checkout-sessions.http.js';\n\n/** A Wix-hosted checkout page generated for a specific set of line items. */\nexport interface CheckoutSession {\n /**\n * Checkout session ID, generated by this call. The caller does not supply it.\n * @readonly\n * @format GUID\n */\n _id?: string | null;\n /**\n * URL of the Wix-hosted checkout page where the buyer completes payment. The buyer enters the page as\n * an anonymous shopper; any session held by the calling app is not carried over.\n *\n * The URL carries query parameters Wix needs in order to render the page correctly (for example, a\n * `successUrl` parameter derived from `callbackUrls.thankYouPageUrl`). Pass the URL through to the\n * buyer unchanged — do not strip, reorder, rewrite, or otherwise mutate its query string.\n * @readonly\n * @format WEB_URL\n */\n redirectUrl?: string | null;\n}\n\n/** Request to create a checkout session. */\nexport interface ConstructCheckoutSessionRequest {\n /** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\n cart: Cart;\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n\n/**\n * Recurring subscription configuration for a line item.\n *\n * `LineItem.name` and `subscriptionInfo.title`/`description` render in different parts of the\n * Wix-hosted checkout page: `LineItem.name` is the line label in the cart-summary list, while\n * `subscriptionInfo.title` and `subscriptionInfo.description` are the heading and body text on the\n * recurring-billing summary block (the area that shows the buyer the cadence and the free-trial terms,\n * if any). Set them to complementary values rather than duplicating `LineItem.name`.\n */\nexport interface SubscriptionInfo {\n /**\n * Billing frequency, cycles, and free trial configuration. Required when `subscriptionInfo` is set on a\n * line item.\n */\n subscriptionSettings?: SubscriptionSettings;\n /**\n * Subscription name shown to the buyer in the recurring-billing summary block on the Wix-hosted\n * checkout page (the heading of that block).\n * @maxLength 150\n */\n title?: string | null;\n /**\n * Subscription description shown to the buyer in the recurring-billing summary block on the\n * Wix-hosted checkout page (the body text below the title).\n * @maxLength 500\n */\n description?: string | null;\n}\n\n/**\n * Configuration for recurring subscription charges.\n *\n * `autoRenewal` and `billingCycles` are mutually exclusive — `autoRenewal: true` describes an\n * open-ended subscription that renews indefinitely, while `billingCycles: N` describes a fixed-term\n * subscription that stops after N charges. Setting `autoRenewal: true` together with any\n * `billingCycles` value is rejected with `INVALID_ARGUMENT` (application code\n * `AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT`).\n */\nexport interface SubscriptionSettings {\n /** Billing frequency unit. Required when `subscriptionSettings` is set; `UNDEFINED` is rejected. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units between charges. For `DAY` frequency, the minimum is 7 — the shortest\n * billing cadence supported is weekly; values 1–6 with `frequency: DAY` are rejected with\n * `INVALID_ARGUMENT` (rule code `MIN_VALUE`). Default: `1`.\n *\n * Note that `freeTrialPeriod.interval` does **not** share this floor — a `DAY` trial may have\n * `interval` as low as 1.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /**\n * Whether the subscription renews automatically. Cannot be `true` when `billingCycles` is set.\n *\n * Default: `true` when both `autoRenewal` and `billingCycles` are omitted; `false` when `billingCycles`\n * is set and `autoRenewal` is omitted.\n */\n autoRenewal?: boolean | null;\n /**\n * Number of billing cycles before the subscription stops. Cannot be set when `autoRenewal` is `true`.\n *\n * When omitted along with `autoRenewal`, the subscription renews indefinitely.\n * @min 1\n */\n billingCycles?: number | null;\n /** Free trial period before the first charge. */\n freeTrialPeriod?: FreeTrialPeriod;\n}\n\n/** Frequency unit for subscription billing and trial periods. */\nexport enum SubscriptionFrequency {\n /** Unknown frequency. */\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\n/**\n * Free trial period before the first subscription charge.\n *\n * The `frequency` enum is shared with `SubscriptionSettings.frequency` for convenience, but here it\n * describes a one-off duration unit (the length of the trial), not a recurring billing cadence. A\n * `frequency: MONTH` + `interval: 3` trial means \"a single 3-month trial,\" not \"billed every three\n * months.\"\n */\nexport interface FreeTrialPeriod {\n /**\n * Trial period frequency unit. Required when `freeTrialPeriod` is set; `UNDEFINED` should be\n * treated as a client mistake and is not a valid runtime value.\n */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Length of the trial period in `frequency` units. For example, `interval: 14` with `frequency: DAY`\n * gives a 14-day trial.\n *\n * Unlike `SubscriptionSettings.interval`, this field's `DAY` floor is `1` — there is no weekly-floor\n * restriction on the trial length. Values ≤ 0 are rejected with `INVALID_ARGUMENT` (rule code\n * `MIN_VALUE`).\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface LineItem {\n /**\n * Name of the item, shown on the checkout page.\n * @minLength 1\n * @maxLength 255\n */\n name?: string | null;\n /**\n * Quantity of this item to charge for.\n * @min 1\n */\n quantity?: number | null;\n /**\n * Per-unit price as a decimal string in the merchant account currency. For example, `\"19.99\"`.\n * @minLength 1\n * @maxLength 50\n */\n price?: string | null;\n /**\n * Subscription configuration. When set, the line item follows a scheduled-billing model defined by\n * `subscriptionSettings` instead of a single immediate charge. The recurring charge each billing\n * cycle is `price × quantity`, and `quantity` is locked at session creation.\n *\n * At most one line item per request may set `subscriptionInfo`. Requests with two or more\n * subscription line items are rejected with `MULTIPLE_SUBSCRIPTION_ITEMS`.\n */\n subscriptionInfo?: SubscriptionInfo;\n}\n\n/**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\nexport interface CustomerInfo {\n /**\n * Buyer's first name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Buyer's last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Buyer's phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Buyer's email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\nexport interface Cart {\n /**\n * Line items the buyer is paying for in this checkout session.\n *\n * At most one subscription line item (an item with `subscriptionInfo` set) is allowed per request.\n * Requests with two or more subscription items are rejected. One-time items can be combined with a\n * single subscription item; in that case the buyer is charged once at checkout for the one-time items\n * and (if applicable) the first cycle of the subscription, and any subsequent cycles are billed on\n * the subscription's own schedule.\n * @maxSize 100\n */\n items?: LineItem[];\n /**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\n customerInfo?: CustomerInfo;\n}\n\n/**\n * URLs the buyer is redirected to after the checkout flow.\n *\n * The buyer is sent to one of the URLs below — `postFlowUrl` if they explicitly leave via **Continue\n * browsing**, `thankYouPageUrl` after a successful payment.\n *\n * If the buyer abandons the page implicitly (closing the tab, navigating away, network failure), no\n * callback URL is invoked and the checkout session is not resumed.\n */\nexport interface CallbackUrls {\n /**\n * URL the buyer is redirected to from the Wix checkout page when they choose to leave without\n * completing payment — both when they click **Continue browsing** and when they navigate back to\n * a cart-style page.\n * @format WEB_URL\n */\n postFlowUrl?: string | null;\n /**\n * URL the buyer is redirected to after a successful payment.\n * @format WEB_URL\n */\n thankYouPageUrl?: string | null;\n}\n\n/** Response after creating a checkout session. */\nexport interface ConstructCheckoutSessionResponse {\n /** The created checkout session. */\n checkoutSession?: CheckoutSession;\n}\n\n/** Request to register a webhook URL. */\nexport interface RegisterCheckoutSessionWebhookRequest {\n /**\n * URL to receive webhook notifications.\n * @format WEB_URL\n */\n url?: string | null;\n /**\n * Webhook event types to register. Default: `[ORDER_APPROVED]`.\n * @maxSize 10\n */\n webhookTypes?: WebhookTypeWithLiterals[];\n}\n\n/** Webhook event types to register. */\nexport enum WebhookType {\n /** Order Approved webhook (`wix.ecom.v1.order_approved`). */\n ORDER_APPROVED = 'ORDER_APPROVED',\n /**\n * Subscription Contract Canceled webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_canceled`).\n */\n SUBSCRIPTION_CANCELED = 'SUBSCRIPTION_CANCELED',\n /**\n * Subscription Contract Expired webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_expired`).\n */\n SUBSCRIPTION_ENDED = 'SUBSCRIPTION_ENDED',\n}\n\n/** @enumType */\nexport type WebhookTypeWithLiterals =\n | WebhookType\n | 'ORDER_APPROVED'\n | 'SUBSCRIPTION_CANCELED'\n | 'SUBSCRIPTION_ENDED';\n\n/** Response after registering a webhook. */\nexport interface RegisterCheckoutSessionWebhookResponse {\n /**\n * PEM-formatted RS256 public key used to verify the JWT signature on incoming webhook payloads.\n * @maxLength 1000\n */\n publicKey?: string | null;\n}\n\n/** @docsIgnore */\nexport type ConstructCheckoutSessionApplicationErrors =\n | {\n code?: 'MULTIPLE_SUBSCRIPTION_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n * @param cart - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.\n * @public\n * @documentationMaturity preview\n * @requiredField cart\n * @requiredField cart.items\n * @requiredField cart.items.name\n * @requiredField cart.items.price\n * @requiredField cart.items.quantity\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.frequency\n * @requiredField options\n * @requiredField options.callbackUrls\n * @requiredField options.callbackUrls.postFlowUrl\n * @requiredField options.callbackUrls.thankYouPageUrl\n * @permissionId payments:platform:v1:checkout_session:construct_checkout_session\n * @returns Response after creating a checkout session.\n * @fqn wix.payments.platform.v1.CheckoutSessions.ConstructCheckoutSession\n */\nexport async function constructCheckoutSession(\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n ConstructCheckoutSessionOptions,\n | `callbackUrls`\n | `callbackUrls.postFlowUrl`\n | `callbackUrls.thankYouPageUrl`,\n 3\n >\n): Promise<\n ConstructCheckoutSessionResponse & {\n __applicationErrorsType?: ConstructCheckoutSessionApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n cart: cart,\n callbackUrls: options?.callbackUrls,\n });\n\n const reqOpts =\n ambassadorWixPaymentsPlatformV1CheckoutSession.constructCheckoutSession(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cart: '$[0]',\n callbackUrls: '$[1].callbackUrls',\n },\n singleArgumentUnchanged: false,\n },\n ['cart', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ConstructCheckoutSessionOptions {\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n","import { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixPaymentsPlatformV1CheckoutSessionsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/payments/platform/v1/checkout-sessions',\n destPath: '/v1/checkout-sessions',\n },\n {\n srcPath: '/payments/base44/v1/subscriptions',\n destPath: '/v1/subscriptions',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n 'manage.base44.com': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_payments_checkout-sessions';\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n */\nexport function constructCheckoutSession(\n payload: object\n): RequestOptionsFactory<any> {\n function __constructCheckoutSession({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.payments.platform.v1.checkout_session',\n method: 'POST' as any,\n methodFqn:\n 'wix.payments.platform.v1.CheckoutSessions.ConstructCheckoutSession',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixPaymentsPlatformV1CheckoutSessionsUrl({\n protoPath: '/v1/checkout-sessions/construct',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __constructCheckoutSession;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n Cart,\n ConstructCheckoutSessionApplicationErrors,\n ConstructCheckoutSessionOptions,\n ConstructCheckoutSessionResponse,\n constructCheckoutSession as universalConstructCheckoutSession,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/payments' };\n\nexport function constructCheckoutSession(\n httpClient: HttpClient\n): ConstructCheckoutSessionSignature {\n return (\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n ConstructCheckoutSessionOptions,\n | `callbackUrls`\n | `callbackUrls.postFlowUrl`\n | `callbackUrls.thankYouPageUrl`,\n 3\n >\n ) =>\n universalConstructCheckoutSession(\n cart,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface ConstructCheckoutSessionSignature {\n /**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n * @param - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.\n * @returns Response after creating a checkout session.\n */\n (\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n ConstructCheckoutSessionOptions,\n | `callbackUrls`\n | `callbackUrls.postFlowUrl`\n | `callbackUrls.thankYouPageUrl`,\n 3\n >\n ): Promise<\n ConstructCheckoutSessionResponse & {\n __applicationErrorsType?: ConstructCheckoutSessionApplicationErrors;\n }\n >;\n}\n\nexport {\n CallbackUrls,\n Cart,\n CheckoutSession,\n ConstructCheckoutSessionOptions,\n ConstructCheckoutSessionRequest,\n ConstructCheckoutSessionResponse,\n CustomerInfo,\n FreeTrialPeriod,\n LineItem,\n RegisterCheckoutSessionWebhookRequest,\n RegisterCheckoutSessionWebhookResponse,\n SubscriptionFrequency,\n SubscriptionInfo,\n SubscriptionSettings,\n WebhookType,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n","import { constructCheckoutSession as publicConstructCheckoutSession } from './payments-platform-v1-checkout-session-checkout-sessions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const constructCheckoutSession: MaybeContext<\n BuildRESTFunction<typeof publicConstructCheckoutSession> &\n typeof publicConstructCheckoutSession\n> = /*#__PURE__*/ createRESTModule(publicConstructCheckoutSession);\n\nexport {\n SubscriptionFrequency,\n WebhookType,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\nexport {\n CheckoutSession,\n ConstructCheckoutSessionRequest,\n SubscriptionInfo,\n SubscriptionSettings,\n FreeTrialPeriod,\n LineItem,\n CustomerInfo,\n Cart,\n CallbackUrls,\n ConstructCheckoutSessionResponse,\n RegisterCheckoutSessionWebhookRequest,\n RegisterCheckoutSessionWebhookResponse,\n ConstructCheckoutSessionOptions,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\nexport {\n SubscriptionFrequencyWithLiterals,\n WebhookTypeWithLiterals,\n ConstructCheckoutSessionApplicationErrors,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,kCAAAA;AAAA;AAAA;;;ACAA,6BAAoD;AACpD,oCAGO;;;ACJP,0BAA2B;AAI3B,SAAS,gDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,gCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AASd,SAAS,yBACd,SAC4B;AAC5B,WAAS,2BAA2B,EAAE,KAAK,GAAQ;AACjD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,gDAAgD;AAAA,QACnD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADuCO,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AAsKL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,oBAAiB;AAKjB,EAAAA,aAAA,2BAAwB;AAKxB,EAAAA,aAAA,wBAAqB;AAZX,SAAAA;AAAA,GAAA;AAqEZ,eAAsBC,0BACpB,MAWA,SAWA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,cAAc,SAAS;AAAA,EACzB,CAAC;AAED,QAAM,UAC2C;AAAA,IAC7C;AAAA,EACF;AAEF,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,cAAc;AAAA,QAChB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ,SAAS;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;;;AE3YO,SAASC,0BACd,YACmC;AACnC,SAAO,CACL,MAWA,YAQAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;;;ACvCA,IAAAC,uBAAiC;AAG1B,IAAMC,4BAGK,2DAAiBA,yBAA8B;","names":["constructCheckoutSession","SubscriptionFrequency","WebhookType","constructCheckoutSession","sdkTransformError","constructCheckoutSession","import_rest_modules","constructCheckoutSession"]}
|
|
1
|
+
{"version":3,"sources":["../../index.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.universal.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.http.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.public.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.context.ts"],"sourcesContent":["export * from './src/payments-platform-v1-checkout-session-checkout-sessions.context.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPaymentsPlatformV1CheckoutSession from './payments-platform-v1-checkout-session-checkout-sessions.http.js';\n\n/** A Wix-hosted checkout page generated for a specific set of line items. */\nexport interface CheckoutSession {\n /**\n * Checkout session ID, generated by this call. The caller does not supply it.\n * @readonly\n * @format GUID\n */\n _id?: string | null;\n /**\n * URL of the Wix-hosted checkout page where the buyer completes payment. The buyer enters the page as\n * an anonymous shopper; any session held by the calling app is not carried over.\n *\n * The URL carries query parameters Wix needs in order to render the page correctly (for example, a\n * `successUrl` parameter derived from `callbackUrls.thankYouPageUrl`). Pass the URL through to the\n * buyer unchanged — do not strip, reorder, rewrite, or otherwise mutate its query string.\n * @readonly\n * @format WEB_URL\n */\n redirectUrl?: string | null;\n}\n\n/** Request to create a checkout session. */\nexport interface GenerateCheckoutSessionRequest {\n /** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\n cart: Cart;\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n\n/**\n * Recurring subscription configuration for a line item.\n *\n * `LineItem.name` and `subscriptionInfo.title`/`description` render in different parts of the\n * Wix-hosted checkout page: `LineItem.name` is the line label in the cart-summary list, while\n * `subscriptionInfo.title` and `subscriptionInfo.description` are the heading and body text on the\n * recurring-billing summary block (the area that shows the buyer the cadence and the free-trial terms,\n * if any). Set them to complementary values rather than duplicating `LineItem.name`.\n */\nexport interface SubscriptionInfo {\n /**\n * Billing frequency, cycles, and free trial configuration. Required when `subscriptionInfo` is set on a\n * line item.\n */\n subscriptionSettings?: SubscriptionSettings;\n /**\n * Subscription name shown to the buyer in the recurring-billing summary block on the Wix-hosted\n * checkout page (the heading of that block).\n * @maxLength 150\n */\n title?: string | null;\n /**\n * Subscription description shown to the buyer in the recurring-billing summary block on the\n * Wix-hosted checkout page (the body text below the title).\n * @maxLength 500\n */\n description?: string | null;\n}\n\n/**\n * Configuration for recurring subscription charges.\n *\n * `autoRenewal` and `billingCycles` are mutually exclusive — `autoRenewal: true` describes an\n * open-ended subscription that renews indefinitely, while `billingCycles: N` describes a fixed-term\n * subscription that stops after N charges. Setting `autoRenewal: true` together with any\n * `billingCycles` value is rejected with `INVALID_ARGUMENT` (application code\n * `AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT`).\n */\nexport interface SubscriptionSettings {\n /** Billing frequency unit. Required when `subscriptionSettings` is set; `UNDEFINED` is rejected. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units between charges. For `DAY` frequency, the minimum is 7 — the shortest\n * billing cadence supported is weekly; values 1–6 with `frequency: DAY` are rejected with\n * `INVALID_ARGUMENT` (rule code `MIN_VALUE`). Default: `1`.\n *\n * Note that `freeTrialPeriod.interval` does **not** share this floor — a `DAY` trial may have\n * `interval` as low as 1.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /**\n * Whether the subscription renews automatically. Cannot be `true` when `billingCycles` is set.\n *\n * Default: `true` when both `autoRenewal` and `billingCycles` are omitted; `false` when `billingCycles`\n * is set and `autoRenewal` is omitted.\n */\n autoRenewal?: boolean | null;\n /**\n * Number of billing cycles before the subscription stops. Cannot be set when `autoRenewal` is `true`.\n *\n * When omitted along with `autoRenewal`, the subscription renews indefinitely.\n * @min 1\n */\n billingCycles?: number | null;\n /** Free trial period before the first charge. */\n freeTrialPeriod?: FreeTrialPeriod;\n}\n\n/** Frequency unit for subscription billing and trial periods. */\nexport enum SubscriptionFrequency {\n /** Unknown frequency. */\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\n/**\n * Free trial period before the first subscription charge.\n *\n * The `frequency` enum is shared with `SubscriptionSettings.frequency` for convenience, but here it\n * describes a one-off duration unit (the length of the trial), not a recurring billing cadence. A\n * `frequency: MONTH` + `interval: 3` trial means \"a single 3-month trial,\" not \"billed every three\n * months.\"\n */\nexport interface FreeTrialPeriod {\n /**\n * Trial period frequency unit. Required when `freeTrialPeriod` is set; `UNDEFINED` should be\n * treated as a client mistake and is not a valid runtime value.\n */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Length of the trial period in `frequency` units. For example, `interval: 14` with `frequency: DAY`\n * gives a 14-day trial.\n *\n * Unlike `SubscriptionSettings.interval`, this field's `DAY` floor is `1` — there is no weekly-floor\n * restriction on the trial length. Values ≤ 0 are rejected with `INVALID_ARGUMENT` (rule code\n * `MIN_VALUE`).\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface PhysicalProperties {\n /** Whether the item requires shipping. */\n shippable?: boolean | null;\n}\n\nexport interface LineItem {\n /**\n * Name of the item, shown on the checkout page.\n * @minLength 1\n * @maxLength 255\n */\n name?: string | null;\n /**\n * Quantity of this item to charge for.\n * @min 1\n */\n quantity?: number | null;\n /**\n * Per-unit price as a decimal string in the merchant account currency. For example, `\"19.99\"`.\n * @minLength 1\n * @maxLength 50\n */\n price?: string | null;\n /**\n * Subscription configuration. When set, the line item follows a scheduled-billing model defined by\n * `subscriptionSettings` instead of a single immediate charge. The recurring charge each billing\n * cycle is `price × quantity`, and `quantity` is locked at session creation.\n *\n * At most one line item per request may set `subscriptionInfo`. Requests with two or more\n * subscription line items are rejected with `MULTIPLE_SUBSCRIPTION_ITEMS`.\n */\n subscriptionInfo?: SubscriptionInfo;\n /** Optional. Physical properties of the item, used when the item requires shipping. */\n physicalProperties?: PhysicalProperties;\n}\n\n/**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\nexport interface CustomerInfo {\n /**\n * Buyer's first name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Buyer's last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Buyer's phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Buyer's email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\nexport interface Cart {\n /**\n * Line items the buyer is paying for in this checkout session.\n *\n * At most one subscription line item (an item with `subscriptionInfo` set) is allowed per request.\n * Requests with two or more subscription items are rejected. One-time items can be combined with a\n * single subscription item; in that case the buyer is charged once at checkout for the one-time items\n * and (if applicable) the first cycle of the subscription, and any subsequent cycles are billed on\n * the subscription's own schedule.\n * @maxSize 100\n */\n items?: LineItem[];\n /**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\n customerInfo?: CustomerInfo;\n}\n\n/**\n * URLs the buyer is redirected to after the checkout flow.\n *\n * The buyer is sent to one of the URLs below — `continueBrowsingUrl` if they explicitly leave via\n * **Continue browsing**, `thankYouPageUrl` after a successful payment.\n *\n * If the buyer abandons the page implicitly (closing the tab, navigating away, network failure), no\n * callback URL is invoked and the checkout session is not resumed.\n */\nexport interface CallbackUrls {\n /**\n * URL the buyer is redirected to from the Wix checkout page when they choose to leave without\n * completing payment — both when they click **Continue browsing** and when they navigate back to\n * a cart-style page.\n *\n * Deprecated. Use `continueBrowsingUrl` instead.\n * @format WEB_URL\n * @deprecated\n * @replacedBy continue_browsing_url\n */\n postFlowUrl?: string | null;\n /**\n * URL the buyer is redirected to after a successful payment.\n * @format WEB_URL\n */\n thankYouPageUrl?: string | null;\n /**\n * URL the buyer is redirected to from the Wix checkout page when they choose to leave without\n * completing payment — both when they click **Continue browsing** and when they navigate back to\n * a cart-style page.\n *\n * Required unless the deprecated `postFlowUrl` is supplied.\n * @format WEB_URL\n */\n continueBrowsingUrl?: string | null;\n}\n\n/** Response after creating a checkout session. */\nexport interface GenerateCheckoutSessionResponse {\n /** The created checkout session. */\n checkoutSession?: CheckoutSession;\n}\n\n/** Request to register a webhook URL. */\nexport interface RegisterCheckoutSessionWebhookRequest {\n /**\n * URL to receive webhook notifications.\n * @format WEB_URL\n */\n url?: string | null;\n /**\n * Webhook event types to register. Default: `[ORDER_APPROVED]`.\n * @maxSize 10\n */\n webhookTypes?: WebhookTypeWithLiterals[];\n}\n\n/** Webhook event types to register. */\nexport enum WebhookType {\n /** Order Approved webhook (`wix.ecom.v1.order_approved`). */\n ORDER_APPROVED = 'ORDER_APPROVED',\n /**\n * Subscription Contract Canceled webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_canceled`).\n */\n SUBSCRIPTION_CANCELED = 'SUBSCRIPTION_CANCELED',\n /**\n * Subscription Contract Expired webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_expired`).\n */\n SUBSCRIPTION_ENDED = 'SUBSCRIPTION_ENDED',\n}\n\n/** @enumType */\nexport type WebhookTypeWithLiterals =\n | WebhookType\n | 'ORDER_APPROVED'\n | 'SUBSCRIPTION_CANCELED'\n | 'SUBSCRIPTION_ENDED';\n\n/** Response after registering a webhook. */\nexport interface RegisterCheckoutSessionWebhookResponse {\n /**\n * PEM-formatted RS256 public key used to verify the JWT signature on incoming webhook payloads.\n * @maxLength 1000\n */\n publicKey?: string | null;\n}\n\n/** @docsIgnore */\nexport type GenerateCheckoutSessionApplicationErrors =\n | {\n code?: 'MULTIPLE_SUBSCRIPTION_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n *\n * `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary\n * (legacy) path bound to the same RPC.\n * @param cart - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.\n * @public\n * @documentationMaturity preview\n * @requiredField cart\n * @requiredField cart.items\n * @requiredField cart.items.name\n * @requiredField cart.items.price\n * @requiredField cart.items.quantity\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.frequency\n * @requiredField options\n * @requiredField options.callbackUrls\n * @requiredField options.callbackUrls.thankYouPageUrl\n * @permissionId payments:platform:v1:checkout_session:construct_checkout_session\n * @permissionId payments:platform:v1:checkout_session:generate_checkout_session\n * @returns Response after creating a checkout session.\n * @fqn wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession\n */\nexport async function generateCheckoutSession(\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n GenerateCheckoutSessionOptions,\n `callbackUrls` | `callbackUrls.thankYouPageUrl`,\n 3\n >\n): Promise<\n GenerateCheckoutSessionResponse & {\n __applicationErrorsType?: GenerateCheckoutSessionApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n cart: cart,\n callbackUrls: options?.callbackUrls,\n });\n\n const reqOpts =\n ambassadorWixPaymentsPlatformV1CheckoutSession.generateCheckoutSession(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cart: '$[0]',\n callbackUrls: '$[1].callbackUrls',\n },\n singleArgumentUnchanged: false,\n },\n ['cart', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateCheckoutSessionOptions {\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n","import { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixPaymentsPlatformV1CheckoutSessionsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/payments/platform/v1/checkout-sessions',\n destPath: '/v1/checkout-sessions',\n },\n {\n srcPath: '/payments/base44/v1/subscriptions',\n destPath: '/v1/subscriptions',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n 'manage.base44.com': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_payments_checkout-sessions';\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n *\n * `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary\n * (legacy) path bound to the same RPC.\n */\nexport function generateCheckoutSession(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateCheckoutSession({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.payments.platform.v1.checkout_session',\n method: 'POST' as any,\n methodFqn:\n 'wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixPaymentsPlatformV1CheckoutSessionsUrl({\n protoPath: '/v1/checkout-sessions/generate',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __generateCheckoutSession;\n}\n","import { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport {\n Cart,\n GenerateCheckoutSessionApplicationErrors,\n GenerateCheckoutSessionOptions,\n GenerateCheckoutSessionResponse,\n generateCheckoutSession as universalGenerateCheckoutSession,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n\nexport const __metadata = { PACKAGE_NAME: '@wix/payments' };\n\nexport function generateCheckoutSession(\n httpClient: HttpClient\n): GenerateCheckoutSessionSignature {\n return (\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n GenerateCheckoutSessionOptions,\n `callbackUrls` | `callbackUrls.thankYouPageUrl`,\n 3\n >\n ) =>\n universalGenerateCheckoutSession(\n cart,\n options,\n // @ts-ignore\n { httpClient }\n );\n}\n\ninterface GenerateCheckoutSessionSignature {\n /**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n *\n * `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary\n * (legacy) path bound to the same RPC.\n * @param - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.\n * @returns Response after creating a checkout session.\n */\n (\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n GenerateCheckoutSessionOptions,\n `callbackUrls` | `callbackUrls.thankYouPageUrl`,\n 3\n >\n ): Promise<\n GenerateCheckoutSessionResponse & {\n __applicationErrorsType?: GenerateCheckoutSessionApplicationErrors;\n }\n >;\n}\n\nexport {\n CallbackUrls,\n Cart,\n CheckoutSession,\n CustomerInfo,\n FreeTrialPeriod,\n GenerateCheckoutSessionOptions,\n GenerateCheckoutSessionRequest,\n GenerateCheckoutSessionResponse,\n LineItem,\n PhysicalProperties,\n RegisterCheckoutSessionWebhookRequest,\n RegisterCheckoutSessionWebhookResponse,\n SubscriptionFrequency,\n SubscriptionInfo,\n SubscriptionSettings,\n WebhookType,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n","import { generateCheckoutSession as publicGenerateCheckoutSession } from './payments-platform-v1-checkout-session-checkout-sessions.public.js';\nimport { createRESTModule } from '@wix/sdk-runtime/rest-modules';\nimport { BuildRESTFunction, MaybeContext } from '@wix/sdk-types';\n\nexport const generateCheckoutSession: MaybeContext<\n BuildRESTFunction<typeof publicGenerateCheckoutSession> &\n typeof publicGenerateCheckoutSession\n> = /*#__PURE__*/ createRESTModule(publicGenerateCheckoutSession);\n\nexport {\n SubscriptionFrequency,\n WebhookType,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\nexport {\n CheckoutSession,\n GenerateCheckoutSessionRequest,\n SubscriptionInfo,\n SubscriptionSettings,\n FreeTrialPeriod,\n PhysicalProperties,\n LineItem,\n CustomerInfo,\n Cart,\n CallbackUrls,\n GenerateCheckoutSessionResponse,\n RegisterCheckoutSessionWebhookRequest,\n RegisterCheckoutSessionWebhookResponse,\n GenerateCheckoutSessionOptions,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\nexport {\n SubscriptionFrequencyWithLiterals,\n WebhookTypeWithLiterals,\n GenerateCheckoutSessionApplicationErrors,\n} from './payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,iCAAAA;AAAA;AAAA;;;ACAA,6BAAoD;AACpD,oCAGO;;;ACJP,0BAA2B;AAI3B,SAAS,gDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,gCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAYd,SAAS,wBACd,SAC4B;AAC5B,WAAS,0BAA0B,EAAE,KAAK,GAAQ;AAChD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,gDAAgD;AAAA,QACnD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADoCO,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AA0LL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,oBAAiB;AAKjB,EAAAA,aAAA,2BAAwB;AAKxB,EAAAA,aAAA,wBAAqB;AAZX,SAAAA;AAAA,GAAA;AAwEZ,eAAsBC,yBACpB,MAWA,SASA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,cAAc,SAAS;AAAA,EACzB,CAAC;AAED,QAAM,UAC2C;AAAA,IAC7C;AAAA,EACF;AAEF,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,cAAc;AAAA,QAChB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ,SAAS;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;;;AEhaO,SAASC,yBACd,YACkC;AAClC,SAAO,CACL,MAWA,YAMAA;AAAA,IACE;AAAA,IACA;AAAA;AAAA,IAEA,EAAE,WAAW;AAAA,EACf;AACJ;;;ACrCA,IAAAC,uBAAiC;AAG1B,IAAMC,2BAGK,2DAAiBA,wBAA6B;","names":["generateCheckoutSession","SubscriptionFrequency","WebhookType","generateCheckoutSession","sdkTransformError","generateCheckoutSession","import_rest_modules","generateCheckoutSession"]}
|
|
@@ -21,7 +21,7 @@ interface CheckoutSession {
|
|
|
21
21
|
redirectUrl?: string | null;
|
|
22
22
|
}
|
|
23
23
|
/** Request to create a checkout session. */
|
|
24
|
-
interface
|
|
24
|
+
interface GenerateCheckoutSessionRequest {
|
|
25
25
|
/** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */
|
|
26
26
|
cart: Cart;
|
|
27
27
|
/** URLs the buyer is redirected to after completing or leaving the checkout flow. */
|
|
@@ -132,6 +132,10 @@ interface FreeTrialPeriod {
|
|
|
132
132
|
*/
|
|
133
133
|
interval?: number;
|
|
134
134
|
}
|
|
135
|
+
interface PhysicalProperties {
|
|
136
|
+
/** Whether the item requires shipping. */
|
|
137
|
+
shippable?: boolean | null;
|
|
138
|
+
}
|
|
135
139
|
interface LineItem {
|
|
136
140
|
/**
|
|
137
141
|
* Name of the item, shown on the checkout page.
|
|
@@ -159,6 +163,8 @@ interface LineItem {
|
|
|
159
163
|
* subscription line items are rejected with `MULTIPLE_SUBSCRIPTION_ITEMS`.
|
|
160
164
|
*/
|
|
161
165
|
subscriptionInfo?: SubscriptionInfo;
|
|
166
|
+
/** Optional. Physical properties of the item, used when the item requires shipping. */
|
|
167
|
+
physicalProperties?: PhysicalProperties;
|
|
162
168
|
}
|
|
163
169
|
/**
|
|
164
170
|
* Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the
|
|
@@ -208,8 +214,8 @@ interface Cart {
|
|
|
208
214
|
/**
|
|
209
215
|
* URLs the buyer is redirected to after the checkout flow.
|
|
210
216
|
*
|
|
211
|
-
* The buyer is sent to one of the URLs below — `
|
|
212
|
-
* browsing**, `thankYouPageUrl` after a successful payment.
|
|
217
|
+
* The buyer is sent to one of the URLs below — `continueBrowsingUrl` if they explicitly leave via
|
|
218
|
+
* **Continue browsing**, `thankYouPageUrl` after a successful payment.
|
|
213
219
|
*
|
|
214
220
|
* If the buyer abandons the page implicitly (closing the tab, navigating away, network failure), no
|
|
215
221
|
* callback URL is invoked and the checkout session is not resumed.
|
|
@@ -219,7 +225,11 @@ interface CallbackUrls {
|
|
|
219
225
|
* URL the buyer is redirected to from the Wix checkout page when they choose to leave without
|
|
220
226
|
* completing payment — both when they click **Continue browsing** and when they navigate back to
|
|
221
227
|
* a cart-style page.
|
|
228
|
+
*
|
|
229
|
+
* Deprecated. Use `continueBrowsingUrl` instead.
|
|
222
230
|
* @format WEB_URL
|
|
231
|
+
* @deprecated
|
|
232
|
+
* @replacedBy continue_browsing_url
|
|
223
233
|
*/
|
|
224
234
|
postFlowUrl?: string | null;
|
|
225
235
|
/**
|
|
@@ -227,9 +237,18 @@ interface CallbackUrls {
|
|
|
227
237
|
* @format WEB_URL
|
|
228
238
|
*/
|
|
229
239
|
thankYouPageUrl?: string | null;
|
|
240
|
+
/**
|
|
241
|
+
* URL the buyer is redirected to from the Wix checkout page when they choose to leave without
|
|
242
|
+
* completing payment — both when they click **Continue browsing** and when they navigate back to
|
|
243
|
+
* a cart-style page.
|
|
244
|
+
*
|
|
245
|
+
* Required unless the deprecated `postFlowUrl` is supplied.
|
|
246
|
+
* @format WEB_URL
|
|
247
|
+
*/
|
|
248
|
+
continueBrowsingUrl?: string | null;
|
|
230
249
|
}
|
|
231
250
|
/** Response after creating a checkout session. */
|
|
232
|
-
interface
|
|
251
|
+
interface GenerateCheckoutSessionResponse {
|
|
233
252
|
/** The created checkout session. */
|
|
234
253
|
checkoutSession?: CheckoutSession;
|
|
235
254
|
}
|
|
@@ -272,7 +291,7 @@ interface RegisterCheckoutSessionWebhookResponse {
|
|
|
272
291
|
publicKey?: string | null;
|
|
273
292
|
}
|
|
274
293
|
/** @docsIgnore */
|
|
275
|
-
type
|
|
294
|
+
type GenerateCheckoutSessionApplicationErrors = {
|
|
276
295
|
code?: 'MULTIPLE_SUBSCRIPTION_ITEMS';
|
|
277
296
|
description?: string;
|
|
278
297
|
data?: Record<string, any>;
|
|
@@ -287,6 +306,9 @@ type ConstructCheckoutSessionApplicationErrors = {
|
|
|
287
306
|
*
|
|
288
307
|
* Each call creates a new, independent session; the method is not idempotent, so a retry produces
|
|
289
308
|
* an additional session rather than recovering an existing one.
|
|
309
|
+
*
|
|
310
|
+
* `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary
|
|
311
|
+
* (legacy) path bound to the same RPC.
|
|
290
312
|
* @param cart - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.
|
|
291
313
|
* @public
|
|
292
314
|
* @documentationMaturity preview
|
|
@@ -300,18 +322,18 @@ type ConstructCheckoutSessionApplicationErrors = {
|
|
|
300
322
|
* @requiredField cart.items.subscriptionInfo.subscriptionSettings.frequency
|
|
301
323
|
* @requiredField options
|
|
302
324
|
* @requiredField options.callbackUrls
|
|
303
|
-
* @requiredField options.callbackUrls.postFlowUrl
|
|
304
325
|
* @requiredField options.callbackUrls.thankYouPageUrl
|
|
305
326
|
* @permissionId payments:platform:v1:checkout_session:construct_checkout_session
|
|
327
|
+
* @permissionId payments:platform:v1:checkout_session:generate_checkout_session
|
|
306
328
|
* @returns Response after creating a checkout session.
|
|
307
|
-
* @fqn wix.payments.platform.v1.CheckoutSessions.
|
|
329
|
+
* @fqn wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession
|
|
308
330
|
*/
|
|
309
|
-
declare function
|
|
310
|
-
__applicationErrorsType?:
|
|
331
|
+
declare function generateCheckoutSession(cart: NonNullablePaths<Cart, `items` | `items.${number}.name` | `items.${number}.price` | `items.${number}.quantity` | `items.${number}.subscriptionInfo.subscriptionSettings` | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency` | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`, 7>, options: NonNullablePaths<GenerateCheckoutSessionOptions, `callbackUrls` | `callbackUrls.thankYouPageUrl`, 3>): Promise<GenerateCheckoutSessionResponse & {
|
|
332
|
+
__applicationErrorsType?: GenerateCheckoutSessionApplicationErrors;
|
|
311
333
|
}>;
|
|
312
|
-
interface
|
|
334
|
+
interface GenerateCheckoutSessionOptions {
|
|
313
335
|
/** URLs the buyer is redirected to after completing or leaving the checkout flow. */
|
|
314
336
|
callbackUrls: CallbackUrls;
|
|
315
337
|
}
|
|
316
338
|
|
|
317
|
-
export { type CallbackUrls, type Cart, type CheckoutSession, type
|
|
339
|
+
export { type CallbackUrls, type Cart, type CheckoutSession, type CustomerInfo, type FreeTrialPeriod, type GenerateCheckoutSessionApplicationErrors, type GenerateCheckoutSessionOptions, type GenerateCheckoutSessionRequest, type GenerateCheckoutSessionResponse, type LineItem, type PhysicalProperties, type RegisterCheckoutSessionWebhookRequest, type RegisterCheckoutSessionWebhookResponse, SubscriptionFrequency, type SubscriptionFrequencyWithLiterals, type SubscriptionInfo, type SubscriptionSettings, WebhookType, type WebhookTypeWithLiterals, generateCheckoutSession };
|
|
@@ -22,7 +22,7 @@ var index_typings_exports = {};
|
|
|
22
22
|
__export(index_typings_exports, {
|
|
23
23
|
SubscriptionFrequency: () => SubscriptionFrequency,
|
|
24
24
|
WebhookType: () => WebhookType,
|
|
25
|
-
|
|
25
|
+
generateCheckoutSession: () => generateCheckoutSession2
|
|
26
26
|
});
|
|
27
27
|
module.exports = __toCommonJS(index_typings_exports);
|
|
28
28
|
|
|
@@ -60,18 +60,18 @@ function resolveWixPaymentsPlatformV1CheckoutSessionsUrl(opts) {
|
|
|
60
60
|
return (0, import_rest_modules.resolveUrl)(Object.assign(opts, { domainToMappings }));
|
|
61
61
|
}
|
|
62
62
|
var PACKAGE_NAME = "@wix/auto_sdk_payments_checkout-sessions";
|
|
63
|
-
function
|
|
64
|
-
function
|
|
63
|
+
function generateCheckoutSession(payload) {
|
|
64
|
+
function __generateCheckoutSession({ host }) {
|
|
65
65
|
const metadata = {
|
|
66
66
|
entityFqdn: "wix.payments.platform.v1.checkout_session",
|
|
67
67
|
method: "POST",
|
|
68
|
-
methodFqn: "wix.payments.platform.v1.CheckoutSessions.
|
|
68
|
+
methodFqn: "wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession",
|
|
69
69
|
packageName: PACKAGE_NAME,
|
|
70
70
|
migrationOptions: {
|
|
71
71
|
optInTransformResponse: true
|
|
72
72
|
},
|
|
73
73
|
url: resolveWixPaymentsPlatformV1CheckoutSessionsUrl({
|
|
74
|
-
protoPath: "/v1/checkout-sessions/
|
|
74
|
+
protoPath: "/v1/checkout-sessions/generate",
|
|
75
75
|
data: payload,
|
|
76
76
|
host
|
|
77
77
|
}),
|
|
@@ -79,7 +79,7 @@ function constructCheckoutSession(payload) {
|
|
|
79
79
|
};
|
|
80
80
|
return metadata;
|
|
81
81
|
}
|
|
82
|
-
return
|
|
82
|
+
return __generateCheckoutSession;
|
|
83
83
|
}
|
|
84
84
|
|
|
85
85
|
// src/payments-platform-v1-checkout-session-checkout-sessions.universal.ts
|
|
@@ -97,13 +97,13 @@ var WebhookType = /* @__PURE__ */ ((WebhookType2) => {
|
|
|
97
97
|
WebhookType2["SUBSCRIPTION_ENDED"] = "SUBSCRIPTION_ENDED";
|
|
98
98
|
return WebhookType2;
|
|
99
99
|
})(WebhookType || {});
|
|
100
|
-
async function
|
|
100
|
+
async function generateCheckoutSession2(cart, options) {
|
|
101
101
|
const { httpClient, sideEffects } = arguments[2];
|
|
102
102
|
const payload = (0, import_rename_all_nested_keys.renameKeysFromSDKRequestToRESTRequest)({
|
|
103
103
|
cart,
|
|
104
104
|
callbackUrls: options?.callbackUrls
|
|
105
105
|
});
|
|
106
|
-
const reqOpts =
|
|
106
|
+
const reqOpts = generateCheckoutSession(
|
|
107
107
|
payload
|
|
108
108
|
);
|
|
109
109
|
sideEffects?.onSiteCall?.();
|
|
@@ -132,6 +132,6 @@ async function constructCheckoutSession2(cart, options) {
|
|
|
132
132
|
0 && (module.exports = {
|
|
133
133
|
SubscriptionFrequency,
|
|
134
134
|
WebhookType,
|
|
135
|
-
|
|
135
|
+
generateCheckoutSession
|
|
136
136
|
});
|
|
137
137
|
//# sourceMappingURL=index.typings.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["../../index.typings.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.universal.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.http.ts"],"sourcesContent":["export * from './src/payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPaymentsPlatformV1CheckoutSession from './payments-platform-v1-checkout-session-checkout-sessions.http.js';\n\n/** A Wix-hosted checkout page generated for a specific set of line items. */\nexport interface CheckoutSession {\n /**\n * Checkout session ID, generated by this call. The caller does not supply it.\n * @readonly\n * @format GUID\n */\n _id?: string | null;\n /**\n * URL of the Wix-hosted checkout page where the buyer completes payment. The buyer enters the page as\n * an anonymous shopper; any session held by the calling app is not carried over.\n *\n * The URL carries query parameters Wix needs in order to render the page correctly (for example, a\n * `successUrl` parameter derived from `callbackUrls.thankYouPageUrl`). Pass the URL through to the\n * buyer unchanged — do not strip, reorder, rewrite, or otherwise mutate its query string.\n * @readonly\n * @format WEB_URL\n */\n redirectUrl?: string | null;\n}\n\n/** Request to create a checkout session. */\nexport interface ConstructCheckoutSessionRequest {\n /** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\n cart: Cart;\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n\n/**\n * Recurring subscription configuration for a line item.\n *\n * `LineItem.name` and `subscriptionInfo.title`/`description` render in different parts of the\n * Wix-hosted checkout page: `LineItem.name` is the line label in the cart-summary list, while\n * `subscriptionInfo.title` and `subscriptionInfo.description` are the heading and body text on the\n * recurring-billing summary block (the area that shows the buyer the cadence and the free-trial terms,\n * if any). Set them to complementary values rather than duplicating `LineItem.name`.\n */\nexport interface SubscriptionInfo {\n /**\n * Billing frequency, cycles, and free trial configuration. Required when `subscriptionInfo` is set on a\n * line item.\n */\n subscriptionSettings?: SubscriptionSettings;\n /**\n * Subscription name shown to the buyer in the recurring-billing summary block on the Wix-hosted\n * checkout page (the heading of that block).\n * @maxLength 150\n */\n title?: string | null;\n /**\n * Subscription description shown to the buyer in the recurring-billing summary block on the\n * Wix-hosted checkout page (the body text below the title).\n * @maxLength 500\n */\n description?: string | null;\n}\n\n/**\n * Configuration for recurring subscription charges.\n *\n * `autoRenewal` and `billingCycles` are mutually exclusive — `autoRenewal: true` describes an\n * open-ended subscription that renews indefinitely, while `billingCycles: N` describes a fixed-term\n * subscription that stops after N charges. Setting `autoRenewal: true` together with any\n * `billingCycles` value is rejected with `INVALID_ARGUMENT` (application code\n * `AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT`).\n */\nexport interface SubscriptionSettings {\n /** Billing frequency unit. Required when `subscriptionSettings` is set; `UNDEFINED` is rejected. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units between charges. For `DAY` frequency, the minimum is 7 — the shortest\n * billing cadence supported is weekly; values 1–6 with `frequency: DAY` are rejected with\n * `INVALID_ARGUMENT` (rule code `MIN_VALUE`). Default: `1`.\n *\n * Note that `freeTrialPeriod.interval` does **not** share this floor — a `DAY` trial may have\n * `interval` as low as 1.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /**\n * Whether the subscription renews automatically. Cannot be `true` when `billingCycles` is set.\n *\n * Default: `true` when both `autoRenewal` and `billingCycles` are omitted; `false` when `billingCycles`\n * is set and `autoRenewal` is omitted.\n */\n autoRenewal?: boolean | null;\n /**\n * Number of billing cycles before the subscription stops. Cannot be set when `autoRenewal` is `true`.\n *\n * When omitted along with `autoRenewal`, the subscription renews indefinitely.\n * @min 1\n */\n billingCycles?: number | null;\n /** Free trial period before the first charge. */\n freeTrialPeriod?: FreeTrialPeriod;\n}\n\n/** Frequency unit for subscription billing and trial periods. */\nexport enum SubscriptionFrequency {\n /** Unknown frequency. */\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\n/**\n * Free trial period before the first subscription charge.\n *\n * The `frequency` enum is shared with `SubscriptionSettings.frequency` for convenience, but here it\n * describes a one-off duration unit (the length of the trial), not a recurring billing cadence. A\n * `frequency: MONTH` + `interval: 3` trial means \"a single 3-month trial,\" not \"billed every three\n * months.\"\n */\nexport interface FreeTrialPeriod {\n /**\n * Trial period frequency unit. Required when `freeTrialPeriod` is set; `UNDEFINED` should be\n * treated as a client mistake and is not a valid runtime value.\n */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Length of the trial period in `frequency` units. For example, `interval: 14` with `frequency: DAY`\n * gives a 14-day trial.\n *\n * Unlike `SubscriptionSettings.interval`, this field's `DAY` floor is `1` — there is no weekly-floor\n * restriction on the trial length. Values ≤ 0 are rejected with `INVALID_ARGUMENT` (rule code\n * `MIN_VALUE`).\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface LineItem {\n /**\n * Name of the item, shown on the checkout page.\n * @minLength 1\n * @maxLength 255\n */\n name?: string | null;\n /**\n * Quantity of this item to charge for.\n * @min 1\n */\n quantity?: number | null;\n /**\n * Per-unit price as a decimal string in the merchant account currency. For example, `\"19.99\"`.\n * @minLength 1\n * @maxLength 50\n */\n price?: string | null;\n /**\n * Subscription configuration. When set, the line item follows a scheduled-billing model defined by\n * `subscriptionSettings` instead of a single immediate charge. The recurring charge each billing\n * cycle is `price × quantity`, and `quantity` is locked at session creation.\n *\n * At most one line item per request may set `subscriptionInfo`. Requests with two or more\n * subscription line items are rejected with `MULTIPLE_SUBSCRIPTION_ITEMS`.\n */\n subscriptionInfo?: SubscriptionInfo;\n}\n\n/**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\nexport interface CustomerInfo {\n /**\n * Buyer's first name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Buyer's last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Buyer's phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Buyer's email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\nexport interface Cart {\n /**\n * Line items the buyer is paying for in this checkout session.\n *\n * At most one subscription line item (an item with `subscriptionInfo` set) is allowed per request.\n * Requests with two or more subscription items are rejected. One-time items can be combined with a\n * single subscription item; in that case the buyer is charged once at checkout for the one-time items\n * and (if applicable) the first cycle of the subscription, and any subsequent cycles are billed on\n * the subscription's own schedule.\n * @maxSize 100\n */\n items?: LineItem[];\n /**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\n customerInfo?: CustomerInfo;\n}\n\n/**\n * URLs the buyer is redirected to after the checkout flow.\n *\n * The buyer is sent to one of the URLs below — `postFlowUrl` if they explicitly leave via **Continue\n * browsing**, `thankYouPageUrl` after a successful payment.\n *\n * If the buyer abandons the page implicitly (closing the tab, navigating away, network failure), no\n * callback URL is invoked and the checkout session is not resumed.\n */\nexport interface CallbackUrls {\n /**\n * URL the buyer is redirected to from the Wix checkout page when they choose to leave without\n * completing payment — both when they click **Continue browsing** and when they navigate back to\n * a cart-style page.\n * @format WEB_URL\n */\n postFlowUrl?: string | null;\n /**\n * URL the buyer is redirected to after a successful payment.\n * @format WEB_URL\n */\n thankYouPageUrl?: string | null;\n}\n\n/** Response after creating a checkout session. */\nexport interface ConstructCheckoutSessionResponse {\n /** The created checkout session. */\n checkoutSession?: CheckoutSession;\n}\n\n/** Request to register a webhook URL. */\nexport interface RegisterCheckoutSessionWebhookRequest {\n /**\n * URL to receive webhook notifications.\n * @format WEB_URL\n */\n url?: string | null;\n /**\n * Webhook event types to register. Default: `[ORDER_APPROVED]`.\n * @maxSize 10\n */\n webhookTypes?: WebhookTypeWithLiterals[];\n}\n\n/** Webhook event types to register. */\nexport enum WebhookType {\n /** Order Approved webhook (`wix.ecom.v1.order_approved`). */\n ORDER_APPROVED = 'ORDER_APPROVED',\n /**\n * Subscription Contract Canceled webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_canceled`).\n */\n SUBSCRIPTION_CANCELED = 'SUBSCRIPTION_CANCELED',\n /**\n * Subscription Contract Expired webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_expired`).\n */\n SUBSCRIPTION_ENDED = 'SUBSCRIPTION_ENDED',\n}\n\n/** @enumType */\nexport type WebhookTypeWithLiterals =\n | WebhookType\n | 'ORDER_APPROVED'\n | 'SUBSCRIPTION_CANCELED'\n | 'SUBSCRIPTION_ENDED';\n\n/** Response after registering a webhook. */\nexport interface RegisterCheckoutSessionWebhookResponse {\n /**\n * PEM-formatted RS256 public key used to verify the JWT signature on incoming webhook payloads.\n * @maxLength 1000\n */\n publicKey?: string | null;\n}\n\n/** @docsIgnore */\nexport type ConstructCheckoutSessionApplicationErrors =\n | {\n code?: 'MULTIPLE_SUBSCRIPTION_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n * @param cart - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.\n * @public\n * @documentationMaturity preview\n * @requiredField cart\n * @requiredField cart.items\n * @requiredField cart.items.name\n * @requiredField cart.items.price\n * @requiredField cart.items.quantity\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.frequency\n * @requiredField options\n * @requiredField options.callbackUrls\n * @requiredField options.callbackUrls.postFlowUrl\n * @requiredField options.callbackUrls.thankYouPageUrl\n * @permissionId payments:platform:v1:checkout_session:construct_checkout_session\n * @returns Response after creating a checkout session.\n * @fqn wix.payments.platform.v1.CheckoutSessions.ConstructCheckoutSession\n */\nexport async function constructCheckoutSession(\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n ConstructCheckoutSessionOptions,\n | `callbackUrls`\n | `callbackUrls.postFlowUrl`\n | `callbackUrls.thankYouPageUrl`,\n 3\n >\n): Promise<\n ConstructCheckoutSessionResponse & {\n __applicationErrorsType?: ConstructCheckoutSessionApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n cart: cart,\n callbackUrls: options?.callbackUrls,\n });\n\n const reqOpts =\n ambassadorWixPaymentsPlatformV1CheckoutSession.constructCheckoutSession(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cart: '$[0]',\n callbackUrls: '$[1].callbackUrls',\n },\n singleArgumentUnchanged: false,\n },\n ['cart', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface ConstructCheckoutSessionOptions {\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n","import { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixPaymentsPlatformV1CheckoutSessionsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/payments/platform/v1/checkout-sessions',\n destPath: '/v1/checkout-sessions',\n },\n {\n srcPath: '/payments/base44/v1/subscriptions',\n destPath: '/v1/subscriptions',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n 'manage.base44.com': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_payments_checkout-sessions';\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n */\nexport function constructCheckoutSession(\n payload: object\n): RequestOptionsFactory<any> {\n function __constructCheckoutSession({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.payments.platform.v1.checkout_session',\n method: 'POST' as any,\n methodFqn:\n 'wix.payments.platform.v1.CheckoutSessions.ConstructCheckoutSession',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixPaymentsPlatformV1CheckoutSessionsUrl({\n protoPath: '/v1/checkout-sessions/construct',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __constructCheckoutSession;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,kCAAAA;AAAA;AAAA;;;ACAA,6BAAoD;AACpD,oCAGO;;;ACJP,0BAA2B;AAI3B,SAAS,gDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,gCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AASd,SAAS,yBACd,SAC4B;AAC5B,WAAS,2BAA2B,EAAE,KAAK,GAAQ;AACjD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,gDAAgD;AAAA,QACnD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADuCO,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AAsKL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,oBAAiB;AAKjB,EAAAA,aAAA,2BAAwB;AAKxB,EAAAA,aAAA,wBAAqB;AAZX,SAAAA;AAAA,GAAA;AAqEZ,eAAsBC,0BACpB,MAWA,SAWA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,cAAc,SAAS;AAAA,EACzB,CAAC;AAED,QAAM,UAC2C;AAAA,IAC7C;AAAA,EACF;AAEF,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,cAAc;AAAA,QAChB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ,SAAS;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;","names":["constructCheckoutSession","SubscriptionFrequency","WebhookType","constructCheckoutSession","sdkTransformError"]}
|
|
1
|
+
{"version":3,"sources":["../../index.typings.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.universal.ts","../../src/payments-platform-v1-checkout-session-checkout-sessions.http.ts"],"sourcesContent":["export * from './src/payments-platform-v1-checkout-session-checkout-sessions.universal.js';\n","import { transformError as sdkTransformError } from '@wix/sdk-runtime/transform-error';\nimport {\n renameKeysFromSDKRequestToRESTRequest,\n renameKeysFromRESTResponseToSDKResponse,\n} from '@wix/sdk-runtime/rename-all-nested-keys';\nimport { HttpClient, NonNullablePaths } from '@wix/sdk-types';\nimport * as ambassadorWixPaymentsPlatformV1CheckoutSession from './payments-platform-v1-checkout-session-checkout-sessions.http.js';\n\n/** A Wix-hosted checkout page generated for a specific set of line items. */\nexport interface CheckoutSession {\n /**\n * Checkout session ID, generated by this call. The caller does not supply it.\n * @readonly\n * @format GUID\n */\n _id?: string | null;\n /**\n * URL of the Wix-hosted checkout page where the buyer completes payment. The buyer enters the page as\n * an anonymous shopper; any session held by the calling app is not carried over.\n *\n * The URL carries query parameters Wix needs in order to render the page correctly (for example, a\n * `successUrl` parameter derived from `callbackUrls.thankYouPageUrl`). Pass the URL through to the\n * buyer unchanged — do not strip, reorder, rewrite, or otherwise mutate its query string.\n * @readonly\n * @format WEB_URL\n */\n redirectUrl?: string | null;\n}\n\n/** Request to create a checkout session. */\nexport interface GenerateCheckoutSessionRequest {\n /** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\n cart: Cart;\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n\n/**\n * Recurring subscription configuration for a line item.\n *\n * `LineItem.name` and `subscriptionInfo.title`/`description` render in different parts of the\n * Wix-hosted checkout page: `LineItem.name` is the line label in the cart-summary list, while\n * `subscriptionInfo.title` and `subscriptionInfo.description` are the heading and body text on the\n * recurring-billing summary block (the area that shows the buyer the cadence and the free-trial terms,\n * if any). Set them to complementary values rather than duplicating `LineItem.name`.\n */\nexport interface SubscriptionInfo {\n /**\n * Billing frequency, cycles, and free trial configuration. Required when `subscriptionInfo` is set on a\n * line item.\n */\n subscriptionSettings?: SubscriptionSettings;\n /**\n * Subscription name shown to the buyer in the recurring-billing summary block on the Wix-hosted\n * checkout page (the heading of that block).\n * @maxLength 150\n */\n title?: string | null;\n /**\n * Subscription description shown to the buyer in the recurring-billing summary block on the\n * Wix-hosted checkout page (the body text below the title).\n * @maxLength 500\n */\n description?: string | null;\n}\n\n/**\n * Configuration for recurring subscription charges.\n *\n * `autoRenewal` and `billingCycles` are mutually exclusive — `autoRenewal: true` describes an\n * open-ended subscription that renews indefinitely, while `billingCycles: N` describes a fixed-term\n * subscription that stops after N charges. Setting `autoRenewal: true` together with any\n * `billingCycles` value is rejected with `INVALID_ARGUMENT` (application code\n * `AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT`).\n */\nexport interface SubscriptionSettings {\n /** Billing frequency unit. Required when `subscriptionSettings` is set; `UNDEFINED` is rejected. */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Number of frequency units between charges. For `DAY` frequency, the minimum is 7 — the shortest\n * billing cadence supported is weekly; values 1–6 with `frequency: DAY` are rejected with\n * `INVALID_ARGUMENT` (rule code `MIN_VALUE`). Default: `1`.\n *\n * Note that `freeTrialPeriod.interval` does **not** share this floor — a `DAY` trial may have\n * `interval` as low as 1.\n * @min 1\n * @max 3650\n */\n interval?: number | null;\n /**\n * Whether the subscription renews automatically. Cannot be `true` when `billingCycles` is set.\n *\n * Default: `true` when both `autoRenewal` and `billingCycles` are omitted; `false` when `billingCycles`\n * is set and `autoRenewal` is omitted.\n */\n autoRenewal?: boolean | null;\n /**\n * Number of billing cycles before the subscription stops. Cannot be set when `autoRenewal` is `true`.\n *\n * When omitted along with `autoRenewal`, the subscription renews indefinitely.\n * @min 1\n */\n billingCycles?: number | null;\n /** Free trial period before the first charge. */\n freeTrialPeriod?: FreeTrialPeriod;\n}\n\n/** Frequency unit for subscription billing and trial periods. */\nexport enum SubscriptionFrequency {\n /** Unknown frequency. */\n UNDEFINED = 'UNDEFINED',\n DAY = 'DAY',\n WEEK = 'WEEK',\n MONTH = 'MONTH',\n YEAR = 'YEAR',\n}\n\n/** @enumType */\nexport type SubscriptionFrequencyWithLiterals =\n | SubscriptionFrequency\n | 'UNDEFINED'\n | 'DAY'\n | 'WEEK'\n | 'MONTH'\n | 'YEAR';\n\n/**\n * Free trial period before the first subscription charge.\n *\n * The `frequency` enum is shared with `SubscriptionSettings.frequency` for convenience, but here it\n * describes a one-off duration unit (the length of the trial), not a recurring billing cadence. A\n * `frequency: MONTH` + `interval: 3` trial means \"a single 3-month trial,\" not \"billed every three\n * months.\"\n */\nexport interface FreeTrialPeriod {\n /**\n * Trial period frequency unit. Required when `freeTrialPeriod` is set; `UNDEFINED` should be\n * treated as a client mistake and is not a valid runtime value.\n */\n frequency?: SubscriptionFrequencyWithLiterals;\n /**\n * Length of the trial period in `frequency` units. For example, `interval: 14` with `frequency: DAY`\n * gives a 14-day trial.\n *\n * Unlike `SubscriptionSettings.interval`, this field's `DAY` floor is `1` — there is no weekly-floor\n * restriction on the trial length. Values ≤ 0 are rejected with `INVALID_ARGUMENT` (rule code\n * `MIN_VALUE`).\n * @min 1\n * @max 999\n */\n interval?: number;\n}\n\nexport interface PhysicalProperties {\n /** Whether the item requires shipping. */\n shippable?: boolean | null;\n}\n\nexport interface LineItem {\n /**\n * Name of the item, shown on the checkout page.\n * @minLength 1\n * @maxLength 255\n */\n name?: string | null;\n /**\n * Quantity of this item to charge for.\n * @min 1\n */\n quantity?: number | null;\n /**\n * Per-unit price as a decimal string in the merchant account currency. For example, `\"19.99\"`.\n * @minLength 1\n * @maxLength 50\n */\n price?: string | null;\n /**\n * Subscription configuration. When set, the line item follows a scheduled-billing model defined by\n * `subscriptionSettings` instead of a single immediate charge. The recurring charge each billing\n * cycle is `price × quantity`, and `quantity` is locked at session creation.\n *\n * At most one line item per request may set `subscriptionInfo`. Requests with two or more\n * subscription line items are rejected with `MULTIPLE_SUBSCRIPTION_ITEMS`.\n */\n subscriptionInfo?: SubscriptionInfo;\n /** Optional. Physical properties of the item, used when the item requires shipping. */\n physicalProperties?: PhysicalProperties;\n}\n\n/**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\nexport interface CustomerInfo {\n /**\n * Buyer's first name.\n * @maxLength 100\n */\n firstName?: string | null;\n /**\n * Buyer's last name.\n * @maxLength 100\n */\n lastName?: string | null;\n /**\n * Buyer's phone number.\n * @format PHONE\n */\n phone?: string | null;\n /**\n * Buyer's email address.\n * @format EMAIL\n */\n email?: string | null;\n}\n\n/** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */\nexport interface Cart {\n /**\n * Line items the buyer is paying for in this checkout session.\n *\n * At most one subscription line item (an item with `subscriptionInfo` set) is allowed per request.\n * Requests with two or more subscription items are rejected. One-time items can be combined with a\n * single subscription item; in that case the buyer is charged once at checkout for the one-time items\n * and (if applicable) the first cycle of the subscription, and any subsequent cycles are billed on\n * the subscription's own schedule.\n * @maxSize 100\n */\n items?: LineItem[];\n /**\n * Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the\n * Wix checkout page.\n */\n customerInfo?: CustomerInfo;\n}\n\n/**\n * URLs the buyer is redirected to after the checkout flow.\n *\n * The buyer is sent to one of the URLs below — `continueBrowsingUrl` if they explicitly leave via\n * **Continue browsing**, `thankYouPageUrl` after a successful payment.\n *\n * If the buyer abandons the page implicitly (closing the tab, navigating away, network failure), no\n * callback URL is invoked and the checkout session is not resumed.\n */\nexport interface CallbackUrls {\n /**\n * URL the buyer is redirected to from the Wix checkout page when they choose to leave without\n * completing payment — both when they click **Continue browsing** and when they navigate back to\n * a cart-style page.\n *\n * Deprecated. Use `continueBrowsingUrl` instead.\n * @format WEB_URL\n * @deprecated\n * @replacedBy continue_browsing_url\n */\n postFlowUrl?: string | null;\n /**\n * URL the buyer is redirected to after a successful payment.\n * @format WEB_URL\n */\n thankYouPageUrl?: string | null;\n /**\n * URL the buyer is redirected to from the Wix checkout page when they choose to leave without\n * completing payment — both when they click **Continue browsing** and when they navigate back to\n * a cart-style page.\n *\n * Required unless the deprecated `postFlowUrl` is supplied.\n * @format WEB_URL\n */\n continueBrowsingUrl?: string | null;\n}\n\n/** Response after creating a checkout session. */\nexport interface GenerateCheckoutSessionResponse {\n /** The created checkout session. */\n checkoutSession?: CheckoutSession;\n}\n\n/** Request to register a webhook URL. */\nexport interface RegisterCheckoutSessionWebhookRequest {\n /**\n * URL to receive webhook notifications.\n * @format WEB_URL\n */\n url?: string | null;\n /**\n * Webhook event types to register. Default: `[ORDER_APPROVED]`.\n * @maxSize 10\n */\n webhookTypes?: WebhookTypeWithLiterals[];\n}\n\n/** Webhook event types to register. */\nexport enum WebhookType {\n /** Order Approved webhook (`wix.ecom.v1.order_approved`). */\n ORDER_APPROVED = 'ORDER_APPROVED',\n /**\n * Subscription Contract Canceled webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_canceled`).\n */\n SUBSCRIPTION_CANCELED = 'SUBSCRIPTION_CANCELED',\n /**\n * Subscription Contract Expired webhook\n * (`wix.ecom.subscription_contracts.v1.subscription_contract_expired`).\n */\n SUBSCRIPTION_ENDED = 'SUBSCRIPTION_ENDED',\n}\n\n/** @enumType */\nexport type WebhookTypeWithLiterals =\n | WebhookType\n | 'ORDER_APPROVED'\n | 'SUBSCRIPTION_CANCELED'\n | 'SUBSCRIPTION_ENDED';\n\n/** Response after registering a webhook. */\nexport interface RegisterCheckoutSessionWebhookResponse {\n /**\n * PEM-formatted RS256 public key used to verify the JWT signature on incoming webhook payloads.\n * @maxLength 1000\n */\n publicKey?: string | null;\n}\n\n/** @docsIgnore */\nexport type GenerateCheckoutSessionApplicationErrors =\n | {\n code?: 'MULTIPLE_SUBSCRIPTION_ITEMS';\n description?: string;\n data?: Record<string, any>;\n }\n | {\n code?: 'AUTO_RENEWAL_AND_BILLING_CYCLES_CONFLICT';\n description?: string;\n data?: Record<string, any>;\n };\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n *\n * `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary\n * (legacy) path bound to the same RPC.\n * @param cart - Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details.\n * @public\n * @documentationMaturity preview\n * @requiredField cart\n * @requiredField cart.items\n * @requiredField cart.items.name\n * @requiredField cart.items.price\n * @requiredField cart.items.quantity\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency\n * @requiredField cart.items.subscriptionInfo.subscriptionSettings.frequency\n * @requiredField options\n * @requiredField options.callbackUrls\n * @requiredField options.callbackUrls.thankYouPageUrl\n * @permissionId payments:platform:v1:checkout_session:construct_checkout_session\n * @permissionId payments:platform:v1:checkout_session:generate_checkout_session\n * @returns Response after creating a checkout session.\n * @fqn wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession\n */\nexport async function generateCheckoutSession(\n cart: NonNullablePaths<\n Cart,\n | `items`\n | `items.${number}.name`\n | `items.${number}.price`\n | `items.${number}.quantity`\n | `items.${number}.subscriptionInfo.subscriptionSettings`\n | `items.${number}.subscriptionInfo.subscriptionSettings.freeTrialPeriod.frequency`\n | `items.${number}.subscriptionInfo.subscriptionSettings.frequency`,\n 7\n >,\n options: NonNullablePaths<\n GenerateCheckoutSessionOptions,\n `callbackUrls` | `callbackUrls.thankYouPageUrl`,\n 3\n >\n): Promise<\n GenerateCheckoutSessionResponse & {\n __applicationErrorsType?: GenerateCheckoutSessionApplicationErrors;\n }\n> {\n // @ts-ignore\n const { httpClient, sideEffects } = arguments[2] as {\n httpClient: HttpClient;\n sideEffects?: any;\n };\n\n const payload = renameKeysFromSDKRequestToRESTRequest({\n cart: cart,\n callbackUrls: options?.callbackUrls,\n });\n\n const reqOpts =\n ambassadorWixPaymentsPlatformV1CheckoutSession.generateCheckoutSession(\n payload\n );\n\n sideEffects?.onSiteCall?.();\n try {\n const result = await httpClient.request(reqOpts);\n sideEffects?.onSuccess?.(result);\n\n return renameKeysFromRESTResponseToSDKResponse(result.data)!;\n } catch (err: any) {\n const transformedError = sdkTransformError(\n err,\n {\n spreadPathsToArguments: {},\n explicitPathsToArguments: {\n cart: '$[0]',\n callbackUrls: '$[1].callbackUrls',\n },\n singleArgumentUnchanged: false,\n },\n ['cart', 'options']\n );\n sideEffects?.onError?.(err);\n\n throw transformedError;\n }\n}\n\nexport interface GenerateCheckoutSessionOptions {\n /** URLs the buyer is redirected to after completing or leaving the checkout flow. */\n callbackUrls: CallbackUrls;\n}\n","import { resolveUrl } from '@wix/sdk-runtime/rest-modules';\nimport { ResolveUrlOpts } from '@wix/sdk-runtime/rest-modules';\nimport { RequestOptionsFactory } from '@wix/sdk-types';\n\nfunction resolveWixPaymentsPlatformV1CheckoutSessionsUrl(\n opts: Omit<ResolveUrlOpts, 'domainToMappings'>\n) {\n const domainToMappings = {\n 'www.wixapis.com': [\n {\n srcPath: '/payments/platform/v1/checkout-sessions',\n destPath: '/v1/checkout-sessions',\n },\n {\n srcPath: '/payments/base44/v1/subscriptions',\n destPath: '/v1/subscriptions',\n },\n ],\n 'manage._base_domain_': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n 'manage.base44.com': [\n {\n srcPath: '/_api/checkout-sessions',\n destPath: '',\n },\n ],\n };\n\n return resolveUrl(Object.assign(opts, { domainToMappings }));\n}\n\nconst PACKAGE_NAME = '@wix/auto_sdk_payments_checkout-sessions';\n\n/**\n * Creates a Wix-hosted checkout session for the supplied line items and returns its `redirectUrl`\n * and `id`.\n *\n * Each call creates a new, independent session; the method is not idempotent, so a retry produces\n * an additional session rather than recovering an existing one.\n *\n * `https://www.wixapis.com/payments/platform/v1/checkout-sessions/construct` is a secondary\n * (legacy) path bound to the same RPC.\n */\nexport function generateCheckoutSession(\n payload: object\n): RequestOptionsFactory<any> {\n function __generateCheckoutSession({ host }: any) {\n const metadata = {\n entityFqdn: 'wix.payments.platform.v1.checkout_session',\n method: 'POST' as any,\n methodFqn:\n 'wix.payments.platform.v1.CheckoutSessions.GenerateCheckoutSession',\n packageName: PACKAGE_NAME,\n migrationOptions: {\n optInTransformResponse: true,\n },\n url: resolveWixPaymentsPlatformV1CheckoutSessionsUrl({\n protoPath: '/v1/checkout-sessions/generate',\n data: payload,\n host,\n }),\n data: payload,\n };\n\n return metadata;\n }\n\n return __generateCheckoutSession;\n}\n"],"mappings":";;;;;;;;;;;;;;;;;;;;AAAA;AAAA;AAAA;AAAA;AAAA,iCAAAA;AAAA;AAAA;;;ACAA,6BAAoD;AACpD,oCAGO;;;ACJP,0BAA2B;AAI3B,SAAS,gDACP,MACA;AACA,QAAM,mBAAmB;AAAA,IACvB,mBAAmB;AAAA,MACjB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,MACA;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,wBAAwB;AAAA,MACtB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,IACA,qBAAqB;AAAA,MACnB;AAAA,QACE,SAAS;AAAA,QACT,UAAU;AAAA,MACZ;AAAA,IACF;AAAA,EACF;AAEA,aAAO,gCAAW,OAAO,OAAO,MAAM,EAAE,iBAAiB,CAAC,CAAC;AAC7D;AAEA,IAAM,eAAe;AAYd,SAAS,wBACd,SAC4B;AAC5B,WAAS,0BAA0B,EAAE,KAAK,GAAQ;AAChD,UAAM,WAAW;AAAA,MACf,YAAY;AAAA,MACZ,QAAQ;AAAA,MACR,WACE;AAAA,MACF,aAAa;AAAA,MACb,kBAAkB;AAAA,QAChB,wBAAwB;AAAA,MAC1B;AAAA,MACA,KAAK,gDAAgD;AAAA,QACnD,WAAW;AAAA,QACX,MAAM;AAAA,QACN;AAAA,MACF,CAAC;AAAA,MACD,MAAM;AAAA,IACR;AAEA,WAAO;AAAA,EACT;AAEA,SAAO;AACT;;;ADoCO,IAAK,wBAAL,kBAAKC,2BAAL;AAEL,EAAAA,uBAAA,eAAY;AACZ,EAAAA,uBAAA,SAAM;AACN,EAAAA,uBAAA,UAAO;AACP,EAAAA,uBAAA,WAAQ;AACR,EAAAA,uBAAA,UAAO;AANG,SAAAA;AAAA,GAAA;AA0LL,IAAK,cAAL,kBAAKC,iBAAL;AAEL,EAAAA,aAAA,oBAAiB;AAKjB,EAAAA,aAAA,2BAAwB;AAKxB,EAAAA,aAAA,wBAAqB;AAZX,SAAAA;AAAA,GAAA;AAwEZ,eAAsBC,yBACpB,MAWA,SASA;AAEA,QAAM,EAAE,YAAY,YAAY,IAAI,UAAU,CAAC;AAK/C,QAAM,cAAU,qEAAsC;AAAA,IACpD;AAAA,IACA,cAAc,SAAS;AAAA,EACzB,CAAC;AAED,QAAM,UAC2C;AAAA,IAC7C;AAAA,EACF;AAEF,eAAa,aAAa;AAC1B,MAAI;AACF,UAAM,SAAS,MAAM,WAAW,QAAQ,OAAO;AAC/C,iBAAa,YAAY,MAAM;AAE/B,eAAO,uEAAwC,OAAO,IAAI;AAAA,EAC5D,SAAS,KAAU;AACjB,UAAM,uBAAmB,uBAAAC;AAAA,MACvB;AAAA,MACA;AAAA,QACE,wBAAwB,CAAC;AAAA,QACzB,0BAA0B;AAAA,UACxB,MAAM;AAAA,UACN,cAAc;AAAA,QAChB;AAAA,QACA,yBAAyB;AAAA,MAC3B;AAAA,MACA,CAAC,QAAQ,SAAS;AAAA,IACpB;AACA,iBAAa,UAAU,GAAG;AAE1B,UAAM;AAAA,EACR;AACF;","names":["generateCheckoutSession","SubscriptionFrequency","WebhookType","generateCheckoutSession","sdkTransformError"]}
|
package/build/cjs/meta.d.ts
CHANGED
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
import {
|
|
1
|
+
import { GenerateCheckoutSessionRequest as GenerateCheckoutSessionRequest$1, GenerateCheckoutSessionResponse as GenerateCheckoutSessionResponse$1 } from './index.typings.js';
|
|
2
2
|
import '@wix/sdk-types';
|
|
3
3
|
|
|
4
4
|
/** A Wix-hosted checkout page generated for a specific set of line items. */
|
|
@@ -22,7 +22,7 @@ interface CheckoutSession {
|
|
|
22
22
|
redirectUrl?: string | null;
|
|
23
23
|
}
|
|
24
24
|
/** Request to create a checkout session. */
|
|
25
|
-
interface
|
|
25
|
+
interface GenerateCheckoutSessionRequest {
|
|
26
26
|
/** Items, quantities, and prices the buyer is paying for, plus optional pre-fill customer details. */
|
|
27
27
|
cart: Cart;
|
|
28
28
|
/** URLs the buyer is redirected to after completing or leaving the checkout flow. */
|
|
@@ -133,6 +133,10 @@ interface FreeTrialPeriod {
|
|
|
133
133
|
*/
|
|
134
134
|
interval?: number;
|
|
135
135
|
}
|
|
136
|
+
interface PhysicalProperties {
|
|
137
|
+
/** Whether the item requires shipping. */
|
|
138
|
+
shippable?: boolean | null;
|
|
139
|
+
}
|
|
136
140
|
interface LineItem {
|
|
137
141
|
/**
|
|
138
142
|
* Name of the item, shown on the checkout page.
|
|
@@ -160,6 +164,8 @@ interface LineItem {
|
|
|
160
164
|
* subscription line items are rejected with `MULTIPLE_SUBSCRIPTION_ITEMS`.
|
|
161
165
|
*/
|
|
162
166
|
subscriptionInfo?: SubscriptionInfo;
|
|
167
|
+
/** Optional. Physical properties of the item, used when the item requires shipping. */
|
|
168
|
+
physicalProperties?: PhysicalProperties;
|
|
163
169
|
}
|
|
164
170
|
/**
|
|
165
171
|
* Buyer details used to pre-fill the checkout form. The buyer can edit any of these fields on the
|
|
@@ -209,8 +215,8 @@ interface Cart {
|
|
|
209
215
|
/**
|
|
210
216
|
* URLs the buyer is redirected to after the checkout flow.
|
|
211
217
|
*
|
|
212
|
-
* The buyer is sent to one of the URLs below — `
|
|
213
|
-
* browsing**, `thankYouPageUrl` after a successful payment.
|
|
218
|
+
* The buyer is sent to one of the URLs below — `continueBrowsingUrl` if they explicitly leave via
|
|
219
|
+
* **Continue browsing**, `thankYouPageUrl` after a successful payment.
|
|
214
220
|
*
|
|
215
221
|
* If the buyer abandons the page implicitly (closing the tab, navigating away, network failure), no
|
|
216
222
|
* callback URL is invoked and the checkout session is not resumed.
|
|
@@ -220,7 +226,11 @@ interface CallbackUrls {
|
|
|
220
226
|
* URL the buyer is redirected to from the Wix checkout page when they choose to leave without
|
|
221
227
|
* completing payment — both when they click **Continue browsing** and when they navigate back to
|
|
222
228
|
* a cart-style page.
|
|
229
|
+
*
|
|
230
|
+
* Deprecated. Use `continueBrowsingUrl` instead.
|
|
223
231
|
* @format WEB_URL
|
|
232
|
+
* @deprecated
|
|
233
|
+
* @replacedBy continue_browsing_url
|
|
224
234
|
*/
|
|
225
235
|
postFlowUrl?: string | null;
|
|
226
236
|
/**
|
|
@@ -228,9 +238,18 @@ interface CallbackUrls {
|
|
|
228
238
|
* @format WEB_URL
|
|
229
239
|
*/
|
|
230
240
|
thankYouPageUrl?: string | null;
|
|
241
|
+
/**
|
|
242
|
+
* URL the buyer is redirected to from the Wix checkout page when they choose to leave without
|
|
243
|
+
* completing payment — both when they click **Continue browsing** and when they navigate back to
|
|
244
|
+
* a cart-style page.
|
|
245
|
+
*
|
|
246
|
+
* Required unless the deprecated `postFlowUrl` is supplied.
|
|
247
|
+
* @format WEB_URL
|
|
248
|
+
*/
|
|
249
|
+
continueBrowsingUrl?: string | null;
|
|
231
250
|
}
|
|
232
251
|
/** Response after creating a checkout session. */
|
|
233
|
-
interface
|
|
252
|
+
interface GenerateCheckoutSessionResponse {
|
|
234
253
|
/** The created checkout session. */
|
|
235
254
|
checkoutSession?: CheckoutSession;
|
|
236
255
|
}
|
|
@@ -273,7 +292,7 @@ interface RegisterCheckoutSessionWebhookResponse {
|
|
|
273
292
|
publicKey?: string | null;
|
|
274
293
|
}
|
|
275
294
|
/** @docsIgnore */
|
|
276
|
-
type
|
|
295
|
+
type GenerateCheckoutSessionApplicationErrors = {
|
|
277
296
|
code?: 'MULTIPLE_SUBSCRIPTION_ITEMS';
|
|
278
297
|
description?: string;
|
|
279
298
|
data?: Record<string, any>;
|
|
@@ -293,6 +312,6 @@ type __PublicMethodMetaInfo<K = string, M = unknown, T = unknown, S = unknown, Q
|
|
|
293
312
|
__responseType: Q;
|
|
294
313
|
__originalResponseType: R;
|
|
295
314
|
};
|
|
296
|
-
declare function
|
|
315
|
+
declare function generateCheckoutSession(): __PublicMethodMetaInfo<'POST', {}, GenerateCheckoutSessionRequest$1, GenerateCheckoutSessionRequest, GenerateCheckoutSessionResponse$1, GenerateCheckoutSessionResponse>;
|
|
297
316
|
|
|
298
|
-
export { type CallbackUrls as CallbackUrlsOriginal, type Cart as CartOriginal, type CheckoutSession as CheckoutSessionOriginal, type
|
|
317
|
+
export { type CallbackUrls as CallbackUrlsOriginal, type Cart as CartOriginal, type CheckoutSession as CheckoutSessionOriginal, type CustomerInfo as CustomerInfoOriginal, type FreeTrialPeriod as FreeTrialPeriodOriginal, type GenerateCheckoutSessionApplicationErrors as GenerateCheckoutSessionApplicationErrorsOriginal, type GenerateCheckoutSessionRequest as GenerateCheckoutSessionRequestOriginal, type GenerateCheckoutSessionResponse as GenerateCheckoutSessionResponseOriginal, type LineItem as LineItemOriginal, type PhysicalProperties as PhysicalPropertiesOriginal, type RegisterCheckoutSessionWebhookRequest as RegisterCheckoutSessionWebhookRequestOriginal, type RegisterCheckoutSessionWebhookResponse as RegisterCheckoutSessionWebhookResponseOriginal, SubscriptionFrequency as SubscriptionFrequencyOriginal, type SubscriptionFrequencyWithLiterals as SubscriptionFrequencyWithLiteralsOriginal, type SubscriptionInfo as SubscriptionInfoOriginal, type SubscriptionSettings as SubscriptionSettingsOriginal, WebhookType as WebhookTypeOriginal, type WebhookTypeWithLiterals as WebhookTypeWithLiteralsOriginal, type __PublicMethodMetaInfo, generateCheckoutSession };
|