Changeset 3414265
- Timestamp:
- 12/08/2025 12:20:21 PM (4 months ago)
- Location:
- splitit-installment-payments
- Files:
-
- 610 added
- 7 edited
-
tags/6.1.0 (added)
-
tags/6.1.0/CHANGELOG.md (added)
-
tags/6.1.0/README.md (added)
-
tags/6.1.0/assets (added)
-
tags/6.1.0/assets/css (added)
-
tags/6.1.0/assets/css/admin.css (added)
-
tags/6.1.0/assets/css/adminOrder.css (added)
-
tags/6.1.0/assets/css/style.css (added)
-
tags/6.1.0/assets/fonts (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Bold.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Bold.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-BoldItalic.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-BoldItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-ExtraBold.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-ExtraBold.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-ExtraBoldItalic.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-ExtraBoldItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Italic.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Italic.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Light.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Light.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-LightItalic.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-LightItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Medium.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Medium.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-MediumItalic.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-MediumItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Regular.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-Regular.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-SemiBold.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-SemiBold.woff2 (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-SemiBoldItalic.woff (added)
-
tags/6.1.0/assets/fonts/MerriweatherSans/MerriweatherSans-SemiBoldItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Bold.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Bold.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-BoldItalic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-BoldItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraBold.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraBold.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraBoldItalic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraBoldItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraLight.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraLight.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraLightItalic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-ExtraLightItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Italic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Italic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Light.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Light.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-LightItalic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-LightItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Medium.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Medium.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-MediumItalic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-MediumItalic.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Regular.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-Regular.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-SemiBold.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-SemiBold.woff2 (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-SemiBoldItalic.woff (added)
-
tags/6.1.0/assets/fonts/RedditSans/RedditSans-SemiBoldItalic.woff2 (added)
-
tags/6.1.0/assets/img (added)
-
tags/6.1.0/assets/img/add-to-cart.svg (added)
-
tags/6.1.0/assets/img/amex.svg (added)
-
tags/6.1.0/assets/img/dinersclub.svg (added)
-
tags/6.1.0/assets/img/discover.svg (added)
-
tags/6.1.0/assets/img/icon-14-px-info.svg (added)
-
tags/6.1.0/assets/img/icon-16-px-status-empty.svg (added)
-
tags/6.1.0/assets/img/icon-16-px-status-full.svg (added)
-
tags/6.1.0/assets/img/icon-20-px-add-card.svg (added)
-
tags/6.1.0/assets/img/icon-20-px-arrow-down.svg (added)
-
tags/6.1.0/assets/img/icon-20-px-arrow-right.svg (added)
-
tags/6.1.0/assets/img/icon-20-px-plus.svg (added)
-
tags/6.1.0/assets/img/icon-20-px-triangle-down.svg (added)
-
tags/6.1.0/assets/img/icon-24-px-check-mark-not-checked.svg (added)
-
tags/6.1.0/assets/img/icon-24-px-check-mark.svg (added)
-
tags/6.1.0/assets/img/icon-24-px-dollar.svg (added)
-
tags/6.1.0/assets/img/icon-30-px-trash.svg (added)
-
tags/6.1.0/assets/img/jcb.svg (added)
-
tags/6.1.0/assets/img/loading-buffering.gif (added)
-
tags/6.1.0/assets/img/logo-49-px-splitit.svg (added)
-
tags/6.1.0/assets/img/logo-informative.svg (added)
-
tags/6.1.0/assets/img/logo-splitit.png (added)
-
tags/6.1.0/assets/img/logo_38px_splitit.svg (added)
-
tags/6.1.0/assets/img/logo_38px_splitit_old.svg (added)
-
tags/6.1.0/assets/img/maestro.svg (added)
-
tags/6.1.0/assets/img/mastercard.svg (added)
-
tags/6.1.0/assets/img/no-image-icon-23485.png (added)
-
tags/6.1.0/assets/img/shirt-icon.png (added)
-
tags/6.1.0/assets/img/visa.svg (added)
-
tags/6.1.0/assets/img/visaelectron.svg (added)
-
tags/6.1.0/assets/img/welcome-config.png (added)
-
tags/6.1.0/assets/img/welcome-config.svg (added)
-
tags/6.1.0/assets/img/welcome-connect.png (added)
-
tags/6.1.0/assets/img/welcome-connect.svg (added)
-
tags/6.1.0/assets/img/welcome-setup.png (added)
-
tags/6.1.0/assets/img/welcome-setup.svg (added)
-
tags/6.1.0/assets/js (added)
-
tags/6.1.0/assets/js/admin.js (added)
-
tags/6.1.0/assets/js/adminOrder.js (added)
-
tags/6.1.0/assets/js/multiple-select (added)
-
tags/6.1.0/assets/js/multiple-select/multiple-select.min.css (added)
-
tags/6.1.0/assets/js/multiple-select/multiple-select.min.js (added)
-
tags/6.1.0/assets/js/select2 (added)
-
tags/6.1.0/assets/js/select2/select2.min.css (added)
-
tags/6.1.0/assets/js/select2/select2.min.js (added)
-
tags/6.1.0/assets/js/splitit-blocks-um-cart.js (added)
-
tags/6.1.0/assets/js/splitit-blocks-um-checkout.js (added)
-
tags/6.1.0/assets/js/splitit-blocks.js (added)
-
tags/6.1.0/assets/js/splitit-flex-form.js (added)
-
tags/6.1.0/assets/js/splitit-payment.js (added)
-
tags/6.1.0/assets/validation (added)
-
tags/6.1.0/assets/validation/additional-methods.js (added)
-
tags/6.1.0/assets/validation/jquery.validate.js (added)
-
tags/6.1.0/assets/validation/localization (added)
-
tags/6.1.0/assets/validation/localization/messages_ar.js (added)
-
tags/6.1.0/assets/validation/localization/messages_az.js (added)
-
tags/6.1.0/assets/validation/localization/messages_bg.js (added)
-
tags/6.1.0/assets/validation/localization/messages_bn_BD.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ca.js (added)
-
tags/6.1.0/assets/validation/localization/messages_cs.js (added)
-
tags/6.1.0/assets/validation/localization/messages_da.js (added)
-
tags/6.1.0/assets/validation/localization/messages_de.js (added)
-
tags/6.1.0/assets/validation/localization/messages_el.js (added)
-
tags/6.1.0/assets/validation/localization/messages_es.js (added)
-
tags/6.1.0/assets/validation/localization/messages_es_AR.js (added)
-
tags/6.1.0/assets/validation/localization/messages_es_PE.js (added)
-
tags/6.1.0/assets/validation/localization/messages_et.js (added)
-
tags/6.1.0/assets/validation/localization/messages_eu.js (added)
-
tags/6.1.0/assets/validation/localization/messages_fa.js (added)
-
tags/6.1.0/assets/validation/localization/messages_fi.js (added)
-
tags/6.1.0/assets/validation/localization/messages_fr.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ge.js (added)
-
tags/6.1.0/assets/validation/localization/messages_gl.js (added)
-
tags/6.1.0/assets/validation/localization/messages_he.js (added)
-
tags/6.1.0/assets/validation/localization/messages_hr.js (added)
-
tags/6.1.0/assets/validation/localization/messages_hu.js (added)
-
tags/6.1.0/assets/validation/localization/messages_hy_AM.js (added)
-
tags/6.1.0/assets/validation/localization/messages_id.js (added)
-
tags/6.1.0/assets/validation/localization/messages_is.js (added)
-
tags/6.1.0/assets/validation/localization/messages_it.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ja.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ka.js (added)
-
tags/6.1.0/assets/validation/localization/messages_kk.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ko.js (added)
-
tags/6.1.0/assets/validation/localization/messages_lt.js (added)
-
tags/6.1.0/assets/validation/localization/messages_lv.js (added)
-
tags/6.1.0/assets/validation/localization/messages_mk.js (added)
-
tags/6.1.0/assets/validation/localization/messages_my.js (added)
-
tags/6.1.0/assets/validation/localization/messages_nl.js (added)
-
tags/6.1.0/assets/validation/localization/messages_no.js (added)
-
tags/6.1.0/assets/validation/localization/messages_pl.js (added)
-
tags/6.1.0/assets/validation/localization/messages_pt_BR.js (added)
-
tags/6.1.0/assets/validation/localization/messages_pt_PT.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ro.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ru.js (added)
-
tags/6.1.0/assets/validation/localization/messages_sd.js (added)
-
tags/6.1.0/assets/validation/localization/messages_si.js (added)
-
tags/6.1.0/assets/validation/localization/messages_sk.js (added)
-
tags/6.1.0/assets/validation/localization/messages_sl.js (added)
-
tags/6.1.0/assets/validation/localization/messages_sr.js (added)
-
tags/6.1.0/assets/validation/localization/messages_sr_lat.js (added)
-
tags/6.1.0/assets/validation/localization/messages_sv.js (added)
-
tags/6.1.0/assets/validation/localization/messages_th.js (added)
-
tags/6.1.0/assets/validation/localization/messages_tj.js (added)
-
tags/6.1.0/assets/validation/localization/messages_tr.js (added)
-
tags/6.1.0/assets/validation/localization/messages_uk.js (added)
-
tags/6.1.0/assets/validation/localization/messages_ur.js (added)
-
tags/6.1.0/assets/validation/localization/messages_vi.js (added)
-
tags/6.1.0/assets/validation/localization/messages_zh.js (added)
-
tags/6.1.0/assets/validation/localization/messages_zh_TW.js (added)
-
tags/6.1.0/assets/validation/localization/methods_de.js (added)
-
tags/6.1.0/assets/validation/localization/methods_es_CL.js (added)
-
tags/6.1.0/assets/validation/localization/methods_fi.js (added)
-
tags/6.1.0/assets/validation/localization/methods_it.js (added)
-
tags/6.1.0/assets/validation/localization/methods_nl.js (added)
-
tags/6.1.0/assets/validation/localization/methods_pt.js (added)
-
tags/6.1.0/changelog.txt (added)
-
tags/6.1.0/classes (added)
-
tags/6.1.0/classes/class-splitit-flexfields-payment-plugin-api.php (added)
-
tags/6.1.0/classes/class-splitit-flexfields-payment-plugin-blocks-support.php (added)
-
tags/6.1.0/classes/class-splitit-flexfields-payment-plugin-checkout.php (added)
-
tags/6.1.0/classes/class-splitit-flexfields-payment-plugin-log.php (added)
-
tags/6.1.0/classes/class-splitit-flexfields-payment-plugin-settings.php (added)
-
tags/6.1.0/classes/traits (added)
-
tags/6.1.0/classes/traits/splitit-flexfields-payment-plugin-upstream-messaging-trait.php (added)
-
tags/6.1.0/composer.json (added)
-
tags/6.1.0/composer.lock (added)
-
tags/6.1.0/cron (added)
-
tags/6.1.0/cron/check-refund-status.php (added)
-
tags/6.1.0/db (added)
-
tags/6.1.0/db/create-async-refund-log-table.php (added)
-
tags/6.1.0/db/create-log-table.php (added)
-
tags/6.1.0/db/create-order-data-with-ipn.php (added)
-
tags/6.1.0/db/create-transactions-tracking-table.php (added)
-
tags/6.1.0/readme.txt (added)
-
tags/6.1.0/splitIt-flexfields-payment-gateway.php (added)
-
tags/6.1.0/template (added)
-
tags/6.1.0/template/flex-field-index.php (added)
-
tags/6.1.0/uninstall.php (added)
-
tags/6.1.0/vendor (added)
-
tags/6.1.0/vendor/autoload.php (added)
-
tags/6.1.0/vendor/composer (added)
-
tags/6.1.0/vendor/composer/ClassLoader.php (added)
-
tags/6.1.0/vendor/composer/InstalledVersions.php (added)
-
tags/6.1.0/vendor/composer/LICENSE (added)
-
tags/6.1.0/vendor/composer/autoload_classmap.php (added)
-
tags/6.1.0/vendor/composer/autoload_files.php (added)
-
tags/6.1.0/vendor/composer/autoload_namespaces.php (added)
-
tags/6.1.0/vendor/composer/autoload_psr4.php (added)
-
tags/6.1.0/vendor/composer/autoload_real.php (added)
-
tags/6.1.0/vendor/composer/autoload_static.php (added)
-
tags/6.1.0/vendor/composer/installed.json (added)
-
tags/6.1.0/vendor/composer/installed.php (added)
-
tags/6.1.0/vendor/composer/platform_check.php (added)
-
tags/6.1.0/vendor/guzzlehttp (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/CHANGELOG.md (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/LICENSE (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/README.md (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/UPGRADING.md (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/composer.json (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/BodySummarizer.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/BodySummarizerInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Client.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/ClientInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/ClientTrait.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Cookie (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Cookie/CookieJar.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Cookie/CookieJarInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Cookie/FileCookieJar.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Cookie/SessionCookieJar.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Cookie/SetCookie.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/BadResponseException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/ClientException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/ConnectException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/GuzzleException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/InvalidArgumentException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/RequestException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/ServerException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/TooManyRedirectsException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Exception/TransferException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/CurlFactory.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/CurlFactoryInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/CurlHandler.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/CurlMultiHandler.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/EasyHandle.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/HeaderProcessor.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/MockHandler.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/Proxy.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Handler/StreamHandler.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/HandlerStack.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/MessageFormatter.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/MessageFormatterInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Middleware.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Pool.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/PrepareBodyMiddleware.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/RedirectMiddleware.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/RequestOptions.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/RetryMiddleware.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/TransferStats.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/Utils.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/functions.php (added)
-
tags/6.1.0/vendor/guzzlehttp/guzzle/src/functions_include.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/CHANGELOG.md (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/LICENSE (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/README.md (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/composer.json (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/AggregateException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/CancellationException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/Coroutine.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/Create.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/Each.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/EachPromise.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/FulfilledPromise.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/Is.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/Promise.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/PromiseInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/PromisorInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/RejectedPromise.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/RejectionException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/TaskQueue.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/TaskQueueInterface.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/src/Utils.php (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin/php-cs-fixer (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin/php-cs-fixer/composer.json (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin/phpstan (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin/phpstan/composer.json (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin/psalm (added)
-
tags/6.1.0/vendor/guzzlehttp/promises/vendor-bin/psalm/composer.json (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7 (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/CHANGELOG.md (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/LICENSE (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/README.md (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/composer.json (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/AppendStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/BufferStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/CachingStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/DroppingStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Exception (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Exception/MalformedUriException.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/FnStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Header.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/HttpFactory.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/InflateStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/LazyOpenStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/LimitStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Message.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/MessageTrait.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/MimeType.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/MultipartStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/NoSeekStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/PumpStream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Query.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Request.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Response.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Rfc7230.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/ServerRequest.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Stream.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/StreamDecoratorTrait.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/StreamWrapper.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/UploadedFile.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Uri.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/UriComparator.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/UriNormalizer.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/UriResolver.php (added)
-
tags/6.1.0/vendor/guzzlehttp/psr7/src/Utils.php (added)
-
tags/6.1.0/vendor/konfig (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.gitignore (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.konfig (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.konfig/generate-id.txt (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.konfigignore (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.php-cs-fixer.dist.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.vscode (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/.vscode/launch.json (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/README.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/composer.json (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Api (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Api/InstallmentPlanApi.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/AddressData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/AddressDataModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/AuthorizationModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/BluesnapVaultedShopperToken.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/CardBrand.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/CardData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/CardType.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/CheckInstallmentsEligibilityRequest.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/Error.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ErrorExtended.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ErrorExtendedAllOf.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/EventsEndpointsModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/FailedResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/GatewayTokenData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/GwAuthorizationStatus.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/IdentifierContract.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InitiatePlanResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InitiateRedirectionEndpointsModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/Installment.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanCancelResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanCreateRequest.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanCreateResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanGetResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanInitiateRequest.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanRefundRequest.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanRefundResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanSearchResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanUpdateRequest.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanUpdateRequestByIdentifier.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanUpdateRequestByIdentifierAllOf.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentPlanUpdateResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentStatus.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/InstallmentsEligibilityResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/LinksData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/LinksModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/MockerShopperToken.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PaymentMethodModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PaymentMethodType.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PaymentPlanOptionModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PlanData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PlanDataModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PlanErrorResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PlanErrorResponseAllOf.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PlanStatus.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ProcessingData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ProcessingData2.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/PurchaseMethod.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/RedirectionEndpointsModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/RefundModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/RefundStatus.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/RefundStrategy.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/RefundSummary.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/SearchInstallmentPlanResponseItem.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ShippingStatus.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ShippingStatus2.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ShopperData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/TestModes.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ThreeDSData.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ThreeDSData2.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/ThreeDsRedirectDataV3.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/UpdateOrderRequest.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/UxSettingsModel.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/docs/Model/VerifyAuthorizationResponse.md (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Api (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Api/InstallmentPlanApi.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/ApiException.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Client.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Configuration.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/CustomApi.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/HeaderSelector.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/AddressData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/AddressDataModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/AuthorizationModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/BluesnapVaultedShopperToken.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/CardBrand.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/CardData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/CardType.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/CheckInstallmentsEligibilityRequest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/Error.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ErrorExtended.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ErrorExtendedAllOf.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/EventsEndpointsModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/FailedResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/GatewayTokenData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/GwAuthorizationStatus.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/IdentifierContract.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InitiatePlanResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InitiateRedirectionEndpointsModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/Installment.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanCancelResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanCreateRequest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanCreateResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanGetResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanInitiateRequest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanRefundRequest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanRefundResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanSearchResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanUpdateRequest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanUpdateRequestByIdentifier.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanUpdateRequestByIdentifierAllOf.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentPlanUpdateResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentStatus.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/InstallmentsEligibilityResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/LinksData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/LinksModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/MockerShopperToken.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ModelInterface.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PaymentMethodModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PaymentMethodType.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PaymentPlanOptionModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PlanData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PlanDataModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PlanErrorResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PlanErrorResponseAllOf.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PlanStatus.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ProcessingData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ProcessingData2.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/PurchaseMethod.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/RedirectionEndpointsModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/RefundModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/RefundStatus.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/RefundStrategy.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/RefundSummary.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/SearchInstallmentPlanResponseItem.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ShippingStatus.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ShippingStatus2.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ShopperData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/TestModes.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ThreeDSData.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ThreeDSData2.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/ThreeDsRedirectDataV3.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/UpdateOrderRequest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/UxSettingsModel.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/Model/VerifyAuthorizationResponse.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/ObjectSerializer.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/lib/RequestOptions.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/phpunit.xml.dist (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Api (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Api/InstallmentPlanApiTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/AddressDataModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/AddressDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/AuthorizationModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/BluesnapVaultedShopperTokenTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/CardBrandTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/CardDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/CardTypeTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/CheckInstallmentsEligibilityRequestTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ErrorExtendedAllOfTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ErrorExtendedTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ErrorTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/EventsEndpointsModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/FailedResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/GatewayTokenDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/GwAuthorizationStatusTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/IdentifierContractTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InitiatePlanResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InitiateRedirectionEndpointsModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanCancelResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanCreateRequestTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanCreateResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanGetResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanInitiateRequestTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanRefundRequestTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanRefundResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanSearchResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanUpdateRequestByIdentifierAllOfTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanUpdateRequestByIdentifierTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanUpdateRequestTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentPlanUpdateResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentStatusTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/InstallmentsEligibilityResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/LinksDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/LinksModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/MockerShopperTokenTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PaymentMethodModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PaymentMethodTypeTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PaymentPlanOptionModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PlanDataModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PlanDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PlanErrorResponseAllOfTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PlanErrorResponseTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PlanStatusTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ProcessingData2Test.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ProcessingDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/PurchaseMethodTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/RedirectionEndpointsModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/RefundModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/RefundStatusTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/RefundStrategyTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/RefundSummaryTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/SearchInstallmentPlanResponseItemTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ShippingStatus2Test.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ShippingStatusTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ShopperDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/TestModesTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ThreeDSData2Test.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ThreeDSDataTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/ThreeDsRedirectDataV3Test.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/UpdateOrderRequestTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/UxSettingsModelTest.php (added)
-
tags/6.1.0/vendor/konfig/splitit-web-php-sdk/test/Model/VerifyAuthorizationResponseTest.php (added)
-
tags/6.1.0/vendor/psr (added)
-
tags/6.1.0/vendor/psr/http-client (added)
-
tags/6.1.0/vendor/psr/http-client/CHANGELOG.md (added)
-
tags/6.1.0/vendor/psr/http-client/LICENSE (added)
-
tags/6.1.0/vendor/psr/http-client/README.md (added)
-
tags/6.1.0/vendor/psr/http-client/composer.json (added)
-
tags/6.1.0/vendor/psr/http-client/src (added)
-
tags/6.1.0/vendor/psr/http-client/src/ClientExceptionInterface.php (added)
-
tags/6.1.0/vendor/psr/http-client/src/ClientInterface.php (added)
-
tags/6.1.0/vendor/psr/http-client/src/NetworkExceptionInterface.php (added)
-
tags/6.1.0/vendor/psr/http-client/src/RequestExceptionInterface.php (added)
-
tags/6.1.0/vendor/psr/http-factory (added)
-
tags/6.1.0/vendor/psr/http-factory/LICENSE (added)
-
tags/6.1.0/vendor/psr/http-factory/README.md (added)
-
tags/6.1.0/vendor/psr/http-factory/composer.json (added)
-
tags/6.1.0/vendor/psr/http-factory/src (added)
-
tags/6.1.0/vendor/psr/http-factory/src/RequestFactoryInterface.php (added)
-
tags/6.1.0/vendor/psr/http-factory/src/ResponseFactoryInterface.php (added)
-
tags/6.1.0/vendor/psr/http-factory/src/ServerRequestFactoryInterface.php (added)
-
tags/6.1.0/vendor/psr/http-factory/src/StreamFactoryInterface.php (added)
-
tags/6.1.0/vendor/psr/http-factory/src/UploadedFileFactoryInterface.php (added)
-
tags/6.1.0/vendor/psr/http-factory/src/UriFactoryInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message (added)
-
tags/6.1.0/vendor/psr/http-message/CHANGELOG.md (added)
-
tags/6.1.0/vendor/psr/http-message/LICENSE (added)
-
tags/6.1.0/vendor/psr/http-message/README.md (added)
-
tags/6.1.0/vendor/psr/http-message/composer.json (added)
-
tags/6.1.0/vendor/psr/http-message/docs (added)
-
tags/6.1.0/vendor/psr/http-message/docs/PSR7-Interfaces.md (added)
-
tags/6.1.0/vendor/psr/http-message/docs/PSR7-Usage.md (added)
-
tags/6.1.0/vendor/psr/http-message/src (added)
-
tags/6.1.0/vendor/psr/http-message/src/MessageInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message/src/RequestInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message/src/ResponseInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message/src/ServerRequestInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message/src/StreamInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message/src/UploadedFileInterface.php (added)
-
tags/6.1.0/vendor/psr/http-message/src/UriInterface.php (added)
-
tags/6.1.0/vendor/ralouphie (added)
-
tags/6.1.0/vendor/ralouphie/getallheaders (added)
-
tags/6.1.0/vendor/ralouphie/getallheaders/LICENSE (added)
-
tags/6.1.0/vendor/ralouphie/getallheaders/README.md (added)
-
tags/6.1.0/vendor/ralouphie/getallheaders/composer.json (added)
-
tags/6.1.0/vendor/ralouphie/getallheaders/src (added)
-
tags/6.1.0/vendor/ralouphie/getallheaders/src/getallheaders.php (added)
-
tags/6.1.0/vendor/symfony (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts/.gitignore (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts/CHANGELOG.md (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts/LICENSE (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts/README.md (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts/composer.json (added)
-
tags/6.1.0/vendor/symfony/deprecation-contracts/function.php (added)
-
trunk/CHANGELOG.md (modified) (1 diff)
-
trunk/assets/js/splitit-flex-form.js (modified) (9 diffs)
-
trunk/assets/js/splitit-payment.js (modified) (9 diffs)
-
trunk/changelog.txt (modified) (1 diff)
-
trunk/classes/traits/splitit-flexfields-payment-plugin-upstream-messaging-trait.php (modified) (6 diffs)
-
trunk/readme.txt (modified) (2 diffs)
-
trunk/splitIt-flexfields-payment-gateway.php (modified) (25 diffs)
Legend:
- Unmodified
- Added
- Removed
-
splitit-installment-payments/trunk/CHANGELOG.md
r3357903 r3414265 3 3 All notable changes to this project will be documented in this file 4 4 - 5 6 ### 6.1.0 7 * The authorization process on the plugin settings page has been optimized 8 * Improved behavior of On-Site Messaging display based on the total amount range in the plugin settings 9 * Code improvements and bug fixes 5 10 6 11 ### 6.0.0 -
splitit-installment-payments/trunk/assets/js/splitit-flex-form.js
r3357903 r3414265 59 59 60 60 if ( $block.length ) { 61 $( 'html, body').animate(61 $( 'html, body' ).animate( 62 62 { 63 63 scrollTop: ( $block.offset().top - 100 ) … … 66 66 ); 67 67 } else { 68 console.warn('scrollTopToBlock: Element not found', block); 69 } 68 console.warn( 'scrollTopToBlock: Element not found', block ); 69 } 70 } 71 72 function getInputValue(name, selectorType = 'input') { 73 return $( `${selectorType}[name = "${name}"]` ).val() || ''; 74 } 75 76 window.collectSplititBillingPayload = function () { 77 const firstName = getInputValue( 'billing_first_name' ); 78 const lastName = getInputValue( 'billing_last_name' ); 79 80 return { 81 billingAddress: { 82 AddressLine: getInputValue( 'billing_address_1' ), 83 AddressLine2: getInputValue( 'billing_address_2' ), 84 City: getBillingAddressValue( 'billing_city' ) || '', 85 State: getInputValue( 'billing_state', 'select' ), 86 Country: getInputValue( 'billing_country', 'select' ), 87 Zip: getBillingAddressValue( 'billing_postcode' ) || '' 88 }, 89 consumerData: { 90 FullName: `${firstName} ${lastName}`.trim(), 91 Email: getInputValue( 'billing_email' ), 92 PhoneNumber: getInputValue( 'billing_phone' ), 93 CultureName: culture 94 } 95 }; 96 }; 97 98 function debounce(fn, wait) { 99 let t; 100 return function () { 101 const args = arguments; 102 clearTimeout( t ); 103 t = setTimeout( () => fn.apply( this, args ), wait ); 104 }; 70 105 } 71 106 72 107 window.getBillingAddressValue = function (code) { 73 // In some cases city or stateis optional, but it required in Splitit.108 // In some cases some field is optional, but it required in Splitit. 74 109 let value = $( '[name="' + code + '"]' ).val(); 75 110 if ( ! value) { … … 125 160 } 126 161 162 const firstName = getInputValue( 'billing_first_name' ); 163 const lastName = getInputValue( 'billing_last_name' ); 164 127 165 flexFieldsInstance.updateDetails( 128 166 { 129 167 billingAddress: { 130 addressLine: $( 'input[name="billing_address_1"]' ).val(),131 addressLine2: $( 'input[name="billing_address_2"]' ).val(),132 city: getBillingAddressValue( 'billing_city' ) ,133 state: get BillingAddressValue( 'billing_state' ),134 country: $( '[name="billing_country"]' ).val(),135 zip: getBillingAddressValue( 'billing_postcode' ) 168 addressLine: getInputValue( 'billing_address_1' ), 169 addressLine2: getInputValue( 'billing_address_2' ), 170 city: getBillingAddressValue( 'billing_city' ) || '', 171 state: getInputValue( 'billing_state', 'select' ), 172 country: getInputValue( 'billing_country', 'select' ), 173 zip: getBillingAddressValue( 'billing_postcode' ) || '' 136 174 }, 137 175 consumerData: { 138 fullName: $( 'input[name="billing_first_name"]' ).val() + ' ' + $( 'input[name="billing_last_name"]' ).val(),139 email: $( 'input[name="billing_email"]' ).val(),140 phoneNumber: $( 'input[name="billing_phone"]' ).val(),176 fullName: `${firstName} ${lastName}`.trim(), 177 email: getInputValue( 'billing_email' ), 178 phoneNumber: getInputValue( 'billing_phone' ), 141 179 cultureName: culture 142 180 } … … 191 229 } 192 230 193 if (window.location.href.includes( "hobfurniture" ) || window.location.href.includes( "bioflexwave" ) ) {231 if (window.location.href.includes( "hobfurniture" ) || window.location.href.includes( "bioflexwave" ) || window.location.href.includes( "camelliarts" )) { 194 232 flexFieldsInstance.pay(); 195 233 } else { … … 279 317 ); 280 318 319 const handleBillingChange = debounce( 320 function () { 321 try { 322 const ipn = localStorage.getItem( 'ipn' ) ?? false; 323 if (isSplititPaymentSelected() && typeof flexFieldsInstance !== 'undefined' && ipn) { 324 updateFlexFieldsTotal( ipn ); 325 } else if (isSplititPaymentSelected() && ! localStorage.getItem( 'ipn' )) { 326 firstInitFlexFieldsInstance(); 327 } 328 } catch (e) { 329 console.warn( 'splitit billing change handler error', e ); 330 } 331 }, 332 600 333 ); 334 335 $( document ).on( 'input change', 'input[name^="billing_"], select[name^="billing_"]', handleBillingChange ); 336 281 337 $( 'form[name="checkout"]' ).on( 282 338 'checkout_place_order' , … … 385 441 386 442 function firstInitFlexFieldsInstance() { 443 const billingPayload = collectSplititBillingPayload(); 444 387 445 $.ajax( 388 446 { … … 394 452 order_id: order_id, 395 453 numberOfInstallments: '', 396 currency: getCurrencyCode() 454 currency: getCurrencyCode(), 455 billing: JSON.stringify( billingPayload ) 397 456 }, 398 457 success: function ( data ) { … … 490 549 function updateFlexFieldsTotal( planNumber ) { 491 550 if ( undefined !== flexFieldsInstance ) { 551 552 const billingPayload = collectSplititBillingPayload(); 553 492 554 $.ajax( 493 555 { … … 499 561 'numberOfInstallments': '', 500 562 'function': 'updateFlexFieldsTotal', 501 'currency': getCurrencyCode() 563 'currency': getCurrencyCode(), 564 'billing': JSON.stringify( billingPayload ) 502 565 }, 503 566 method: "POST", -
splitit-installment-payments/trunk/assets/js/splitit-payment.js
r3278936 r3414265 2 2 (function ($) { 3 3 "use strict"; 4 5 if (typeof wp !== 'undefined' && wp.data) { 6 const { subscribe, select } = wp.data; 7 8 subscribe(() => { 9 try { 10 const cartStore = select('wc/store/cart'); 11 12 if (cartStore && cartStore.getCustomerData) { 13 const currentAddressData = cartStore.getCustomerData(); 14 if (currentAddressData) { 15 window.splititCurrentAddressData = currentAddressData; 16 } 17 } 18 } catch (e) { 19 console.warn("splitit subscribe error", e); 20 } 21 }); 22 } 4 23 5 24 let billingData = props.billing.billingAddress; … … 52 71 function () { 53 72 let ipn = localStorage.getItem( 'ipn' ) ?? false; 54 if ( isSplititPaymentSelectedBlocks() && flexFieldsInstance && ipn) { 55 updateFlexFieldsTotalBlocks( ipn ); 73 74 if ( isSplititPaymentSelectedBlocks() ) { 75 if ( 'undefined' === typeof flexFieldsInstance ) { 76 cleanupWoocommerceErrorMessageBlocks(); 77 $( '#custom_splitit_error' ).remove(); 78 firstInitFlexFieldsInstanceBlocks(); 79 } else if ( ipn ) { 80 updateFlexFieldsTotalBlocks( ipn ); 81 } 56 82 } 57 83 } … … 106 132 console.warn('scrollTopToBlock: Element not found', block); 107 133 } 134 } 135 136 function collectSplititBillingPayloadBlocks() { 137 const billingAddressCurrentData = (window.splititCurrentAddressData && window.splititCurrentAddressData.billingAddress) 138 ? window.splititCurrentAddressData.billingAddress 139 : props.billing.billingAddress; 140 141 return { 142 billingAddress: { 143 AddressLine: billingAddressCurrentData.address_1, 144 AddressLine2: billingAddressCurrentData.address_2, 145 City: getBillingAddressValueBlocks('city', billingAddressCurrentData), 146 State: billingAddressCurrentData.state, 147 Country: billingAddressCurrentData.country, 148 Zip: getBillingAddressValueBlocks('postcode', billingAddressCurrentData) 149 }, 150 consumerData: { 151 FullName: billingAddressCurrentData.first_name + ' ' + billingAddressCurrentData.last_name, 152 Email: billingAddressCurrentData.email, 153 PhoneNumber: billingAddressCurrentData.phone, 154 CultureName: culture 155 } 156 }; 108 157 } 109 158 … … 174 223 addressLine2: billingDataUpdated.address_2, 175 224 city: getBillingAddressValueBlocks( 'city', billingDataUpdated ), 176 state: getBillingAddressValueBlocks( 'state', billingDataUpdated ),225 state: billingDataUpdated.state, 177 226 country: billingDataUpdated.country, 178 227 zip: getBillingAddressValueBlocks( 'postcode', billingDataUpdated ) … … 234 283 return false; 235 284 } else { 236 if (window.location.href.includes( "hobfurniture" ) || window.location.href.includes( "bioflexwave" ) ) {285 if (window.location.href.includes( "hobfurniture" ) || window.location.href.includes( "bioflexwave" ) || window.location.href.includes( "camelliarts" )) { 237 286 flexFieldsInstance.pay(); 238 287 } else { … … 328 377 329 378 window.firstInitFlexFieldsInstanceBlocks = function() { 379 const billingPayload = collectSplititBillingPayloadBlocks(); 380 330 381 $.ajax( 331 382 { … … 337 388 order_id: orderId, 338 389 numberOfInstallments: '', 339 currency: getCurrencyCodeBlocks() 390 currency: getCurrencyCodeBlocks(), 391 billing: JSON.stringify(billingPayload) 340 392 }, 341 393 success: function ( data ) { … … 424 476 window.updateFlexFieldsTotalBlocks = function( planNumber ) { 425 477 if ( undefined !== flexFieldsInstance ) { 478 const billingPayload = collectSplititBillingPayloadBlocks(); 479 426 480 $.ajax( 427 481 { … … 433 487 'numberOfInstallments': '', 434 488 'function': 'updateFlexFieldsTotal', 435 'currency': getCurrencyCodeBlocks() 489 'currency': getCurrencyCodeBlocks(), 490 'billing': JSON.stringify(billingPayload) 436 491 }, 437 492 method: "POST", -
splitit-installment-payments/trunk/changelog.txt
r3357903 r3414265 1 1 *** Splitit Changelog *** 2 3 2025-12-08 - version 6.1.0 4 * The authorization process on the plugin settings page has been optimized 5 * Improved behavior of On-Site Messaging display based on the total amount range in the plugin settings 6 * Code improvements and bug fixes 2 7 3 8 2025-09-08 - version 6.0.0 -
splitit-installment-payments/trunk/classes/traits/splitit-flexfields-payment-plugin-upstream-messaging-trait.php
r3357903 r3414265 253 253 254 254 let installment = getInstallmentByPrice(price, umOptions, settings); 255 256 if (!installment) { 257 return false; 258 } 259 255 260 let um = generateUM(umType, umOptions, price, installment); 256 261 … … 291 296 292 297 let installment = getInstallmentByPrice(price, umOptions, settings); 298 299 if (!installment) { 300 return false; 301 } 302 293 303 let um = generateUM(umType, umOptions, price, installment); 294 304 … … 319 329 if (isNaN(price)) return false; 320 330 321 let customInstallments = checkCustomInstallmentsSettings( pageConfig, settings ); 322 if (customInstallments !== null) { 323 return customInstallments; 324 } 331 let foundInRange = false; 332 let matchedInstallments = null; 325 333 326 334 for (let i = 0; i < installmentsSettings.ic_from.length; i++) { … … 332 340 .split(',') 333 341 .map(Number); 334 return Math.max(...installments); 342 matchedInstallments = Math.max(...installments); 343 foundInRange = true; 344 break; 335 345 } 336 346 } 337 return 4; // Default value 347 348 if (foundInRange) { 349 let customInstallments = checkCustomInstallmentsSettings(pageConfig, settings); 350 if (customInstallments !== null) { 351 return customInstallments; 352 } 353 return matchedInstallments; 354 } 355 356 return null; 338 357 } 339 358 340 359 function checkCustomInstallmentsSettings(pageConfig, splititSettings) { 341 let umType = ''; 342 343 if (pageConfig.strip && pageConfig.strip.enable_strip == 1) { 344 umType = 'strip'; 345 } else if (pageConfig.banner && pageConfig.banner.enable_banner == 1) { 346 umType = 'banner'; 347 } else if (pageConfig.logo && pageConfig.logo.enable_logo == 1) { 348 umType = 'logo'; 349 } else if (pageConfig.one_liner && pageConfig.one_liner.enable_one_liner == 1) { 350 umType = 'one_liner'; 351 } 352 353 let customInstallments = pageConfig[umType] && pageConfig[umType].installments && 354 pageConfig[umType].installments.trim() !== '' 355 ? parseInt( pageConfig[umType].installments, 10 ) 360 361 let customInstallments = pageConfig && pageConfig.installments && 362 pageConfig.installments.trim() !== '' 363 ? parseInt( pageConfig.installments, 10 ) 356 364 : null; 357 365 … … 378 386 379 387 Object.entries(options).forEach(function ([key, val]) { 380 if ( '' !== key && 'regular' !== key && 'sale' !== key ) {388 if ( '' !== key && 'regular' !== key && 'sale' !== key && 'installments' !== key ) { 381 389 if (( 'hide_learn_more' === key || 'hide_icon' === key ) && '1' == val ) { 382 390 val = true; … … 1116 1124 $current_order_total_in_range = $this->check_if_sum_in_range( $this->get_current_order_total() ); 1117 1125 $is_allowed_um = $this->is_allowed_um_per_products_for_card_and_checkout_pages(); 1118 $hide_upstream_message = empty( $installments ) || ! $ total_in_range || ! $current_order_total_in_range || ! $is_allowed_um ? ' style="display:none"' : '';1126 $hide_upstream_message = empty( $installments ) || ! $current_order_total_in_range || ! $is_allowed_um ? ' style="display:none"' : ''; 1119 1127 1120 1128 if ( isset( $installments ) ) { -
splitit-installment-payments/trunk/readme.txt
r3357903 r3414265 6 6 Requires PHP: 7.0 7 7 WC requires at least: 6.0 8 WC tested up to: 10. 1.19 Stable tag: 6. 0.08 WC tested up to: 10.3.6 9 Stable tag: 6.1.0 10 10 License: GPLv3 11 11 License URI: http://www.gnu.org/licenses/gpl-3.0.html … … 80 80 == Changelog == 81 81 82 = 6.1.0 - 2025-12-08 83 The authorization process on the plugin settings page has been optimized 84 Improved behavior of On-Site Messaging display based on the total amount range in the plugin settings 85 Code improvements and bug fixes 86 82 87 = 6.0.0 - 2025-09-08 83 *Revert version with new SDK88 Revert version with new SDK 84 89 85 90 = 5.0.0 - 2025-09-03 = -
splitit-installment-payments/trunk/splitIt-flexfields-payment-gateway.php
r3357903 r3414265 11 11 * Author URI: https://www.splitit.com/ 12 12 * License: GPLv3 13 * Version: 6. 0.013 * Version: 6.1.0 14 14 * Requires Plugins: woocommerce 15 15 * Requires at least: 5.6 16 16 * Tested up to: 6.8 17 17 * WC requires at least: 6.0 18 * WC tested up to: 10. 1.118 * WC tested up to: 10.3.6 19 19 * Requires PHP: 7.0 20 20 */ … … 31 31 32 32 global $plugin_version; 33 $plugin_version = '6. 0.0';33 $plugin_version = '6.1.0'; 34 34 35 35 global $required_splitit_php_version; … … 838 838 $callback_uri = get_site_url() . '/splitit-auth/callback'; 839 839 840 if ( ! session_id() ) { 841 session_start(); } 842 $verifier = isset( $_SESSION['code_verifier'] ) ? sanitize_text_field( $_SESSION['code_verifier'] ) : ''; 840 $verifier = get_transient( 'splitit_code_verifier_' . get_current_user_id() ); 843 841 844 842 if ( '' === $verifier ) { 845 echo '<div style="width: 500px; margin: 15px auto; text-align: center; font-size: 16px; background-color: bisque; padding: 10px; border-radius: 10px;">An issue with session access has been detected.</br>Please ensure that your server settings allow session functionality</br>and that no additional site settings block session operation.</div>'; 843 SplitIt_FlexFields_Payment_Plugin_Log::save_log_info( 844 array( 845 'user_id' => null, 846 'method' => __( 'get_access_token() Splitit', 'splitit-installment-payments' ), 847 ), 848 'get_access_token() - Error: splitit_code_verifier is empty', 849 'error' 850 ); 851 echo '<div style="width: 500px; margin: 15px auto; text-align: center; font-size: 16px; background-color: bisque; padding: 10px; border-radius: 10px;">Something happened while trying to log in. </br>Please try again later or contact Splitit support.</div>'; 846 852 } 847 853 … … 888 894 $id_token = $response_data->id_token ?? null; 889 895 if ( $id_token ) { 890 if ( ! session_id() ) { 891 session_start(); 892 } 893 $_SESSION['id_token'] = $id_token; 896 set_transient( 'splitit_id_token_' . get_current_user_id(), $id_token, 10 * MINUTE_IN_SECONDS ); 894 897 } 895 898 … … 1104 1107 * Method that generating drop-down with list of merchants 1105 1108 * 1106 * @param $ list1109 * @param $merchants_list 1107 1110 * @param $user_data 1108 1111 * @param $env 1109 * @param null $url 1110 * @param null $token 1111 */ 1112 public function generate_merchants_list_dropdown( $list, $user_data, $env, $url = null, $token = null ) { 1113 if ( 'production' === $env ) { 1114 $merchants_list = json_decode( $list, true )['MerchantList']; 1115 1112 * @param false $limited_search_enable 1113 * @param null $url 1114 * @param null $token 1115 */ 1116 public function generate_merchants_list_dropdown( $merchants_list, $user_data, $env, $limited_search_enable = false, $url = null, $token = null ) { 1117 if ( 'production' === $env || ! $limited_search_enable ) { 1116 1118 usort( 1117 1119 $merchants_list, … … 1124 1126 ); 1125 1127 1126 if ( ! session_id() ) { 1127 session_start(); } 1128 $_SESSION['merchants_list'] = $merchants_list; 1128 set_transient( 'splitit_merchants_list_' . get_current_user_id(), $merchants_list, 10 * MINUTE_IN_SECONDS ); 1129 1129 } 1130 1130 … … 1165 1165 <option value="" disabled selected>Merchant Account</option> 1166 1166 <?php 1167 if ( 'production' === $env ) {1167 if ( 'production' === $env || ! $limited_search_enable ) { 1168 1168 foreach ( $merchants_list as $item ) { 1169 1169 echo '<option value="' . esc_attr( $item['Id'] ) . '">' . esc_html( $item['Code'] ) . '</option>'; … … 1214 1214 jQuery(function ($) { 1215 1215 let env = '<?php echo esc_html( $env ); ?>'; 1216 1217 if ( 'sandbox' === env ) { 1216 let limitedSearchEnable = '<?php echo esc_html( $limited_search_enable ); ?>'; 1217 1218 if ( 'sandbox' === env && limitedSearchEnable ) { 1218 1219 $('#merchants_list_dropdown').select2({ 1219 1220 placeholder: 'Enter the merchant name', … … 1261 1262 }) 1262 1263 1263 const id_token = '<?php echo esc_js( sanitize_text_field( $_SESSION['id_token']?? '' ) ); ?>';1264 const id_token = '<?php echo esc_js( sanitize_text_field( get_transient( 'splitit_id_token_' . get_current_user_id() ) ?? '' ) ); ?>'; 1264 1265 const environment = localStorage.getItem( 'environment' ); 1265 1266 … … 1542 1543 */ 1543 1544 public function generate_terminals_list_dropdown( $terminals_list, $credentials_list, $merchant_id, $user_data, $env ) { 1544 if ( ! session_id() ) { 1545 session_start(); } 1546 $_SESSION['terminals_list'] = $terminals_list; 1547 $_SESSION['credentials_list'] = $credentials_list; 1548 $merchants_list = isset( $_SESSION['merchants_list'] ) ? map_deep( $_SESSION['merchants_list'], 'sanitize_text_field' ) : array(); 1545 set_transient( 'splitit_terminals_list_' . get_current_user_id(), $terminals_list, 10 * MINUTE_IN_SECONDS ); 1546 set_transient( 'splitit_credentials_list_' . get_current_user_id(), $credentials_list, 10 * MINUTE_IN_SECONDS ); 1547 1548 $merchants_list = get_transient( 'splitit_merchants_list_' . get_current_user_id() ) ? map_deep( get_transient( 'splitit_merchants_list_' . get_current_user_id() ), 'sanitize_text_field' ) : array(); 1549 1549 ?> 1550 1550 … … 1748 1748 }) 1749 1749 1750 const id_token = '<?php echo esc_js( sanitize_text_field( $_SESSION['id_token']?? '' ) ); ?>';1750 const id_token = '<?php echo esc_js( sanitize_text_field( get_transient( 'splitit_id_token_' . get_current_user_id() ) ?? '' ) ); ?>'; 1751 1751 const environment = localStorage.getItem( 'environment' ); 1752 1752 … … 1828 1828 $access_token = $this->get_access_token( $data['code'] ); 1829 1829 if ( $access_token ) { 1830 if ( ! session_id() ) { 1831 session_start(); } 1832 $_SESSION['access_token'] = $access_token; 1833 $user_data = $this->get_user_data( 'https://id.' . $env . '.splitit.com/api/user/profile', $access_token ); 1830 set_transient( 'splitit_access_token_' . get_current_user_id(), $access_token, 10 * MINUTE_IN_SECONDS ); 1831 $user_data = $this->get_user_data( 'https://id.' . $env . '.splitit.com/api/user/profile', $access_token ); 1834 1832 1835 1833 update_option( 'splitit_logged_user_data', $user_data ); 1836 1834 1837 if ( 'sandbox' === $env ) { 1838 $this->generate_merchants_list_dropdown( array(), $user_data, $env, 'https://pluginproxy.' . $env . '.splitit.com/api/v1/merchant/ref-list?forceRefresh=true&Statuses=Live', $access_token ); 1835 $limit_param = 'sandbox' === $env ? 'LimitResults=100&' : ''; 1836 $merchant_ref_list = $this->get_list( 'https://pluginproxy.' . $env . '.splitit.com/api/v1/merchant/ref-list?' . $limit_param . 'forceRefresh=true&Statuses=Live', $access_token ); 1837 $merchants_list = json_decode( $merchant_ref_list, true )['MerchantList']; 1838 $limited_search_enable = 100 === count( $merchants_list ); 1839 1840 if ( 'sandbox' === $env && $limited_search_enable ) { 1841 $this->generate_merchants_list_dropdown( array(), $user_data, $env, $limited_search_enable, 'https://pluginproxy.' . $env . '.splitit.com/api/v1/merchant/ref-list?forceRefresh=true&Statuses=Live', $access_token ); 1839 1842 } else { 1840 $merchant_ref_list = $this->get_list( 'https://pluginproxy.' . $env . '.splitit.com/api/v1/merchant/ref-list?forceRefresh=true&Statuses=Live', $access_token ); 1841 $this->generate_merchants_list_dropdown( $merchant_ref_list, $user_data, $env ); 1843 $this->generate_merchants_list_dropdown( $merchants_list, $user_data, $env, $limited_search_enable ); 1842 1844 } 1843 1845 } … … 1862 1864 ); 1863 1865 1864 if ( ! session_id() ) { 1865 session_start(); } 1866 $_SESSION['merchants_list'] = $merchants_list; 1867 1866 set_transient( 'splitit_merchants_list_' . get_current_user_id(), $merchants_list, 10 * MINUTE_IN_SECONDS ); 1868 1867 wp_send_json_success( $merchants_list ); 1869 1868 } … … 1876 1875 $merchant_id = isset( $_POST['merchant_id'] ) ? sanitize_text_field( wp_unslash( $_POST['merchant_id'] ) ) : null; 1877 1876 1878 if ( ! session_id() ) { 1879 session_start(); } 1880 $access_token = isset( $_SESSION['access_token'] ) ? sanitize_text_field( $_SESSION['access_token'] ) : null; 1877 $access_token = get_transient( 'splitit_access_token_' . get_current_user_id() ) ? sanitize_text_field( get_transient( 'splitit_access_token_' . get_current_user_id() ) ) : null; 1878 1881 1879 $user_data = get_option( 'splitit_logged_user_data' ); 1882 1880 $merchant_settings = $this->get_merchant_settings( 'https://pluginproxy.' . $env . '.splitit.com/api/v1/merchant/extended-info', $access_token, $merchant_id ); … … 1900 1898 $client_id = isset( $_POST['client_id'] ) ? sanitize_text_field( wp_unslash( $_POST['client_id'] ) ) : null; 1901 1899 1902 if ( ! session_id() ) { 1903 session_start(); } 1904 $merchants_list = isset( $_SESSION['merchants_list'] ) ? map_deep( $_SESSION['merchants_list'], 'sanitize_text_field' ) : array(); 1905 $terminals_list = isset( $_SESSION['terminals_list'] ) ? map_deep( $_SESSION['terminals_list'], 'sanitize_text_field' ) : array(); 1906 $access_token = isset( $_SESSION['access_token'] ) ? sanitize_text_field( $_SESSION['access_token'] ) : null; 1900 $merchants_list = get_transient( 'splitit_merchants_list_' . get_current_user_id() ) ? map_deep( get_transient( 'splitit_merchants_list_' . get_current_user_id() ), 'sanitize_text_field' ) : array(); 1901 $terminals_list = get_transient( 'splitit_terminals_list_' . get_current_user_id() ) ? map_deep( get_transient( 'splitit_terminals_list_' . get_current_user_id() ), 'sanitize_text_field' ) : array(); 1902 $access_token = get_transient( 'splitit_access_token_' . get_current_user_id() ) ? sanitize_text_field( get_transient( 'splitit_access_token_' . get_current_user_id() ) ) : null; 1907 1903 1908 1904 $selected_merchant = null; … … 2004 2000 $code_verifier = isset( $_POST['code_verifier'] ) ? sanitize_text_field( wp_unslash( $_POST['code_verifier'] ) ) : null; 2005 2001 if ( $code_verifier ) { 2006 if ( ! session_id() ) { 2007 session_start(); } 2008 $_SESSION['code_verifier'] = $code_verifier; 2002 set_transient( 'splitit_code_verifier_' . get_current_user_id(), $code_verifier, 10 * MINUTE_IN_SECONDS ); 2009 2003 } 2010 2004 } … … 2154 2148 if ( $order && $order->get_id() ) { 2155 2149 $order_info = SplitIt_FlexFields_Payment_Plugin_Log::get_splitit_info_by_order_id( $order->get_id() ); 2156 } 2157 if ( isset( $order_info ) && ! empty( $order_info ) ) { 2158 2159 $env = get_option( 'splitit_environment' ) ? get_option( 'splitit_environment' ) : $this->settings['splitit_environment']; 2160 $splitit_order_info = $this->get_splitit_order_info( 'https://web-api-v3.' . $env . '.splitit.com/api/installmentplans/' . $order_info->installment_plan_number . '/legal' ); 2161 2162 $decoded_info = json_decode( $splitit_order_info ); 2163 2164 $terms_conditions = ''; 2165 $privacy_policy = ''; 2166 $provider = 'SPLITIT'; 2167 2168 if ( $decoded_info && json_last_error() === JSON_ERROR_NONE ) { 2169 if ( isset( $decoded_info->TermsAndConditions ) ) { 2170 $terms_conditions = $decoded_info->TermsAndConditions; 2171 } 2172 if ( isset( $decoded_info->PrivacyPolicy ) ) { 2173 $privacy_policy = $decoded_info->PrivacyPolicy; 2174 } 2175 if ( isset( $decoded_info->Provider ) ) { 2176 $provider = $decoded_info->Provider; 2177 } 2178 } else { 2179 $log_data = array( 2180 'user_id' => null, 2181 'method' => __( 'splitit_add_installment_plan_number_data_thank_you_title() Splitit', 'splitit-installment-payments' ), 2182 ); 2183 SplitIt_FlexFields_Payment_Plugin_Log::save_log_info( $log_data, 'splitit_add_installment_plan_number_data_thank_you_title() - error: ' . json_last_error(), 'error' ); 2184 } 2185 2186 if ( 'VIS' === $provider ) { 2187 2188 $api = new SplitIt_FlexFields_Payment_Plugin_API( $this->settings ); 2189 $ipn_info = $api->get_ipn_info( $order_info->installment_plan_number ); 2190 2191 $sub_total = $order->get_subtotal(); 2192 $total_tax = $order->get_total_tax(); 2193 $total_price = $order->get_total(); 2194 2195 $currency_code = $ipn_info->getCurrency(); 2196 $currency_symbol = get_woocommerce_currency_symbol( $currency_code ); 2197 2198 $payment_method = $ipn_info->getPaymentMethod(); 2199 $card = $payment_method->getCard(); 2200 $card_number = $card->getCardNumber(); 2201 $card_brand = $card->getCardBrand(); 2202 2203 $links = $ipn_info->getLinks(); 2204 2205 $number_of_installments = count( $ipn_info->getInstallments() ); 2206 2207 $monthly_payment = round( $total_price / $number_of_installments, 2 ); 2208 2209 $thank_you_title = ' 2210 <table class="woocommerce-table woocommerce-table--order-details shop_table order_details"> 2211 <thead> 2212 <tr class="woocommerce-table__line-item order_item"> 2213 2214 <th class="woocommerce-table__product-name product-name"> 2215 Purchase Amount: 2216 </th> 2217 2218 <td class="woocommerce-table__product-total product-total"> 2219 <strong><span class="woocommerce-Price-amount amount"><bdi>' . $sub_total . ' <span class="woocommerce-Price-currencySymbol">' . $currency_symbol . '</span></bdi></span></strong> 2220 </td> 2221 2222 </tr> 2223 2224 <tr class="woocommerce-table__line-item order_item"> 2225 2226 <th class="woocommerce-table__product-name product-name"> 2227 Payment: 2228 </th> 2229 2230 <td class="woocommerce-table__product-total product-total"> 2231 <div style="display: flex"> 2232 <div title="visa" style="margin-top: -12px; min-width: 25px; width: 4%; background: url(\'https://cdn.visa.com/v2/assets/images/logos/visa/blue/logo.png\') no-repeat center center; background-size: contain;"> 2233 </div> 2234 <strong style="margin-left: 5px;"> 2235 ' . substr( $card_number, -8 ) . ' 2236 </strong> 2237 </div> 2238 </td> 2239 2240 </tr> 2241 2242 </thead> 2243 2244 <tbody> 2245 2246 <tr class="woocommerce-table__line-item order_item"> 2247 2248 <th class="woocommerce-table__product-name product-name"> 2249 Monthly Payment: 2250 </th> 2251 2252 <td class="woocommerce-table__product-total product-total"> 2253 <strong><span class="woocommerce-Price-amount amount"><bdi>' . $monthly_payment . ' <span class="woocommerce-Price-currencySymbol">' . $currency_symbol . '</span></bdi></span></strong> 2254 </td> 2255 2256 </tr> 2257 2258 <tr class="woocommerce-table__line-item order_item"> 2259 2260 <th class="woocommerce-table__product-name product-name"> 2261 Number of Installments: 2262 </th> 2263 2264 <td class="woocommerce-table__product-total product-total"> 2265 <strong>' . $number_of_installments . '</strong> 2266 </td> 2267 2268 </tr> 2269 2270 <tr class="woocommerce-table__line-item order_item"> 2271 2272 <th class="woocommerce-table__product-name product-name"> 2273 Total Fees: 2274 </th> 2275 2276 <td class="woocommerce-table__product-total product-total"> 2277 <strong><span class="woocommerce-Price-amount amount"><bdi>' . $total_tax . ' <span class="woocommerce-Price-currencySymbol">' . $currency_symbol . '</span></bdi></span> (APR:0%)</strong> 2278 </td> 2279 2280 </tr> 2281 2282 <tr class="woocommerce-table__line-item order_item"> 2283 2284 <th class="woocommerce-table__product-name product-name"> 2285 Total Amount: 2286 </th> 2287 2288 <td class="woocommerce-table__product-total product-total"> 2289 <strong><span class="woocommerce-Price-amount amount"><bdi>' . $total_price . ' <span class="woocommerce-Price-currencySymbol">' . $currency_symbol . '</span></bdi></span></strong> 2290 </td> 2291 2292 </tr> 2293 </tbody> 2294 2295 <tfoot> 2296 <tr class="woocommerce-table__line-item order_item"> 2297 <td colspan="2"> 2298 <div style="color: #1434CB;"> 2299 <div style="display: flex"> 2300 Installments enabled by 2301 <div title="visa" style="margin-left: 5px; margin-top: -12px; min-width: 25px; width: 4%; background: url(\'https://cdn.visa.com/v2/assets/images/logos/visa/blue/logo.png\') no-repeat center center; background-size: contain;"> 2302 </div> 2303 </div> 2304 </div> 2305 <br> 2306 <div> 2307 ' . $terms_conditions . ' 2308 </div> 2309 </td> 2310 </tr> 2311 </tfoot> 2312 </table> 2313 '; 2314 2315 } else { 2316 2150 if ( ! empty( $order_info ) ) { 2317 2151 $thank_you_title = '<p><strong>' . __( 'Installment plan number', 'splitit-installment-payments' ) . ':</strong> ' . esc_html( $order_info->installment_plan_number ) . '</p> <p><strong>' . __( 'Number of installments', 'splitit-installment-payments' ) . ':</strong> ' . esc_html( $order_info->number_of_installments ) . '</p>'; 2318 2319 2152 } 2320 2153 } … … 2463 2296 2464 2297 function displaying_custom_admin_notice() { 2465 if ( ! session_id() ) { 2466 session_start(); } 2467 if ( isset( $_SESSION['cancelled_order_message'] ) ) { 2298 if ( get_transient( 'splitit_cancelled_order_message_' . get_current_user_id() ) ) { 2468 2299 ?> 2469 2300 <div class='notice notice-error is-dismissible'> 2470 <?php $cancelled_order_message = isset( $_SESSION['cancelled_order_message'] ) ? sanitize_text_field( $_SESSION['cancelled_order_message'] ) : ''; ?>2301 <?php $cancelled_order_message = sanitize_text_field( get_transient( 'splitit_cancelled_order_message_' . get_current_user_id() ) ); ?> 2471 2302 <p><?php echo esc_html( $cancelled_order_message ); ?></p> 2472 2303 </div> 2473 2304 <?php 2474 unset( $_SESSION['cancelled_order_message']);2305 delete_transient( 'splitit_cancelled_order_message_' . get_current_user_id() ); 2475 2306 } 2476 2307 } … … 2503 2334 SplitIt_FlexFields_Payment_Plugin_Settings::update_order_status_to_old( $order ); 2504 2335 2505 if ( ! session_id() ) { 2506 session_start(); } 2507 $_SESSION['cancelled_order_message'] = $cancel_message; 2336 set_transient( 'splitit_cancelled_order_message_' . get_current_user_id(), $cancel_message, 10 * MINUTE_IN_SECONDS ); 2508 2337 2509 2338 } else { … … 5833 5662 } 5834 5663 } 5664 5665 // if billing payload came from client as JSON. 5666 if ( isset( $_POST['billing'] ) && ! empty( $_POST['billing'] ) ) { 5667 $billing_payload_raw = sanitize_text_field( wp_unslash( $_POST['billing'] ) ); 5668 $billing_payload = json_decode( $billing_payload_raw, true ); 5669 if ( is_array( $billing_payload ) ) { 5670 $data['clientBillingPayload'] = $billing_payload; 5671 } 5672 } 5835 5673 } 5836 5674 … … 5856 5694 $data['consumerData']['PhoneNumber'] = $order_data['billing']['phone']; 5857 5695 $data['consumerData']['CultureName'] = str_replace( '_', '-', get_locale() ); 5696 } 5697 } 5698 5699 // if client provided billing payload (from checkout fields), use it as priority. 5700 if ( empty( $data['order_id'] ) && isset( $data['clientBillingPayload'] ) ) { 5701 $cp = $data['clientBillingPayload']; 5702 5703 if ( isset( $cp['billingAddress'] ) ) { 5704 $ba = $cp['billingAddress']; 5705 $data['billingAddress']['AddressLine'] = isset( $ba['AddressLine'] ) ? sanitize_text_field( $ba['AddressLine'] ) : ''; 5706 $data['billingAddress']['AddressLine2'] = isset( $ba['AddressLine2'] ) ? sanitize_text_field( $ba['AddressLine2'] ) : ''; 5707 $data['billingAddress']['City'] = isset( $ba['City'] ) ? sanitize_text_field( $ba['City'] ) : ''; 5708 $data['billingAddress']['State'] = isset( $ba['State'] ) ? sanitize_text_field( $ba['State'] ) : ''; 5709 $data['billingAddress']['Country'] = isset( $ba['Country'] ) ? sanitize_text_field( $ba['Country'] ) : ''; 5710 $data['billingAddress']['Zip'] = isset( $ba['Zip'] ) ? sanitize_text_field( $ba['Zip'] ) : ''; 5711 } 5712 5713 if ( isset( $cp['consumerData'] ) ) { 5714 $cd = $cp['consumerData']; 5715 $data['consumerData']['FullName'] = isset( $cd['FullName'] ) ? sanitize_text_field( $cd['FullName'] ) : ''; 5716 $data['consumerData']['Email'] = isset( $cd['Email'] ) ? sanitize_email( $cd['Email'] ) : ''; 5717 $data['consumerData']['PhoneNumber'] = isset( $cd['PhoneNumber'] ) ? sanitize_text_field( $cd['PhoneNumber'] ) : ''; 5718 $data['consumerData']['CultureName'] = isset( $cd['CultureName'] ) ? sanitize_text_field( $cd['CultureName'] ) : str_replace( '_', '-', get_locale() ); 5858 5719 } 5859 5720 } … … 5922 5783 public function checkout_validate() { 5923 5784 if ( isset( $_POST ) ) { 5924 $_POST = stripslashes_deep( $_POST ); 5925 $errors = array(); 5785 $_POST = stripslashes_deep( $_POST ); 5786 $errors = array(); 5787 5788 if ( strpos( DOMAIN, 'alphabiolabsusa' ) !== false ) { 5789 // compatibility with reCaptcha for WooCommerce plugin. 5790 if ( class_exists( 'I13_Woo_Recpatcha' ) ) { 5791 try { 5792 $old_request = array( 5793 'i13_checkout_token' => isset( $_REQUEST['i13_checkout_token'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['i13_checkout_token'] ) ) : null, 5794 'fallback_i13_checkout_token' => isset( $_REQUEST['fallback_i13_checkout_token'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['fallback_i13_checkout_token'] ) ) : null, 5795 'woocommerce-process-checkout-nonce' => isset( $_REQUEST['woocommerce-process-checkout-nonce'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['woocommerce-process-checkout-nonce'] ) ) : null, 5796 'payment_method' => isset( $_REQUEST['payment_method'] ) ? sanitize_text_field( wp_unslash( $_REQUEST['payment_method'] ) ) : null, 5797 ); 5798 5799 $old_post = array( 5800 'i13_checkout_token' => isset( $_POST['i13_checkout_token'] ) ? sanitize_text_field( wp_unslash( $_POST['i13_checkout_token'] ) ) : null, 5801 'fallback_i13_checkout_token' => isset( $_POST['fallback_i13_checkout_token'] ) ? sanitize_text_field( wp_unslash( $_POST['fallback_i13_checkout_token'] ) ) : null, 5802 'woocommerce-process-checkout-nonce' => isset( $_POST['woocommerce-process-checkout-nonce'] ) ? sanitize_text_field( wp_unslash( $_POST['woocommerce-process-checkout-nonce'] ) ) : null, 5803 'payment_method' => isset( $_POST['payment_method'] ) ? sanitize_text_field( wp_unslash( $_POST['payment_method'] ) ) : null, 5804 ); 5805 5806 if ( isset( $_POST['fields']['i13_checkout_token'] ) ) { 5807 $_REQUEST['i13_checkout_token'] = sanitize_text_field( wp_unslash( $_POST['fields']['i13_checkout_token'] ) ); 5808 $_POST['i13_checkout_token'] = sanitize_text_field( wp_unslash( $_POST['fields']['i13_checkout_token'] ) ); 5809 } 5810 if ( isset( $_POST['fields']['fallback_i13_checkout_token'] ) ) { 5811 $_REQUEST['fallback_i13_checkout_token'] = sanitize_text_field( wp_unslash( $_POST['fields']['fallback_i13_checkout_token'] ) ); 5812 $_POST['fallback_i13_checkout_token'] = sanitize_text_field( wp_unslash( $_POST['fields']['fallback_i13_checkout_token'] ) ); 5813 } 5814 if ( isset( $_POST['fields']['woocommerce-process-checkout-nonce'] ) ) { 5815 $_REQUEST['woocommerce-process-checkout-nonce'] = sanitize_text_field( wp_unslash( $_POST['fields']['woocommerce-process-checkout-nonce'] ) ); 5816 $_POST['woocommerce-process-checkout-nonce'] = sanitize_text_field( wp_unslash( $_POST['fields']['woocommerce-process-checkout-nonce'] ) ); 5817 } 5818 if ( isset( $_POST['fields']['payment_method'] ) ) { 5819 $_REQUEST['payment_method'] = sanitize_text_field( wp_unslash( $_POST['fields']['payment_method'] ) ); 5820 $_POST['payment_method'] = sanitize_text_field( wp_unslash( $_POST['fields']['payment_method'] ) ); 5821 } 5822 5823 $recaptcha = new I13_Woo_Recpatcha(); 5824 $recaptcha_errors = $recaptcha->i13_woocomm_validate_checkout_captcha( array(), new WP_Error() ); 5825 5826 foreach ( $old_request as $key => $value ) { 5827 if ( $value === null ) { 5828 unset( $_REQUEST[ $key ] ); 5829 } else { 5830 $_REQUEST[ $key ] = $value; 5831 } 5832 } 5833 5834 foreach ( $old_post as $key => $value ) { 5835 if ( $value === null ) { 5836 unset( $_POST[ $key ] ); 5837 } else { 5838 $_POST[ $key ] = $value; 5839 } 5840 } 5841 5842 if ( is_wp_error( $recaptcha_errors ) && $recaptcha_errors->get_error_code() ) { 5843 foreach ( $recaptcha_errors->get_error_messages() as $message ) { 5844 $errors[] = '<li>' . $message . '</li>'; 5845 } 5846 } 5847 } catch ( \Throwable $e ) { 5848 SplitIt_FlexFields_Payment_Plugin_Log::save_log_info( 5849 array( 5850 'user_id' => null, 5851 'method' => __( 'checkout_validate() Splitit', 'splitit-installment-payments' ), 5852 ), 5853 'checkout_validate() - I13_Woo_Recpatcha Error: ' . $e->getMessage(), 5854 'error' 5855 ); 5856 } 5857 } 5858 5859 if ( ! empty( $errors ) ) { 5860 wp_send_json( 5861 array( 5862 'result' => 'failure', 5863 'messages' => implode( '', array_unique( $errors ) ), 5864 ) 5865 ); 5866 } 5867 } 5868 5926 5869 $countries = new WC_Countries(); 5927 5870 … … 5931 5874 $billing_country = isset( $_POST['fields']['billing_country'] ) ? wc_clean( wp_unslash( $_POST['fields']['billing_country'] ) ) : $countries->get_base_country(); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Input is sanitized using wc_clean() after wp_unslash(). 5932 5875 $shipping_country = isset( $_POST['fields']['shipping_country'] ) ? wc_clean( wp_unslash( $_POST['fields']['shipping_country'] ) ) : $countries->get_base_country(); // phpcs:ignore WordPress.Security.ValidatedSanitizedInput.InputNotSanitized -- Input is sanitized using wc_clean() after wp_unslash(). 5876 5877 if ( in_array( $billing_country, array( 'US', 'UM' ), true ) ) { 5878 if ( ! isset( $_POST['fields']['billing_state'] ) || empty( $_POST['fields']['billing_state'] ) ) { 5879 $errors[] = '<li>' . sprintf( 5880 __( 'For shoppers in the U.S., the %s field is mandatory.', 'splitit-installment-payments' ), 5881 '<strong>' . __( 'State', 'splitit-installment-payments' ) . '</strong>' 5882 ) . '</li>'; 5883 } 5884 } 5933 5885 5934 5886 $billings_fields = $countries->get_address_fields( $billing_country, 'billing_' ); … … 6035 5987 case 'billing_state': 6036 5988 $valid_states = WC()->countries->get_states( WC()->customer->get_billing_country() ); 5989 5990 if ( strpos( DOMAIN, 'jonesandtomlin' ) !== false ) { 5991 $is_required = isset( $wc_fields[ $key ]['required'] ) && $wc_fields[ $key ]['required']; 5992 5993 if ( $is_required && empty( $value ) ) { 5994 $errors[] = '<li><strong>' . $wc_fields[ $key ]['label'] . '</strong> is a required field.</li>'; 5995 break; 5996 } 5997 } 5998 6037 5999 if ( ! empty( $valid_states ) && is_array( $valid_states ) ) { 6038 6000 if ( empty( $value ) || ! array_key_exists( $value, $valid_states ) ) { … … 6044 6006 case 'shipping_state': 6045 6007 $valid_shipping_states = WC()->countries->get_states( WC()->customer->get_shipping_country() ); 6008 6009 if ( strpos( DOMAIN, 'jonesandtomlin' ) !== false ) { 6010 $is_required = isset( $wc_fields[ $key ]['required'] ) && $wc_fields[ $key ]['required']; 6011 6012 if ( $is_required && empty( $value ) ) { 6013 $errors[] = '<li><strong>' . $wc_fields[ $key ]['label'] . '</strong> is a required field.</li>'; 6014 break; 6015 } 6016 } 6017 6046 6018 if ( ! empty( $valid_shipping_states ) && is_array( $valid_shipping_states ) ) { 6047 6019 if ( empty( $value ) || ! array_key_exists( $value, $valid_shipping_states ) ) {
Note: See TracChangeset
for help on using the changeset viewer.