Skip to content
Open
Show file tree
Hide file tree
Changes from all commits
Commits
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
Jump to file
Failed to load files.
Loading
Diff view
Diff view
8 changes: 8 additions & 0 deletions cartridges/int_affirm/cartridge/scripts/data/affirmData.js
Original file line number Diff line number Diff line change
Expand Up @@ -217,6 +217,14 @@
this.VCNPaymentInstrument = function () {
return currentSite.getCustomPreferenceValue('AffirmVCNPaymentInstrument');
};
/**
* Return Express Checkout enabled status
*
* @returns {boolean} Express Checkout enabled
*/
this.getExpressCheckoutEnabled = function () {
return !!currentSite.getCustomPreferenceValue('AffirmExpressCheckoutEnabled');
};
};
module.exports = new Data();
}());
Binary file modified metadata/affirm.zip
Binary file not shown.
57 changes: 57 additions & 0 deletions metadata/affirm/meta/system-objecttype-extensions.xml
Original file line number Diff line number Diff line change
Expand Up @@ -480,6 +480,14 @@ Example: 50|90|smallOrderFP</description>
</value-definition>
</value-definitions>
</attribute-definition>
<attribute-definition attribute-id="AffirmExpressCheckoutEnabled">
<display-name xml:lang="x-default">Enable Affirm Express Checkout</display-name>
<description xml:lang="x-default">Master toggle for Affirm Express Checkout</description>
<type>boolean</type>
<mandatory-flag>false</mandatory-flag>
<externally-managed-flag>false</externally-managed-flag>
<default-value>false</default-value>
</attribute-definition>
</custom-attribute-definitions>
<group-definitions>
<attribute-group group-id="AFFIRM_PAYMENT">
Expand Down Expand Up @@ -509,6 +517,7 @@ Example: 50|90|smallOrderFP</description>
<attribute attribute-id="AffirmPaymentCountryCode"/>
<attribute attribute-id="AffirmVCNPaymentInstrument"/>
<attribute attribute-id="AffirmAnalytics"/>
<attribute attribute-id="AffirmExpressCheckoutEnabled"/>
</attribute-group>
</group-definitions>
</type-extension>
Expand Down Expand Up @@ -540,4 +549,52 @@ Example: 50|90|smallOrderFP</description>
</attribute-definition>
</custom-attribute-definitions>
</type-extension>

<custom-type type-id="AffirmExpressCart">
<display-name xml:lang="x-default">Affirm Express Cart</display-name>
<description xml:lang="x-default">Bridges the session gap between Express Checkout initiation (browser session) and Shipping &amp; Totals callback (sessionless server-to-server). Keyed by order_id UUID.</description>
<staging-mode>no-staging</staging-mode>
<storage-scope>site</storage-scope>
<key-definition attribute-id="orderId">
<display-name xml:lang="x-default">Order ID</display-name>
<type>string</type>
<min-length>0</min-length>
</key-definition>
<attribute-definitions>
<attribute-definition attribute-id="basketUUID">
<display-name xml:lang="x-default">Basket UUID</display-name>
<description xml:lang="x-default">UUID of the SFCC basket at initiation time</description>
<type>string</type>
<localizable-flag>false</localizable-flag>
<mandatory-flag>false</mandatory-flag>
<externally-managed-flag>false</externally-managed-flag>
<min-length>0</min-length>
</attribute-definition>
<attribute-definition attribute-id="customerNo">
<display-name xml:lang="x-default">Customer Number</display-name>
<description xml:lang="x-default">Customer number if registered, empty if guest</description>
<type>string</type>
<localizable-flag>false</localizable-flag>
<mandatory-flag>false</mandatory-flag>
<externally-managed-flag>false</externally-managed-flag>
<min-length>0</min-length>
</attribute-definition>
<attribute-definition attribute-id="cartData">
<display-name xml:lang="x-default">Cart Data</display-name>
<description xml:lang="x-default">JSON snapshot of cart state: items, subtotal, discounts, currency</description>
<type>text</type>
<localizable-flag>false</localizable-flag>
<mandatory-flag>false</mandatory-flag>
<externally-managed-flag>false</externally-managed-flag>
</attribute-definition>
</attribute-definitions>
<group-definitions>
<attribute-group group-id="AffirmExpressCartAttributes">
<display-name xml:lang="x-default">Affirm Express Cart Attributes</display-name>
<attribute attribute-id="basketUUID"/>
<attribute attribute-id="customerNo"/>
<attribute attribute-id="cartData"/>
</attribute-group>
</group-definitions>
</custom-type>
</metadata>