sfcc-dev-mcp 1.0.19 → 1.0.21
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/clients/logs/index.d.ts +13 -0
- package/dist/clients/logs/index.d.ts.map +1 -0
- package/dist/clients/logs/index.js +15 -0
- package/dist/clients/logs/index.js.map +1 -0
- package/dist/clients/logs/log-analyzer.d.ts +55 -0
- package/dist/clients/logs/log-analyzer.d.ts.map +1 -0
- package/dist/clients/logs/log-analyzer.js +228 -0
- package/dist/clients/logs/log-analyzer.js.map +1 -0
- package/dist/clients/logs/log-client.d.ts +87 -0
- package/dist/clients/logs/log-client.d.ts.map +1 -0
- package/dist/clients/logs/log-client.js +418 -0
- package/dist/clients/logs/log-client.js.map +1 -0
- package/dist/clients/logs/log-constants.d.ts +37 -0
- package/dist/clients/logs/log-constants.d.ts.map +1 -0
- package/dist/clients/logs/log-constants.js +37 -0
- package/dist/clients/logs/log-constants.js.map +1 -0
- package/dist/clients/logs/log-file-discovery.d.ts +64 -0
- package/dist/clients/logs/log-file-discovery.d.ts.map +1 -0
- package/dist/clients/logs/log-file-discovery.js +249 -0
- package/dist/clients/logs/log-file-discovery.js.map +1 -0
- package/dist/clients/logs/log-file-reader.d.ts +55 -0
- package/dist/clients/logs/log-file-reader.d.ts.map +1 -0
- package/dist/clients/logs/log-file-reader.js +207 -0
- package/dist/clients/logs/log-file-reader.js.map +1 -0
- package/dist/clients/logs/log-formatter.d.ts +90 -0
- package/dist/clients/logs/log-formatter.d.ts.map +1 -0
- package/dist/clients/logs/log-formatter.js +189 -0
- package/dist/clients/logs/log-formatter.js.map +1 -0
- package/dist/clients/logs/log-processor.d.ts +91 -0
- package/dist/clients/logs/log-processor.d.ts.map +1 -0
- package/dist/clients/logs/log-processor.js +328 -0
- package/dist/clients/logs/log-processor.js.map +1 -0
- package/dist/clients/logs/log-types.d.ts +58 -0
- package/dist/clients/logs/log-types.d.ts.map +1 -0
- package/dist/clients/logs/log-types.js +8 -0
- package/dist/clients/logs/log-types.js.map +1 -0
- package/dist/clients/logs/webdav-client-manager.d.ts +28 -0
- package/dist/clients/logs/webdav-client-manager.d.ts.map +1 -0
- package/dist/clients/logs/webdav-client-manager.js +77 -0
- package/dist/clients/logs/webdav-client-manager.js.map +1 -0
- package/dist/docs/dw_customer/CustomerMgr.md +3 -3
- package/dist/docs/dw_customer/Wallet.md +25 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenPaymentIntent.md +156 -0
- package/dist/docs/dw_extensions.payments/SalesforceAdyenSavedPaymentMethod.md +258 -0
- package/dist/docs/dw_extensions.payments/SalesforcePayPalOrder.md +36 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentIntent.md +1 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +68 -1
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccount.md +154 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMerchantAccountPaymentMethod.md +96 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +311 -2
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +26 -0
- package/dist/docs/dw_extensions.payments/SalesforcePaymentsZone.md +458 -0
- package/dist/docs/dw_order/OrderMgr.md +3 -3
- package/dist/docs/dw_order.hooks/BasketMergeHooks.md +4 -4
- package/dist/docs/dw_order.hooks/CheckoutHooks.md +42 -0
- package/dist/utils/path-resolver.d.ts +5 -0
- package/dist/utils/path-resolver.d.ts.map +1 -1
- package/dist/utils/path-resolver.js +27 -5
- package/dist/utils/path-resolver.js.map +1 -1
- package/package.json +9 -3
- package/.github/ISSUE_TEMPLATE/bug_report.yml +0 -131
- package/.github/ISSUE_TEMPLATE/config.yml +0 -9
- package/.github/ISSUE_TEMPLATE/documentation.yml +0 -117
- package/.github/ISSUE_TEMPLATE/feature_request.yml +0 -151
- package/.github/ISSUE_TEMPLATE/question.yml +0 -102
- package/.github/PULL_REQUEST_TEMPLATE/bug_fix.md +0 -59
- package/.github/PULL_REQUEST_TEMPLATE/documentation.md +0 -48
- package/.github/PULL_REQUEST_TEMPLATE/new_tool.md +0 -55
- package/.github/agents/official-docs-researcher.agent.md +0 -56
- package/.github/dependabot.yml +0 -65
- package/.github/instructions/mcp-node-tests.instructions.md +0 -30
- package/.github/instructions/mcp-yml-tests.instructions.md +0 -27
- package/.github/pull_request_template.md +0 -103
- package/.github/skills/agent-authoring/SKILL.md +0 -66
- package/.github/skills/mcp-log-debugging/SKILL.md +0 -69
- package/.github/skills/mcp-programmatic-testing/SKILL.md +0 -142
- package/.github/skills/mcp-yaml-testing/SKILL.md +0 -136
- package/.github/skills/salesforce-developer-site-scraper/SKILL.md +0 -102
- package/.github/skills/salesforce-developer-site-scraper/scripts/scrape-to-markdown.js +0 -205
- package/.github/skills/salesforce-help-site-scraper/SKILL.md +0 -84
- package/.github/skills/salesforce-help-site-scraper/scripts/scrape-help-to-markdown.js +0 -212
- package/.github/skills/skill-authoring/SKILL.md +0 -228
- package/.github/skills/skill-authoring/references/PATTERNS.md +0 -384
- package/.github/workflows/ci.yml +0 -103
- package/.github/workflows/deploy-pages.yml +0 -59
- package/.github/workflows/publish.yml +0 -112
- package/.github/workflows/update-docs.yml +0 -182
- package/.husky/pre-commit +0 -2
- package/AGENTS.md +0 -638
- package/CONTRIBUTING.md +0 -323
- package/SECURITY.md +0 -148
- package/aegis.config.docs-only.json +0 -9
- package/aegis.config.json +0 -12
- package/aegis.config.with-dw.json +0 -15
- package/ai-instructions/AGENTS.md +0 -628
- package/ai-instructions/skills/sfcc-caching/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-cartridge-development/SKILL.md +0 -240
- package/ai-instructions/skills/sfcc-forms-development/SKILL.md +0 -261
- package/ai-instructions/skills/sfcc-forms-development/references/ARCHITECTURE-SGJC-SFRA.md +0 -143
- package/ai-instructions/skills/sfcc-forms-development/references/FORM-XML-CHEATSHEET.md +0 -127
- package/ai-instructions/skills/sfcc-fraud-prevention/SKILL.md +0 -95
- package/ai-instructions/skills/sfcc-hooks-registration/SKILL.md +0 -39
- package/ai-instructions/skills/sfcc-isml-development/SKILL.md +0 -370
- package/ai-instructions/skills/sfcc-isml-development/references/REMOTE-INCLUDES.md +0 -116
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-LAYOUTS.md +0 -50
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CART-ACCOUNT-AUTH.md +0 -45
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-PAGES-CATALOG.md +0 -85
- package/ai-instructions/skills/sfcc-isml-development/references/SFRA-STRUCTURE-COMPONENTS.md +0 -63
- package/ai-instructions/skills/sfcc-isml-development/references/UTILITIES-EXPRESSIONS.md +0 -159
- package/ai-instructions/skills/sfcc-isml-development/references/sfra-base-templates-architecture.md +0 -13
- package/ai-instructions/skills/sfcc-job-development/SKILL.md +0 -334
- package/ai-instructions/skills/sfcc-job-development/references/CHUNK-ORIENTED.md +0 -393
- package/ai-instructions/skills/sfcc-job-development/references/STEPTYPES-JSON.md +0 -271
- package/ai-instructions/skills/sfcc-job-development/references/TASK-ORIENTED.md +0 -257
- package/ai-instructions/skills/sfcc-localization/SKILL.md +0 -92
- package/ai-instructions/skills/sfcc-localization/references/CONTROLLERS.md +0 -63
- package/ai-instructions/skills/sfcc-localization/references/FORMATTING.md +0 -29
- package/ai-instructions/skills/sfcc-localization/references/FORMS-LOCALIZATION.md +0 -33
- package/ai-instructions/skills/sfcc-localization/references/JAVASCRIPT-LOCALIZATION.md +0 -41
- package/ai-instructions/skills/sfcc-localization/references/LOCALE-SWITCHING.md +0 -35
- package/ai-instructions/skills/sfcc-localization/references/PATTERNS.md +0 -740
- package/ai-instructions/skills/sfcc-localization/references/PROPERTIES-ENCODING.md +0 -25
- package/ai-instructions/skills/sfcc-localization/references/RESOURCE-BUNDLES.md +0 -67
- package/ai-instructions/skills/sfcc-localization/references/STATIC-FILES.md +0 -23
- package/ai-instructions/skills/sfcc-localization/references/TESTING.md +0 -21
- package/ai-instructions/skills/sfcc-localserviceregistry/SKILL.md +0 -374
- package/ai-instructions/skills/sfcc-logging/SKILL.md +0 -352
- package/ai-instructions/skills/sfcc-logging/references/LOG-FILES.md +0 -282
- package/ai-instructions/skills/sfcc-ocapi-hooks/SKILL.md +0 -350
- package/ai-instructions/skills/sfcc-ocapi-scapi-slas/SKILL.md +0 -108
- package/ai-instructions/skills/sfcc-page-designer/SKILL.md +0 -353
- package/ai-instructions/skills/sfcc-page-designer/references/ATTRIBUTE-TYPES.md +0 -436
- package/ai-instructions/skills/sfcc-page-designer/references/META-DEFINITIONS.md +0 -322
- package/ai-instructions/skills/sfcc-performance/SKILL.md +0 -424
- package/ai-instructions/skills/sfcc-platform-limits/SKILL.md +0 -89
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/SKILL.md +0 -237
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/AUTHENTICATION.md +0 -214
- package/ai-instructions/skills/sfcc-scapi-custom-endpoints/references/URL-MAPPING.md +0 -253
- package/ai-instructions/skills/sfcc-scapi-hooks/SKILL.md +0 -341
- package/ai-instructions/skills/sfcc-script-evaluation/SKILL.md +0 -380
- package/ai-instructions/skills/sfcc-security/SKILL.md +0 -394
- package/ai-instructions/skills/sfcc-sfra-client-side-js/SKILL.md +0 -270
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/AJAX-CSRF-VALIDATION.md +0 -285
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/BASE-MODULE-INDEX.md +0 -206
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/EXTENSION-PATTERNS.md +0 -165
- package/ai-instructions/skills/sfcc-sfra-client-side-js/references/PLUGIN-PATTERNS.md +0 -185
- package/ai-instructions/skills/sfcc-sfra-controllers/SKILL.md +0 -347
- package/ai-instructions/skills/sfcc-sfra-controllers/references/MIDDLEWARE-REFERENCE.md +0 -257
- package/ai-instructions/skills/sfcc-sfra-controllers/references/REMOTE-INCLUDES.md +0 -193
- package/ai-instructions/skills/sfcc-sfra-controllers/references/standard-sfra-controllers.md +0 -814
- package/ai-instructions/skills/sfcc-sfra-models/SKILL.md +0 -322
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-PATTERNS.md +0 -530
- package/ai-instructions/skills/sfcc-sfra-models/references/MODEL-STRUCTURE.md +0 -234
- package/ai-instructions/skills/sfcc-sfra-models/references/TESTING-SECURITY.md +0 -417
- package/ai-instructions/skills/sfcc-sfra-scss/SKILL.md +0 -393
- package/ai-instructions/skills/sfcc-webdav-workflows/SKILL.md +0 -111
- package/docs/TopLevel/APIException.md +0 -68
- package/docs/TopLevel/Array.md +0 -897
- package/docs/TopLevel/ArrayBuffer.md +0 -79
- package/docs/TopLevel/BigInt.md +0 -132
- package/docs/TopLevel/Boolean.md +0 -62
- package/docs/TopLevel/ConversionError.md +0 -23
- package/docs/TopLevel/DataView.md +0 -352
- package/docs/TopLevel/Date.md +0 -924
- package/docs/TopLevel/ES6Iterator.md +0 -33
- package/docs/TopLevel/Error.md +0 -88
- package/docs/TopLevel/EvalError.md +0 -23
- package/docs/TopLevel/Fault.md +0 -87
- package/docs/TopLevel/Float32Array.md +0 -130
- package/docs/TopLevel/Float64Array.md +0 -130
- package/docs/TopLevel/Function.md +0 -105
- package/docs/TopLevel/Generator.md +0 -78
- package/docs/TopLevel/IOError.md +0 -62
- package/docs/TopLevel/Int16Array.md +0 -130
- package/docs/TopLevel/Int32Array.md +0 -130
- package/docs/TopLevel/Int8Array.md +0 -130
- package/docs/TopLevel/InternalError.md +0 -23
- package/docs/TopLevel/Iterable.md +0 -41
- package/docs/TopLevel/Iterator.md +0 -48
- package/docs/TopLevel/JSON.md +0 -162
- package/docs/TopLevel/Map.md +0 -216
- package/docs/TopLevel/Math.md +0 -913
- package/docs/TopLevel/Module.md +0 -45
- package/docs/TopLevel/Namespace.md +0 -96
- package/docs/TopLevel/Number.md +0 -417
- package/docs/TopLevel/Object.md +0 -641
- package/docs/TopLevel/QName.md +0 -96
- package/docs/TopLevel/RangeError.md +0 -23
- package/docs/TopLevel/ReferenceError.md +0 -23
- package/docs/TopLevel/RegExp.md +0 -109
- package/docs/TopLevel/Set.md +0 -165
- package/docs/TopLevel/StopIteration.md +0 -20
- package/docs/TopLevel/String.md +0 -1299
- package/docs/TopLevel/Symbol.md +0 -78
- package/docs/TopLevel/SyntaxError.md +0 -23
- package/docs/TopLevel/SystemError.md +0 -62
- package/docs/TopLevel/TypeError.md +0 -23
- package/docs/TopLevel/URIError.md +0 -23
- package/docs/TopLevel/Uint16Array.md +0 -130
- package/docs/TopLevel/Uint32Array.md +0 -130
- package/docs/TopLevel/Uint8Array.md +0 -130
- package/docs/TopLevel/Uint8ClampedArray.md +0 -130
- package/docs/TopLevel/WeakMap.md +0 -137
- package/docs/TopLevel/WeakSet.md +0 -92
- package/docs/TopLevel/XML.md +0 -937
- package/docs/TopLevel/XMLList.md +0 -484
- package/docs/TopLevel/XMLStreamError.md +0 -74
- package/docs/TopLevel/arguments.md +0 -34
- package/docs/TopLevel/global.md +0 -474
- package/docs/dw_campaign/ABTest.md +0 -47
- package/docs/dw_campaign/ABTestMgr.md +0 -70
- package/docs/dw_campaign/ABTestSegment.md +0 -96
- package/docs/dw_campaign/AmountDiscount.md +0 -51
- package/docs/dw_campaign/ApproachingDiscount.md +0 -124
- package/docs/dw_campaign/BonusChoiceDiscount.md +0 -146
- package/docs/dw_campaign/BonusDiscount.md +0 -48
- package/docs/dw_campaign/Campaign.md +0 -365
- package/docs/dw_campaign/CampaignMgr.md +0 -395
- package/docs/dw_campaign/CampaignStatusCodes.md +0 -48
- package/docs/dw_campaign/Coupon.md +0 -310
- package/docs/dw_campaign/CouponMgr.md +0 -144
- package/docs/dw_campaign/CouponRedemption.md +0 -94
- package/docs/dw_campaign/CouponStatusCodes.md +0 -86
- package/docs/dw_campaign/Discount.md +0 -226
- package/docs/dw_campaign/DiscountPlan.md +0 -282
- package/docs/dw_campaign/FixedPriceDiscount.md +0 -52
- package/docs/dw_campaign/FixedPriceShippingDiscount.md +0 -52
- package/docs/dw_campaign/FreeDiscount.md +0 -17
- package/docs/dw_campaign/FreeShippingDiscount.md +0 -17
- package/docs/dw_campaign/PercentageDiscount.md +0 -52
- package/docs/dw_campaign/PercentageOptionDiscount.md +0 -48
- package/docs/dw_campaign/PriceBookPriceDiscount.md +0 -47
- package/docs/dw_campaign/Promotion.md +0 -874
- package/docs/dw_campaign/PromotionMgr.md +0 -386
- package/docs/dw_campaign/PromotionPlan.md +0 -330
- package/docs/dw_campaign/SlotContent.md +0 -144
- package/docs/dw_campaign/SourceCodeGroup.md +0 -72
- package/docs/dw_campaign/SourceCodeInfo.md +0 -144
- package/docs/dw_campaign/SourceCodeStatusCodes.md +0 -36
- package/docs/dw_campaign/TotalFixedPriceDiscount.md +0 -47
- package/docs/dw_catalog/Catalog.md +0 -122
- package/docs/dw_catalog/CatalogMgr.md +0 -182
- package/docs/dw_catalog/Category.md +0 -1308
- package/docs/dw_catalog/CategoryAssignment.md +0 -192
- package/docs/dw_catalog/CategoryLink.md +0 -126
- package/docs/dw_catalog/PriceBook.md +0 -242
- package/docs/dw_catalog/PriceBookMgr.md +0 -204
- package/docs/dw_catalog/Product.md +0 -2593
- package/docs/dw_catalog/ProductActiveData.md +0 -1275
- package/docs/dw_catalog/ProductAttributeModel.md +0 -277
- package/docs/dw_catalog/ProductAvailabilityLevels.md +0 -142
- package/docs/dw_catalog/ProductAvailabilityModel.md +0 -380
- package/docs/dw_catalog/ProductInventoryList.md +0 -140
- package/docs/dw_catalog/ProductInventoryMgr.md +0 -117
- package/docs/dw_catalog/ProductInventoryRecord.md +0 -563
- package/docs/dw_catalog/ProductLink.md +0 -144
- package/docs/dw_catalog/ProductMgr.md +0 -138
- package/docs/dw_catalog/ProductOption.md +0 -214
- package/docs/dw_catalog/ProductOptionModel.md +0 -246
- package/docs/dw_catalog/ProductOptionValue.md +0 -123
- package/docs/dw_catalog/ProductPriceInfo.md +0 -172
- package/docs/dw_catalog/ProductPriceModel.md +0 -745
- package/docs/dw_catalog/ProductPriceTable.md +0 -134
- package/docs/dw_catalog/ProductSearchHit.md +0 -581
- package/docs/dw_catalog/ProductSearchModel.md +0 -2018
- package/docs/dw_catalog/ProductSearchRefinementDefinition.md +0 -97
- package/docs/dw_catalog/ProductSearchRefinementValue.md +0 -73
- package/docs/dw_catalog/ProductSearchRefinements.md +0 -216
- package/docs/dw_catalog/ProductVariationAttribute.md +0 -100
- package/docs/dw_catalog/ProductVariationAttributeValue.md +0 -238
- package/docs/dw_catalog/ProductVariationModel.md +0 -849
- package/docs/dw_catalog/Recommendation.md +0 -314
- package/docs/dw_catalog/SearchModel.md +0 -901
- package/docs/dw_catalog/SearchRefinementDefinition.md +0 -146
- package/docs/dw_catalog/SearchRefinementValue.md +0 -185
- package/docs/dw_catalog/SearchRefinements.md +0 -180
- package/docs/dw_catalog/SortingOption.md +0 -120
- package/docs/dw_catalog/SortingRule.md +0 -47
- package/docs/dw_catalog/Store.md +0 -562
- package/docs/dw_catalog/StoreGroup.md +0 -96
- package/docs/dw_catalog/StoreInventoryFilter.md +0 -74
- package/docs/dw_catalog/StoreInventoryFilterValue.md +0 -74
- package/docs/dw_catalog/StoreMgr.md +0 -236
- package/docs/dw_catalog/Variant.md +0 -859
- package/docs/dw_catalog/VariationGroup.md +0 -792
- package/docs/dw_content/Content.md +0 -534
- package/docs/dw_content/ContentMgr.md +0 -166
- package/docs/dw_content/ContentSearchModel.md +0 -682
- package/docs/dw_content/ContentSearchRefinementDefinition.md +0 -49
- package/docs/dw_content/ContentSearchRefinementValue.md +0 -17
- package/docs/dw_content/ContentSearchRefinements.md +0 -208
- package/docs/dw_content/Folder.md +0 -467
- package/docs/dw_content/Library.md +0 -121
- package/docs/dw_content/MarkupText.md +0 -88
- package/docs/dw_content/MediaFile.md +0 -317
- package/docs/dw_crypto/CertificateRef.md +0 -42
- package/docs/dw_crypto/CertificateUtils.md +0 -187
- package/docs/dw_crypto/Cipher.md +0 -530
- package/docs/dw_crypto/Encoding.md +0 -220
- package/docs/dw_crypto/JWE.md +0 -224
- package/docs/dw_crypto/JWEHeader.md +0 -172
- package/docs/dw_crypto/JWS.md +0 -264
- package/docs/dw_crypto/JWSHeader.md +0 -148
- package/docs/dw_crypto/KeyRef.md +0 -44
- package/docs/dw_crypto/Mac.md +0 -139
- package/docs/dw_crypto/MessageDigest.md +0 -175
- package/docs/dw_crypto/SecureRandom.md +0 -148
- package/docs/dw_crypto/Signature.md +0 -252
- package/docs/dw_crypto/WeakCipher.md +0 -538
- package/docs/dw_crypto/WeakMac.md +0 -121
- package/docs/dw_crypto/WeakMessageDigest.md +0 -163
- package/docs/dw_crypto/WeakSignature.md +0 -242
- package/docs/dw_crypto/X509Certificate.md +0 -193
- package/docs/dw_customer/AddressBook.md +0 -163
- package/docs/dw_customer/AgentUserMgr.md +0 -83
- package/docs/dw_customer/AgentUserStatusCodes.md +0 -96
- package/docs/dw_customer/AuthenticationStatus.md +0 -138
- package/docs/dw_customer/Credentials.md +0 -494
- package/docs/dw_customer/Customer.md +0 -571
- package/docs/dw_customer/CustomerActiveData.md +0 -552
- package/docs/dw_customer/CustomerAddress.md +0 -852
- package/docs/dw_customer/CustomerCDPData.md +0 -70
- package/docs/dw_customer/CustomerContextMgr.md +0 -64
- package/docs/dw_customer/CustomerGroup.md +0 -134
- package/docs/dw_customer/CustomerList.md +0 -71
- package/docs/dw_customer/CustomerMgr.md +0 -735
- package/docs/dw_customer/CustomerPasswordConstraints.md +0 -142
- package/docs/dw_customer/CustomerPaymentInstrument.md +0 -125
- package/docs/dw_customer/CustomerStatusCodes.md +0 -30
- package/docs/dw_customer/EncryptedObject.md +0 -18
- package/docs/dw_customer/ExternalProfile.md +0 -160
- package/docs/dw_customer/OrderHistory.md +0 -111
- package/docs/dw_customer/ProductList.md +0 -1000
- package/docs/dw_customer/ProductListItem.md +0 -504
- package/docs/dw_customer/ProductListItemPurchase.md +0 -145
- package/docs/dw_customer/ProductListMgr.md +0 -234
- package/docs/dw_customer/ProductListRegistrant.md +0 -193
- package/docs/dw_customer/Profile.md +0 -1128
- package/docs/dw_customer/Wallet.md +0 -118
- package/docs/dw_extensions.applepay/ApplePayHookResult.md +0 -209
- package/docs/dw_extensions.applepay/ApplePayHooks.md +0 -255
- package/docs/dw_extensions.facebook/FacebookFeedHooks.md +0 -47
- package/docs/dw_extensions.facebook/FacebookProduct.md +0 -1621
- package/docs/dw_extensions.paymentrequest/PaymentRequestHookResult.md +0 -159
- package/docs/dw_extensions.paymentrequest/PaymentRequestHooks.md +0 -160
- package/docs/dw_extensions.payments/SalesforceBancontactPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforceCardPaymentDetails.md +0 -103
- package/docs/dw_extensions.payments/SalesforceEpsPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceIdealPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceKlarnaPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforcePayPalOrder.md +0 -246
- package/docs/dw_extensions.payments/SalesforcePayPalOrderAddress.md +0 -191
- package/docs/dw_extensions.payments/SalesforcePayPalOrderPayer.md +0 -118
- package/docs/dw_extensions.payments/SalesforcePayPalPaymentDetails.md +0 -79
- package/docs/dw_extensions.payments/SalesforcePaymentDetails.md +0 -57
- package/docs/dw_extensions.payments/SalesforcePaymentIntent.md +0 -281
- package/docs/dw_extensions.payments/SalesforcePaymentMethod.md +0 -346
- package/docs/dw_extensions.payments/SalesforcePaymentRequest.md +0 -784
- package/docs/dw_extensions.payments/SalesforcePaymentsHooks.md +0 -45
- package/docs/dw_extensions.payments/SalesforcePaymentsMgr.md +0 -634
- package/docs/dw_extensions.payments/SalesforcePaymentsSiteConfiguration.md +0 -95
- package/docs/dw_extensions.payments/SalesforceSepaDebitPaymentDetails.md +0 -51
- package/docs/dw_extensions.payments/SalesforceVenmoPaymentDetails.md +0 -79
- package/docs/dw_extensions.pinterest/PinterestAvailability.md +0 -86
- package/docs/dw_extensions.pinterest/PinterestFeedHooks.md +0 -69
- package/docs/dw_extensions.pinterest/PinterestOrder.md +0 -232
- package/docs/dw_extensions.pinterest/PinterestOrderHooks.md +0 -45
- package/docs/dw_extensions.pinterest/PinterestProduct.md +0 -850
- package/docs/dw_io/CSVStreamReader.md +0 -80
- package/docs/dw_io/CSVStreamWriter.md +0 -60
- package/docs/dw_io/File.md +0 -614
- package/docs/dw_io/FileReader.md +0 -41
- package/docs/dw_io/FileWriter.md +0 -103
- package/docs/dw_io/InputStream.md +0 -34
- package/docs/dw_io/OutputStream.md +0 -34
- package/docs/dw_io/PrintWriter.md +0 -71
- package/docs/dw_io/RandomAccessFileReader.md +0 -173
- package/docs/dw_io/Reader.md +0 -274
- package/docs/dw_io/StringWriter.md +0 -81
- package/docs/dw_io/Writer.md +0 -92
- package/docs/dw_io/XMLIndentingStreamWriter.md +0 -112
- package/docs/dw_io/XMLStreamConstants.md +0 -114
- package/docs/dw_io/XMLStreamReader.md +0 -1043
- package/docs/dw_io/XMLStreamWriter.md +0 -572
- package/docs/dw_job/JobExecution.md +0 -107
- package/docs/dw_job/JobStepExecution.md +0 -151
- package/docs/dw_net/FTPClient.md +0 -699
- package/docs/dw_net/FTPFileInfo.md +0 -122
- package/docs/dw_net/HTTPClient.md +0 -831
- package/docs/dw_net/HTTPClientLoggingConfig.md +0 -296
- package/docs/dw_net/HTTPRequestPart.md +0 -206
- package/docs/dw_net/Mail.md +0 -551
- package/docs/dw_net/SFTPClient.md +0 -591
- package/docs/dw_net/SFTPFileInfo.md +0 -122
- package/docs/dw_net/WebDAVClient.md +0 -715
- package/docs/dw_net/WebDAVFileInfo.md +0 -184
- package/docs/dw_object/ActiveData.md +0 -75
- package/docs/dw_object/CustomAttributes.md +0 -16
- package/docs/dw_object/CustomObject.md +0 -73
- package/docs/dw_object/CustomObjectMgr.md +0 -291
- package/docs/dw_object/Extensible.md +0 -64
- package/docs/dw_object/ExtensibleObject.md +0 -68
- package/docs/dw_object/Note.md +0 -121
- package/docs/dw_object/ObjectAttributeDefinition.md +0 -481
- package/docs/dw_object/ObjectAttributeGroup.md +0 -170
- package/docs/dw_object/ObjectAttributeValueDefinition.md +0 -72
- package/docs/dw_object/ObjectTypeDefinition.md +0 -216
- package/docs/dw_object/PersistentObject.md +0 -94
- package/docs/dw_object/SimpleExtensible.md +0 -46
- package/docs/dw_object/SystemObjectMgr.md +0 -153
- package/docs/dw_order/AbstractItem.md +0 -244
- package/docs/dw_order/AbstractItemCtnr.md +0 -240
- package/docs/dw_order/Appeasement.md +0 -367
- package/docs/dw_order/AppeasementItem.md +0 -90
- package/docs/dw_order/Basket.md +0 -362
- package/docs/dw_order/BasketMgr.md +0 -418
- package/docs/dw_order/BonusDiscountLineItem.md +0 -248
- package/docs/dw_order/CouponLineItem.md +0 -272
- package/docs/dw_order/CreateAgentBasketLimitExceededException.md +0 -18
- package/docs/dw_order/CreateBasketFromOrderException.md +0 -26
- package/docs/dw_order/CreateCouponLineItemException.md +0 -26
- package/docs/dw_order/CreateOrderException.md +0 -18
- package/docs/dw_order/CreateTemporaryBasketLimitExceededException.md +0 -18
- package/docs/dw_order/GiftCertificate.md +0 -569
- package/docs/dw_order/GiftCertificateLineItem.md +0 -324
- package/docs/dw_order/GiftCertificateMgr.md +0 -197
- package/docs/dw_order/GiftCertificateStatusCodes.md +0 -60
- package/docs/dw_order/Invoice.md +0 -418
- package/docs/dw_order/InvoiceItem.md +0 -222
- package/docs/dw_order/LineItem.md +0 -532
- package/docs/dw_order/LineItemCtnr.md +0 -2431
- package/docs/dw_order/Order.md +0 -2567
- package/docs/dw_order/OrderAddress.md +0 -807
- package/docs/dw_order/OrderItem.md +0 -536
- package/docs/dw_order/OrderMgr.md +0 -535
- package/docs/dw_order/OrderPaymentInstrument.md +0 -220
- package/docs/dw_order/OrderProcessStatusCodes.md +0 -84
- package/docs/dw_order/PaymentCard.md +0 -217
- package/docs/dw_order/PaymentInstrument.md +0 -1462
- package/docs/dw_order/PaymentMethod.md +0 -242
- package/docs/dw_order/PaymentMgr.md +0 -117
- package/docs/dw_order/PaymentProcessor.md +0 -70
- package/docs/dw_order/PaymentStatusCodes.md +0 -42
- package/docs/dw_order/PaymentTransaction.md +0 -328
- package/docs/dw_order/PriceAdjustment.md +0 -640
- package/docs/dw_order/PriceAdjustmentLimitTypes.md +0 -38
- package/docs/dw_order/ProductLineItem.md +0 -1821
- package/docs/dw_order/ProductShippingCost.md +0 -96
- package/docs/dw_order/ProductShippingLineItem.md +0 -326
- package/docs/dw_order/ProductShippingModel.md +0 -125
- package/docs/dw_order/Return.md +0 -360
- package/docs/dw_order/ReturnCase.md +0 -400
- package/docs/dw_order/ReturnCaseItem.md +0 -373
- package/docs/dw_order/ReturnItem.md +0 -362
- package/docs/dw_order/Shipment.md +0 -1251
- package/docs/dw_order/ShipmentShippingCost.md +0 -46
- package/docs/dw_order/ShipmentShippingModel.md +0 -146
- package/docs/dw_order/ShippingLineItem.md +0 -278
- package/docs/dw_order/ShippingLocation.md +0 -366
- package/docs/dw_order/ShippingMethod.md +0 -266
- package/docs/dw_order/ShippingMgr.md +0 -158
- package/docs/dw_order/ShippingOrder.md +0 -561
- package/docs/dw_order/ShippingOrderItem.md +0 -355
- package/docs/dw_order/SumItem.md +0 -147
- package/docs/dw_order/TaxGroup.md +0 -143
- package/docs/dw_order/TaxItem.md +0 -74
- package/docs/dw_order/TaxMgr.md +0 -227
- package/docs/dw_order/TrackingInfo.md +0 -312
- package/docs/dw_order/TrackingRef.md +0 -113
- package/docs/dw_order.hooks/BasketMergeHooks.md +0 -42
- package/docs/dw_order.hooks/CalculateHooks.md +0 -77
- package/docs/dw_order.hooks/OrderHooks.md +0 -41
- package/docs/dw_order.hooks/PaymentHooks.md +0 -180
- package/docs/dw_order.hooks/ReturnHooks.md +0 -135
- package/docs/dw_order.hooks/ShippingOrderHooks.md +0 -245
- package/docs/dw_rpc/SOAPUtil.md +0 -465
- package/docs/dw_rpc/Stub.md +0 -289
- package/docs/dw_rpc/WebReference.md +0 -83
- package/docs/dw_suggest/BrandSuggestions.md +0 -17
- package/docs/dw_suggest/CategorySuggestions.md +0 -53
- package/docs/dw_suggest/ContentSuggestions.md +0 -53
- package/docs/dw_suggest/CustomSuggestions.md +0 -17
- package/docs/dw_suggest/ProductSuggestions.md +0 -53
- package/docs/dw_suggest/SearchPhraseSuggestions.md +0 -117
- package/docs/dw_suggest/SuggestModel.md +0 -403
- package/docs/dw_suggest/SuggestedCategory.md +0 -46
- package/docs/dw_suggest/SuggestedContent.md +0 -46
- package/docs/dw_suggest/SuggestedPhrase.md +0 -70
- package/docs/dw_suggest/SuggestedProduct.md +0 -47
- package/docs/dw_suggest/SuggestedTerm.md +0 -143
- package/docs/dw_suggest/SuggestedTerms.md +0 -132
- package/docs/dw_suggest/Suggestions.md +0 -179
- package/docs/dw_svc/FTPService.md +0 -118
- package/docs/dw_svc/FTPServiceDefinition.md +0 -69
- package/docs/dw_svc/HTTPFormService.md +0 -18
- package/docs/dw_svc/HTTPFormServiceDefinition.md +0 -18
- package/docs/dw_svc/HTTPService.md +0 -415
- package/docs/dw_svc/HTTPServiceDefinition.md +0 -303
- package/docs/dw_svc/LocalServiceRegistry.md +0 -43
- package/docs/dw_svc/Result.md +0 -303
- package/docs/dw_svc/SOAPService.md +0 -115
- package/docs/dw_svc/SOAPServiceDefinition.md +0 -17
- package/docs/dw_svc/Service.md +0 -295
- package/docs/dw_svc/ServiceCallback.md +0 -268
- package/docs/dw_svc/ServiceConfig.md +0 -120
- package/docs/dw_svc/ServiceCredential.md +0 -156
- package/docs/dw_svc/ServiceDefinition.md +0 -176
- package/docs/dw_svc/ServiceProfile.md +0 -168
- package/docs/dw_svc/ServiceRegistry.md +0 -109
- package/docs/dw_system/AgentUserStatusCodes.md +0 -21
- package/docs/dw_system/Cache.md +0 -102
- package/docs/dw_system/CacheMgr.md +0 -42
- package/docs/dw_system/HookMgr.md +0 -66
- package/docs/dw_system/InternalObject.md +0 -56
- package/docs/dw_system/JobProcessMonitor.md +0 -124
- package/docs/dw_system/Log.md +0 -237
- package/docs/dw_system/LogNDC.md +0 -88
- package/docs/dw_system/Logger.md +0 -263
- package/docs/dw_system/OrganizationPreferences.md +0 -18
- package/docs/dw_system/Pipeline.md +0 -73
- package/docs/dw_system/PipelineDictionary.md +0 -16
- package/docs/dw_system/RESTErrorResponse.md +0 -66
- package/docs/dw_system/RESTResponseMgr.md +0 -258
- package/docs/dw_system/RESTSuccessResponse.md +0 -39
- package/docs/dw_system/RemoteInclude.md +0 -74
- package/docs/dw_system/Request.md +0 -839
- package/docs/dw_system/RequestHooks.md +0 -59
- package/docs/dw_system/Response.md +0 -522
- package/docs/dw_system/SearchStatus.md +0 -151
- package/docs/dw_system/Session.md +0 -476
- package/docs/dw_system/Site.md +0 -585
- package/docs/dw_system/SitePreferences.md +0 -49
- package/docs/dw_system/Status.md +0 -273
- package/docs/dw_system/StatusItem.md +0 -273
- package/docs/dw_system/System.md +0 -200
- package/docs/dw_system/Transaction.md +0 -84
- package/docs/dw_util/ArrayList.md +0 -50
- package/docs/dw_util/Assert.md +0 -391
- package/docs/dw_util/BigInteger.md +0 -326
- package/docs/dw_util/Bytes.md +0 -252
- package/docs/dw_util/Calendar.md +0 -921
- package/docs/dw_util/Collection.md +0 -338
- package/docs/dw_util/Currency.md +0 -163
- package/docs/dw_util/DateUtils.md +0 -86
- package/docs/dw_util/Decimal.md +0 -438
- package/docs/dw_util/FilteringCollection.md +0 -93
- package/docs/dw_util/Geolocation.md +0 -271
- package/docs/dw_util/HashMap.md +0 -43
- package/docs/dw_util/HashSet.md +0 -46
- package/docs/dw_util/Iterator.md +0 -97
- package/docs/dw_util/LinkedHashMap.md +0 -43
- package/docs/dw_util/LinkedHashSet.md +0 -46
- package/docs/dw_util/List.md +0 -519
- package/docs/dw_util/Locale.md +0 -267
- package/docs/dw_util/Map.md +0 -313
- package/docs/dw_util/MapEntry.md +0 -70
- package/docs/dw_util/MappingKey.md +0 -76
- package/docs/dw_util/MappingMgr.md +0 -122
- package/docs/dw_util/PropertyComparator.md +0 -51
- package/docs/dw_util/SecureEncoder.md +0 -350
- package/docs/dw_util/SecureFilter.md +0 -350
- package/docs/dw_util/SeekableIterator.md +0 -176
- package/docs/dw_util/Set.md +0 -19
- package/docs/dw_util/SortedMap.md +0 -148
- package/docs/dw_util/SortedSet.md +0 -151
- package/docs/dw_util/StringUtils.md +0 -753
- package/docs/dw_util/Template.md +0 -88
- package/docs/dw_util/UUIDUtils.md +0 -38
- package/docs/dw_value/EnumValue.md +0 -92
- package/docs/dw_value/MimeEncodedText.md +0 -103
- package/docs/dw_value/Money.md +0 -610
- package/docs/dw_value/Quantity.md +0 -376
- package/docs/dw_web/CSRFProtection.md +0 -83
- package/docs/dw_web/ClickStream.md +0 -157
- package/docs/dw_web/ClickStreamEntry.md +0 -289
- package/docs/dw_web/Cookie.md +0 -396
- package/docs/dw_web/Cookies.md +0 -46
- package/docs/dw_web/Form.md +0 -74
- package/docs/dw_web/FormAction.md +0 -199
- package/docs/dw_web/FormElement.md +0 -220
- package/docs/dw_web/FormElementValidationResult.md +0 -157
- package/docs/dw_web/FormField.md +0 -603
- package/docs/dw_web/FormFieldOption.md +0 -238
- package/docs/dw_web/FormFieldOptions.md +0 -42
- package/docs/dw_web/FormGroup.md +0 -199
- package/docs/dw_web/FormList.md +0 -126
- package/docs/dw_web/FormListItem.md +0 -48
- package/docs/dw_web/Forms.md +0 -16
- package/docs/dw_web/HttpParameter.md +0 -513
- package/docs/dw_web/HttpParameterMap.md +0 -185
- package/docs/dw_web/LoopIterator.md +0 -261
- package/docs/dw_web/PageMetaData.md +0 -230
- package/docs/dw_web/PageMetaTag.md +0 -142
- package/docs/dw_web/PagingModel.md +0 -389
- package/docs/dw_web/Resource.md +0 -126
- package/docs/dw_web/URL.md +0 -213
- package/docs/dw_web/URLAction.md +0 -26
- package/docs/dw_web/URLParameter.md +0 -22
- package/docs/dw_web/URLRedirect.md +0 -71
- package/docs/dw_web/URLRedirectMgr.md +0 -73
- package/docs/dw_web/URLUtils.md +0 -1264
- package/docs/isml/isactivedatacontext.md +0 -382
- package/docs/isml/isactivedatahead.md +0 -566
- package/docs/isml/isanalyticsoff.md +0 -537
- package/docs/isml/isapplepay.md +0 -667
- package/docs/isml/isbreak.md +0 -687
- package/docs/isml/isbuynow.md +0 -682
- package/docs/isml/iscache.md +0 -802
- package/docs/isml/iscomment.md +0 -794
- package/docs/isml/iscomponent.md +0 -797
- package/docs/isml/iscontent.md +0 -594
- package/docs/isml/iscontinue.md +0 -563
- package/docs/isml/iscookie.md +0 -798
- package/docs/isml/isdecorate.md +0 -818
- package/docs/isml/isif.md +0 -737
- package/docs/isml/isinclude.md +0 -874
- package/docs/isml/isloop.md +0 -377
- package/docs/isml/ismodule.md +0 -844
- package/docs/isml/isnext.md +0 -672
- package/docs/isml/isobject.md +0 -760
- package/docs/isml/ispayment.md +0 -577
- package/docs/isml/ispaymentmessages.md +0 -664
- package/docs/isml/isprint.md +0 -875
- package/docs/isml/isredirect.md +0 -716
- package/docs/isml/isremove.md +0 -725
- package/docs/isml/isreplace.md +0 -783
- package/docs/isml/isscript.md +0 -859
- package/docs/isml/isselect.md +0 -908
- package/docs/isml/isset.md +0 -585
- package/docs/isml/isslot.md +0 -824
- package/docs/isml/isstatus.md +0 -711
- package/docs/sfra/account.md +0 -145
- package/docs/sfra/address.md +0 -84
- package/docs/sfra/billing.md +0 -90
- package/docs/sfra/cart.md +0 -134
- package/docs/sfra/categories.md +0 -124
- package/docs/sfra/content.md +0 -133
- package/docs/sfra/locale.md +0 -126
- package/docs/sfra/order.md +0 -219
- package/docs/sfra/payment.md +0 -131
- package/docs/sfra/price-default.md +0 -118
- package/docs/sfra/price-range.md +0 -77
- package/docs/sfra/price-tiered.md +0 -117
- package/docs/sfra/product-bundle.md +0 -164
- package/docs/sfra/product-full.md +0 -179
- package/docs/sfra/product-line-items.md +0 -147
- package/docs/sfra/product-search.md +0 -245
- package/docs/sfra/product-tile.md +0 -95
- package/docs/sfra/querystring.md +0 -240
- package/docs/sfra/render.md +0 -354
- package/docs/sfra/request.md +0 -210
- package/docs/sfra/response.md +0 -391
- package/docs/sfra/server.md +0 -375
- package/docs/sfra/shipping.md +0 -181
- package/docs/sfra/store.md +0 -145
- package/docs/sfra/stores.md +0 -190
- package/docs/sfra/totals.md +0 -184
- package/docs-site-v2/.vitepress/config.mts +0 -190
- package/docs-site-v2/.vitepress/theme/components/AssistantTabs.vue +0 -96
- package/docs-site-v2/.vitepress/theme/components/Callout.vue +0 -10
- package/docs-site-v2/.vitepress/theme/components/Collapsible.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/DwJsonBuilder.vue +0 -82
- package/docs-site-v2/.vitepress/theme/components/HomeSections.vue +0 -552
- package/docs-site-v2/.vitepress/theme/components/InstructionFilesTabs.vue +0 -87
- package/docs-site-v2/.vitepress/theme/components/ModeTabs.vue +0 -70
- package/docs-site-v2/.vitepress/theme/components/NewcomerCTA.vue +0 -14
- package/docs-site-v2/.vitepress/theme/components/QuickStartCards.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/QuickStartHero.vue +0 -20
- package/docs-site-v2/.vitepress/theme/components/SkillsList.vue +0 -48
- package/docs-site-v2/.vitepress/theme/components/ToolExplorer.vue +0 -85
- package/docs-site-v2/.vitepress/theme/custom.css +0 -1373
- package/docs-site-v2/.vitepress/theme/index.ts +0 -39
- package/docs-site-v2/data/skills.ts +0 -147
- package/docs-site-v2/data/tools.ts +0 -490
- package/docs-site-v2/development/index.md +0 -151
- package/docs-site-v2/examples/index.md +0 -333
- package/docs-site-v2/features/index.md +0 -144
- package/docs-site-v2/guide/ai-interfaces.md +0 -58
- package/docs-site-v2/guide/configuration.md +0 -208
- package/docs-site-v2/guide/index.md +0 -50
- package/docs-site-v2/index.md +0 -32
- package/docs-site-v2/package-lock.json +0 -2511
- package/docs-site-v2/package.json +0 -15
- package/docs-site-v2/public/404.html +0 -15
- package/docs-site-v2/public/android-chrome-192x192.png +0 -0
- package/docs-site-v2/public/android-chrome-512x512.png +0 -0
- package/docs-site-v2/public/apple-touch-icon.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods-no-mcp.png +0 -0
- package/docs-site-v2/public/explain-product-pricing-methods.png +0 -0
- package/docs-site-v2/public/favicon-16x16.png +0 -0
- package/docs-site-v2/public/favicon-32x32.png +0 -0
- package/docs-site-v2/public/favicon.ico +0 -0
- package/docs-site-v2/public/index.css +0 -4174
- package/docs-site-v2/public/llms.txt +0 -44
- package/docs-site-v2/public/logo-dark.svg +0 -8
- package/docs-site-v2/public/logo.svg +0 -8
- package/docs-site-v2/public/robots.txt +0 -20
- package/docs-site-v2/public/site.webmanifest +0 -50
- package/docs-site-v2/public/sitemap.xml +0 -90
- package/docs-site-v2/script-debugger/index.md +0 -105
- package/docs-site-v2/scripts/generate-llms.js +0 -71
- package/docs-site-v2/scripts/generate-sitemap.js +0 -97
- package/docs-site-v2/security/index.md +0 -115
- package/docs-site-v2/skills/index.md +0 -40
- package/docs-site-v2/tools/index.md +0 -36
- package/docs-site-v2/troubleshooting/index.md +0 -204
- package/eslint.config.js +0 -139
- package/jest.config.js +0 -27
- package/memories/repo/docs-site-v2-build.json +0 -11
- package/scripts/convert-docs.js +0 -633
- package/scripts/validate-server-json.js +0 -68
- package/server.json +0 -20
- package/src/clients/agent-instructions-client.ts +0 -370
- package/src/clients/base/abstract-documentation-client.ts +0 -405
- package/src/clients/base/http-client.ts +0 -152
- package/src/clients/base/oauth-token.ts +0 -164
- package/src/clients/base/ocapi-auth-client.ts +0 -133
- package/src/clients/cartridge/cartridge-generation-client.ts +0 -302
- package/src/clients/cartridge/cartridge-structure.ts +0 -37
- package/src/clients/cartridge/cartridge-templates.ts +0 -246
- package/src/clients/cartridge/index.ts +0 -6
- package/src/clients/docs/class-content-parser.ts +0 -308
- package/src/clients/docs/class-name-resolver.ts +0 -99
- package/src/clients/docs/documentation-scanner.ts +0 -255
- package/src/clients/docs/index.ts +0 -16
- package/src/clients/docs/referenced-types-extractor.ts +0 -92
- package/src/clients/docs-client.ts +0 -393
- package/src/clients/isml-client.ts +0 -353
- package/src/clients/log-client.ts +0 -19
- package/src/clients/ocapi/code-versions-client.ts +0 -54
- package/src/clients/ocapi/site-preferences-client.ts +0 -106
- package/src/clients/ocapi/system-objects-client.ts +0 -148
- package/src/clients/ocapi-client.ts +0 -53
- package/src/clients/script-debugger/index.ts +0 -5
- package/src/clients/script-debugger/script-debugger-client.ts +0 -754
- package/src/clients/sfra-client.ts +0 -339
- package/src/config/configuration-factory.ts +0 -201
- package/src/config/dw-json-loader.ts +0 -248
- package/src/config/workspace-roots.ts +0 -540
- package/src/constants/index.ts +0 -1
- package/src/core/handlers/abstract-client-handler.ts +0 -85
- package/src/core/handlers/agent-instructions-handler.ts +0 -48
- package/src/core/handlers/base-handler.ts +0 -172
- package/src/core/handlers/cartridge-handler.ts +0 -38
- package/src/core/handlers/client-factory.ts +0 -140
- package/src/core/handlers/code-version-handler.ts +0 -43
- package/src/core/handlers/docs-handler.ts +0 -19
- package/src/core/handlers/isml-handler.ts +0 -19
- package/src/core/handlers/job-log-handler.ts +0 -39
- package/src/core/handlers/log-handler.ts +0 -39
- package/src/core/handlers/script-debugger-handler.ts +0 -46
- package/src/core/handlers/sfra-handler.ts +0 -23
- package/src/core/handlers/simple-client-handler.ts +0 -78
- package/src/core/handlers/system-object-handler.ts +0 -43
- package/src/core/handlers/validation-helpers.ts +0 -206
- package/src/core/instruction-advisor.ts +0 -122
- package/src/core/server.ts +0 -374
- package/src/core/tool-definitions.ts +0 -30
- package/src/core/tool-schemas/agent-instruction-tools.ts +0 -72
- package/src/core/tool-schemas/cartridge-tools.ts +0 -29
- package/src/core/tool-schemas/code-version-tools.ts +0 -28
- package/src/core/tool-schemas/documentation-tools.ts +0 -104
- package/src/core/tool-schemas/index.ts +0 -27
- package/src/core/tool-schemas/isml-tools.ts +0 -89
- package/src/core/tool-schemas/log-tools.ts +0 -196
- package/src/core/tool-schemas/script-debugger-tools.ts +0 -83
- package/src/core/tool-schemas/sfra-tools.ts +0 -65
- package/src/core/tool-schemas/shared-schemas.ts +0 -158
- package/src/core/tool-schemas/system-object-tools.ts +0 -127
- package/src/index.ts +0 -20
- package/src/main.ts +0 -161
- package/src/services/file-system-service.ts +0 -117
- package/src/services/index.ts +0 -11
- package/src/services/path-service.ts +0 -124
- package/src/tool-configs/agent-instructions-tool-config.ts +0 -83
- package/src/tool-configs/cartridge-tool-config.ts +0 -41
- package/src/tool-configs/code-version-tool-config.ts +0 -37
- package/src/tool-configs/docs-tool-config.ts +0 -103
- package/src/tool-configs/isml-tool-config.ts +0 -87
- package/src/tool-configs/job-log-tool-config.ts +0 -119
- package/src/tool-configs/log-tool-config.ts +0 -110
- package/src/tool-configs/script-debugger-tool-config.ts +0 -69
- package/src/tool-configs/sfra-tool-config.ts +0 -74
- package/src/tool-configs/system-object-tool-config.ts +0 -142
- package/src/types/types.ts +0 -125
- package/src/utils/cache.ts +0 -291
- package/src/utils/category-utils.ts +0 -70
- package/src/utils/log-tool-constants.ts +0 -95
- package/src/utils/logger.ts +0 -260
- package/src/utils/markdown-utils.ts +0 -280
- package/src/utils/ocapi-url-builder.ts +0 -48
- package/src/utils/path-resolver.ts +0 -69
- package/src/utils/path-validation.ts +0 -113
- package/src/utils/query-builder.ts +0 -84
- package/src/utils/utils.ts +0 -139
- package/src/utils/validator.ts +0 -162
- package/tests/__mocks__/docs-client.ts +0 -8
- package/tests/__mocks__/src/clients/base/http-client.js +0 -43
- package/tests/__mocks__/webdav.js +0 -14
- package/tests/base-handler.test.ts +0 -527
- package/tests/base-http-client.test.ts +0 -311
- package/tests/cache.test.ts +0 -453
- package/tests/cartridge-handler.test.ts +0 -290
- package/tests/class-content-parser.test.ts +0 -629
- package/tests/class-name-resolver.test.ts +0 -365
- package/tests/client-factory.test.ts +0 -280
- package/tests/code-version-handler.test.ts +0 -291
- package/tests/code-versions-client.test.ts +0 -156
- package/tests/config.test.ts +0 -285
- package/tests/configuration-factory.test.ts +0 -233
- package/tests/docs-handler.test.ts +0 -359
- package/tests/documentation-scanner.test.ts +0 -755
- package/tests/file-system-service.test.ts +0 -111
- package/tests/isml-client.test.ts +0 -463
- package/tests/isml-handler.test.ts +0 -375
- package/tests/job-log-handler.test.ts +0 -283
- package/tests/log-client.test.ts +0 -768
- package/tests/log-handler.test.ts +0 -365
- package/tests/log-processor.test.ts +0 -243
- package/tests/log-validation.test.ts +0 -149
- package/tests/logger.test.ts +0 -303
- package/tests/mcp/AGENTS.md +0 -162
- package/tests/mcp/README.md +0 -237
- package/tests/mcp/node/activate-code-version-advanced.full-mode.programmatic.test.js +0 -669
- package/tests/mcp/node/code-versions.full-mode.programmatic.test.js +0 -605
- package/tests/mcp/node/evaluate-script.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/generate-cartridge-structure.docs-only.programmatic.test.js +0 -644
- package/tests/mcp/node/get-available-sfra-documents.programmatic.test.js +0 -274
- package/tests/mcp/node/get-isml-categories.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-element.programmatic.test.js +0 -278
- package/tests/mcp/node/get-isml-elements-by-category.programmatic.test.js +0 -363
- package/tests/mcp/node/get-job-execution-summary.full-mode.programmatic.test.js +0 -432
- package/tests/mcp/node/get-job-log-entries.full-mode.programmatic.test.js +0 -488
- package/tests/mcp/node/get-latest-debug.full-mode.programmatic.test.js +0 -338
- package/tests/mcp/node/get-latest-error.full-mode.programmatic.test.js +0 -255
- package/tests/mcp/node/get-latest-info.full-mode.programmatic.test.js +0 -347
- package/tests/mcp/node/get-latest-job-log-files.full-mode.programmatic.test.js +0 -460
- package/tests/mcp/node/get-latest-warn.full-mode.programmatic.test.js +0 -454
- package/tests/mcp/node/get-log-file-contents.full-mode.programmatic.test.js +0 -381
- package/tests/mcp/node/get-sfcc-class-documentation.docs-only.programmatic.test.js +0 -371
- package/tests/mcp/node/get-sfcc-class-info.docs-only.programmatic.test.js +0 -1032
- package/tests/mcp/node/get-sfra-categories.docs-only.programmatic.test.js +0 -369
- package/tests/mcp/node/get-sfra-document.programmatic.test.js +0 -473
- package/tests/mcp/node/get-sfra-documents-by-category.docs-only.programmatic.test.js +0 -510
- package/tests/mcp/node/get-system-object-definition.full-mode.programmatic.test.js +0 -389
- package/tests/mcp/node/get-system-object-definitions.docs-only.programmatic.test.js +0 -300
- package/tests/mcp/node/get-system-object-definitions.full-mode.programmatic.test.js +0 -387
- package/tests/mcp/node/list-isml-elements.programmatic.test.js +0 -311
- package/tests/mcp/node/list-log-files.full-mode.programmatic.test.js +0 -150
- package/tests/mcp/node/list-sfcc-classes.docs-only.programmatic.test.js +0 -612
- package/tests/mcp/node/search-custom-object-attribute-definitions.full-mode.programmatic.test.js +0 -875
- package/tests/mcp/node/search-isml-elements.programmatic.test.js +0 -325
- package/tests/mcp/node/search-job-logs-by-name.full-mode.programmatic.test.js +0 -330
- package/tests/mcp/node/search-job-logs.full-mode.programmatic.test.js +0 -526
- package/tests/mcp/node/search-logs.full-mode.programmatic.test.js +0 -478
- package/tests/mcp/node/search-sfcc-classes.docs-only.programmatic.test.js +0 -334
- package/tests/mcp/node/search-sfcc-methods.docs-only.programmatic.test.js +0 -487
- package/tests/mcp/node/search-sfra-documentation.docs-only.programmatic.test.js +0 -563
- package/tests/mcp/node/search-site-preferences.full-mode.programmatic.test.js +0 -556
- package/tests/mcp/node/search-system-object-attribute-definitions.full-mode.programmatic.test.js +0 -744
- package/tests/mcp/node/search-system-object-attribute-groups.full-mode.programmatic.test.js +0 -657
- package/tests/mcp/node/summarize-logs.full-mode.programmatic.test.js +0 -357
- package/tests/mcp/node/tools.docs-only.programmatic.test.js +0 -515
- package/tests/mcp/node/tools.full-mode.programmatic.test.js +0 -154
- package/tests/mcp/test-fixtures/dw.json +0 -10
- package/tests/mcp/yaml/activate-code-version.docs-only.test.mcp.yml +0 -318
- package/tests/mcp/yaml/activate-code-version.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/evaluate-script.full-mode.test.mcp.yml +0 -281
- package/tests/mcp/yaml/get-available-sfra-documents.docs-only.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-available-sfra-documents.full-mode.test.mcp.yml +0 -684
- package/tests/mcp/yaml/get-code-versions.docs-only.test.mcp.yml +0 -196
- package/tests/mcp/yaml/get-code-versions.full-mode.test.mcp.yml +0 -273
- package/tests/mcp/yaml/get-isml-categories.docs-only.test.mcp.yml +0 -330
- package/tests/mcp/yaml/get-isml-element.docs-only.test.mcp.yml +0 -294
- package/tests/mcp/yaml/get-isml-elements-by-category.docs-only.test.mcp.yml +0 -334
- package/tests/mcp/yaml/get-job-execution-summary.full-mode.test.mcp.yml +0 -148
- package/tests/mcp/yaml/get-job-log-entries.full-mode.test.mcp.yml +0 -284
- package/tests/mcp/yaml/get-latest-debug.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-latest-error.full-mode.test.mcp.yml +0 -195
- package/tests/mcp/yaml/get-latest-info.full-mode.test.mcp.yml +0 -242
- package/tests/mcp/yaml/get-latest-job-log-files.full-mode.test.mcp.yml +0 -189
- package/tests/mcp/yaml/get-latest-warn.full-mode.test.mcp.yml +0 -182
- package/tests/mcp/yaml/get-log-file-contents.full-mode.test.mcp.yml +0 -256
- package/tests/mcp/yaml/get-sfcc-class-documentation.docs-only.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-documentation.full-mode.test.mcp.yml +0 -2416
- package/tests/mcp/yaml/get-sfcc-class-info.docs-only.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfcc-class-info.full-mode.test.mcp.yml +0 -1225
- package/tests/mcp/yaml/get-sfra-categories.docs-only.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-categories.full-mode.test.mcp.yml +0 -452
- package/tests/mcp/yaml/get-sfra-document.docs-only.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-document.full-mode.test.mcp.yml +0 -525
- package/tests/mcp/yaml/get-sfra-documents-by-category.docs-only.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-sfra-documents-by-category.full-mode.test.mcp.yml +0 -507
- package/tests/mcp/yaml/get-system-object-definition.docs-only.test.mcp.yml +0 -208
- package/tests/mcp/yaml/get-system-object-definition.full-mode.test.mcp.yml +0 -191
- package/tests/mcp/yaml/get-system-object-definitions.docs-only.test.mcp.yml +0 -257
- package/tests/mcp/yaml/get-system-object-definitions.full-mode.test.mcp.yml +0 -517
- package/tests/mcp/yaml/get_latest_error.test.mcp.yml +0 -472
- package/tests/mcp/yaml/list-isml-elements.docs-only.test.mcp.yml +0 -212
- package/tests/mcp/yaml/list-log-files.full-mode.test.mcp.yml +0 -89
- package/tests/mcp/yaml/list-sfcc-classes.docs-only.test.mcp.yml +0 -511
- package/tests/mcp/yaml/list-sfcc-classes.full-mode.test.mcp.yml +0 -511
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.docs-only.test.mcp.yml +0 -82
- package/tests/mcp/yaml/search-custom-object-attribute-definitions.test.mcp.yml +0 -387
- package/tests/mcp/yaml/search-isml-elements.docs-only.test.mcp.yml +0 -312
- package/tests/mcp/yaml/search-job-logs-by-name.full-mode.test.mcp.yml +0 -169
- package/tests/mcp/yaml/search-job-logs.full-mode.test.mcp.yml +0 -174
- package/tests/mcp/yaml/search-logs.full-mode.test.mcp.yml +0 -207
- package/tests/mcp/yaml/search-sfcc-classes.docs-only.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-classes.full-mode.test.mcp.yml +0 -1157
- package/tests/mcp/yaml/search-sfcc-methods.docs-only.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfcc-methods.full-mode.test.mcp.yml +0 -723
- package/tests/mcp/yaml/search-sfra-documentation.docs-only.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-sfra-documentation.full-mode.test.mcp.yml +0 -427
- package/tests/mcp/yaml/search-site-preferences.docs-only.test.mcp.yml +0 -295
- package/tests/mcp/yaml/search-site-preferences.full-mode.test.mcp.yml +0 -574
- package/tests/mcp/yaml/search-system-object-attribute-definitions.docs-only.test.mcp.yml +0 -168
- package/tests/mcp/yaml/search-system-object-attribute-definitions.full-mode.test.mcp.yml +0 -500
- package/tests/mcp/yaml/search-system-object-attribute-groups.docs-only.test.mcp.yml +0 -278
- package/tests/mcp/yaml/search-system-object-attribute-groups.full-mode.test.mcp.yml +0 -612
- package/tests/mcp/yaml/summarize-logs.full-mode.test.mcp.yml +0 -173
- package/tests/mcp/yaml/tools.docs-only.test.mcp.yml +0 -535
- package/tests/mcp/yaml/tools.full-mode.test.mcp.yml +0 -378
- package/tests/oauth-token.test.ts +0 -725
- package/tests/ocapi-auth-client.test.ts +0 -276
- package/tests/ocapi-client.test.ts +0 -242
- package/tests/path-service.test.ts +0 -96
- package/tests/query-builder.test.ts +0 -281
- package/tests/referenced-types-extractor.test.ts +0 -814
- package/tests/script-debugger-client.test.ts +0 -430
- package/tests/servers/sfcc-mock-server/README.md +0 -208
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/code-versions.json +0 -247
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-customapi.json +0 -128
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-globalsettings.json +0 -92
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/custom-object-attributes-versionhistory.json +0 -256
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-ccv.json +0 -275
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-fastforward.json +0 -123
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-sfra.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-storefront.json +0 -447
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/site-preferences-system.json +0 -171
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-campaign.json +0 -13
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-category.json +0 -50
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-order.json +0 -32
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-product.json +0 -224
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attribute-groups-sitepreferences.json +0 -62
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-customeraddress.json +0 -109
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product-expanded.json +0 -183
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-attributes-product.json +0 -139
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-category.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customer.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-customeraddress.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-order.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definition-product.json +0 -26
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions-old.json +0 -354
- package/tests/servers/sfcc-mock-server/mock-data/ocapi/system-object-definitions.json +0 -172
- package/tests/servers/sfcc-mock-server/package-lock.json +0 -879
- package/tests/servers/sfcc-mock-server/package.json +0 -39
- package/tests/servers/sfcc-mock-server/scripts/setup-logs.js +0 -224
- package/tests/servers/sfcc-mock-server/server.js +0 -280
- package/tests/servers/sfcc-mock-server/src/app.js +0 -182
- package/tests/servers/sfcc-mock-server/src/config/server-config.js +0 -124
- package/tests/servers/sfcc-mock-server/src/middleware/auth.js +0 -101
- package/tests/servers/sfcc-mock-server/src/middleware/cors.js +0 -39
- package/tests/servers/sfcc-mock-server/src/middleware/logging.js +0 -124
- package/tests/servers/sfcc-mock-server/src/routes/cartridge-webdav.js +0 -258
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/code-versions-handler.js +0 -184
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/debugger-handler.js +0 -396
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/oauth-handler.js +0 -36
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-error-utils.js +0 -221
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/ocapi-utils.js +0 -440
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/site-preferences-handler.js +0 -332
- package/tests/servers/sfcc-mock-server/src/routes/ocapi/system-objects-handler.js +0 -572
- package/tests/servers/sfcc-mock-server/src/routes/ocapi.js +0 -58
- package/tests/servers/sfcc-mock-server/src/routes/storefront.js +0 -86
- package/tests/servers/sfcc-mock-server/src/routes/webdav.js +0 -240
- package/tests/servers/sfcc-mock-server/src/utils/mock-data-loader.js +0 -84
- package/tests/servers/sfcc-mock-server/src/utils/webdav-xml.js +0 -121
- package/tests/servers/sfcc-mock-server-manager.ts +0 -280
- package/tests/sfcc-mock-server.test.ts +0 -423
- package/tests/site-preferences-client.test.ts +0 -358
- package/tests/system-objects-client.test.ts +0 -310
- package/tests/utils.test.ts +0 -477
- package/tests/validation-helpers.test.ts +0 -325
- package/tests/validator.test.ts +0 -416
- package/tests/workspace-roots.test.ts +0 -227
- package/tsconfig.json +0 -20
- package/tsconfig.test.json +0 -20
package/docs/isml/isbuynow.md
DELETED
|
@@ -1,682 +0,0 @@
|
|
|
1
|
-
# ISML isbuynow Element
|
|
2
|
-
|
|
3
|
-
## Overview
|
|
4
|
-
|
|
5
|
-
The `<isbuynow>` element injects code to render express checkout buttons (such as Apple Pay, Google Pay, or PayPal) that enable shoppers to purchase a specific product directly without adding it to their cart first. This element is specifically designed for **B2C Commerce Payments** and provides a streamlined "buy now" experience for individual products.
|
|
6
|
-
|
|
7
|
-
**Important:** This element is only used with B2C Commerce Payments. An associated payments account must be successfully enabled and configured for use on the storefront site where this element appears.
|
|
8
|
-
|
|
9
|
-
## Syntax
|
|
10
|
-
|
|
11
|
-
```isml
|
|
12
|
-
<isbuynow
|
|
13
|
-
payment-request = SalesforcePaymentRequest_expression // required
|
|
14
|
-
></isbuynow>
|
|
15
|
-
```
|
|
16
|
-
|
|
17
|
-
## Required Attributes
|
|
18
|
-
|
|
19
|
-
### payment-request
|
|
20
|
-
|
|
21
|
-
**Type:** Expression (SalesforcePaymentRequest)
|
|
22
|
-
**Required:** Yes
|
|
23
|
-
|
|
24
|
-
Specifies a `dw.extensions.payments.SalesforcePaymentRequest` object as part of an expression. This object configures which express checkout buttons to render, how they appear, and what product/payment data they should process.
|
|
25
|
-
|
|
26
|
-
**Object Type:** `dw.extensions.payments.SalesforcePaymentRequest`
|
|
27
|
-
|
|
28
|
-
**Examples:**
|
|
29
|
-
```isml
|
|
30
|
-
<!-- Basic usage -->
|
|
31
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
32
|
-
|
|
33
|
-
<!-- With variable from pdict -->
|
|
34
|
-
<isbuynow payment-request="${pdict.buyNowPaymentRequest}"></isbuynow>
|
|
35
|
-
|
|
36
|
-
<!-- From controller-prepared object -->
|
|
37
|
-
<isbuynow payment-request="${pdict.expressCheckout}"></isbuynow>
|
|
38
|
-
```
|
|
39
|
-
|
|
40
|
-
## Purpose
|
|
41
|
-
|
|
42
|
-
The `<isbuynow>` element serves to:
|
|
43
|
-
|
|
44
|
-
1. **Express Checkout:** Enable one-click purchase of a specific product
|
|
45
|
-
2. **Payment Button Rendering:** Inject `<script>` code to display payment provider buttons (Apple Pay, Google Pay, etc.)
|
|
46
|
-
3. **Direct Purchase Flow:** Allow shoppers to buy immediately without traditional cart workflow
|
|
47
|
-
4. **Configured Payment Options:** Render only applicable payment methods for the shopper's device and configuration
|
|
48
|
-
5. **Product-Specific Checkout:** Process payment for a single product, not the current basket
|
|
49
|
-
|
|
50
|
-
## Difference from ispayment
|
|
51
|
-
|
|
52
|
-
| Element | Purpose | Use Case |
|
|
53
|
-
|---------|---------|----------|
|
|
54
|
-
| `<isbuynow>` | Buy a **specific product** directly | Product detail pages, quick buy buttons |
|
|
55
|
-
| `<ispayment>` | Pay for **current basket** | Cart page, checkout page |
|
|
56
|
-
|
|
57
|
-
```isml
|
|
58
|
-
<!-- Buy this specific product now -->
|
|
59
|
-
<isbuynow payment-request="${productPaymentRequest}"></isbuynow>
|
|
60
|
-
|
|
61
|
-
<!-- Pay for current basket -->
|
|
62
|
-
<ispayment payment-request="${basketPaymentRequest}></ispayment>
|
|
63
|
-
```
|
|
64
|
-
|
|
65
|
-
## Rules of Use
|
|
66
|
-
|
|
67
|
-
### Placement Requirements
|
|
68
|
-
|
|
69
|
-
1. **Valid Script Location:** Must be placed where `<script>` tags are valid
|
|
70
|
-
2. **After Closing Head Tag:** Must appear after the `</head>` tag in the HTML page
|
|
71
|
-
3. **Body or Valid Container:** Typically placed within the `<body>` tag
|
|
72
|
-
|
|
73
|
-
```isml
|
|
74
|
-
<!DOCTYPE html>
|
|
75
|
-
<html>
|
|
76
|
-
<head>
|
|
77
|
-
<title>Product Details</title>
|
|
78
|
-
</head>
|
|
79
|
-
<!-- After closing </head> tag -->
|
|
80
|
-
<body>
|
|
81
|
-
<div class="product-actions">
|
|
82
|
-
<!-- Valid: Inside body -->
|
|
83
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
84
|
-
</div>
|
|
85
|
-
</body>
|
|
86
|
-
</html>
|
|
87
|
-
```
|
|
88
|
-
|
|
89
|
-
### Multiple Instances
|
|
90
|
-
|
|
91
|
-
**Allowed:** This tag can appear **multiple times** on the same page with **no limit**.
|
|
92
|
-
|
|
93
|
-
```isml
|
|
94
|
-
<!-- Multiple buy now buttons for different products -->
|
|
95
|
-
<isloop items="${pdict.products}" var="product">
|
|
96
|
-
<div class="product-tile">
|
|
97
|
-
<h3>${product.name}</h3>
|
|
98
|
-
<isbuynow payment-request="${product.paymentRequest}"></isbuynow>
|
|
99
|
-
</div>
|
|
100
|
-
</isloop>
|
|
101
|
-
```
|
|
102
|
-
|
|
103
|
-
### Caching Restrictions
|
|
104
|
-
|
|
105
|
-
⚠️ **CRITICAL:** This tag **cannot be used in a cached template** because:
|
|
106
|
-
|
|
107
|
-
- It processes payment for a specific product with current pricing
|
|
108
|
-
- Line items include amounts that depend on dynamic variables:
|
|
109
|
-
- Currency
|
|
110
|
-
- Current prices
|
|
111
|
-
- Active promotions
|
|
112
|
-
- Applicable shipping methods
|
|
113
|
-
- Tax calculations
|
|
114
|
-
- Customer-specific discounts
|
|
115
|
-
|
|
116
|
-
```isml
|
|
117
|
-
<!-- Bad: In cached template -->
|
|
118
|
-
<iscache type="relative" hour="24"/>
|
|
119
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow> <!-- DON'T DO THIS -->
|
|
120
|
-
|
|
121
|
-
<!-- Good: In non-cached template or controller-rendered content -->
|
|
122
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
123
|
-
```
|
|
124
|
-
|
|
125
|
-
### Conditional Rendering
|
|
126
|
-
|
|
127
|
-
Express checkout buttons are **only rendered when applicable** for the shopper:
|
|
128
|
-
|
|
129
|
-
- ✅ Shopper uses a supported device (iPhone, iPad, Mac with Apple Pay)
|
|
130
|
-
- ✅ Shopper uses a supported operating system (iOS, macOS, Android)
|
|
131
|
-
- ✅ Shopper has configured their device for express checkout (Apple Pay, Google Pay set up)
|
|
132
|
-
- ✅ Payment method is available in shopper's region
|
|
133
|
-
- ❌ If conditions aren't met, **no button is rendered** (silent failure)
|
|
134
|
-
|
|
135
|
-
## Common Use Cases
|
|
136
|
-
|
|
137
|
-
### Product Detail Page - Apple Pay
|
|
138
|
-
|
|
139
|
-
```isml
|
|
140
|
-
<!-- product/productDetails.isml -->
|
|
141
|
-
<isscript>
|
|
142
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
143
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
144
|
-
|
|
145
|
-
// Calculate buy now data for the current product
|
|
146
|
-
var buyNowData = COHelpers.calculateBuyNowData(
|
|
147
|
-
pdict.Product,
|
|
148
|
-
pdict.Quantity,
|
|
149
|
-
pdict.Product.price
|
|
150
|
-
);
|
|
151
|
-
|
|
152
|
-
// Create payment request
|
|
153
|
-
var paymentRequest = new SalesforcePaymentRequest(
|
|
154
|
-
'applepay', // Component ID
|
|
155
|
-
'.apple-pay-button-container' // CSS class selector
|
|
156
|
-
);
|
|
157
|
-
|
|
158
|
-
// Add Apple Pay button
|
|
159
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
160
|
-
|
|
161
|
-
// Set basket data and options
|
|
162
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
163
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
164
|
-
</isscript>
|
|
165
|
-
|
|
166
|
-
<div class="product-actions">
|
|
167
|
-
<button type="submit" class="add-to-cart">Add to Cart</button>
|
|
168
|
-
|
|
169
|
-
<!-- Apple Pay buy now button -->
|
|
170
|
-
<div class="apple-pay-button-container">
|
|
171
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
172
|
-
</div>
|
|
173
|
-
</div>
|
|
174
|
-
```
|
|
175
|
-
|
|
176
|
-
### Product Detail Page - Multiple Payment Methods
|
|
177
|
-
|
|
178
|
-
```isml
|
|
179
|
-
<isscript>
|
|
180
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
181
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
182
|
-
|
|
183
|
-
var buyNowData = COHelpers.calculateBuyNowData(pdict.Product, pdict.Quantity, pdict.Product.price);
|
|
184
|
-
|
|
185
|
-
var paymentRequest = new SalesforcePaymentRequest(
|
|
186
|
-
'express-checkout',
|
|
187
|
-
'.express-checkout-container'
|
|
188
|
-
);
|
|
189
|
-
|
|
190
|
-
// Add multiple payment methods
|
|
191
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
192
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_GOOGLEPAY);
|
|
193
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_PAYPAL);
|
|
194
|
-
|
|
195
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
196
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
197
|
-
</isscript>
|
|
198
|
-
|
|
199
|
-
<div class="express-checkout-container">
|
|
200
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
201
|
-
</div>
|
|
202
|
-
```
|
|
203
|
-
|
|
204
|
-
### Product Tile in Search Results
|
|
205
|
-
|
|
206
|
-
```isml
|
|
207
|
-
<!-- search/productTile.isml -->
|
|
208
|
-
<div class="product-tile">
|
|
209
|
-
<img src="${product.images.small[0].url}" alt="${product.name}" />
|
|
210
|
-
<h4>${product.name}</h4>
|
|
211
|
-
<span class="price">${product.price}</span>
|
|
212
|
-
|
|
213
|
-
<isscript>
|
|
214
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
215
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
216
|
-
|
|
217
|
-
var buyNowData = COHelpers.calculateBuyNowData(product, 1, product.price);
|
|
218
|
-
|
|
219
|
-
var tilePaymentRequest = new SalesforcePaymentRequest(
|
|
220
|
-
'tile-applepay-' + product.id,
|
|
221
|
-
'.tile-applepay-' + product.id
|
|
222
|
-
);
|
|
223
|
-
|
|
224
|
-
tilePaymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
225
|
-
tilePaymentRequest.setBasketData(buyNowData.basketData);
|
|
226
|
-
tilePaymentRequest.setOptions(buyNowData.options);
|
|
227
|
-
</isscript>
|
|
228
|
-
|
|
229
|
-
<div class="quick-buy">
|
|
230
|
-
<div class="tile-applepay-${product.id}">
|
|
231
|
-
<isbuynow payment-request="${tilePaymentRequest}"></isbuynow>
|
|
232
|
-
</div>
|
|
233
|
-
</div>
|
|
234
|
-
</div>
|
|
235
|
-
```
|
|
236
|
-
|
|
237
|
-
### Controller-Based Implementation
|
|
238
|
-
|
|
239
|
-
```javascript
|
|
240
|
-
// Controller: Product-Show.js
|
|
241
|
-
'use strict';
|
|
242
|
-
|
|
243
|
-
var server = require('server');
|
|
244
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
245
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
246
|
-
|
|
247
|
-
server.get('Show', function (req, res, next) {
|
|
248
|
-
var ProductFactory = require('*/cartridge/scripts/factories/product');
|
|
249
|
-
var product = ProductFactory.get(req.querystring.pid);
|
|
250
|
-
|
|
251
|
-
// Create buy now payment request in controller
|
|
252
|
-
var buyNowData = COHelpers.calculateBuyNowData(product, 1, product.price);
|
|
253
|
-
|
|
254
|
-
var paymentRequest = new SalesforcePaymentRequest(
|
|
255
|
-
'pdp-applepay',
|
|
256
|
-
'.pdp-express-checkout'
|
|
257
|
-
);
|
|
258
|
-
|
|
259
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
260
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
261
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
262
|
-
|
|
263
|
-
res.render('product/productDetails', {
|
|
264
|
-
product: product,
|
|
265
|
-
buyNowPaymentRequest: paymentRequest
|
|
266
|
-
});
|
|
267
|
-
|
|
268
|
-
next();
|
|
269
|
-
});
|
|
270
|
-
|
|
271
|
-
module.exports = server.exports();
|
|
272
|
-
```
|
|
273
|
-
|
|
274
|
-
```isml
|
|
275
|
-
<!-- Template: product/productDetails.isml -->
|
|
276
|
-
<div class="pdp-express-checkout">
|
|
277
|
-
<isbuynow payment-request="${pdict.buyNowPaymentRequest}"></isbuynow>
|
|
278
|
-
</div>
|
|
279
|
-
```
|
|
280
|
-
|
|
281
|
-
### Quick View Modal
|
|
282
|
-
|
|
283
|
-
```isml
|
|
284
|
-
<!-- product/quickView.isml -->
|
|
285
|
-
<div class="quickview-modal">
|
|
286
|
-
<h2>${pdict.Product.name}</h2>
|
|
287
|
-
<p class="price">${pdict.Product.price}</p>
|
|
288
|
-
|
|
289
|
-
<isscript>
|
|
290
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
291
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
292
|
-
|
|
293
|
-
var buyNowData = COHelpers.calculateBuyNowData(pdict.Product, 1, pdict.Product.price);
|
|
294
|
-
|
|
295
|
-
var quickViewPayment = new SalesforcePaymentRequest(
|
|
296
|
-
'quickview-express',
|
|
297
|
-
'.quickview-express-checkout'
|
|
298
|
-
);
|
|
299
|
-
|
|
300
|
-
quickViewPayment.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
301
|
-
quickViewPayment.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_GOOGLEPAY);
|
|
302
|
-
quickViewPayment.setBasketData(buyNowData.basketData);
|
|
303
|
-
quickViewPayment.setOptions(buyNowData.options);
|
|
304
|
-
</isscript>
|
|
305
|
-
|
|
306
|
-
<div class="quickview-actions">
|
|
307
|
-
<button class="add-to-cart">Add to Cart</button>
|
|
308
|
-
<div class="quickview-express-checkout">
|
|
309
|
-
<isbuynow payment-request="${quickViewPayment}"></isbuynow>
|
|
310
|
-
</div>
|
|
311
|
-
</div>
|
|
312
|
-
</div>
|
|
313
|
-
```
|
|
314
|
-
|
|
315
|
-
### With Quantity Selection
|
|
316
|
-
|
|
317
|
-
```isml
|
|
318
|
-
<div class="product-purchase">
|
|
319
|
-
<label for="quantity">Quantity:</label>
|
|
320
|
-
<select id="quantity" name="quantity">
|
|
321
|
-
<option value="1">1</option>
|
|
322
|
-
<option value="2">2</option>
|
|
323
|
-
<option value="3">3</option>
|
|
324
|
-
</select>
|
|
325
|
-
|
|
326
|
-
<isscript>
|
|
327
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
328
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
329
|
-
|
|
330
|
-
// Use quantity from pdict (set by controller based on selection)
|
|
331
|
-
var quantity = pdict.selectedQuantity || 1;
|
|
332
|
-
var buyNowData = COHelpers.calculateBuyNowData(pdict.Product, quantity, pdict.Product.price);
|
|
333
|
-
|
|
334
|
-
var paymentRequest = new SalesforcePaymentRequest(
|
|
335
|
-
'buy-now-qty',
|
|
336
|
-
'.buy-now-container'
|
|
337
|
-
);
|
|
338
|
-
|
|
339
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
340
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
341
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
342
|
-
</isscript>
|
|
343
|
-
|
|
344
|
-
<div class="buy-now-container">
|
|
345
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
346
|
-
</div>
|
|
347
|
-
</div>
|
|
348
|
-
```
|
|
349
|
-
|
|
350
|
-
## Best Practices
|
|
351
|
-
|
|
352
|
-
1. **Create Payment Request in Controller:**
|
|
353
|
-
```javascript
|
|
354
|
-
// Good: Controller logic
|
|
355
|
-
var paymentRequest = new SalesforcePaymentRequest('applepay', '.container');
|
|
356
|
-
// ... configure payment request ...
|
|
357
|
-
res.render('template', { paymentRequest: paymentRequest });
|
|
358
|
-
```
|
|
359
|
-
|
|
360
|
-
```isml
|
|
361
|
-
<!-- Bad: Complex logic in template -->
|
|
362
|
-
<isscript>
|
|
363
|
-
// Avoid complex business logic in templates
|
|
364
|
-
var paymentRequest = ...
|
|
365
|
-
</isscript>
|
|
366
|
-
```
|
|
367
|
-
|
|
368
|
-
2. **Use Unique Component IDs:**
|
|
369
|
-
```isml
|
|
370
|
-
<!-- Good: Unique ID per instance -->
|
|
371
|
-
<isloop items="${products}" var="product" status="loop">
|
|
372
|
-
<isscript>
|
|
373
|
-
var pr = new SalesforcePaymentRequest(
|
|
374
|
-
'applepay-' + product.id, // Unique ID
|
|
375
|
-
'.applepay-container-' + product.id
|
|
376
|
-
);
|
|
377
|
-
</isscript>
|
|
378
|
-
</isloop>
|
|
379
|
-
|
|
380
|
-
<!-- Bad: Same ID for all -->
|
|
381
|
-
<isloop items="${products}" var="product">
|
|
382
|
-
<isscript>
|
|
383
|
-
var pr = new SalesforcePaymentRequest(
|
|
384
|
-
'applepay', // Duplicate ID - will cause issues
|
|
385
|
-
'.applepay-container'
|
|
386
|
-
);
|
|
387
|
-
</isscript>
|
|
388
|
-
</isloop>
|
|
389
|
-
```
|
|
390
|
-
|
|
391
|
-
3. **Never Cache Templates with isbuynow:**
|
|
392
|
-
```isml
|
|
393
|
-
<!-- Bad: Cached template -->
|
|
394
|
-
<iscache type="relative" hour="1"/>
|
|
395
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
396
|
-
|
|
397
|
-
<!-- Good: No cache on payment pages -->
|
|
398
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
399
|
-
```
|
|
400
|
-
|
|
401
|
-
4. **Provide Fallback for Traditional Checkout:**
|
|
402
|
-
```isml
|
|
403
|
-
<div class="checkout-options">
|
|
404
|
-
<!-- Express checkout -->
|
|
405
|
-
<div class="express-checkout">
|
|
406
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
407
|
-
</div>
|
|
408
|
-
|
|
409
|
-
<!-- Traditional fallback -->
|
|
410
|
-
<div class="traditional-checkout">
|
|
411
|
-
<button type="submit" class="add-to-cart">Add to Cart</button>
|
|
412
|
-
</div>
|
|
413
|
-
</div>
|
|
414
|
-
```
|
|
415
|
-
|
|
416
|
-
5. **Handle Product Availability:**
|
|
417
|
-
```isml
|
|
418
|
-
<isif condition="${pdict.Product.available && pdict.Product.inStock}">
|
|
419
|
-
<isscript>
|
|
420
|
-
// Only create payment request if product is available
|
|
421
|
-
var buyNowData = COHelpers.calculateBuyNowData(pdict.Product, 1, pdict.Product.price);
|
|
422
|
-
var paymentRequest = new SalesforcePaymentRequest('applepay', '.container');
|
|
423
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
424
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
425
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
426
|
-
</isscript>
|
|
427
|
-
|
|
428
|
-
<div class="container">
|
|
429
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
430
|
-
</div>
|
|
431
|
-
<iselse>
|
|
432
|
-
<p class="out-of-stock">Out of Stock</p>
|
|
433
|
-
</isif>
|
|
434
|
-
```
|
|
435
|
-
|
|
436
|
-
6. **Use CSS Classes for Targeting:**
|
|
437
|
-
```isml
|
|
438
|
-
<isscript>
|
|
439
|
-
// Use descriptive, specific CSS class selectors
|
|
440
|
-
var paymentRequest = new SalesforcePaymentRequest(
|
|
441
|
-
'applepay-pdp',
|
|
442
|
-
'.pdp-apple-pay-button' // Specific, semantic class name
|
|
443
|
-
);
|
|
444
|
-
</isscript>
|
|
445
|
-
|
|
446
|
-
<div class="pdp-apple-pay-button">
|
|
447
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
448
|
-
</div>
|
|
449
|
-
```
|
|
450
|
-
|
|
451
|
-
7. **Document Payment Configuration:**
|
|
452
|
-
```isml
|
|
453
|
-
<isscript>
|
|
454
|
-
/**
|
|
455
|
-
* Buy Now Payment Request Configuration
|
|
456
|
-
* - Component: applepay
|
|
457
|
-
* - Container: .express-checkout-pdp
|
|
458
|
-
* - Methods: Apple Pay only
|
|
459
|
-
* - Product: Single product purchase
|
|
460
|
-
*/
|
|
461
|
-
var buyNowData = COHelpers.calculateBuyNowData(pdict.Product, 1, pdict.Product.price);
|
|
462
|
-
var paymentRequest = new SalesforcePaymentRequest('applepay', '.express-checkout-pdp');
|
|
463
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
464
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
465
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
466
|
-
</isscript>
|
|
467
|
-
```
|
|
468
|
-
|
|
469
|
-
## SalesforcePaymentRequest Configuration
|
|
470
|
-
|
|
471
|
-
### Required Methods
|
|
472
|
-
|
|
473
|
-
```javascript
|
|
474
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
475
|
-
|
|
476
|
-
// 1. Create request with ID and container selector
|
|
477
|
-
var paymentRequest = new SalesforcePaymentRequest('component-id', '.css-selector');
|
|
478
|
-
|
|
479
|
-
// 2. Add payment method types
|
|
480
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
481
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_GOOGLEPAY);
|
|
482
|
-
|
|
483
|
-
// 3. Set basket data (product info, amounts)
|
|
484
|
-
paymentRequest.setBasketData(basketData);
|
|
485
|
-
|
|
486
|
-
// 4. Set options (display configuration)
|
|
487
|
-
paymentRequest.setOptions(options);
|
|
488
|
-
```
|
|
489
|
-
|
|
490
|
-
### Basket Data Structure
|
|
491
|
-
|
|
492
|
-
The `basketData` object typically includes:
|
|
493
|
-
- Product line items
|
|
494
|
-
- Quantities
|
|
495
|
-
- Prices
|
|
496
|
-
- Currency
|
|
497
|
-
- Shipping information
|
|
498
|
-
- Tax calculations
|
|
499
|
-
|
|
500
|
-
### Options Structure
|
|
501
|
-
|
|
502
|
-
The `options` object configures:
|
|
503
|
-
- Display settings
|
|
504
|
-
- Allowed payment methods
|
|
505
|
-
- Shipping options
|
|
506
|
-
- Contact information requirements
|
|
507
|
-
|
|
508
|
-
**See:** `dw.extensions.payments` API documentation for complete details.
|
|
509
|
-
|
|
510
|
-
## Prerequisites
|
|
511
|
-
|
|
512
|
-
Before using `<isbuynow>`:
|
|
513
|
-
|
|
514
|
-
1. **B2C Commerce Payments Enabled:** Site must have B2C Commerce Payments configured
|
|
515
|
-
2. **Payment Account Configured:** Associated payments account (Apple Pay, Google Pay, etc.) must be set up
|
|
516
|
-
3. **HTTPS Required:** Page must be served over HTTPS (payment provider requirement)
|
|
517
|
-
4. **Helper Functions Available:** `COHelpers.calculateBuyNowData` or equivalent must exist
|
|
518
|
-
5. **Non-Cached Template:** Template must not use `<iscache>`
|
|
519
|
-
|
|
520
|
-
## Browser and Device Support
|
|
521
|
-
|
|
522
|
-
### Automatic Detection
|
|
523
|
-
|
|
524
|
-
The element automatically handles:
|
|
525
|
-
- Device compatibility detection
|
|
526
|
-
- Operating system verification
|
|
527
|
-
- Payment method availability
|
|
528
|
-
- User configuration status
|
|
529
|
-
|
|
530
|
-
### Supported Scenarios
|
|
531
|
-
|
|
532
|
-
- ✅ iOS Safari with Apple Pay configured
|
|
533
|
-
- ✅ macOS Safari with Apple Pay configured
|
|
534
|
-
- ✅ Chrome on Android with Google Pay configured
|
|
535
|
-
- ✅ Supported browsers with PayPal configured
|
|
536
|
-
|
|
537
|
-
### Unsupported Scenarios
|
|
538
|
-
|
|
539
|
-
- ❌ Desktop Windows (no Apple Pay)
|
|
540
|
-
- ❌ Devices without payment method configured
|
|
541
|
-
- ❌ Unsupported browsers
|
|
542
|
-
- ❌ Regions where payment methods aren't available
|
|
543
|
-
|
|
544
|
-
**Result:** No button rendered (silent, no error)
|
|
545
|
-
|
|
546
|
-
## Security and Compliance
|
|
547
|
-
|
|
548
|
-
### PCI Compliance
|
|
549
|
-
|
|
550
|
-
- Payment data handled by payment provider (Apple, Google, PayPal)
|
|
551
|
-
- Tokenized payment information only
|
|
552
|
-
- No sensitive payment data stored on your servers
|
|
553
|
-
- Reduces PCI compliance scope
|
|
554
|
-
|
|
555
|
-
### HTTPS Requirement
|
|
556
|
-
|
|
557
|
-
```isml
|
|
558
|
-
<!-- Payment buttons only work over HTTPS -->
|
|
559
|
-
<isif condition="${request.isHttpsRequest()}">
|
|
560
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
561
|
-
<iselse>
|
|
562
|
-
<!-- Development only - show message -->
|
|
563
|
-
<p>Express checkout requires HTTPS</p>
|
|
564
|
-
</isif>
|
|
565
|
-
```
|
|
566
|
-
|
|
567
|
-
## Performance Considerations
|
|
568
|
-
|
|
569
|
-
- **Asynchronous Loading:** Payment scripts load asynchronously
|
|
570
|
-
- **Cached Resources:** Payment provider resources are cached
|
|
571
|
-
- **Conditional Rendering:** Buttons only load on supported devices
|
|
572
|
-
- **Multiple Instances:** Each instance loads independently
|
|
573
|
-
|
|
574
|
-
## Troubleshooting
|
|
575
|
-
|
|
576
|
-
### Button Not Appearing
|
|
577
|
-
|
|
578
|
-
**Check:**
|
|
579
|
-
1. Page served over HTTPS
|
|
580
|
-
2. B2C Commerce Payments enabled
|
|
581
|
-
3. Payment account configured correctly
|
|
582
|
-
4. Viewing on supported device/browser
|
|
583
|
-
5. User has payment method set up
|
|
584
|
-
6. Template is not cached
|
|
585
|
-
|
|
586
|
-
### Button Appears But Doesn't Work
|
|
587
|
-
|
|
588
|
-
**Check:**
|
|
589
|
-
1. `SalesforcePaymentRequest` configured correctly
|
|
590
|
-
2. `basketData` contains valid product information
|
|
591
|
-
3. `options` are properly set
|
|
592
|
-
4. Helper function returns valid data
|
|
593
|
-
5. No JavaScript errors in console
|
|
594
|
-
|
|
595
|
-
### Multiple Buttons Not Working
|
|
596
|
-
|
|
597
|
-
**Check:**
|
|
598
|
-
1. Each instance has unique component ID
|
|
599
|
-
2. Each instance has unique CSS selector
|
|
600
|
-
3. No duplicate IDs on page
|
|
601
|
-
|
|
602
|
-
### Pricing Issues
|
|
603
|
-
|
|
604
|
-
**Check:**
|
|
605
|
-
1. Template is not cached
|
|
606
|
-
2. Current promotions applied correctly
|
|
607
|
-
3. Currency conversion is accurate
|
|
608
|
-
4. Tax calculation is correct
|
|
609
|
-
|
|
610
|
-
## Testing
|
|
611
|
-
|
|
612
|
-
### Test Scenarios
|
|
613
|
-
|
|
614
|
-
1. **Product Detail Page:** Single product purchase
|
|
615
|
-
2. **Product Variations:** Correct variant/size/color selection
|
|
616
|
-
3. **Quantity Selection:** Multiple quantity purchase
|
|
617
|
-
4. **Promotions:** Discount codes applied correctly
|
|
618
|
-
5. **Shipping:** Shipping costs calculated properly
|
|
619
|
-
6. **Tax:** Tax calculation accurate for region
|
|
620
|
-
7. **Guest Users:** Works for non-logged-in shoppers
|
|
621
|
-
8. **Registered Users:** Pre-fills saved addresses
|
|
622
|
-
|
|
623
|
-
### Device Testing
|
|
624
|
-
|
|
625
|
-
Test on:
|
|
626
|
-
- iPhone with Apple Pay
|
|
627
|
-
- iPad with Apple Pay
|
|
628
|
-
- Mac with Apple Pay (Touch ID/Apple Watch)
|
|
629
|
-
- Android with Google Pay
|
|
630
|
-
- Desktop with PayPal
|
|
631
|
-
|
|
632
|
-
## Related Elements
|
|
633
|
-
|
|
634
|
-
- `<ispayment>` - Pay for current basket (not specific product)
|
|
635
|
-
- `<isapplepay>` - Legacy Apple Pay button (deprecated in favor of Commerce Payments)
|
|
636
|
-
- `<isscript>` - Create SalesforcePaymentRequest object
|
|
637
|
-
|
|
638
|
-
## Notes
|
|
639
|
-
|
|
640
|
-
- Only works with B2C Commerce Payments
|
|
641
|
-
- Cannot be used in cached templates
|
|
642
|
-
- Requires HTTPS to function
|
|
643
|
-
- Buttons only appear on compatible devices
|
|
644
|
-
- Multiple instances allowed on same page
|
|
645
|
-
- Must be placed after `</head>` tag
|
|
646
|
-
- Must be in valid `<script>` location
|
|
647
|
-
- Silent failure if payment method not available
|
|
648
|
-
- Processes single product purchase (not cart)
|
|
649
|
-
- Different from `<ispayment>` which processes basket
|
|
650
|
-
|
|
651
|
-
## API References
|
|
652
|
-
|
|
653
|
-
- `dw.extensions.payments.SalesforcePaymentRequest` - Payment request configuration
|
|
654
|
-
- `dw.extensions.payments` - Complete payments API documentation
|
|
655
|
-
- Checkout helpers - `calculateBuyNowData` and basket preparation
|
|
656
|
-
|
|
657
|
-
## Migration Notes
|
|
658
|
-
|
|
659
|
-
### From Legacy <isapplepay>
|
|
660
|
-
|
|
661
|
-
```isml
|
|
662
|
-
<!-- Legacy: isapplepay element -->
|
|
663
|
-
<isapplepay
|
|
664
|
-
sku="${pdict.Product.ID}"
|
|
665
|
-
class="dw-apple-pay-logo-black"
|
|
666
|
-
/>
|
|
667
|
-
|
|
668
|
-
<!-- Modern: isbuynow with Commerce Payments -->
|
|
669
|
-
<isscript>
|
|
670
|
-
var SalesforcePaymentRequest = require('dw/extensions/payments/SalesforcePaymentRequest');
|
|
671
|
-
var COHelpers = require('*/cartridge/scripts/checkout/checkoutHelpers');
|
|
672
|
-
var buyNowData = COHelpers.calculateBuyNowData(pdict.Product, 1, pdict.Product.price);
|
|
673
|
-
var paymentRequest = new SalesforcePaymentRequest('applepay', '.buy-now-container');
|
|
674
|
-
paymentRequest.addInclude(SalesforcePaymentRequest.ELEMENT_TYPE_APPLEPAY);
|
|
675
|
-
paymentRequest.setBasketData(buyNowData.basketData);
|
|
676
|
-
paymentRequest.setOptions(buyNowData.options);
|
|
677
|
-
</isscript>
|
|
678
|
-
|
|
679
|
-
<div class="buy-now-container">
|
|
680
|
-
<isbuynow payment-request="${paymentRequest}"></isbuynow>
|
|
681
|
-
</div>
|
|
682
|
-
```
|