Changeset 3464988
- Timestamp:
- 02/19/2026 10:24:29 AM (5 weeks ago)
- Location:
- multisafepay
- Files:
-
- 14 added
- 46 edited
- 1 copied
-
tags/6.11.0 (copied) (copied from multisafepay/trunk)
-
tags/6.11.0/assets/public/js/multisafepay-blocks/build/index.asset.php (modified) (1 diff)
-
tags/6.11.0/assets/public/js/multisafepay-blocks/build/index.js (modified) (1 diff)
-
tags/6.11.0/multisafepay.php (modified) (2 diffs)
-
tags/6.11.0/readme.txt (modified) (20 diffs)
-
tags/6.11.0/src/PaymentMethods/Base/BasePaymentMethod.php (modified) (1 diff)
-
tags/6.11.0/src/PaymentMethods/Base/BasePaymentMethodBlocks.php (modified) (2 diffs)
-
tags/6.11.0/src/PaymentMethods/PaymentMethodsController.php (modified) (3 diffs)
-
tags/6.11.0/src/Services/Qr/QrPaymentWebhook.php (modified) (12 diffs)
-
tags/6.11.0/src/Settings/SettingsFields.php (modified) (4 diffs)
-
tags/6.11.0/src/Utils/RestResponseBuilder.php (added)
-
tags/6.11.0/vendor/autoload.php (modified) (1 diff)
-
tags/6.11.0/vendor/composer/autoload_real.php (modified) (2 diffs)
-
tags/6.11.0/vendor/composer/autoload_static.php (modified) (3 diffs)
-
tags/6.11.0/vendor/composer/installed.json (modified) (3 diffs)
-
tags/6.11.0/vendor/composer/installed.php (modified) (3 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/CHANGELOG.md (modified) (1 diff)
-
tags/6.11.0/vendor/multisafepay/php-sdk/USAGE.md (modified) (1 diff)
-
tags/6.11.0/vendor/multisafepay/php-sdk/composer.json (modified) (2 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/TerminalManager.php (added)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Terminals (added)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Terminals/Terminal.php (added)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Terminals/TerminalListing.php (added)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/TransactionManager.php (modified) (6 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/CaptureRequest.php (modified) (2 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/OrderRequest.php (modified) (8 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/OrderRequest/Arguments/PaymentData.php (added)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/TransactionResponse.php (modified) (2 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Sdk.php (modified) (2 diffs)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Util/Encode.php (added)
-
tags/6.11.0/vendor/multisafepay/php-sdk/src/Util/Version.php (modified) (1 diff)
-
trunk/assets/public/js/multisafepay-blocks/build/index.asset.php (modified) (1 diff)
-
trunk/assets/public/js/multisafepay-blocks/build/index.js (modified) (1 diff)
-
trunk/multisafepay.php (modified) (2 diffs)
-
trunk/readme.txt (modified) (20 diffs)
-
trunk/src/PaymentMethods/Base/BasePaymentMethod.php (modified) (1 diff)
-
trunk/src/PaymentMethods/Base/BasePaymentMethodBlocks.php (modified) (2 diffs)
-
trunk/src/PaymentMethods/PaymentMethodsController.php (modified) (3 diffs)
-
trunk/src/Services/Qr/QrPaymentWebhook.php (modified) (12 diffs)
-
trunk/src/Settings/SettingsFields.php (modified) (4 diffs)
-
trunk/src/Utils/RestResponseBuilder.php (added)
-
trunk/vendor/autoload.php (modified) (1 diff)
-
trunk/vendor/composer/autoload_real.php (modified) (2 diffs)
-
trunk/vendor/composer/autoload_static.php (modified) (3 diffs)
-
trunk/vendor/composer/installed.json (modified) (3 diffs)
-
trunk/vendor/composer/installed.php (modified) (3 diffs)
-
trunk/vendor/multisafepay/php-sdk/CHANGELOG.md (modified) (1 diff)
-
trunk/vendor/multisafepay/php-sdk/USAGE.md (modified) (1 diff)
-
trunk/vendor/multisafepay/php-sdk/composer.json (modified) (2 diffs)
-
trunk/vendor/multisafepay/php-sdk/src/Api/TerminalManager.php (added)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Terminals (added)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Terminals/Terminal.php (added)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Terminals/TerminalListing.php (added)
-
trunk/vendor/multisafepay/php-sdk/src/Api/TransactionManager.php (modified) (6 diffs)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/CaptureRequest.php (modified) (2 diffs)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/OrderRequest.php (modified) (8 diffs)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/OrderRequest/Arguments/PaymentData.php (added)
-
trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/TransactionResponse.php (modified) (2 diffs)
-
trunk/vendor/multisafepay/php-sdk/src/Sdk.php (modified) (2 diffs)
-
trunk/vendor/multisafepay/php-sdk/src/Util/Encode.php (added)
-
trunk/vendor/multisafepay/php-sdk/src/Util/Version.php (modified) (1 diff)
Legend:
- Unmodified
- Added
- Removed
-
multisafepay/tags/6.11.0/assets/public/js/multisafepay-blocks/build/index.asset.php
r3393028 r3464988 1 <?php return array('dependencies' => array(), 'version' => ' 4253c5748ae7a4b32641');1 <?php return array('dependencies' => array(), 'version' => 'bacad67eb9f6508a056e'); -
multisafepay/tags/6.11.0/assets/public/js/multisafepay-blocks/build/index.js
r3393028 r3464988 1 (()=>{const e=e=> ({name:e.id,label:e.title,paymentMethodId:e.id,edit:React.createElement("div",null,""),canMakePayment:()=>!0,ariaLabel:e.title,content:React.createElement("div",null,e.description)});document.addEventListener("DOMContentLoaded",()=>{(({wc:t,multisafepay_gateways:a})=>{const{registerPaymentMethod:n}=t.wcBlocksRegistry;a.forEach(t=>{(t.is_admin||"multisafepay_applepay"!==t.id||window.ApplePaySession&&ApplePaySession.canMakePayments())&&n(e(t))})})(window)})})();1 (()=>{const e=e=>{const t=[];return e.icon&&t.push(React.createElement("img",{src:e.icon,alt:e.title,style:{height:"24px",width:"auto",marginRight:"8px"}})),t.push(e.title),{name:e.id,label:React.createElement("span",{style:{display:"flex",alignItems:"center"}},...t),paymentMethodId:e.id,edit:React.createElement("div",null,""),canMakePayment:()=>!0,ariaLabel:e.title,content:React.createElement("div",null,e.description)}};document.addEventListener("DOMContentLoaded",()=>{(({wc:t,multisafepay_gateways:a})=>{const{registerPaymentMethod:n}=t.wcBlocksRegistry;a.forEach(t=>{(t.is_admin||"multisafepay_applepay"!==t.id||window.ApplePaySession&&ApplePaySession.canMakePayments())&&n(e(t))})})(window)})})(); -
multisafepay/tags/6.11.0/multisafepay.php
r3393028 r3464988 5 5 * Plugin URI: https://docs.multisafepay.com/docs/woocommerce 6 6 * Description: MultiSafepay Payment Plugin 7 * Version: 6.1 0.07 * Version: 6.11.0 8 8 * Author: MultiSafepay 9 9 * Author URI: https://www.multisafepay.com … … 12 12 * License URI: http://www.gnu.org/licenses/gpl-3.0.html 13 13 * Requires at least: 6.0 14 * Tested up to: 6. 8.314 * Tested up to: 6.9.1 15 15 * WC requires at least: 6.0.0 16 * WC tested up to: 10. 2.216 * WC tested up to: 10.5.2 17 17 * Requires PHP: 7.3 18 18 * Text Domain: multisafepay -
multisafepay/tags/6.11.0/readme.txt
r3393028 r3464988 3 3 Tags: multisafepay, payment gateway, credit cards, ideal, bnpl 4 4 Requires at least: 6.0 5 Tested up to: 6. 8.35 Tested up to: 6.9.1 6 6 Requires PHP: 7.3 7 Stable tag: 6.1 0.08 License: MIT7 Stable tag: 6.11.0 8 License: GPL-3.0-or-later 9 9 10 10 MultiSafepay offers the most comprehensive payment solutions. Easily integrate the payment solutions of MultiSafepay into your webshop. … … 20 20 21 21 Payment methods: 22 By default, any payment method you activate in your MultiSafepay account will be available to be activated in the plugin, but you can also choose to show only specific payment methods in your checkout. 23 The plugin supports all the payment methods available in your MultiSafepay account, including but not limited to: 24 22 25 * AfterPay 23 26 * Alipay … … 123 126 = Can I refund orders? = 124 127 125 Yes, you can fully or partially refund transactions directly from your WooCommerce backend for all payment methods , except for [Buy now pay later](https://docs.multisafepay.com/docs/bnpl) payment methods in which it is only possible to process full refunds.128 Yes, you can fully or partially refund transactions directly from your WooCommerce backend for all payment methods. 126 129 You can also refund from your [MultiSafepay Control](https://merchant.multisafepay.com) 127 130 … … 139 142 140 143 == Changelog == 141 = Release Notes - WooCommerce 6.10.0 (Nov 10th, 2025) = 144 145 = Release Notes - MultiSafepay 6.11.0 (Feb 19th, 2026) = 146 147 ### Added 148 + PLGWOOS-1018: Add payment icons to WooCommerce Checkout Blocks 149 150 ### Fixed 151 + PLGWOOS-1032: Fix WC_Blocks_Utils::has_block_in_page() fails to detect checkout block when nested inside other blocks 152 + PLGWOOS-1019: Fix the duplicated 'multisafepay_time_unit' setting field argument 153 154 ### Changed 155 + PLGWOOS-1029: REST Response Cache Control 156 157 = Release Notes - MultiSafepay 6.10.0 (Nov 10th, 2025) = 142 158 143 159 ### Added … … 148 164 + PLGWOOS-956: MultiSafepay PostePay is being listed as only one payment method, but it should be two 149 165 150 = Release Notes - WooCommerce6.9.0 (Jun 5th, 2025) =166 = Release Notes - MultiSafepay 6.9.0 (Jun 5th, 2025) = 151 167 152 168 ### Added … … 166 182 + PLGWOOS-1004: Adding shipping method name in the Order Request, instead of generic label "Shipping" 167 183 168 = Release Notes - WooCommerce6.8.3 (Apr 9th, 2025) =184 = Release Notes - MultiSafepay 6.8.3 (Apr 9th, 2025) = 169 185 170 186 ### Fixed 171 187 + PLGWOOS-992: Prevent processing a request on the REST QR related endpoints using a security token 172 188 173 = Release Notes - WooCommerce6.8.2 (Apr 7th, 2025) =189 = Release Notes - MultiSafepay 6.8.2 (Apr 7th, 2025) = 174 190 175 191 ### Fixed … … 178 194 + PLGWOOS-987: Typecast as string the value that will be defined as merchant Item ID within the QR request 179 195 180 = Release Notes - WooCommerce6.8.1 (Apr 4th, 2025) =196 = Release Notes - MultiSafepay 6.8.1 (Apr 4th, 2025) = 181 197 182 198 ### Fixed … … 184 200 + PLGWOOS-982: Return early when QR webhook request fails 185 201 186 = Release Notes - WooCommerce6.8.0 (Apr 1st, 2025) =202 = Release Notes - MultiSafepay 6.8.0 (Apr 1st, 2025) = 187 203 188 204 ### Added … … 192 208 + PLGWOOS-957: Fix filter that returns payment methods that supports payment component to return only enabled methods 193 209 194 = Release Notes - WooCommerce6.7.3 (Mar 4th, 2025) =210 = Release Notes - MultiSafepay 6.7.3 (Mar 4th, 2025) = 195 211 196 212 ### Fixed 197 213 + PLGWOOS-973: Round shopping cart item tax rates in BILLINK gateway 198 214 199 = Release Notes - WooCommerce6.7.2 (Feb 14th, 2025) =215 = Release Notes - MultiSafepay 6.7.2 (Feb 14th, 2025) = 200 216 201 217 ### Fixed 202 218 + PLGWOOS-971: Fix iDEAL payment method not being shown on WooCommerce Checkout Blocks 203 219 204 = Release Notes - WooCommerce6.7.1 (Feb 7th, 2025) =220 = Release Notes - MultiSafepay 6.7.1 (Feb 7th, 2025) = 205 221 206 222 ### Added 207 223 + PLGWOOS-968: Add system report values from the payment method's user role setting and enhance logging for filter methods 208 224 209 = Release Notes - WooCommerce6.7.0 (Jan 28th, 2025) =225 = Release Notes - MultiSafepay 6.7.0 (Jan 28th, 2025) = 210 226 211 227 ### Added … … 220 236 + PLGWOOS-963: Fix redirection after canceling a payment, when the user is using the "order-pay" endpoint 221 237 222 = Release Notes - WooCommerce6.6.2 (Nov 5th, 2024) =238 = Release Notes - MultiSafepay 6.6.2 (Nov 5th, 2024) = 223 239 224 240 ### Added … … 228 244 + PLGWOOS-953: Change label of the group cards setting field 229 245 230 = Release Notes - WooCommerce6.6.1 (Sep 4th, 2024) =246 = Release Notes - MultiSafepay 6.6.1 (Sep 4th, 2024) = 231 247 232 248 ### Fixed … … 236 252 + PLGWOOS-950: Remove iDEAL issuers of the payment component 237 253 238 = Release Notes - WooCommerce6.6.0 (Jul 8th, 2024) =254 = Release Notes - MultiSafepay 6.6.0 (Jul 8th, 2024) = 239 255 240 256 ### Added … … 245 261 + PLGWOOS-948: General improvements to increase unit test coverage 246 262 247 = Release Notes - WooCommerce6.5.1 (Jun 7th, 2024) =263 = Release Notes - MultiSafepay 6.5.1 (Jun 7th, 2024) = 248 264 249 265 ### Fixed … … 251 267 + PLGWOOS-937: Fix Payment Components, where the amount is wrongly being set 252 268 253 = Release Notes - WooCommerce6.5.0 (May 22nd, 2024) =269 = Release Notes - MultiSafepay 6.5.0 (May 22nd, 2024) = 254 270 255 271 ### Added … … 261 277 + PLGWOOS-935: Fix Payment Component on order-pay page endpoint, not loading if the shopping cart is empty 262 278 263 = Release Notes - WooCommerce6.4.3 (May 17th, 2024) =279 = Release Notes - MultiSafepay 6.4.3 (May 17th, 2024) = 264 280 265 281 ### Fixed 266 282 + PLGWOOS-922: Reduce the amount of API request improving general performance of the plugin 267 283 268 = Release Notes - WooCommerce6.4.2 (May 6th, 2024) =284 = Release Notes - MultiSafepay 6.4.2 (May 6th, 2024) = 269 285 270 286 ### Fixed 271 287 + PLGWOOS-922: Reduce the amount of request done to the payment-methods endpoint, from the admin 272 288 273 = Release Notes - WooCommerce6.4.1 (Apr 17th, 2024) =289 = Release Notes - MultiSafepay 6.4.1 (Apr 17th, 2024) = 274 290 275 291 ### Fixed 276 292 + PLGWOOS-920: Fix Apple Pay and Google Pay being shown in WooCommerce blocks, when are using direct payment buttons 277 293 278 = Release Notes - WooCommerce6.4.0 (Apr 17th, 2024) =294 = Release Notes - MultiSafepay 6.4.0 (Apr 17th, 2024) = 279 295 280 296 ### Added … … 285 301 + DAVAMS-747: Fix 'template_id' within the Payment Components 286 302 287 = Release Notes - WooCommerce6.3.1 (Mar 13th, 2024) =303 = Release Notes - MultiSafepay 6.3.1 (Mar 13th, 2024) = 288 304 289 305 ### Fixed … … 293 309 + PLGWOOS-912: Ignore offline action - notifications related with pretransactions 294 310 295 = Release Notes - WooCommerce6.3.0 (Mar 11th, 2024) =311 = Release Notes - MultiSafepay 6.3.0 (Mar 11th, 2024) = 296 312 297 313 ### Added 298 314 + PLGWOOS-866: Add Apple Pay and Google Pay direct 299 315 300 = Release Notes - WooCommerce6.2.1 (Feb 1st, 2024) =316 = Release Notes - MultiSafepay 6.2.1 (Feb 1st, 2024) = 301 317 302 318 ### Fixed … … 304 320 + PLGWOOS-901: Remove duplicated method reinit_payment_component() 305 321 306 = Release Notes - WooCommerce6.2.0 (Nov 13th, 2023) =322 = Release Notes - MultiSafepay 6.2.0 (Nov 13th, 2023) = 307 323 308 324 ### Added 309 325 + PLGWOOS-872: Add support for [High-Performance Order Storage](https://woo.com/document/high-performance-order-storage/) 310 326 311 = Release Notes - WooCommerce6.1.2 (Oct 19th, 2023) =327 = Release Notes - MultiSafepay 6.1.2 (Oct 19th, 2023) = 312 328 313 329 ### Fixed … … 317 333 + PLGWOOS-890: Bring back the payment component setting field to allow users to disable it. 318 334 319 = Release Notes - WooCommerce6.1.1 (Oct 16th, 2023) =335 = Release Notes - MultiSafepay 6.1.1 (Oct 16th, 2023) = 320 336 321 337 ### Fixed 322 338 + PLGWOOS-887: Disable Payment Components for Gift Cards payment methods, even when API is returning Payment Component is allowed 323 339 324 = Release Notes - WooCommerce6.1.0 (Oct 11th, 2023) =340 = Release Notes - MultiSafepay 6.1.0 (Oct 11th, 2023) = 325 341 326 342 ### Added … … 330 346 + PLGWOOS-882: Enable Payment Components by default in all payment methods where is available 331 347 332 = Release Notes - WooCommerce 5.4.1 (Sep 27th, 2023) = 333 334 ### Fixed 335 + PLGWOOS-878: Fix Payment Components not being shown. 336 337 = Release Notes - WooCommerce 5.4.0 (Sep 26th, 2023) = 338 339 ### Added 340 + PLGWOOS-870: Add support to define completed as a final order status where notification will not change the order status 341 342 ### Fixed 343 + PLGWOOS-871: Fix the minimum amount filter failing in the order-pay page 344 345 ### Changed 346 + DAVAMS-665 General refactor for better error handling 347 348 = Release Notes - WooCommerce 5.3.0 (Aug 10th, 2023) = 349 350 ### Added 351 + DAVAMS-636: Add Zinia payment method 352 353 ### Changed 354 + DAVAMS-640: Refactor of the Payment Component 355 356 = Release Notes - WooCommerce 5.2.2 (Jun 19th, 2023) = 357 358 ### Fixed 359 + PLGWOOS-852: Fix typo in description of Pay After Delivery Installments 360 361 ### Changed 362 + DAVAMS-621: Rename "Credit Card" payment method as "Card payment" 363 + PLGWOOS-844: Change API Keys settings field to password type 364 365 = Release Notes - WooCommerce 5.2.1 (Feb 22nd, 2023) = 366 367 ### Fixed 368 + PLGWOOS-850: Fix 'Tested up to' value in readme.txt file to reflect the latest WordPress version tested, instead of the latest WooCommerce set by mistake 369 370 = Release Notes - WooCommerce 5.2.0 (Feb 22nd, 2023) = 371 372 ### Added 373 + DAVAMS-599: Add new setting field to disable the shopping cart within the order request 374 + DAVAMS-573: Add Pay After Delivery Installments payment method 375 376 ### Removed 377 + DAVAMS-571: Remove Google Analytics tracking ID within the OrderRequest object 378 + PLGWOOS-815: Remove uninstall script 379 380 ### Changed 381 + DAVAMS-581: Rebrand Pay After Delivery with new logos 382 383 = Release Notes - WooCommerce 5.1.2 (Jan 10th, 2022) = 384 385 ### Fixed 386 + PLGWOOS-842: Fix Riverty terms and conditions field validation when payment method is set as redirect type 387 388 ### Changed 389 + PLGWOOS-840: Update Dutch and Belgian translations 390 391 = Release Notes - WooCommerce 5.1.1 (Dec 6th, 2022) = 392 393 ### Changed 394 + DAVAMS-547: AfterPay -> Riverty rebrand 395 + PLGWOOS-837: Declare support for WordPress version 6.1 and WooCommerce version 7.1 396 397 = Release Notes - WooCommerce 5.1.0 (Sep 30th, 2022) = 398 399 ### Added 400 + PLGWOOS-828: Add Google Pay 401 + PLGWOOS-516: Add Amazon Pay 402 + PLGWOOS-516: Add support for [WooCommerce Blocks](https://wordpress.org/plugins/woo-gutenberg-products-block/) for redirect payment methods 403 404 ### Fixed 405 + PLGWOOS-553: Fix deprecated docs links 406 407 = Release Notes - WooCommerce 5.0.0 (Sep 1st, 2022) = 408 409 ### Added 410 + PLGWOOS-829: Improvement over the error handling in MultiSafepayClient 411 412 ### Changed 413 + PLGWOOS-827: Drop support for PHP 7.2 414 415 = Release Notes - WooCommerce 4.17.2 (Jul 22nd, 2022) = 416 417 ### Fixed 418 + PLGWOOS-825: Fix an issue in which some payment methods are not being shown in the checkout, because of the setting field country selector is assuming the wrong value in some cases 419 420 = Release Notes - WooCommerce 4.17.1 (Jul 22nd, 2022) = 421 422 ### Changed 423 + PLGWOOS-817: Improvement in the escaping of the outputs of the settings page 424 425 = Release Notes - WooCommerce 4.17.0 (Jul 21st, 2022) = 426 427 ### Removed 428 + PLGWOOS-816: Remove validation to check if a gateway is enabled in the merchant account, before activate the WooCommerce payment method 429 + PLGWOOS-818: Remove upgrade notice functionality in plugin list page 430 431 ### Changed 432 + PLGWOOS-817: Improvement in sanitization and validation of the inputs, and escaping the outputs 433 434 = Release Notes - WooCommerce 4.16.0 (Jul 20th, 2022) = 435 436 ### Added 437 + DAVAMS-490: Add MyBank payment method 438 439 ### Removed 440 + PLGWOOS-811: Remove download plugin logs button and related methods 441 442 = Release Notes - WooCommerce 4.15.0 (May 25th, 2022) = 443 444 ### Added 445 + DAVAMS-470: Add terms and conditions checkbox to AfterPay 446 447 ### Changed 448 + PLGWOOS-805: Declare support for Wordpress 6.0 449 450 = Release Notes - WooCommerce 4.14.0 (May 19th, 2022) = 451 452 ### Added 453 + DAVAMS-476: Add Alipay+ 454 455 ### Changed 456 + PLGWOOS-804: Use default locale if 'get_locale' returns null to prevent third party plugin errors 457 + PHPSDK-93: Upgrade the [PHP-SDK](https://github.com/MultiSafepay/php-sdk) dependency to 5.5.0 458 459 = Release Notes - WooCommerce 4.13.1 (Mar 23rd, 2022) = 460 461 ### Added 462 + PLGWOOS-792: Declare support for WordPress 5.9.2 and WooCommerce 6.3.1 463 + PLGWOOS-790: Improvement on debug mode, logging the body of the POST notification request 464 465 ### Fixed 466 + PLGWOOS-791: Fix error when WooCommerce order is not found after receive a valid POST notification 467 468 = Release Notes - WooCommerce 4.13.0 (Feb 1st, 2022) = 469 470 ### Added 471 + PLGWOOS-770: Add payment component support for payment options: Visa, Mastercard, Maestro and American Express 472 + PLGWOOS-774: Add support to process 'smart_coupon' coupons from Smart Coupons third party plugin 473 + PLGWOOS-775: Log shopping cart content when debug mode is enabled 474 475 = Release Notes - WooCommerce 4.12.0 (Jan 13th, 2022) = 476 477 ### Added 478 + PLGWOOS-769: Add new filter 'multisafepay_merchant_item_id' to allow third party developers overwrite the merchant_item_id property within the ShoppingCart object 479 480 ### Changed 481 + PLGWOOS-744: Update 'Betaal per Maand' default max_amount value, according with new product rules 482 + PLGWOOS-759: Rebrand Sofort payment method 483 484 = Release Notes - WooCommerce 4.11.0 (Jan 4th, 2022) = 485 486 ### Added 487 + PLGWOOS-745: Add Payment Component 488 489 ### Changed 490 + PLGWOOS-765: Refactor PaymentMethodsController::generate_orders_from_backend() to work only with one argument and avoiding conflicts with third party plugins 491 + PLGWOOS-745: Tokenization now works through the Payment Component 492 493 ### Fixed 494 + PLGWOOS-763: Fix error on plugin list when application can not connect with WordPress network 495 496 = Release Notes - WooCommerce 4.10.0 (Dec 13th, 2021) = 497 498 ### Added 499 + PLGWOOS-748: Add PHP-SDK version to system report 500 + PLGWOOS-758: Add filter to turn notifications to GET method 501 502 ### Removed 503 + DAVAMS-460: Remove ING Home’Pay 504 505 ### Changed 506 + PLGWOOS-695: Replace HTTP Client, use WP_HTTP instead kriswallsmith/buzz 507 + PLGWOOS-749: Replace logo of Bancontact for new one 508 509 ### Fixed 510 + PLGWOOS-752: Fix missing placeholder for Test API Key input field in settings page 511 512 = Release Notes - WooCommerce 4.9.0 (Oct 18th, 2021) = 513 514 ### Added 515 + PLGWOOS-715: Add 2 "Generic Gateways" which include a flexible gateway code that allows any merchant to connect to almost every payment method we offer. 516 + PLGWOOS-746: Declare support for WordPress 5.8.1 and WooCommerce 5.8.0 517 518 ### Changed 519 + PLGWOOS-740: Improve the helper text of the Google Analytics ID setting field, adding a link to Documentation Center 520 + PLGWOOS-747: Upgrade the [PHP-SDK](https://github.com/MultiSafepay/php-sdk) component to 5.3.0 521 522 ### Fixed 523 + PLGWOOS-739: Fix fatal error related with undefined method when processing orders using iDEAL QR 524 + PLGWOOS-743: Fix broken links to Documentation Center in settings page 525 526 = Release Notes - WooCommerce 4.8.3 (Sep 6th, 2021) = 527 528 ### Fixed 529 + PLGWOOS-737: Fix error related with refunds by updating the PHP-SDK to 5.2.1 530 531 = Release Notes - WooCommerce 4.8.2 (Sep 2nd, 2021) = 532 533 ### Added 534 + PLGWOOS-730: Declare support for WooCommerce 5.6.0 535 536 = Release Notes - WooCommerce 4.8.1 (Aug 9th, 2021) = 537 538 ### Fixed 539 + PLGWOOS-727: Show error message from the API in the checkout page, when there is an error on direct transactions 540 541 = Release Notes - WooCommerce 4.8.0 (Aug 4th, 2021) = 542 543 ### Added 544 + PLGWOOS-723: Declare support for WooCommerce 5.5.2 and WordPress 5.8 545 + PLGWOOS-711: Add missing titles in setting pages 546 547 ### Changed 548 + PLGWOOS-718: Remove PSP ID string when register the transaction ID in WC_Order->payment_complete() 549 550 = Release Notes - WooCommerce 4.7.0 (Jun 23rd, 2021) = 551 552 ### Added 553 + PLGWOOS-706: Declare support for WooCommerce 5.4.1 554 555 ### Changed 556 + PLGWOOS-672: Change notification method from GET to [POST](https://docs.multisafepay.com/faq/api/notification-url/#get-vs-post-notification) by default 557 558 ### Fixed 559 + PLGWOOS-704: Log errors in the MultiSafepay log file, when processing notifications. 560 561 = Release Notes - WooCommerce 4.6.0 (May 19th, 2021) = 562 563 ### Added 564 + PLGWOOS-625: Add log section in MultiSafepay settings page 565 + PLGWOOS-666: Add MultiSafepay system status section in settings page 566 + PLGWOOS-376: Add support to show upgrade notices in plugin list 567 + PLGWOOS-657: Add nl_BE language 568 569 ### Fixed 570 + PLGWOOS-694: Fix notification for orders fully paid with gift cards 571 + PLGWOOS-692: Fix Second Chance within the orderRequest object 572 + PLGWOOS-654: Fix the gateway_id assigned to the properties of each token 573 574 = Release Notes - WooCommerce 4.5.1 (Apr 7th, 2021) = 575 576 ### Fixed 577 + PLGWOOS-661: Fix payment methods ids to match list of gateway lists keys, which was producing an error to process notification for Sofort payments 578 + PLGWOOS-663: Fix stock decreasing error, in relation with Bank Transfer gateway and notification flows 579 580 = Release Notes - WooCommerce 4.5.0 (Mar 31st, 2021) = 581 582 ### Fixed 583 + PLGWOOS-659: Fix initialization of the plugin on multisite environments in which WooCommerce has been activated network wide 584 585 ### Added 586 + PLGWOOS-534: Add generic gateway 587 588 = Release Notes - WooCommerce 4.4.1 (Mar 25th, 2021) = 589 590 ### Fixed 591 + PLGWOOS-653: Fix overwriting initial order status when transaction is initialized 592 593 = Release Notes - WooCommerce 4.4.0 (Mar 23rd, 2021) = 594 595 ### Fixed 596 + PLGWOOS-648: Return 0 as tax rate, if WooCommerce taxes are disabled but tax rules are registered 597 + PLGWOOS-647: Add verification to check if the token used in the transaction belongs to the customer 598 599 ### Added 600 + PLGWOOS-651: Add setting to select type of transaction in SEPA Direct Debit, E-Invoicing, in3, Santander Consumer Finance, AfterPay and iDEAL 601 + PLGWOOS-644: Add setting to select type of transaction in Pay After Delivery 602 + PLGWOOS-640: Add setting to select type of transaction in Bank Transfer 603 604 = Release Notes - WooCommerce 4.3.0 (Mar 18th, 2021) = 605 606 ### Fixed 607 + PLGWOOS-626: Fix order not being cancelled when customer cancels the order 608 + PLGWOOS-630: Fix include shipping item in full refund of billing suite payment methods 609 610 ### Added 611 + PLGWOOS-629: Add shipping item to the order request, even if this one is free 612 + PLGWOOS-631: Add delivery address in order request even if the shipping amount is 0 613 + PLGWOOS-634: Add settings field to redirect to check out page or cart page on cancelling the order 614 + PLGWOOS-635: Add suggestion to set default initial order status for bank transfer to wc-on-hold 615 + PLGWOOS-636: Add notification endpoint from version 3.8.0 to process deprecated notifications 616 617 ### Changed 618 + PLGWOOS-622: Change notification url for all payment methods to a single notification url 619 620 = Release Notes - WooCommerce 4.2.2 (Mar 16th, 2021) = 621 622 ### Fixed 623 + PLGWOOS-632: Fix undefined method get_the_user_ip 624 + PLGWOOS-621: Fix division by zero when fee price is 0 625 626 = Release Notes - WooCommerce 4.2.1 (Mar 11th, 2021) = 627 628 ### Fixed 629 + PLGWOOS-613: Fix error related with multiple forwarded IPs by updating the PHP-SDK to 5.0.1 630 631 ### Added 632 + PLGWOOS-398: Add support to change the data in the OrderRequest using WordPress filters 633 634 ### Changed 635 + PLGWOOS-614: Avoid changing order status if transaction is partially refunded 636 637 = Release Notes - WooCommerce 4.2.0 (Mar 9th, 2021) = 638 639 ### Changed 640 + PLGWOOS-602: Move invoice and shipped settings field from order status tab to options tab 641 + PLGWOOS-602: Remove completed status from order status tab in settings page 642 + PLGWOOS-601: Change default status for declined transactions from wc-cancelled to wc-failed 643 644 ### Fixed 645 + PLGWOOS-599: Fix typo in string message when payment method changes 646 + PLGWOOS-598: Replace hardcoded url using plugins_url function 647 + PLGWOOS-605: Fix description of country filter field 648 649 ### Added 650 + PLGWOOS-603: Add setting field for custom order description 651 + PLGWOOS-604: Add forwarded IP to the CustomerDetails object 652 + PLGWOOS-597: Support for orders with is_vat_exempt 653 + PLGWOOS-606: Add chargeback transaction status in plugin settings 654 655 = Release Notes - WooCommerce 4.1.8 (Mar 5th, 2021) = 656 657 ### Changed 658 + PLGWOOS-593: Register PSP ID in WooCommerce order using order complete payment method 659 + PLGWOOS-593: Change notification method on completed status to use $order->complete_payment() 660 661 ### Fixed 662 + PLGWOOS-594: Fix Credit Card payment method form, to show description if customer is not logged in 663 664 = Release Notes - WooCommerce 4.1.7 (Mar 3rd, 2021) = 665 666 ### Changed 667 + PLGWOOS-579: Remove warning message on validation, when enabling CREDITCARD gateway 668 669 ### Fixed 670 + PLGWOOS-584: Fix conflict with third party plugins related with Discovery exception 671 + PLGWOOS-585: Set MultiSafepay transaction as shipped or invoiced using order number instead of order id 672 673 = Release Notes - WooCommerce 4.1.6 (Mar 2nd, 2021) = 674 675 ### Added 676 + PLGWOOS-574: Add locale support 677 678 ### Changed 679 + PLGWOOS-575: Change settings page capability requirement from manage_options to manage_woocommerce 680 681 ### Fixed 682 + PLGWOOS-580: Show credit card payment method description in checkout 683 + PLGWOOS-569: Remove class that trigger validation styles for ideal select in checkout page 684 685 686 = Release Notes - WooCommerce 4.1.5 (Feb 24th, 2021) = 687 688 ### Fixed 689 + PLGWOOS-552: Fix product item price with discounts introduced by third party plugins (#252) 690 691 692 = Release Notes - WooCommerce 4.1.4 (Feb 23rd, 2021) = 693 694 ### Fixed 695 + PLGWOOS-563: Remove some nonce validations to support custom checkouts forms (#249) 696 + PLGWOOS-550: Typecast cart item quantity to int to avoid errors in the PHP-SDK (#248) 697 698 ### Changed 699 + PLGWOOS-556: Change composer dependencies to avoid conflicts with other plugins (#247) 700 + PLGWOOS-562: Add fallback for in3, in case no fields is filled in checkout, convert the transaction to redirect type (#250) 701 702 703 = Release Notes - WooCommerce 4.1.3 (Feb 21st, 2021) = 704 705 ### Fixed 706 + PLGWOOS-549: Support custom order numbers generated by third party plugins in notification method 707 + PLGWOOS-551: Resize logo if theme used by merchant do not support WooCommerce 708 709 710 = Release Notes - WooCommerce 4.1.2 (Feb 19th, 2021) = 711 712 ### Fixed 713 + PLGWOOS-548: Fix iDEAL gateway if no issuer selected in checkout 714 715 716 = Release Notes - WooCommerce 4.1.1 (Feb 18th, 2021) = 717 718 ### Changed 719 + PLGWOOS-545: Remove API Key validation 720 721 722 = Release Notes - WooCommerce 4.1.0 (Feb 17th, 2021) = 723 724 ### Added 725 + PLGWOOS-512: Add support for tokenization. 726 + PLGWOOS-521: Change order status on callback even if merchant did not save the settings, using defaults. 727 + PLGWOOS-530: Process notification, even when the payment method returned by MultiSafepay is not registered as WooCommerce gateway. 728 + PLGWOOS-531: Avoid process refund if amount submitted in backend is 0 729 730 ### Fixed 731 + PLGWOOS-535: Fix bug min_amount filter 732 + PLGWOOS-536: Fix instructions in multi select country field 733 + PLGWOOS-518: Fix protocol of notification URL 734 + PLGWOOS-526: Fix typo error in AfterPay payment method title 735 + PLGWOOS-523: Fix type of transaction to redirect for Dotpay payment method 736 737 ### Changed 738 + PLGWOOS-519: Improvement for coupons support in ShoppingCart. 739 + PLGWOOS-528: Refactor gender and salutation fields to process different validation messages 740 + PLGWOOS-503: Move debug mode field to options section 741 742 ### Removed 743 + PLGWOOS-525: Remove validation in backend for MultiSafepay payment method 744 + PLGWOOS-516: Avoid initialize the plugin if WooCommerce is not active 745 746 747 = Release Notes - WooCommerce 4.0.0 (internal release) (Feb 12th, 2021) = 748 749 ### Added 750 + Complete rewrite of the plugin 751 + Full and partial refunds for non billing suite payment methods 752 + Full refunds for billing suite payment methods 753 + Set MultiSafepay transactions as shipped when order reach the defined status in settings 754 + Set MultiSafepay transaction as invoiced when order reach the defined status in settings 755 + Filter payment methods by country 756 + Filter payment methods by maximum amount of order 757 + Filter payment methods by minimum amount of order 758 + Custom initialized status for each payment method 759 + Validations in backend settings fields 760 + Support for compound taxes 761 762 ### Changed 763 + PLGWOOS-410: Refactor plugin using the [PHP-SDK](https://github.com/MultiSafepay/php-sdk) 764 765 ### Removed 766 + Remove FastCheckout 348 349 = Release Notes - MultiSafepay 6.0.0 (Oct 4th, 2023) = 350 351 ### Added 352 + PLGWOOS-803: Add support to register the payment methods dynamically, via API request. 353 + PLGWOOS-859: Trigger checkout validations of the fields related to the payment component on checkout submission. 354 + PLGWOOS-857: Add support for partial refunds for [BNPL payment methods](https://docs.multisafepay.com/docs/bnpl) -
multisafepay/tags/6.11.0/src/PaymentMethods/Base/BasePaymentMethod.php
r3393028 r3464988 465 465 */ 466 466 private function is_woocommerce_checkout_block_active(): bool { 467 return WC_Blocks_Utils::has_block_in_page( wc_get_page_id( 'checkout' ), 'woocommerce/checkout' ); 467 $checkout_page_id = wc_get_page_id( 'checkout' ); 468 $checkout_page = get_post( $checkout_page_id ); 469 $has_block = WC_Blocks_Utils::has_block_in_page( $checkout_page_id, 'woocommerce/checkout' ); 470 471 // Fallback: WC_Blocks_Utils::has_block_in_page() doesn't detect nested blocks (e.g., inside columns). 472 // If not detected, check directly in post content. 473 if ( ! $has_block && $checkout_page ) { 474 $has_block = strpos( $checkout_page->post_content, 'wp:woocommerce/checkout' ) !== false; 475 } 476 477 return $has_block; 468 478 } 469 479 -
multisafepay/tags/6.11.0/src/PaymentMethods/Base/BasePaymentMethodBlocks.php
r3393028 r3464988 118 118 public function get_payment_method_data(): array { 119 119 $payment_methods_data = array(); 120 $show_icons = (bool) get_option( 'multisafepay_checkout_block_payment_icons', false ); 120 121 foreach ( $this->gateways as $gateway ) { 121 122 $payment_methods_data[] = array( … … 123 124 'title' => $gateway->get_title(), 124 125 'description' => $gateway->get_description(), 126 'icon' => $show_icons ? $gateway->get_payment_method_icon() : '', 125 127 'is_admin' => is_admin(), 126 128 ); -
multisafepay/tags/6.11.0/src/PaymentMethods/PaymentMethodsController.php
r3393028 r3464988 16 16 use MultiSafepay\WooCommerce\Utils\Logger; 17 17 use MultiSafepay\WooCommerce\Utils\Order as OrderUtil; 18 use MultiSafepay\WooCommerce\Utils\RestResponseBuilder; 18 19 use Psr\Http\Client\ClientExceptionInterface; 19 20 use WC_Data_Exception; 20 21 use WC_Order; 21 22 use WP_REST_Request; 23 use WP_REST_Response; 22 24 23 25 /** … … 205 207 * 206 208 * @param WP_REST_Request $request 207 * @return void209 * @return WP_REST_Response 208 210 * @throws WC_Data_Exception 209 211 */ 210 public function process_post_notification( WP_REST_Request $request ): void{212 public function process_post_notification( WP_REST_Request $request ): WP_REST_Response { 211 213 $transactionid = $request->get_param( 'transactionid' ); 212 214 213 215 if ( ! $request->sanitize_params() ) { 214 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but could not be sanitized' ); 215 header( 'Content-type: text/plain' ); 216 die( 'OK' ); 216 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but could not be sanitized' ); 217 return RestResponseBuilder::build_response(); 217 218 } 218 219 219 220 $payload_type = $request->get_param( 'payload_type' ) ?? ''; 220 221 if ( 'pretransaction' === $payload_type ) { 221 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 222 header( 'Content-type: text/plain' ); 223 die( 'OK' ); 224 } 225 226 $auth = $request->get_header( 'auth' ); 227 $body = $request->get_body(); 228 $api_key = ( new SdkService() )->get_api_key(); 222 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 223 return RestResponseBuilder::build_response(); 224 } 225 226 $auth = (string) ( $request->get_header( 'auth' ) ?? '' ); 227 $body = $request->get_body(); 228 $api_key = ( new SdkService() )->get_api_key(); 229 230 if ( '' === $auth ) { 231 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but auth header is missing' ); 232 return RestResponseBuilder::build_response(); 233 } 234 229 235 $verify_notification = Notification::verifyNotification( $body, $auth, $api_key ); 230 236 231 237 if ( ! $verify_notification ) { 232 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is not validated' ); 233 header( 'Content-type: text/plain' ); 234 die( 'OK' ); 238 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is not validated' ); 239 return RestResponseBuilder::build_response(); 235 240 } 236 241 … … 245 250 $multisafepay_transaction = new TransactionResponse( $request->get_json_params(), $body ); 246 251 ( new PaymentMethodCallback( (string) $transactionid, $multisafepay_transaction ) )->process_callback(); 252 253 return RestResponseBuilder::build_response(); 247 254 } 248 255 -
multisafepay/tags/6.11.0/src/Services/Qr/QrPaymentWebhook.php
r3269746 r3464988 13 13 use MultiSafepay\WooCommerce\Utils\Logger; 14 14 use MultiSafepay\WooCommerce\Utils\Order; 15 use MultiSafepay\WooCommerce\Utils\RestResponseBuilder; 15 16 use WC_Data_Exception; 16 17 use WC_Order; 17 18 use WP_REST_Request; 19 use WP_REST_Response; 18 20 19 21 /** … … 40 42 * 41 43 * @param TransactionResponse $multisafepay_transaction 42 * @return void43 */ 44 public function create_woocommerce_order( TransactionResponse $multisafepay_transaction ): void{44 * @return WP_REST_Response 45 */ 46 public function create_woocommerce_order( TransactionResponse $multisafepay_transaction ): WP_REST_Response { 45 47 $multisafepay_order_id = $multisafepay_transaction->getOrderId(); 46 48 … … 49 51 if ( empty( $checkout_data ) ) { 50 52 $this->logger->log_error( 'Could not create order for order id ' . $multisafepay_order_id . ' because checkout data is empty' ); 51 return ;53 return RestResponseBuilder::build_response(); 52 54 } 53 55 … … 133 135 } 134 136 135 header( 'Content-type: text/plain' ); 136 die( 'OK' ); 137 return RestResponseBuilder::build_response(); 137 138 138 139 } catch ( Exception | WC_Data_Exception $exception ) { 139 140 $this->logger->log_error( 'Something went wrong when creating WooCommerce order for MultiSafepay order id ' . $multisafepay_order_id . ' with message: ' . $exception->getMessage() ); 140 141 141 header( 'Content-type: text/plain' ); 142 die( 'OK' ); 142 return RestResponseBuilder::build_response(); 143 143 } 144 144 } … … 233 233 /** 234 234 * @param WP_REST_Request $request 235 * @return void236 */ 237 public function process_webhook( WP_REST_Request $request ): void{235 * @return WP_REST_Response 236 */ 237 public function process_webhook( WP_REST_Request $request ): WP_REST_Response { 238 238 if ( ! ( new PaymentMethodService() )->is_any_woocommerce_payment_gateway_with_payment_component_qr_enabled() ) { 239 239 $this->logger->log_error( 'Payment component QR is not enabled' ); 240 header( 'Content-type: text/plain' ); 241 die( 'OK' ); 240 return RestResponseBuilder::build_response(); 242 241 } 243 242 244 243 try { 245 244 $multisafepay_transaction = $this->validate_webhook_request( $request ); 246 $this->create_woocommerce_order( $multisafepay_transaction ); 245 if ( ! $multisafepay_transaction ) { 246 return RestResponseBuilder::build_response(); 247 } 248 return $this->create_woocommerce_order( $multisafepay_transaction ); 247 249 } catch ( Exception | InvalidArgumentException $exception ) { 248 250 $this->logger->log_error( 'Something went wrong when processing webhook for transaction id ' . ( $request->get_param( 'transactionid' ) ?? 'unknown' ) . ' with message: ' . $exception->getMessage() ); 249 header( 'Content-type: text/plain' ); 250 die( 'OK' ); 251 return RestResponseBuilder::build_response(); 251 252 } 252 253 } … … 263 264 264 265 if ( ! $request->sanitize_params() ) { 265 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but could not be sanitized' ); 266 header( 'Content-type: text/plain' ); 267 die( 'OK' ); 266 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but could not be sanitized' ); 267 return null; 268 268 } 269 269 … … 271 271 272 272 if ( 'pretransaction' === $payload_type ) { 273 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 274 header( 'Content-type: text/plain' ); 275 die( 'OK' ); 276 } 277 278 $auth = $request->get_header( 'auth' ); 279 $body = $request->get_body(); 280 $api_key = ( new SdkService() )->get_api_key(); 273 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 274 return null; 275 } 276 277 $auth = (string) ( $request->get_header( 'auth' ) ?? '' ); 278 $body = $request->get_body(); 279 $api_key = ( new SdkService() )->get_api_key(); 280 281 if ( '' === $auth ) { 282 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but auth header is missing' ); 283 return null; 284 } 285 281 286 $verify_notification = Notification::verifyNotification( $body, $auth, $api_key ); 282 287 283 288 if ( ! $verify_notification ) { 284 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is not validated' ); 285 header( 'Content-type: text/plain' ); 286 die( 'OK' ); 289 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is not validated' ); 290 return null; 287 291 } 288 292 … … 298 302 299 303 if ( Transaction::COMPLETED !== $multisafepay_transaction->getStatus() ) { 300 header( 'Content-type: text/plain' ); 301 die( 'OK' ); 304 return null; 302 305 } 303 306 … … 309 312 * 310 313 * @param WP_REST_Request $request 311 * @return void312 */ 313 public function process_balancer( WP_REST_Request $request ): void{314 * @return WP_REST_Response 315 */ 316 public function process_balancer( WP_REST_Request $request ): WP_REST_Response { 314 317 $order_id = sanitize_text_field( wp_unslash( $request->get_param( 'transactionid' ) ?? '' ) ); 315 318 316 319 if ( ! $request->sanitize_params() ) { 317 $this->logger->log_info( 'Notification for transactionid . ' . $order_id . ' has been received but could not be sanitized' ); 318 wp_safe_redirect( wc_get_cart_url(), 302 ); 319 exit; 320 $this->logger->log_info( 'Notification for transactionid ' . $order_id . ' has been received but could not be sanitized' ); 321 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 320 322 } 321 323 322 324 if ( empty( $order_id ) ) { 323 325 $this->logger->log_info( 'Request received without transaction ID' ); 324 wp_safe_redirect( wc_get_cart_url(), 302 ); 325 exit; 326 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 326 327 } 327 328 328 329 if ( ! ( new PaymentMethodService() )->is_any_woocommerce_payment_gateway_with_payment_component_qr_enabled() ) { 329 330 $this->logger->log_error( 'Payment component QR is not enabled' ); 330 wp_safe_redirect( wc_get_cart_url(), 302 ); 331 exit(); 331 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 332 332 } 333 333 … … 337 337 if ( $token !== $expected_token ) { 338 338 $this->logger->log_warning( 'Invalid token for transaction: ' . $order_id ); 339 wp_safe_redirect( wc_get_cart_url(), 302 ); 340 exit; 339 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 341 340 } 342 341 } … … 353 352 $woocommerce_order = wc_get_order( $woocommerce_order_id ); 354 353 355 wp_safe_redirect( $woocommerce_order->get_checkout_order_received_url(), 302 ); 356 exit; 354 return RestResponseBuilder::build_response( 302, null, array( 'Location' => $woocommerce_order->get_checkout_order_received_url() ) ); 357 355 } 358 356 … … 361 359 wc_get_checkout_url(); 362 360 363 wp_safe_redirect( $redirect_url, 302 ); 364 exit; 361 return RestResponseBuilder::build_response( 302, null, array( 'Location' => $redirect_url ) ); 365 362 } 366 363 -
multisafepay/tags/6.11.0/src/Settings/SettingsFields.php
r3182242 r3464988 89 89 'fields' => array( 90 90 array( 91 'id' => 'multisafepay_debugmode', 92 'label' => __( 'Debug Mode', 'multisafepay' ), 93 'description' => 'Is recommended to keep debug mode disabled in live environment', 94 'type' => 'checkbox', 95 'default' => false, 96 'placeholder' => __( 'Debug Mode', 'multisafepay' ), 97 'tooltip' => __( 'Logs additional information to the system log', 'multisafepay' ), 98 'callback' => '', 99 'setting_type' => 'boolean', 100 'sort_order' => 1, 101 ), 102 array( 91 103 'id' => 'multisafepay_group_credit_cards', 92 104 'label' => __( 'Group debit and credit cards', 'multisafepay' ), 93 'description' => __( 'If is enabled, payment methods classified as debit and credit cards (Amex, Maestro, Mastercard, and Visa) will shown grouped as a single payment method', 'multisafepay' ),105 'description' => __( 'If is enabled, payment methods classified as debit and credit cards (Amex, Maestro, Mastercard, and Visa) will be shown grouped as a single payment method', 'multisafepay' ), 94 106 'type' => 'checkbox', 95 107 'default' => (bool) get_option( … … 102 114 'setting_type' => 'boolean', 103 115 'sort_order' => 3, 104 ),105 array(106 'id' => 'multisafepay_debugmode',107 'label' => __( 'Debug Mode', 'multisafepay' ),108 'description' => 'Is recommended to keep debug mode disabled in live environment',109 'type' => 'checkbox',110 'default' => false,111 'placeholder' => __( 'Debug Mode', 'multisafepay' ),112 'tooltip' => __( 'Logs additional information to the system log', 'multisafepay' ),113 'callback' => '',114 'setting_type' => 'boolean',115 'sort_order' => 1,116 ),117 array(118 'id' => 'multisafepay_disable_shopping_cart',119 'label' => __( 'Disable Shopping Cart on the MultiSafepay payment page', 'multisafepay' ),120 'description' => 'Enable this option to hide the cart items on the MultiSafepay payment page, leaving only the total order amount. Note: This behavior won\'t be adopted by the the payment methods which require shopping cart like Riverty, E-Invoicing, in3, Klarna and Pay After Delivery.',121 'type' => 'checkbox',122 'default' => false,123 'placeholder' => __( 'Disable Shopping Cart', 'multisafepay' ),124 'tooltip' => '',125 'callback' => '',126 'setting_type' => 'boolean',127 'sort_order' => 100,128 116 ), 129 117 array( … … 241 229 ), 242 230 array( 243 'id' => 'multisafepay_time_unit',244 'label' => __( 'Unit lifetime of payment link', 'multisafepay' ),245 'description' => __( 'The lifetime of a payment link by default is 30 days. This means that the customer has 30 days to complete the transaction using the payment link', 'multisafepay' ),246 'type' => 'select',247 'options' => array(248 'days' => __( 'Days', 'multisafepay' ),249 'hours' => __( 'Hours', 'multisafepay' ),250 'seconds' => __( 'Seconds', 'multisafepay' ),251 ),252 'default' => 'days',253 'placeholder' => __( 'Unit lifetime of payment link', 'multisafepay' ),254 'tooltip' => '',255 'callback' => '',256 'setting_type' => 'string',257 'sort_order' => 40,258 ),259 array(260 231 'id' => 'multisafepay_payment_component_template_id', 261 232 'label' => __( 'Payment Component Template ID', 'multisafepay' ), … … 268 239 'setting_type' => 'string', 269 240 'sort_order' => 55, 241 ), 242 array( 243 'id' => 'multisafepay_checkout_block_payment_icons', 244 'label' => __( 'Show Payment Icons in WooCommerce Checkout Block', 'multisafepay' ), 245 'description' => __( 'Enable this option to show payment icons on the Checkout Block', 'multisafepay' ), 246 'type' => 'checkbox', 247 'default' => false, 248 'placeholder' => __( 'Show Payment Icons in WooCommerce Checkout Block', 'multisafepay' ), 249 'tooltip' => '', 250 'callback' => '', 251 'setting_type' => 'boolean', 252 'sort_order' => 60, 253 ), 254 array( 255 'id' => 'multisafepay_disable_shopping_cart', 256 'label' => __( 'Disable Shopping Cart on the MultiSafepay payment page', 'multisafepay' ), 257 'description' => __( 'Enable this option to hide the cart items on the MultiSafepay payment page, leaving only the total order amount. Note: This behavior won\'t be adopted by the the payment methods which require shopping cart like Riverty, E-Invoicing, in3, Klarna and Pay After Delivery.', 'multisafepay' ), 258 'type' => 'checkbox', 259 'default' => false, 260 'placeholder' => __( 'Disable Shopping Cart', 'multisafepay' ), 261 'tooltip' => '', 262 'callback' => '', 263 'setting_type' => 'boolean', 264 'sort_order' => 80, 270 265 ), 271 266 ), -
multisafepay/tags/6.11.0/vendor/autoload.php
r3393028 r3464988 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb::getLoader();22 return ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02::getLoader(); -
multisafepay/tags/6.11.0/vendor/composer/autoload_real.php
r3393028 r3464988 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb5 class ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
multisafepay/tags/6.11.0/vendor/composer/autoload_static.php
r3393028 r3464988 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 431ee68f29f658207118bb5cd3435acb7 class ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( 10 'P' => 10 'P' => 11 11 array ( 12 12 'Psr\\Http\\Message\\' => 17, 13 13 'Psr\\Http\\Client\\' => 16, 14 14 ), 15 'N' => 15 'N' => 16 16 array ( 17 17 'Nyholm\\Psr7\\' => 12, 18 18 ), 19 'M' => 19 'M' => 20 20 array ( 21 21 'MultiSafepay\\WooCommerce\\' => 25, 22 22 'MultiSafepay\\' => 13, 23 23 ), 24 'H' => 24 'H' => 25 25 array ( 26 26 'Http\\Discovery\\' => 15, … … 29 29 30 30 public static $prefixDirsPsr4 = array ( 31 'Psr\\Http\\Message\\' => 31 'Psr\\Http\\Message\\' => 32 32 array ( 33 33 0 => __DIR__ . '/..' . '/psr/http-factory/src', 34 34 1 => __DIR__ . '/..' . '/psr/http-message/src', 35 35 ), 36 'Psr\\Http\\Client\\' => 36 'Psr\\Http\\Client\\' => 37 37 array ( 38 38 0 => __DIR__ . '/..' . '/psr/http-client/src', 39 39 ), 40 'Nyholm\\Psr7\\' => 40 'Nyholm\\Psr7\\' => 41 41 array ( 42 42 0 => __DIR__ . '/..' . '/nyholm/psr7/src', 43 43 ), 44 'MultiSafepay\\WooCommerce\\' => 44 'MultiSafepay\\WooCommerce\\' => 45 45 array ( 46 46 0 => __DIR__ . '/../..' . '/src', 47 47 ), 48 'MultiSafepay\\' => 48 'MultiSafepay\\' => 49 49 array ( 50 50 0 => __DIR__ . '/..' . '/multisafepay/php-sdk/src', 51 51 ), 52 'Http\\Discovery\\' => 52 'Http\\Discovery\\' => 53 53 array ( 54 54 0 => __DIR__ . '/..' . '/php-http/discovery/src', … … 63 63 { 64 64 return \Closure::bind(function () use ($loader) { 65 $loader->prefixLengthsPsr4 = ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::$prefixLengthsPsr4;66 $loader->prefixDirsPsr4 = ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::$prefixDirsPsr4;67 $loader->classMap = ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::$classMap;65 $loader->prefixLengthsPsr4 = ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::$prefixLengthsPsr4; 66 $loader->prefixDirsPsr4 = ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::$prefixDirsPsr4; 67 $loader->classMap = ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::$classMap; 68 68 69 69 }, null, ClassLoader::class); -
multisafepay/tags/6.11.0/vendor/composer/installed.json
r3393028 r3464988 3 3 { 4 4 "name": "multisafepay/php-sdk", 5 "version": "5. 18.0",6 "version_normalized": "5. 18.0.0",5 "version": "5.20.0", 6 "version_normalized": "5.20.0.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/MultiSafepay/php-sdk.git", 10 "reference": " 837555d3d4699761ab34387605b192be5421ed63"11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/MultiSafepay/php-sdk/zipball/ 837555d3d4699761ab34387605b192be5421ed63",15 "reference": " 837555d3d4699761ab34387605b192be5421ed63",10 "reference": "a83adfae608a97f584c8812eb03983d7f8fb2271" 11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/MultiSafepay/php-sdk/zipball/a83adfae608a97f584c8812eb03983d7f8fb2271", 15 "reference": "a83adfae608a97f584c8812eb03983d7f8fb2271", 16 16 "shasum": "" 17 17 }, … … 33 33 "php-http/mock-client": "^1.3", 34 34 "phpstan/phpstan": "^1.8", 35 "phpunit/phpunit": "^ 9.0 || ^7.5"35 "phpunit/phpunit": "^8.5 || ^9.0" 36 36 }, 37 37 "suggest": { 38 38 "jschaedl/iban-validation": "Adds additional IBAN validation for \\MultiSafepay\\ValueObject\\IbanNumber" 39 39 }, 40 "time": "202 5-10-15T10:31:17+00:00",40 "time": "2026-02-18T07:51:14+00:00", 41 41 "type": "library", 42 42 "installation-source": "dist", … … 53 53 "support": { 54 54 "issues": "https://github.com/MultiSafepay/php-sdk/issues", 55 "source": "https://github.com/MultiSafepay/php-sdk/tree/5. 18.0"55 "source": "https://github.com/MultiSafepay/php-sdk/tree/5.20.0" 56 56 }, 57 57 "install-path": "../multisafepay/php-sdk" -
multisafepay/tags/6.11.0/vendor/composer/installed.php
r3393028 r3464988 2 2 'root' => array( 3 3 'name' => 'multisafepay/woocommerce', 4 'pretty_version' => '6.1 0.0',5 'version' => '6.1 0.0.0',4 'pretty_version' => '6.11.0', 5 'version' => '6.11.0.0', 6 6 'reference' => null, 7 7 'type' => 'wordpress-plugin', … … 12 12 'versions' => array( 13 13 'multisafepay/php-sdk' => array( 14 'pretty_version' => '5. 18.0',15 'version' => '5. 18.0.0',16 'reference' => ' 837555d3d4699761ab34387605b192be5421ed63',14 'pretty_version' => '5.20.0', 15 'version' => '5.20.0.0', 16 'reference' => 'a83adfae608a97f584c8812eb03983d7f8fb2271', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../multisafepay/php-sdk', … … 21 21 ), 22 22 'multisafepay/woocommerce' => array( 23 'pretty_version' => '6.1 0.0',24 'version' => '6.1 0.0.0',23 'pretty_version' => '6.11.0', 24 'version' => '6.11.0.0', 25 25 'reference' => null, 26 26 'type' => 'wordpress-plugin', -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/CHANGELOG.md
r3393028 r3464988 6 6 7 7 ## [Unreleased] 8 9 ## [5.20.0] - 2026-02-18 10 ### Added 11 - PLGWOOS-1025: PHP SDK support for terminal endpoints 12 - PLGMAG2V2-886: Encode parameters 13 14 ## [5.19.0] - 2026-01-15 15 ### Added 16 - PLGMAG2V2-881: Add a method to easily retrieve the payment_options from the OrderRequest 17 - PHPSDK-184: Add the PaymentData object to an OrderRequest, thanks to @firstred 18 - PHPSDK-185: Add all the properties of a CaptureRequest, thanks to @firstred 19 - PHPSDK-186: Add the capture property to an OrderRequest, thanks to @firstred 20 - PHPSDK-68: Add a cleaner function for checking order status completed 21 22 ### Fixed 23 - PHPSDK-69: Fix type error when trying to retrieve shopping cart from TransactionResponse that does not have it 8 24 9 25 ## [5.18.0] - 2025-10-15 -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/USAGE.md
r3230524 r3464988 396 396 ``` 397 397 398 ### List terminals 399 List all POS terminals bound to a MultiSafepay account. 400 401 Authentication for this endpoint requires a **Merchant Account API Key**. Note: according to the public API documentation, this endpoint is not available in the TEST environment. 402 More information at our [Documentation Center](https://docs.multisafepay.com/reference/listterminals). 403 ```php 404 $yourMerchantAccountApiKey = 'your-merchant-account-api-key'; 405 $isProduction = true; 406 $multiSafepaySdk = new \MultiSafepay\Sdk($yourMerchantAccountApiKey, $isProduction); 407 408 $options = [ 409 'page' => 1, 410 'limit' => 50, 411 ]; 412 413 $terminalListing = $multiSafepaySdk->getTerminalManager()->getTerminals($options); 414 $terminals = $terminalListing->getTerminals(); 415 416 $pager = $terminalListing->getPager(); // If pagination is needed, this Pager object can be used 417 ``` 418 419 ### List terminals by group 420 Filter POS devices bound to a MultiSafepay account using a `terminal_group_id`. 421 422 Authentication for this endpoint requires a **Merchant Account API Key**. Note: according to the public API documentation, this endpoint is not available in the TEST environment. 423 More information at our [Documentation Center](https://docs.multisafepay.com/reference/listterminalsbygroup). 424 ```php 425 $yourMerchantAccountApiKey = 'your-merchant-account-api-key'; 426 $isProduction = true; 427 $multiSafepaySdk = new \MultiSafepay\Sdk($yourMerchantAccountApiKey, $isProduction); 428 429 $terminalGroupId = 'your-terminal-group-id'; 430 $options = [ 431 'page' => 1, 432 'limit' => 50, 433 ]; 434 435 $terminalListing = $multiSafepaySdk->getTerminalManager()->getTerminalsByGroup($terminalGroupId, $options); 436 $terminals = $terminalListing->getTerminals(); 437 438 $pager = $terminalListing->getPager(); // If pagination is needed, this Pager object can be used 439 ``` 440 398 441 ### Pushing a payment request to a Smart POS device 399 442 ```php -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/composer.json
r3393028 r3464988 4 4 "type": "library", 5 5 "license": "OSL-3.0", 6 "version": "5. 18.0",6 "version": "5.20.0", 7 7 "require": { 8 8 "php": "^7.2|^8.0", … … 14 14 }, 15 15 "require-dev": { 16 "phpunit/phpunit": "^ 9.0 || ^7.5",16 "phpunit/phpunit": "^8.5 || ^9.0", 17 17 "guzzlehttp/guzzle": "^7.0", 18 18 "http-interop/http-factory-guzzle": "^1.0", -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/TransactionManager.php
r3230524 r3464988 18 18 use MultiSafepay\Exception\ApiException; 19 19 use MultiSafepay\Exception\InvalidArgumentException; 20 use MultiSafepay\Util\Encode; 20 21 use Psr\Http\Client\ClientExceptionInterface; 21 22 … … 64 65 public function get(string $orderId): Transaction 65 66 { 66 $endpoint = 'json/orders/' . $orderId; 67 $context = ['order_id' => $orderId]; 67 $encodedOrderId = Encode::encode($orderId); 68 $endpoint = 'json/orders/' . $encodedOrderId; 69 $context = ['order_id' => $encodedOrderId]; 68 70 $response = $this->client->createGetRequest($endpoint, [], $context); 69 71 … … 92 94 public function update(string $orderId, UpdateRequest $updateRequest): Response 93 95 { 96 $encodedOrderId = Encode::encode($orderId); 97 94 98 return $this->client->createPatchRequest( 95 'json/orders/' . $ orderId,99 'json/orders/' . $encodedOrderId, 96 100 $updateRequest, 97 101 ['request_body' => $updateRequest->getData()] … … 107 111 public function capture(string $orderId, CaptureRequest $captureRequest): Response 108 112 { 113 $encodedOrderId = Encode::encode($orderId); 114 109 115 return $this->client->createPostRequest( 110 'json/orders/' . $ orderId . '/capture',116 'json/orders/' . $encodedOrderId . '/capture', 111 117 $captureRequest, 112 118 ['request_body' => $captureRequest->getData()] … … 122 128 public function captureReservationCancel(string $orderId, CaptureRequest $captureRequest): Response 123 129 { 130 $encodedOrderId = Encode::encode($orderId); 131 124 132 return $this->client->createPatchRequest( 125 'json/capture/' . $ orderId,133 'json/capture/' . $encodedOrderId, 126 134 $captureRequest, 127 135 ['request_body' => $captureRequest->getData()] … … 139 147 public function refund(Transaction $transaction, RefundRequest $requestRefund, ?string $orderId = null): Response 140 148 { 149 $originalOrderId = $orderId ?? $transaction->getOrderId(); 150 $encodedOrderId = Encode::encode($originalOrderId); 151 141 152 return $this->client->createPostRequest( 142 'json/orders/' . ($orderId ?: $transaction->getOrderId()). '/refunds',153 'json/orders/' . $encodedOrderId . '/refunds', 143 154 $requestRefund, 144 155 ['transaction' => $transaction->getData()] -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/CaptureRequest.php
r2927749 r3464988 8 8 9 9 use MultiSafepay\Api\Base\RequestBody; 10 use MultiSafepay\ Api\Base\RequestBodyInterface;10 use MultiSafepay\ValueObject\Amount; 11 11 12 12 /** 13 * Class UpdateRequest13 * Class CaptureRequest 14 14 * @package MultiSafepay\Api\Transactions 15 15 */ … … 19 19 20 20 /** 21 * @var string 22 */ 23 private $newOrderId; 24 25 /** 26 * @var Amount 27 */ 28 private $amount; 29 30 /** 31 * @var string 32 */ 33 private $newOrderStatus; 34 35 /** 36 * @var string 37 */ 38 private $invoiceId; 39 40 /** 41 * @var string 42 */ 43 private $trackTraceCode; 44 45 /** 46 * @var string 47 */ 48 private $carrier; 49 /** 50 * @var string 51 */ 52 private $reason; 53 54 /** 55 * @var string 56 */ 57 private $description; 58 59 /** 60 * @var string 61 */ 62 private $shipDate; 63 64 /** 21 65 * @return array 22 66 */ 23 67 public function getData(): array 24 68 { 25 return $this->removeNullRecursive($this->data); 69 return $this->removeNullRecursive( 70 array_merge( 71 [ 72 'amount' => $this->amount ? $this->amount->get() : null, 73 'new_order_id' => $this->newOrderId ?: null, 74 'new_order_status' => $this->newOrderStatus ?: 'completed', 75 'invoice_id' => $this->invoiceId ?: null, 76 'tracktrace_code' => $this->trackTraceCode ?: null, 77 'carrier' => $this->carrier ?: null, 78 'reason' => $this->reason ?: null, 79 'description' => $this->description ?: null, 80 'ship_date' => $this->shipDate ?: null, 81 ], 82 $this->data 83 ) 84 ); 85 } 86 87 /** 88 * @param Amount $amount 89 * @return CaptureRequest 90 */ 91 public function addAmount(Amount $amount): CaptureRequest 92 { 93 $this->amount = $amount; 94 return $this; 95 } 96 97 /** 98 * @param string $newOrderId 99 * @return CaptureRequest 100 */ 101 public function addNewOrderId(string $newOrderId): CaptureRequest 102 { 103 $this->newOrderId = $newOrderId; 104 return $this; 105 } 106 107 /** 108 * @param string $newOrderStatus 109 * @return CaptureRequest 110 */ 111 public function addNewOrderStatus(string $newOrderStatus): CaptureRequest 112 { 113 $this->newOrderStatus = $newOrderStatus; 114 return $this; 115 } 116 117 /** 118 * @param string $invoiceId 119 * @return CaptureRequest 120 */ 121 public function addInvoiceId(string $invoiceId): CaptureRequest 122 { 123 $this->invoiceId = $invoiceId; 124 return $this; 125 } 126 127 /** 128 * @param string $trackTraceCode 129 * @return CaptureRequest 130 */ 131 public function addTrackTraceCode(string $trackTraceCode): CaptureRequest 132 { 133 $this->trackTraceCode = $trackTraceCode; 134 return $this; 135 } 136 137 /** 138 * @param string $carrier 139 * @return CaptureRequest 140 */ 141 public function addCarrier(string $carrier): CaptureRequest 142 { 143 $this->carrier = $carrier; 144 return $this; 145 } 146 147 /** 148 * @param string $reason 149 * @return CaptureRequest 150 */ 151 public function addReason(string $reason): CaptureRequest 152 { 153 $this->reason = $reason; 154 return $this; 155 } 156 157 /** 158 * @param string $description 159 * @return CaptureRequest 160 */ 161 public function addDescription(string $description): CaptureRequest 162 { 163 $this->description = $description; 164 return $this; 165 } 166 167 /** 168 * @param string $shipDate 169 * @return CaptureRequest 170 */ 171 public function addShipDate(string $shipDate): CaptureRequest 172 { 173 $this->shipDate = $shipDate; 174 return $this; 26 175 } 27 176 } -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/OrderRequest.php
r3264984 r3464988 16 16 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\GatewayInfoInterface; 17 17 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\GoogleAnalytics; 18 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\PaymentData; 18 19 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\PaymentOptions; 19 20 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\PluginDetails; … … 118 119 119 120 /** 121 * @var PaymentData 122 */ 123 protected $paymentData; 124 125 /** 120 126 * @var int 121 127 */ … … 166 172 */ 167 173 private $currency; 174 175 /** 176 * @var string 177 */ 178 private $capture; 168 179 169 180 /** … … 452 463 453 464 /** 465 * Retrieve the payment_options object from the OrderRequest 466 * 467 * @return PaymentOptions|null 468 */ 469 public function getPaymentOptions(): ?PaymentOptions 470 { 471 return $this->paymentOptions; 472 } 473 474 /** 454 475 * Retrieve the checkout_options object from the OrderRequest 455 476 * … … 496 517 497 518 /** 519 * @param PaymentData $paymentData 520 * @return OrderRequest 521 */ 522 public function addPaymentData(PaymentData $paymentData): OrderRequest 523 { 524 $this->paymentData = $paymentData; 525 return $this; 526 } 527 528 /** 498 529 * @param int $seconds 499 530 * @return OrderRequest … … 577 608 { 578 609 return $this->var3; 610 } 611 612 /** 613 * @param string $capture 614 * @return OrderRequest 615 */ 616 public function addCapture(string $capture = 'manual'): OrderRequest 617 { 618 $this->capture = $capture; 619 return $this; 579 620 } 580 621 … … 621 662 'shopping_cart' => $this->shoppingCart ? $this->shoppingCart->getData() : null, 622 663 'checkout_options' => $this->checkoutOptions ? $this->checkoutOptions->getData() : null, 664 'payment_data' => $this->paymentData ? $this->paymentData->getData() : null, 623 665 'days_active' => $this->daysActive, 624 666 'seconds_active' => $this->secondsActive, … … 628 670 'var2' => $this->getVar2(), 629 671 'var3' => $this->getVar3(), 672 'capture' => $this->capture ?? null, 630 673 'affiliate' => $this->affiliate ? $this->affiliate->getData() : null, 631 674 ]; -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/src/Api/Transactions/TransactionResponse.php
r3230524 r3464988 188 188 189 189 /** 190 * @return bool 191 */ 192 public function isCompleted(): bool 193 { 194 return $this->getStatus() === Transaction::COMPLETED; 195 } 196 197 /** 190 198 * @return string 191 199 */ … … 343 351 344 352 /** 345 * @return ShoppingCart 353 * @return ShoppingCart|null 346 354 * @throws InvalidArgumentException 347 355 */ 348 public function getShoppingCart(): ShoppingCart 349 { 350 return ShoppingCart::fromData($this->get('shopping_cart')); 356 public function getShoppingCart(): ?ShoppingCart 357 { 358 $shoppingCartData = $this->get('shopping_cart'); 359 360 if (empty($shoppingCartData)) { 361 return null; 362 } 363 364 return ShoppingCart::fromData($shoppingCartData); 351 365 } 352 366 -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/src/Sdk.php
r3230524 r3464988 13 13 use MultiSafepay\Api\IssuerManager; 14 14 use MultiSafepay\Api\PaymentMethodManager; 15 use MultiSafepay\Api\TerminalManager; 15 16 use MultiSafepay\Api\TokenManager; 16 17 use MultiSafepay\Api\TransactionManager; … … 145 146 146 147 /** 148 * @return TerminalManager 149 */ 150 public function getTerminalManager(): TerminalManager 151 { 152 return new TerminalManager($this->client); 153 } 154 155 /** 147 156 * @return Client 148 157 */ -
multisafepay/tags/6.11.0/vendor/multisafepay/php-sdk/src/Util/Version.php
r3393028 r3464988 18 18 class Version 19 19 { 20 public const SDK_VERSION = '5. 18.0';20 public const SDK_VERSION = '5.20.0'; 21 21 22 22 /** -
multisafepay/trunk/assets/public/js/multisafepay-blocks/build/index.asset.php
r3393028 r3464988 1 <?php return array('dependencies' => array(), 'version' => ' 4253c5748ae7a4b32641');1 <?php return array('dependencies' => array(), 'version' => 'bacad67eb9f6508a056e'); -
multisafepay/trunk/assets/public/js/multisafepay-blocks/build/index.js
r3393028 r3464988 1 (()=>{const e=e=> ({name:e.id,label:e.title,paymentMethodId:e.id,edit:React.createElement("div",null,""),canMakePayment:()=>!0,ariaLabel:e.title,content:React.createElement("div",null,e.description)});document.addEventListener("DOMContentLoaded",()=>{(({wc:t,multisafepay_gateways:a})=>{const{registerPaymentMethod:n}=t.wcBlocksRegistry;a.forEach(t=>{(t.is_admin||"multisafepay_applepay"!==t.id||window.ApplePaySession&&ApplePaySession.canMakePayments())&&n(e(t))})})(window)})})();1 (()=>{const e=e=>{const t=[];return e.icon&&t.push(React.createElement("img",{src:e.icon,alt:e.title,style:{height:"24px",width:"auto",marginRight:"8px"}})),t.push(e.title),{name:e.id,label:React.createElement("span",{style:{display:"flex",alignItems:"center"}},...t),paymentMethodId:e.id,edit:React.createElement("div",null,""),canMakePayment:()=>!0,ariaLabel:e.title,content:React.createElement("div",null,e.description)}};document.addEventListener("DOMContentLoaded",()=>{(({wc:t,multisafepay_gateways:a})=>{const{registerPaymentMethod:n}=t.wcBlocksRegistry;a.forEach(t=>{(t.is_admin||"multisafepay_applepay"!==t.id||window.ApplePaySession&&ApplePaySession.canMakePayments())&&n(e(t))})})(window)})})(); -
multisafepay/trunk/multisafepay.php
r3393028 r3464988 5 5 * Plugin URI: https://docs.multisafepay.com/docs/woocommerce 6 6 * Description: MultiSafepay Payment Plugin 7 * Version: 6.1 0.07 * Version: 6.11.0 8 8 * Author: MultiSafepay 9 9 * Author URI: https://www.multisafepay.com … … 12 12 * License URI: http://www.gnu.org/licenses/gpl-3.0.html 13 13 * Requires at least: 6.0 14 * Tested up to: 6. 8.314 * Tested up to: 6.9.1 15 15 * WC requires at least: 6.0.0 16 * WC tested up to: 10. 2.216 * WC tested up to: 10.5.2 17 17 * Requires PHP: 7.3 18 18 * Text Domain: multisafepay -
multisafepay/trunk/readme.txt
r3393028 r3464988 3 3 Tags: multisafepay, payment gateway, credit cards, ideal, bnpl 4 4 Requires at least: 6.0 5 Tested up to: 6. 8.35 Tested up to: 6.9.1 6 6 Requires PHP: 7.3 7 Stable tag: 6.1 0.08 License: MIT7 Stable tag: 6.11.0 8 License: GPL-3.0-or-later 9 9 10 10 MultiSafepay offers the most comprehensive payment solutions. Easily integrate the payment solutions of MultiSafepay into your webshop. … … 20 20 21 21 Payment methods: 22 By default, any payment method you activate in your MultiSafepay account will be available to be activated in the plugin, but you can also choose to show only specific payment methods in your checkout. 23 The plugin supports all the payment methods available in your MultiSafepay account, including but not limited to: 24 22 25 * AfterPay 23 26 * Alipay … … 123 126 = Can I refund orders? = 124 127 125 Yes, you can fully or partially refund transactions directly from your WooCommerce backend for all payment methods , except for [Buy now pay later](https://docs.multisafepay.com/docs/bnpl) payment methods in which it is only possible to process full refunds.128 Yes, you can fully or partially refund transactions directly from your WooCommerce backend for all payment methods. 126 129 You can also refund from your [MultiSafepay Control](https://merchant.multisafepay.com) 127 130 … … 139 142 140 143 == Changelog == 141 = Release Notes - WooCommerce 6.10.0 (Nov 10th, 2025) = 144 145 = Release Notes - MultiSafepay 6.11.0 (Feb 19th, 2026) = 146 147 ### Added 148 + PLGWOOS-1018: Add payment icons to WooCommerce Checkout Blocks 149 150 ### Fixed 151 + PLGWOOS-1032: Fix WC_Blocks_Utils::has_block_in_page() fails to detect checkout block when nested inside other blocks 152 + PLGWOOS-1019: Fix the duplicated 'multisafepay_time_unit' setting field argument 153 154 ### Changed 155 + PLGWOOS-1029: REST Response Cache Control 156 157 = Release Notes - MultiSafepay 6.10.0 (Nov 10th, 2025) = 142 158 143 159 ### Added … … 148 164 + PLGWOOS-956: MultiSafepay PostePay is being listed as only one payment method, but it should be two 149 165 150 = Release Notes - WooCommerce6.9.0 (Jun 5th, 2025) =166 = Release Notes - MultiSafepay 6.9.0 (Jun 5th, 2025) = 151 167 152 168 ### Added … … 166 182 + PLGWOOS-1004: Adding shipping method name in the Order Request, instead of generic label "Shipping" 167 183 168 = Release Notes - WooCommerce6.8.3 (Apr 9th, 2025) =184 = Release Notes - MultiSafepay 6.8.3 (Apr 9th, 2025) = 169 185 170 186 ### Fixed 171 187 + PLGWOOS-992: Prevent processing a request on the REST QR related endpoints using a security token 172 188 173 = Release Notes - WooCommerce6.8.2 (Apr 7th, 2025) =189 = Release Notes - MultiSafepay 6.8.2 (Apr 7th, 2025) = 174 190 175 191 ### Fixed … … 178 194 + PLGWOOS-987: Typecast as string the value that will be defined as merchant Item ID within the QR request 179 195 180 = Release Notes - WooCommerce6.8.1 (Apr 4th, 2025) =196 = Release Notes - MultiSafepay 6.8.1 (Apr 4th, 2025) = 181 197 182 198 ### Fixed … … 184 200 + PLGWOOS-982: Return early when QR webhook request fails 185 201 186 = Release Notes - WooCommerce6.8.0 (Apr 1st, 2025) =202 = Release Notes - MultiSafepay 6.8.0 (Apr 1st, 2025) = 187 203 188 204 ### Added … … 192 208 + PLGWOOS-957: Fix filter that returns payment methods that supports payment component to return only enabled methods 193 209 194 = Release Notes - WooCommerce6.7.3 (Mar 4th, 2025) =210 = Release Notes - MultiSafepay 6.7.3 (Mar 4th, 2025) = 195 211 196 212 ### Fixed 197 213 + PLGWOOS-973: Round shopping cart item tax rates in BILLINK gateway 198 214 199 = Release Notes - WooCommerce6.7.2 (Feb 14th, 2025) =215 = Release Notes - MultiSafepay 6.7.2 (Feb 14th, 2025) = 200 216 201 217 ### Fixed 202 218 + PLGWOOS-971: Fix iDEAL payment method not being shown on WooCommerce Checkout Blocks 203 219 204 = Release Notes - WooCommerce6.7.1 (Feb 7th, 2025) =220 = Release Notes - MultiSafepay 6.7.1 (Feb 7th, 2025) = 205 221 206 222 ### Added 207 223 + PLGWOOS-968: Add system report values from the payment method's user role setting and enhance logging for filter methods 208 224 209 = Release Notes - WooCommerce6.7.0 (Jan 28th, 2025) =225 = Release Notes - MultiSafepay 6.7.0 (Jan 28th, 2025) = 210 226 211 227 ### Added … … 220 236 + PLGWOOS-963: Fix redirection after canceling a payment, when the user is using the "order-pay" endpoint 221 237 222 = Release Notes - WooCommerce6.6.2 (Nov 5th, 2024) =238 = Release Notes - MultiSafepay 6.6.2 (Nov 5th, 2024) = 223 239 224 240 ### Added … … 228 244 + PLGWOOS-953: Change label of the group cards setting field 229 245 230 = Release Notes - WooCommerce6.6.1 (Sep 4th, 2024) =246 = Release Notes - MultiSafepay 6.6.1 (Sep 4th, 2024) = 231 247 232 248 ### Fixed … … 236 252 + PLGWOOS-950: Remove iDEAL issuers of the payment component 237 253 238 = Release Notes - WooCommerce6.6.0 (Jul 8th, 2024) =254 = Release Notes - MultiSafepay 6.6.0 (Jul 8th, 2024) = 239 255 240 256 ### Added … … 245 261 + PLGWOOS-948: General improvements to increase unit test coverage 246 262 247 = Release Notes - WooCommerce6.5.1 (Jun 7th, 2024) =263 = Release Notes - MultiSafepay 6.5.1 (Jun 7th, 2024) = 248 264 249 265 ### Fixed … … 251 267 + PLGWOOS-937: Fix Payment Components, where the amount is wrongly being set 252 268 253 = Release Notes - WooCommerce6.5.0 (May 22nd, 2024) =269 = Release Notes - MultiSafepay 6.5.0 (May 22nd, 2024) = 254 270 255 271 ### Added … … 261 277 + PLGWOOS-935: Fix Payment Component on order-pay page endpoint, not loading if the shopping cart is empty 262 278 263 = Release Notes - WooCommerce6.4.3 (May 17th, 2024) =279 = Release Notes - MultiSafepay 6.4.3 (May 17th, 2024) = 264 280 265 281 ### Fixed 266 282 + PLGWOOS-922: Reduce the amount of API request improving general performance of the plugin 267 283 268 = Release Notes - WooCommerce6.4.2 (May 6th, 2024) =284 = Release Notes - MultiSafepay 6.4.2 (May 6th, 2024) = 269 285 270 286 ### Fixed 271 287 + PLGWOOS-922: Reduce the amount of request done to the payment-methods endpoint, from the admin 272 288 273 = Release Notes - WooCommerce6.4.1 (Apr 17th, 2024) =289 = Release Notes - MultiSafepay 6.4.1 (Apr 17th, 2024) = 274 290 275 291 ### Fixed 276 292 + PLGWOOS-920: Fix Apple Pay and Google Pay being shown in WooCommerce blocks, when are using direct payment buttons 277 293 278 = Release Notes - WooCommerce6.4.0 (Apr 17th, 2024) =294 = Release Notes - MultiSafepay 6.4.0 (Apr 17th, 2024) = 279 295 280 296 ### Added … … 285 301 + DAVAMS-747: Fix 'template_id' within the Payment Components 286 302 287 = Release Notes - WooCommerce6.3.1 (Mar 13th, 2024) =303 = Release Notes - MultiSafepay 6.3.1 (Mar 13th, 2024) = 288 304 289 305 ### Fixed … … 293 309 + PLGWOOS-912: Ignore offline action - notifications related with pretransactions 294 310 295 = Release Notes - WooCommerce6.3.0 (Mar 11th, 2024) =311 = Release Notes - MultiSafepay 6.3.0 (Mar 11th, 2024) = 296 312 297 313 ### Added 298 314 + PLGWOOS-866: Add Apple Pay and Google Pay direct 299 315 300 = Release Notes - WooCommerce6.2.1 (Feb 1st, 2024) =316 = Release Notes - MultiSafepay 6.2.1 (Feb 1st, 2024) = 301 317 302 318 ### Fixed … … 304 320 + PLGWOOS-901: Remove duplicated method reinit_payment_component() 305 321 306 = Release Notes - WooCommerce6.2.0 (Nov 13th, 2023) =322 = Release Notes - MultiSafepay 6.2.0 (Nov 13th, 2023) = 307 323 308 324 ### Added 309 325 + PLGWOOS-872: Add support for [High-Performance Order Storage](https://woo.com/document/high-performance-order-storage/) 310 326 311 = Release Notes - WooCommerce6.1.2 (Oct 19th, 2023) =327 = Release Notes - MultiSafepay 6.1.2 (Oct 19th, 2023) = 312 328 313 329 ### Fixed … … 317 333 + PLGWOOS-890: Bring back the payment component setting field to allow users to disable it. 318 334 319 = Release Notes - WooCommerce6.1.1 (Oct 16th, 2023) =335 = Release Notes - MultiSafepay 6.1.1 (Oct 16th, 2023) = 320 336 321 337 ### Fixed 322 338 + PLGWOOS-887: Disable Payment Components for Gift Cards payment methods, even when API is returning Payment Component is allowed 323 339 324 = Release Notes - WooCommerce6.1.0 (Oct 11th, 2023) =340 = Release Notes - MultiSafepay 6.1.0 (Oct 11th, 2023) = 325 341 326 342 ### Added … … 330 346 + PLGWOOS-882: Enable Payment Components by default in all payment methods where is available 331 347 332 = Release Notes - WooCommerce 5.4.1 (Sep 27th, 2023) = 333 334 ### Fixed 335 + PLGWOOS-878: Fix Payment Components not being shown. 336 337 = Release Notes - WooCommerce 5.4.0 (Sep 26th, 2023) = 338 339 ### Added 340 + PLGWOOS-870: Add support to define completed as a final order status where notification will not change the order status 341 342 ### Fixed 343 + PLGWOOS-871: Fix the minimum amount filter failing in the order-pay page 344 345 ### Changed 346 + DAVAMS-665 General refactor for better error handling 347 348 = Release Notes - WooCommerce 5.3.0 (Aug 10th, 2023) = 349 350 ### Added 351 + DAVAMS-636: Add Zinia payment method 352 353 ### Changed 354 + DAVAMS-640: Refactor of the Payment Component 355 356 = Release Notes - WooCommerce 5.2.2 (Jun 19th, 2023) = 357 358 ### Fixed 359 + PLGWOOS-852: Fix typo in description of Pay After Delivery Installments 360 361 ### Changed 362 + DAVAMS-621: Rename "Credit Card" payment method as "Card payment" 363 + PLGWOOS-844: Change API Keys settings field to password type 364 365 = Release Notes - WooCommerce 5.2.1 (Feb 22nd, 2023) = 366 367 ### Fixed 368 + PLGWOOS-850: Fix 'Tested up to' value in readme.txt file to reflect the latest WordPress version tested, instead of the latest WooCommerce set by mistake 369 370 = Release Notes - WooCommerce 5.2.0 (Feb 22nd, 2023) = 371 372 ### Added 373 + DAVAMS-599: Add new setting field to disable the shopping cart within the order request 374 + DAVAMS-573: Add Pay After Delivery Installments payment method 375 376 ### Removed 377 + DAVAMS-571: Remove Google Analytics tracking ID within the OrderRequest object 378 + PLGWOOS-815: Remove uninstall script 379 380 ### Changed 381 + DAVAMS-581: Rebrand Pay After Delivery with new logos 382 383 = Release Notes - WooCommerce 5.1.2 (Jan 10th, 2022) = 384 385 ### Fixed 386 + PLGWOOS-842: Fix Riverty terms and conditions field validation when payment method is set as redirect type 387 388 ### Changed 389 + PLGWOOS-840: Update Dutch and Belgian translations 390 391 = Release Notes - WooCommerce 5.1.1 (Dec 6th, 2022) = 392 393 ### Changed 394 + DAVAMS-547: AfterPay -> Riverty rebrand 395 + PLGWOOS-837: Declare support for WordPress version 6.1 and WooCommerce version 7.1 396 397 = Release Notes - WooCommerce 5.1.0 (Sep 30th, 2022) = 398 399 ### Added 400 + PLGWOOS-828: Add Google Pay 401 + PLGWOOS-516: Add Amazon Pay 402 + PLGWOOS-516: Add support for [WooCommerce Blocks](https://wordpress.org/plugins/woo-gutenberg-products-block/) for redirect payment methods 403 404 ### Fixed 405 + PLGWOOS-553: Fix deprecated docs links 406 407 = Release Notes - WooCommerce 5.0.0 (Sep 1st, 2022) = 408 409 ### Added 410 + PLGWOOS-829: Improvement over the error handling in MultiSafepayClient 411 412 ### Changed 413 + PLGWOOS-827: Drop support for PHP 7.2 414 415 = Release Notes - WooCommerce 4.17.2 (Jul 22nd, 2022) = 416 417 ### Fixed 418 + PLGWOOS-825: Fix an issue in which some payment methods are not being shown in the checkout, because of the setting field country selector is assuming the wrong value in some cases 419 420 = Release Notes - WooCommerce 4.17.1 (Jul 22nd, 2022) = 421 422 ### Changed 423 + PLGWOOS-817: Improvement in the escaping of the outputs of the settings page 424 425 = Release Notes - WooCommerce 4.17.0 (Jul 21st, 2022) = 426 427 ### Removed 428 + PLGWOOS-816: Remove validation to check if a gateway is enabled in the merchant account, before activate the WooCommerce payment method 429 + PLGWOOS-818: Remove upgrade notice functionality in plugin list page 430 431 ### Changed 432 + PLGWOOS-817: Improvement in sanitization and validation of the inputs, and escaping the outputs 433 434 = Release Notes - WooCommerce 4.16.0 (Jul 20th, 2022) = 435 436 ### Added 437 + DAVAMS-490: Add MyBank payment method 438 439 ### Removed 440 + PLGWOOS-811: Remove download plugin logs button and related methods 441 442 = Release Notes - WooCommerce 4.15.0 (May 25th, 2022) = 443 444 ### Added 445 + DAVAMS-470: Add terms and conditions checkbox to AfterPay 446 447 ### Changed 448 + PLGWOOS-805: Declare support for Wordpress 6.0 449 450 = Release Notes - WooCommerce 4.14.0 (May 19th, 2022) = 451 452 ### Added 453 + DAVAMS-476: Add Alipay+ 454 455 ### Changed 456 + PLGWOOS-804: Use default locale if 'get_locale' returns null to prevent third party plugin errors 457 + PHPSDK-93: Upgrade the [PHP-SDK](https://github.com/MultiSafepay/php-sdk) dependency to 5.5.0 458 459 = Release Notes - WooCommerce 4.13.1 (Mar 23rd, 2022) = 460 461 ### Added 462 + PLGWOOS-792: Declare support for WordPress 5.9.2 and WooCommerce 6.3.1 463 + PLGWOOS-790: Improvement on debug mode, logging the body of the POST notification request 464 465 ### Fixed 466 + PLGWOOS-791: Fix error when WooCommerce order is not found after receive a valid POST notification 467 468 = Release Notes - WooCommerce 4.13.0 (Feb 1st, 2022) = 469 470 ### Added 471 + PLGWOOS-770: Add payment component support for payment options: Visa, Mastercard, Maestro and American Express 472 + PLGWOOS-774: Add support to process 'smart_coupon' coupons from Smart Coupons third party plugin 473 + PLGWOOS-775: Log shopping cart content when debug mode is enabled 474 475 = Release Notes - WooCommerce 4.12.0 (Jan 13th, 2022) = 476 477 ### Added 478 + PLGWOOS-769: Add new filter 'multisafepay_merchant_item_id' to allow third party developers overwrite the merchant_item_id property within the ShoppingCart object 479 480 ### Changed 481 + PLGWOOS-744: Update 'Betaal per Maand' default max_amount value, according with new product rules 482 + PLGWOOS-759: Rebrand Sofort payment method 483 484 = Release Notes - WooCommerce 4.11.0 (Jan 4th, 2022) = 485 486 ### Added 487 + PLGWOOS-745: Add Payment Component 488 489 ### Changed 490 + PLGWOOS-765: Refactor PaymentMethodsController::generate_orders_from_backend() to work only with one argument and avoiding conflicts with third party plugins 491 + PLGWOOS-745: Tokenization now works through the Payment Component 492 493 ### Fixed 494 + PLGWOOS-763: Fix error on plugin list when application can not connect with WordPress network 495 496 = Release Notes - WooCommerce 4.10.0 (Dec 13th, 2021) = 497 498 ### Added 499 + PLGWOOS-748: Add PHP-SDK version to system report 500 + PLGWOOS-758: Add filter to turn notifications to GET method 501 502 ### Removed 503 + DAVAMS-460: Remove ING Home’Pay 504 505 ### Changed 506 + PLGWOOS-695: Replace HTTP Client, use WP_HTTP instead kriswallsmith/buzz 507 + PLGWOOS-749: Replace logo of Bancontact for new one 508 509 ### Fixed 510 + PLGWOOS-752: Fix missing placeholder for Test API Key input field in settings page 511 512 = Release Notes - WooCommerce 4.9.0 (Oct 18th, 2021) = 513 514 ### Added 515 + PLGWOOS-715: Add 2 "Generic Gateways" which include a flexible gateway code that allows any merchant to connect to almost every payment method we offer. 516 + PLGWOOS-746: Declare support for WordPress 5.8.1 and WooCommerce 5.8.0 517 518 ### Changed 519 + PLGWOOS-740: Improve the helper text of the Google Analytics ID setting field, adding a link to Documentation Center 520 + PLGWOOS-747: Upgrade the [PHP-SDK](https://github.com/MultiSafepay/php-sdk) component to 5.3.0 521 522 ### Fixed 523 + PLGWOOS-739: Fix fatal error related with undefined method when processing orders using iDEAL QR 524 + PLGWOOS-743: Fix broken links to Documentation Center in settings page 525 526 = Release Notes - WooCommerce 4.8.3 (Sep 6th, 2021) = 527 528 ### Fixed 529 + PLGWOOS-737: Fix error related with refunds by updating the PHP-SDK to 5.2.1 530 531 = Release Notes - WooCommerce 4.8.2 (Sep 2nd, 2021) = 532 533 ### Added 534 + PLGWOOS-730: Declare support for WooCommerce 5.6.0 535 536 = Release Notes - WooCommerce 4.8.1 (Aug 9th, 2021) = 537 538 ### Fixed 539 + PLGWOOS-727: Show error message from the API in the checkout page, when there is an error on direct transactions 540 541 = Release Notes - WooCommerce 4.8.0 (Aug 4th, 2021) = 542 543 ### Added 544 + PLGWOOS-723: Declare support for WooCommerce 5.5.2 and WordPress 5.8 545 + PLGWOOS-711: Add missing titles in setting pages 546 547 ### Changed 548 + PLGWOOS-718: Remove PSP ID string when register the transaction ID in WC_Order->payment_complete() 549 550 = Release Notes - WooCommerce 4.7.0 (Jun 23rd, 2021) = 551 552 ### Added 553 + PLGWOOS-706: Declare support for WooCommerce 5.4.1 554 555 ### Changed 556 + PLGWOOS-672: Change notification method from GET to [POST](https://docs.multisafepay.com/faq/api/notification-url/#get-vs-post-notification) by default 557 558 ### Fixed 559 + PLGWOOS-704: Log errors in the MultiSafepay log file, when processing notifications. 560 561 = Release Notes - WooCommerce 4.6.0 (May 19th, 2021) = 562 563 ### Added 564 + PLGWOOS-625: Add log section in MultiSafepay settings page 565 + PLGWOOS-666: Add MultiSafepay system status section in settings page 566 + PLGWOOS-376: Add support to show upgrade notices in plugin list 567 + PLGWOOS-657: Add nl_BE language 568 569 ### Fixed 570 + PLGWOOS-694: Fix notification for orders fully paid with gift cards 571 + PLGWOOS-692: Fix Second Chance within the orderRequest object 572 + PLGWOOS-654: Fix the gateway_id assigned to the properties of each token 573 574 = Release Notes - WooCommerce 4.5.1 (Apr 7th, 2021) = 575 576 ### Fixed 577 + PLGWOOS-661: Fix payment methods ids to match list of gateway lists keys, which was producing an error to process notification for Sofort payments 578 + PLGWOOS-663: Fix stock decreasing error, in relation with Bank Transfer gateway and notification flows 579 580 = Release Notes - WooCommerce 4.5.0 (Mar 31st, 2021) = 581 582 ### Fixed 583 + PLGWOOS-659: Fix initialization of the plugin on multisite environments in which WooCommerce has been activated network wide 584 585 ### Added 586 + PLGWOOS-534: Add generic gateway 587 588 = Release Notes - WooCommerce 4.4.1 (Mar 25th, 2021) = 589 590 ### Fixed 591 + PLGWOOS-653: Fix overwriting initial order status when transaction is initialized 592 593 = Release Notes - WooCommerce 4.4.0 (Mar 23rd, 2021) = 594 595 ### Fixed 596 + PLGWOOS-648: Return 0 as tax rate, if WooCommerce taxes are disabled but tax rules are registered 597 + PLGWOOS-647: Add verification to check if the token used in the transaction belongs to the customer 598 599 ### Added 600 + PLGWOOS-651: Add setting to select type of transaction in SEPA Direct Debit, E-Invoicing, in3, Santander Consumer Finance, AfterPay and iDEAL 601 + PLGWOOS-644: Add setting to select type of transaction in Pay After Delivery 602 + PLGWOOS-640: Add setting to select type of transaction in Bank Transfer 603 604 = Release Notes - WooCommerce 4.3.0 (Mar 18th, 2021) = 605 606 ### Fixed 607 + PLGWOOS-626: Fix order not being cancelled when customer cancels the order 608 + PLGWOOS-630: Fix include shipping item in full refund of billing suite payment methods 609 610 ### Added 611 + PLGWOOS-629: Add shipping item to the order request, even if this one is free 612 + PLGWOOS-631: Add delivery address in order request even if the shipping amount is 0 613 + PLGWOOS-634: Add settings field to redirect to check out page or cart page on cancelling the order 614 + PLGWOOS-635: Add suggestion to set default initial order status for bank transfer to wc-on-hold 615 + PLGWOOS-636: Add notification endpoint from version 3.8.0 to process deprecated notifications 616 617 ### Changed 618 + PLGWOOS-622: Change notification url for all payment methods to a single notification url 619 620 = Release Notes - WooCommerce 4.2.2 (Mar 16th, 2021) = 621 622 ### Fixed 623 + PLGWOOS-632: Fix undefined method get_the_user_ip 624 + PLGWOOS-621: Fix division by zero when fee price is 0 625 626 = Release Notes - WooCommerce 4.2.1 (Mar 11th, 2021) = 627 628 ### Fixed 629 + PLGWOOS-613: Fix error related with multiple forwarded IPs by updating the PHP-SDK to 5.0.1 630 631 ### Added 632 + PLGWOOS-398: Add support to change the data in the OrderRequest using WordPress filters 633 634 ### Changed 635 + PLGWOOS-614: Avoid changing order status if transaction is partially refunded 636 637 = Release Notes - WooCommerce 4.2.0 (Mar 9th, 2021) = 638 639 ### Changed 640 + PLGWOOS-602: Move invoice and shipped settings field from order status tab to options tab 641 + PLGWOOS-602: Remove completed status from order status tab in settings page 642 + PLGWOOS-601: Change default status for declined transactions from wc-cancelled to wc-failed 643 644 ### Fixed 645 + PLGWOOS-599: Fix typo in string message when payment method changes 646 + PLGWOOS-598: Replace hardcoded url using plugins_url function 647 + PLGWOOS-605: Fix description of country filter field 648 649 ### Added 650 + PLGWOOS-603: Add setting field for custom order description 651 + PLGWOOS-604: Add forwarded IP to the CustomerDetails object 652 + PLGWOOS-597: Support for orders with is_vat_exempt 653 + PLGWOOS-606: Add chargeback transaction status in plugin settings 654 655 = Release Notes - WooCommerce 4.1.8 (Mar 5th, 2021) = 656 657 ### Changed 658 + PLGWOOS-593: Register PSP ID in WooCommerce order using order complete payment method 659 + PLGWOOS-593: Change notification method on completed status to use $order->complete_payment() 660 661 ### Fixed 662 + PLGWOOS-594: Fix Credit Card payment method form, to show description if customer is not logged in 663 664 = Release Notes - WooCommerce 4.1.7 (Mar 3rd, 2021) = 665 666 ### Changed 667 + PLGWOOS-579: Remove warning message on validation, when enabling CREDITCARD gateway 668 669 ### Fixed 670 + PLGWOOS-584: Fix conflict with third party plugins related with Discovery exception 671 + PLGWOOS-585: Set MultiSafepay transaction as shipped or invoiced using order number instead of order id 672 673 = Release Notes - WooCommerce 4.1.6 (Mar 2nd, 2021) = 674 675 ### Added 676 + PLGWOOS-574: Add locale support 677 678 ### Changed 679 + PLGWOOS-575: Change settings page capability requirement from manage_options to manage_woocommerce 680 681 ### Fixed 682 + PLGWOOS-580: Show credit card payment method description in checkout 683 + PLGWOOS-569: Remove class that trigger validation styles for ideal select in checkout page 684 685 686 = Release Notes - WooCommerce 4.1.5 (Feb 24th, 2021) = 687 688 ### Fixed 689 + PLGWOOS-552: Fix product item price with discounts introduced by third party plugins (#252) 690 691 692 = Release Notes - WooCommerce 4.1.4 (Feb 23rd, 2021) = 693 694 ### Fixed 695 + PLGWOOS-563: Remove some nonce validations to support custom checkouts forms (#249) 696 + PLGWOOS-550: Typecast cart item quantity to int to avoid errors in the PHP-SDK (#248) 697 698 ### Changed 699 + PLGWOOS-556: Change composer dependencies to avoid conflicts with other plugins (#247) 700 + PLGWOOS-562: Add fallback for in3, in case no fields is filled in checkout, convert the transaction to redirect type (#250) 701 702 703 = Release Notes - WooCommerce 4.1.3 (Feb 21st, 2021) = 704 705 ### Fixed 706 + PLGWOOS-549: Support custom order numbers generated by third party plugins in notification method 707 + PLGWOOS-551: Resize logo if theme used by merchant do not support WooCommerce 708 709 710 = Release Notes - WooCommerce 4.1.2 (Feb 19th, 2021) = 711 712 ### Fixed 713 + PLGWOOS-548: Fix iDEAL gateway if no issuer selected in checkout 714 715 716 = Release Notes - WooCommerce 4.1.1 (Feb 18th, 2021) = 717 718 ### Changed 719 + PLGWOOS-545: Remove API Key validation 720 721 722 = Release Notes - WooCommerce 4.1.0 (Feb 17th, 2021) = 723 724 ### Added 725 + PLGWOOS-512: Add support for tokenization. 726 + PLGWOOS-521: Change order status on callback even if merchant did not save the settings, using defaults. 727 + PLGWOOS-530: Process notification, even when the payment method returned by MultiSafepay is not registered as WooCommerce gateway. 728 + PLGWOOS-531: Avoid process refund if amount submitted in backend is 0 729 730 ### Fixed 731 + PLGWOOS-535: Fix bug min_amount filter 732 + PLGWOOS-536: Fix instructions in multi select country field 733 + PLGWOOS-518: Fix protocol of notification URL 734 + PLGWOOS-526: Fix typo error in AfterPay payment method title 735 + PLGWOOS-523: Fix type of transaction to redirect for Dotpay payment method 736 737 ### Changed 738 + PLGWOOS-519: Improvement for coupons support in ShoppingCart. 739 + PLGWOOS-528: Refactor gender and salutation fields to process different validation messages 740 + PLGWOOS-503: Move debug mode field to options section 741 742 ### Removed 743 + PLGWOOS-525: Remove validation in backend for MultiSafepay payment method 744 + PLGWOOS-516: Avoid initialize the plugin if WooCommerce is not active 745 746 747 = Release Notes - WooCommerce 4.0.0 (internal release) (Feb 12th, 2021) = 748 749 ### Added 750 + Complete rewrite of the plugin 751 + Full and partial refunds for non billing suite payment methods 752 + Full refunds for billing suite payment methods 753 + Set MultiSafepay transactions as shipped when order reach the defined status in settings 754 + Set MultiSafepay transaction as invoiced when order reach the defined status in settings 755 + Filter payment methods by country 756 + Filter payment methods by maximum amount of order 757 + Filter payment methods by minimum amount of order 758 + Custom initialized status for each payment method 759 + Validations in backend settings fields 760 + Support for compound taxes 761 762 ### Changed 763 + PLGWOOS-410: Refactor plugin using the [PHP-SDK](https://github.com/MultiSafepay/php-sdk) 764 765 ### Removed 766 + Remove FastCheckout 348 349 = Release Notes - MultiSafepay 6.0.0 (Oct 4th, 2023) = 350 351 ### Added 352 + PLGWOOS-803: Add support to register the payment methods dynamically, via API request. 353 + PLGWOOS-859: Trigger checkout validations of the fields related to the payment component on checkout submission. 354 + PLGWOOS-857: Add support for partial refunds for [BNPL payment methods](https://docs.multisafepay.com/docs/bnpl) -
multisafepay/trunk/src/PaymentMethods/Base/BasePaymentMethod.php
r3393028 r3464988 465 465 */ 466 466 private function is_woocommerce_checkout_block_active(): bool { 467 return WC_Blocks_Utils::has_block_in_page( wc_get_page_id( 'checkout' ), 'woocommerce/checkout' ); 467 $checkout_page_id = wc_get_page_id( 'checkout' ); 468 $checkout_page = get_post( $checkout_page_id ); 469 $has_block = WC_Blocks_Utils::has_block_in_page( $checkout_page_id, 'woocommerce/checkout' ); 470 471 // Fallback: WC_Blocks_Utils::has_block_in_page() doesn't detect nested blocks (e.g., inside columns). 472 // If not detected, check directly in post content. 473 if ( ! $has_block && $checkout_page ) { 474 $has_block = strpos( $checkout_page->post_content, 'wp:woocommerce/checkout' ) !== false; 475 } 476 477 return $has_block; 468 478 } 469 479 -
multisafepay/trunk/src/PaymentMethods/Base/BasePaymentMethodBlocks.php
r3393028 r3464988 118 118 public function get_payment_method_data(): array { 119 119 $payment_methods_data = array(); 120 $show_icons = (bool) get_option( 'multisafepay_checkout_block_payment_icons', false ); 120 121 foreach ( $this->gateways as $gateway ) { 121 122 $payment_methods_data[] = array( … … 123 124 'title' => $gateway->get_title(), 124 125 'description' => $gateway->get_description(), 126 'icon' => $show_icons ? $gateway->get_payment_method_icon() : '', 125 127 'is_admin' => is_admin(), 126 128 ); -
multisafepay/trunk/src/PaymentMethods/PaymentMethodsController.php
r3393028 r3464988 16 16 use MultiSafepay\WooCommerce\Utils\Logger; 17 17 use MultiSafepay\WooCommerce\Utils\Order as OrderUtil; 18 use MultiSafepay\WooCommerce\Utils\RestResponseBuilder; 18 19 use Psr\Http\Client\ClientExceptionInterface; 19 20 use WC_Data_Exception; 20 21 use WC_Order; 21 22 use WP_REST_Request; 23 use WP_REST_Response; 22 24 23 25 /** … … 205 207 * 206 208 * @param WP_REST_Request $request 207 * @return void209 * @return WP_REST_Response 208 210 * @throws WC_Data_Exception 209 211 */ 210 public function process_post_notification( WP_REST_Request $request ): void{212 public function process_post_notification( WP_REST_Request $request ): WP_REST_Response { 211 213 $transactionid = $request->get_param( 'transactionid' ); 212 214 213 215 if ( ! $request->sanitize_params() ) { 214 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but could not be sanitized' ); 215 header( 'Content-type: text/plain' ); 216 die( 'OK' ); 216 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but could not be sanitized' ); 217 return RestResponseBuilder::build_response(); 217 218 } 218 219 219 220 $payload_type = $request->get_param( 'payload_type' ) ?? ''; 220 221 if ( 'pretransaction' === $payload_type ) { 221 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 222 header( 'Content-type: text/plain' ); 223 die( 'OK' ); 224 } 225 226 $auth = $request->get_header( 'auth' ); 227 $body = $request->get_body(); 228 $api_key = ( new SdkService() )->get_api_key(); 222 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 223 return RestResponseBuilder::build_response(); 224 } 225 226 $auth = (string) ( $request->get_header( 'auth' ) ?? '' ); 227 $body = $request->get_body(); 228 $api_key = ( new SdkService() )->get_api_key(); 229 230 if ( '' === $auth ) { 231 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but auth header is missing' ); 232 return RestResponseBuilder::build_response(); 233 } 234 229 235 $verify_notification = Notification::verifyNotification( $body, $auth, $api_key ); 230 236 231 237 if ( ! $verify_notification ) { 232 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is not validated' ); 233 header( 'Content-type: text/plain' ); 234 die( 'OK' ); 238 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is not validated' ); 239 return RestResponseBuilder::build_response(); 235 240 } 236 241 … … 245 250 $multisafepay_transaction = new TransactionResponse( $request->get_json_params(), $body ); 246 251 ( new PaymentMethodCallback( (string) $transactionid, $multisafepay_transaction ) )->process_callback(); 252 253 return RestResponseBuilder::build_response(); 247 254 } 248 255 -
multisafepay/trunk/src/Services/Qr/QrPaymentWebhook.php
r3269746 r3464988 13 13 use MultiSafepay\WooCommerce\Utils\Logger; 14 14 use MultiSafepay\WooCommerce\Utils\Order; 15 use MultiSafepay\WooCommerce\Utils\RestResponseBuilder; 15 16 use WC_Data_Exception; 16 17 use WC_Order; 17 18 use WP_REST_Request; 19 use WP_REST_Response; 18 20 19 21 /** … … 40 42 * 41 43 * @param TransactionResponse $multisafepay_transaction 42 * @return void43 */ 44 public function create_woocommerce_order( TransactionResponse $multisafepay_transaction ): void{44 * @return WP_REST_Response 45 */ 46 public function create_woocommerce_order( TransactionResponse $multisafepay_transaction ): WP_REST_Response { 45 47 $multisafepay_order_id = $multisafepay_transaction->getOrderId(); 46 48 … … 49 51 if ( empty( $checkout_data ) ) { 50 52 $this->logger->log_error( 'Could not create order for order id ' . $multisafepay_order_id . ' because checkout data is empty' ); 51 return ;53 return RestResponseBuilder::build_response(); 52 54 } 53 55 … … 133 135 } 134 136 135 header( 'Content-type: text/plain' ); 136 die( 'OK' ); 137 return RestResponseBuilder::build_response(); 137 138 138 139 } catch ( Exception | WC_Data_Exception $exception ) { 139 140 $this->logger->log_error( 'Something went wrong when creating WooCommerce order for MultiSafepay order id ' . $multisafepay_order_id . ' with message: ' . $exception->getMessage() ); 140 141 141 header( 'Content-type: text/plain' ); 142 die( 'OK' ); 142 return RestResponseBuilder::build_response(); 143 143 } 144 144 } … … 233 233 /** 234 234 * @param WP_REST_Request $request 235 * @return void236 */ 237 public function process_webhook( WP_REST_Request $request ): void{235 * @return WP_REST_Response 236 */ 237 public function process_webhook( WP_REST_Request $request ): WP_REST_Response { 238 238 if ( ! ( new PaymentMethodService() )->is_any_woocommerce_payment_gateway_with_payment_component_qr_enabled() ) { 239 239 $this->logger->log_error( 'Payment component QR is not enabled' ); 240 header( 'Content-type: text/plain' ); 241 die( 'OK' ); 240 return RestResponseBuilder::build_response(); 242 241 } 243 242 244 243 try { 245 244 $multisafepay_transaction = $this->validate_webhook_request( $request ); 246 $this->create_woocommerce_order( $multisafepay_transaction ); 245 if ( ! $multisafepay_transaction ) { 246 return RestResponseBuilder::build_response(); 247 } 248 return $this->create_woocommerce_order( $multisafepay_transaction ); 247 249 } catch ( Exception | InvalidArgumentException $exception ) { 248 250 $this->logger->log_error( 'Something went wrong when processing webhook for transaction id ' . ( $request->get_param( 'transactionid' ) ?? 'unknown' ) . ' with message: ' . $exception->getMessage() ); 249 header( 'Content-type: text/plain' ); 250 die( 'OK' ); 251 return RestResponseBuilder::build_response(); 251 252 } 252 253 } … … 263 264 264 265 if ( ! $request->sanitize_params() ) { 265 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but could not be sanitized' ); 266 header( 'Content-type: text/plain' ); 267 die( 'OK' ); 266 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but could not be sanitized' ); 267 return null; 268 268 } 269 269 … … 271 271 272 272 if ( 'pretransaction' === $payload_type ) { 273 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 274 header( 'Content-type: text/plain' ); 275 die( 'OK' ); 276 } 277 278 $auth = $request->get_header( 'auth' ); 279 $body = $request->get_body(); 280 $api_key = ( new SdkService() )->get_api_key(); 273 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is going to be ignored, because is pretransaction type' ); 274 return null; 275 } 276 277 $auth = (string) ( $request->get_header( 'auth' ) ?? '' ); 278 $body = $request->get_body(); 279 $api_key = ( new SdkService() )->get_api_key(); 280 281 if ( '' === $auth ) { 282 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but auth header is missing' ); 283 return null; 284 } 285 281 286 $verify_notification = Notification::verifyNotification( $body, $auth, $api_key ); 282 287 283 288 if ( ! $verify_notification ) { 284 $this->logger->log_info( 'Notification for transactionid . ' . $transactionid . ' has been received but is not validated' ); 285 header( 'Content-type: text/plain' ); 286 die( 'OK' ); 289 $this->logger->log_info( 'Notification for transactionid ' . $transactionid . ' has been received but is not validated' ); 290 return null; 287 291 } 288 292 … … 298 302 299 303 if ( Transaction::COMPLETED !== $multisafepay_transaction->getStatus() ) { 300 header( 'Content-type: text/plain' ); 301 die( 'OK' ); 304 return null; 302 305 } 303 306 … … 309 312 * 310 313 * @param WP_REST_Request $request 311 * @return void312 */ 313 public function process_balancer( WP_REST_Request $request ): void{314 * @return WP_REST_Response 315 */ 316 public function process_balancer( WP_REST_Request $request ): WP_REST_Response { 314 317 $order_id = sanitize_text_field( wp_unslash( $request->get_param( 'transactionid' ) ?? '' ) ); 315 318 316 319 if ( ! $request->sanitize_params() ) { 317 $this->logger->log_info( 'Notification for transactionid . ' . $order_id . ' has been received but could not be sanitized' ); 318 wp_safe_redirect( wc_get_cart_url(), 302 ); 319 exit; 320 $this->logger->log_info( 'Notification for transactionid ' . $order_id . ' has been received but could not be sanitized' ); 321 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 320 322 } 321 323 322 324 if ( empty( $order_id ) ) { 323 325 $this->logger->log_info( 'Request received without transaction ID' ); 324 wp_safe_redirect( wc_get_cart_url(), 302 ); 325 exit; 326 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 326 327 } 327 328 328 329 if ( ! ( new PaymentMethodService() )->is_any_woocommerce_payment_gateway_with_payment_component_qr_enabled() ) { 329 330 $this->logger->log_error( 'Payment component QR is not enabled' ); 330 wp_safe_redirect( wc_get_cart_url(), 302 ); 331 exit(); 331 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 332 332 } 333 333 … … 337 337 if ( $token !== $expected_token ) { 338 338 $this->logger->log_warning( 'Invalid token for transaction: ' . $order_id ); 339 wp_safe_redirect( wc_get_cart_url(), 302 ); 340 exit; 339 return RestResponseBuilder::build_response( 302, null, array( 'Location' => wc_get_cart_url() ) ); 341 340 } 342 341 } … … 353 352 $woocommerce_order = wc_get_order( $woocommerce_order_id ); 354 353 355 wp_safe_redirect( $woocommerce_order->get_checkout_order_received_url(), 302 ); 356 exit; 354 return RestResponseBuilder::build_response( 302, null, array( 'Location' => $woocommerce_order->get_checkout_order_received_url() ) ); 357 355 } 358 356 … … 361 359 wc_get_checkout_url(); 362 360 363 wp_safe_redirect( $redirect_url, 302 ); 364 exit; 361 return RestResponseBuilder::build_response( 302, null, array( 'Location' => $redirect_url ) ); 365 362 } 366 363 -
multisafepay/trunk/src/Settings/SettingsFields.php
r3182242 r3464988 89 89 'fields' => array( 90 90 array( 91 'id' => 'multisafepay_debugmode', 92 'label' => __( 'Debug Mode', 'multisafepay' ), 93 'description' => 'Is recommended to keep debug mode disabled in live environment', 94 'type' => 'checkbox', 95 'default' => false, 96 'placeholder' => __( 'Debug Mode', 'multisafepay' ), 97 'tooltip' => __( 'Logs additional information to the system log', 'multisafepay' ), 98 'callback' => '', 99 'setting_type' => 'boolean', 100 'sort_order' => 1, 101 ), 102 array( 91 103 'id' => 'multisafepay_group_credit_cards', 92 104 'label' => __( 'Group debit and credit cards', 'multisafepay' ), 93 'description' => __( 'If is enabled, payment methods classified as debit and credit cards (Amex, Maestro, Mastercard, and Visa) will shown grouped as a single payment method', 'multisafepay' ),105 'description' => __( 'If is enabled, payment methods classified as debit and credit cards (Amex, Maestro, Mastercard, and Visa) will be shown grouped as a single payment method', 'multisafepay' ), 94 106 'type' => 'checkbox', 95 107 'default' => (bool) get_option( … … 102 114 'setting_type' => 'boolean', 103 115 'sort_order' => 3, 104 ),105 array(106 'id' => 'multisafepay_debugmode',107 'label' => __( 'Debug Mode', 'multisafepay' ),108 'description' => 'Is recommended to keep debug mode disabled in live environment',109 'type' => 'checkbox',110 'default' => false,111 'placeholder' => __( 'Debug Mode', 'multisafepay' ),112 'tooltip' => __( 'Logs additional information to the system log', 'multisafepay' ),113 'callback' => '',114 'setting_type' => 'boolean',115 'sort_order' => 1,116 ),117 array(118 'id' => 'multisafepay_disable_shopping_cart',119 'label' => __( 'Disable Shopping Cart on the MultiSafepay payment page', 'multisafepay' ),120 'description' => 'Enable this option to hide the cart items on the MultiSafepay payment page, leaving only the total order amount. Note: This behavior won\'t be adopted by the the payment methods which require shopping cart like Riverty, E-Invoicing, in3, Klarna and Pay After Delivery.',121 'type' => 'checkbox',122 'default' => false,123 'placeholder' => __( 'Disable Shopping Cart', 'multisafepay' ),124 'tooltip' => '',125 'callback' => '',126 'setting_type' => 'boolean',127 'sort_order' => 100,128 116 ), 129 117 array( … … 241 229 ), 242 230 array( 243 'id' => 'multisafepay_time_unit',244 'label' => __( 'Unit lifetime of payment link', 'multisafepay' ),245 'description' => __( 'The lifetime of a payment link by default is 30 days. This means that the customer has 30 days to complete the transaction using the payment link', 'multisafepay' ),246 'type' => 'select',247 'options' => array(248 'days' => __( 'Days', 'multisafepay' ),249 'hours' => __( 'Hours', 'multisafepay' ),250 'seconds' => __( 'Seconds', 'multisafepay' ),251 ),252 'default' => 'days',253 'placeholder' => __( 'Unit lifetime of payment link', 'multisafepay' ),254 'tooltip' => '',255 'callback' => '',256 'setting_type' => 'string',257 'sort_order' => 40,258 ),259 array(260 231 'id' => 'multisafepay_payment_component_template_id', 261 232 'label' => __( 'Payment Component Template ID', 'multisafepay' ), … … 268 239 'setting_type' => 'string', 269 240 'sort_order' => 55, 241 ), 242 array( 243 'id' => 'multisafepay_checkout_block_payment_icons', 244 'label' => __( 'Show Payment Icons in WooCommerce Checkout Block', 'multisafepay' ), 245 'description' => __( 'Enable this option to show payment icons on the Checkout Block', 'multisafepay' ), 246 'type' => 'checkbox', 247 'default' => false, 248 'placeholder' => __( 'Show Payment Icons in WooCommerce Checkout Block', 'multisafepay' ), 249 'tooltip' => '', 250 'callback' => '', 251 'setting_type' => 'boolean', 252 'sort_order' => 60, 253 ), 254 array( 255 'id' => 'multisafepay_disable_shopping_cart', 256 'label' => __( 'Disable Shopping Cart on the MultiSafepay payment page', 'multisafepay' ), 257 'description' => __( 'Enable this option to hide the cart items on the MultiSafepay payment page, leaving only the total order amount. Note: This behavior won\'t be adopted by the the payment methods which require shopping cart like Riverty, E-Invoicing, in3, Klarna and Pay After Delivery.', 'multisafepay' ), 258 'type' => 'checkbox', 259 'default' => false, 260 'placeholder' => __( 'Disable Shopping Cart', 'multisafepay' ), 261 'tooltip' => '', 262 'callback' => '', 263 'setting_type' => 'boolean', 264 'sort_order' => 80, 270 265 ), 271 266 ), -
multisafepay/trunk/vendor/autoload.php
r3393028 r3464988 20 20 require_once __DIR__ . '/composer/autoload_real.php'; 21 21 22 return ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb::getLoader();22 return ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02::getLoader(); -
multisafepay/trunk/vendor/composer/autoload_real.php
r3393028 r3464988 3 3 // autoload_real.php @generated by Composer 4 4 5 class ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb5 class ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02 6 6 { 7 7 private static $loader; … … 25 25 require __DIR__ . '/platform_check.php'; 26 26 27 spl_autoload_register(array('ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb', 'loadClassLoader'), true, true);27 spl_autoload_register(array('ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02', 'loadClassLoader'), true, true); 28 28 self::$loader = $loader = new \Composer\Autoload\ClassLoader(\dirname(__DIR__)); 29 spl_autoload_unregister(array('ComposerAutoloaderInit 431ee68f29f658207118bb5cd3435acb', 'loadClassLoader'));29 spl_autoload_unregister(array('ComposerAutoloaderInit28e45a30c0d551a1bda1a2bce6e79c02', 'loadClassLoader')); 30 30 31 31 require __DIR__ . '/autoload_static.php'; 32 call_user_func(\Composer\Autoload\ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::getInitializer($loader));32 call_user_func(\Composer\Autoload\ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::getInitializer($loader)); 33 33 34 34 $loader->register(true); -
multisafepay/trunk/vendor/composer/autoload_static.php
r3393028 r3464988 5 5 namespace Composer\Autoload; 6 6 7 class ComposerStaticInit 431ee68f29f658207118bb5cd3435acb7 class ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02 8 8 { 9 9 public static $prefixLengthsPsr4 = array ( 10 'P' => 10 'P' => 11 11 array ( 12 12 'Psr\\Http\\Message\\' => 17, 13 13 'Psr\\Http\\Client\\' => 16, 14 14 ), 15 'N' => 15 'N' => 16 16 array ( 17 17 'Nyholm\\Psr7\\' => 12, 18 18 ), 19 'M' => 19 'M' => 20 20 array ( 21 21 'MultiSafepay\\WooCommerce\\' => 25, 22 22 'MultiSafepay\\' => 13, 23 23 ), 24 'H' => 24 'H' => 25 25 array ( 26 26 'Http\\Discovery\\' => 15, … … 29 29 30 30 public static $prefixDirsPsr4 = array ( 31 'Psr\\Http\\Message\\' => 31 'Psr\\Http\\Message\\' => 32 32 array ( 33 33 0 => __DIR__ . '/..' . '/psr/http-factory/src', 34 34 1 => __DIR__ . '/..' . '/psr/http-message/src', 35 35 ), 36 'Psr\\Http\\Client\\' => 36 'Psr\\Http\\Client\\' => 37 37 array ( 38 38 0 => __DIR__ . '/..' . '/psr/http-client/src', 39 39 ), 40 'Nyholm\\Psr7\\' => 40 'Nyholm\\Psr7\\' => 41 41 array ( 42 42 0 => __DIR__ . '/..' . '/nyholm/psr7/src', 43 43 ), 44 'MultiSafepay\\WooCommerce\\' => 44 'MultiSafepay\\WooCommerce\\' => 45 45 array ( 46 46 0 => __DIR__ . '/../..' . '/src', 47 47 ), 48 'MultiSafepay\\' => 48 'MultiSafepay\\' => 49 49 array ( 50 50 0 => __DIR__ . '/..' . '/multisafepay/php-sdk/src', 51 51 ), 52 'Http\\Discovery\\' => 52 'Http\\Discovery\\' => 53 53 array ( 54 54 0 => __DIR__ . '/..' . '/php-http/discovery/src', … … 63 63 { 64 64 return \Closure::bind(function () use ($loader) { 65 $loader->prefixLengthsPsr4 = ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::$prefixLengthsPsr4;66 $loader->prefixDirsPsr4 = ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::$prefixDirsPsr4;67 $loader->classMap = ComposerStaticInit 431ee68f29f658207118bb5cd3435acb::$classMap;65 $loader->prefixLengthsPsr4 = ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::$prefixLengthsPsr4; 66 $loader->prefixDirsPsr4 = ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::$prefixDirsPsr4; 67 $loader->classMap = ComposerStaticInit28e45a30c0d551a1bda1a2bce6e79c02::$classMap; 68 68 69 69 }, null, ClassLoader::class); -
multisafepay/trunk/vendor/composer/installed.json
r3393028 r3464988 3 3 { 4 4 "name": "multisafepay/php-sdk", 5 "version": "5. 18.0",6 "version_normalized": "5. 18.0.0",5 "version": "5.20.0", 6 "version_normalized": "5.20.0.0", 7 7 "source": { 8 8 "type": "git", 9 9 "url": "https://github.com/MultiSafepay/php-sdk.git", 10 "reference": " 837555d3d4699761ab34387605b192be5421ed63"11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/MultiSafepay/php-sdk/zipball/ 837555d3d4699761ab34387605b192be5421ed63",15 "reference": " 837555d3d4699761ab34387605b192be5421ed63",10 "reference": "a83adfae608a97f584c8812eb03983d7f8fb2271" 11 }, 12 "dist": { 13 "type": "zip", 14 "url": "https://api.github.com/repos/MultiSafepay/php-sdk/zipball/a83adfae608a97f584c8812eb03983d7f8fb2271", 15 "reference": "a83adfae608a97f584c8812eb03983d7f8fb2271", 16 16 "shasum": "" 17 17 }, … … 33 33 "php-http/mock-client": "^1.3", 34 34 "phpstan/phpstan": "^1.8", 35 "phpunit/phpunit": "^ 9.0 || ^7.5"35 "phpunit/phpunit": "^8.5 || ^9.0" 36 36 }, 37 37 "suggest": { 38 38 "jschaedl/iban-validation": "Adds additional IBAN validation for \\MultiSafepay\\ValueObject\\IbanNumber" 39 39 }, 40 "time": "202 5-10-15T10:31:17+00:00",40 "time": "2026-02-18T07:51:14+00:00", 41 41 "type": "library", 42 42 "installation-source": "dist", … … 53 53 "support": { 54 54 "issues": "https://github.com/MultiSafepay/php-sdk/issues", 55 "source": "https://github.com/MultiSafepay/php-sdk/tree/5. 18.0"55 "source": "https://github.com/MultiSafepay/php-sdk/tree/5.20.0" 56 56 }, 57 57 "install-path": "../multisafepay/php-sdk" -
multisafepay/trunk/vendor/composer/installed.php
r3393028 r3464988 2 2 'root' => array( 3 3 'name' => 'multisafepay/woocommerce', 4 'pretty_version' => '6.1 0.0',5 'version' => '6.1 0.0.0',4 'pretty_version' => '6.11.0', 5 'version' => '6.11.0.0', 6 6 'reference' => null, 7 7 'type' => 'wordpress-plugin', … … 12 12 'versions' => array( 13 13 'multisafepay/php-sdk' => array( 14 'pretty_version' => '5. 18.0',15 'version' => '5. 18.0.0',16 'reference' => ' 837555d3d4699761ab34387605b192be5421ed63',14 'pretty_version' => '5.20.0', 15 'version' => '5.20.0.0', 16 'reference' => 'a83adfae608a97f584c8812eb03983d7f8fb2271', 17 17 'type' => 'library', 18 18 'install_path' => __DIR__ . '/../multisafepay/php-sdk', … … 21 21 ), 22 22 'multisafepay/woocommerce' => array( 23 'pretty_version' => '6.1 0.0',24 'version' => '6.1 0.0.0',23 'pretty_version' => '6.11.0', 24 'version' => '6.11.0.0', 25 25 'reference' => null, 26 26 'type' => 'wordpress-plugin', -
multisafepay/trunk/vendor/multisafepay/php-sdk/CHANGELOG.md
r3393028 r3464988 6 6 7 7 ## [Unreleased] 8 9 ## [5.20.0] - 2026-02-18 10 ### Added 11 - PLGWOOS-1025: PHP SDK support for terminal endpoints 12 - PLGMAG2V2-886: Encode parameters 13 14 ## [5.19.0] - 2026-01-15 15 ### Added 16 - PLGMAG2V2-881: Add a method to easily retrieve the payment_options from the OrderRequest 17 - PHPSDK-184: Add the PaymentData object to an OrderRequest, thanks to @firstred 18 - PHPSDK-185: Add all the properties of a CaptureRequest, thanks to @firstred 19 - PHPSDK-186: Add the capture property to an OrderRequest, thanks to @firstred 20 - PHPSDK-68: Add a cleaner function for checking order status completed 21 22 ### Fixed 23 - PHPSDK-69: Fix type error when trying to retrieve shopping cart from TransactionResponse that does not have it 8 24 9 25 ## [5.18.0] - 2025-10-15 -
multisafepay/trunk/vendor/multisafepay/php-sdk/USAGE.md
r3230524 r3464988 396 396 ``` 397 397 398 ### List terminals 399 List all POS terminals bound to a MultiSafepay account. 400 401 Authentication for this endpoint requires a **Merchant Account API Key**. Note: according to the public API documentation, this endpoint is not available in the TEST environment. 402 More information at our [Documentation Center](https://docs.multisafepay.com/reference/listterminals). 403 ```php 404 $yourMerchantAccountApiKey = 'your-merchant-account-api-key'; 405 $isProduction = true; 406 $multiSafepaySdk = new \MultiSafepay\Sdk($yourMerchantAccountApiKey, $isProduction); 407 408 $options = [ 409 'page' => 1, 410 'limit' => 50, 411 ]; 412 413 $terminalListing = $multiSafepaySdk->getTerminalManager()->getTerminals($options); 414 $terminals = $terminalListing->getTerminals(); 415 416 $pager = $terminalListing->getPager(); // If pagination is needed, this Pager object can be used 417 ``` 418 419 ### List terminals by group 420 Filter POS devices bound to a MultiSafepay account using a `terminal_group_id`. 421 422 Authentication for this endpoint requires a **Merchant Account API Key**. Note: according to the public API documentation, this endpoint is not available in the TEST environment. 423 More information at our [Documentation Center](https://docs.multisafepay.com/reference/listterminalsbygroup). 424 ```php 425 $yourMerchantAccountApiKey = 'your-merchant-account-api-key'; 426 $isProduction = true; 427 $multiSafepaySdk = new \MultiSafepay\Sdk($yourMerchantAccountApiKey, $isProduction); 428 429 $terminalGroupId = 'your-terminal-group-id'; 430 $options = [ 431 'page' => 1, 432 'limit' => 50, 433 ]; 434 435 $terminalListing = $multiSafepaySdk->getTerminalManager()->getTerminalsByGroup($terminalGroupId, $options); 436 $terminals = $terminalListing->getTerminals(); 437 438 $pager = $terminalListing->getPager(); // If pagination is needed, this Pager object can be used 439 ``` 440 398 441 ### Pushing a payment request to a Smart POS device 399 442 ```php -
multisafepay/trunk/vendor/multisafepay/php-sdk/composer.json
r3393028 r3464988 4 4 "type": "library", 5 5 "license": "OSL-3.0", 6 "version": "5. 18.0",6 "version": "5.20.0", 7 7 "require": { 8 8 "php": "^7.2|^8.0", … … 14 14 }, 15 15 "require-dev": { 16 "phpunit/phpunit": "^ 9.0 || ^7.5",16 "phpunit/phpunit": "^8.5 || ^9.0", 17 17 "guzzlehttp/guzzle": "^7.0", 18 18 "http-interop/http-factory-guzzle": "^1.0", -
multisafepay/trunk/vendor/multisafepay/php-sdk/src/Api/TransactionManager.php
r3230524 r3464988 18 18 use MultiSafepay\Exception\ApiException; 19 19 use MultiSafepay\Exception\InvalidArgumentException; 20 use MultiSafepay\Util\Encode; 20 21 use Psr\Http\Client\ClientExceptionInterface; 21 22 … … 64 65 public function get(string $orderId): Transaction 65 66 { 66 $endpoint = 'json/orders/' . $orderId; 67 $context = ['order_id' => $orderId]; 67 $encodedOrderId = Encode::encode($orderId); 68 $endpoint = 'json/orders/' . $encodedOrderId; 69 $context = ['order_id' => $encodedOrderId]; 68 70 $response = $this->client->createGetRequest($endpoint, [], $context); 69 71 … … 92 94 public function update(string $orderId, UpdateRequest $updateRequest): Response 93 95 { 96 $encodedOrderId = Encode::encode($orderId); 97 94 98 return $this->client->createPatchRequest( 95 'json/orders/' . $ orderId,99 'json/orders/' . $encodedOrderId, 96 100 $updateRequest, 97 101 ['request_body' => $updateRequest->getData()] … … 107 111 public function capture(string $orderId, CaptureRequest $captureRequest): Response 108 112 { 113 $encodedOrderId = Encode::encode($orderId); 114 109 115 return $this->client->createPostRequest( 110 'json/orders/' . $ orderId . '/capture',116 'json/orders/' . $encodedOrderId . '/capture', 111 117 $captureRequest, 112 118 ['request_body' => $captureRequest->getData()] … … 122 128 public function captureReservationCancel(string $orderId, CaptureRequest $captureRequest): Response 123 129 { 130 $encodedOrderId = Encode::encode($orderId); 131 124 132 return $this->client->createPatchRequest( 125 'json/capture/' . $ orderId,133 'json/capture/' . $encodedOrderId, 126 134 $captureRequest, 127 135 ['request_body' => $captureRequest->getData()] … … 139 147 public function refund(Transaction $transaction, RefundRequest $requestRefund, ?string $orderId = null): Response 140 148 { 149 $originalOrderId = $orderId ?? $transaction->getOrderId(); 150 $encodedOrderId = Encode::encode($originalOrderId); 151 141 152 return $this->client->createPostRequest( 142 'json/orders/' . ($orderId ?: $transaction->getOrderId()). '/refunds',153 'json/orders/' . $encodedOrderId . '/refunds', 143 154 $requestRefund, 144 155 ['transaction' => $transaction->getData()] -
multisafepay/trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/CaptureRequest.php
r2927749 r3464988 8 8 9 9 use MultiSafepay\Api\Base\RequestBody; 10 use MultiSafepay\ Api\Base\RequestBodyInterface;10 use MultiSafepay\ValueObject\Amount; 11 11 12 12 /** 13 * Class UpdateRequest13 * Class CaptureRequest 14 14 * @package MultiSafepay\Api\Transactions 15 15 */ … … 19 19 20 20 /** 21 * @var string 22 */ 23 private $newOrderId; 24 25 /** 26 * @var Amount 27 */ 28 private $amount; 29 30 /** 31 * @var string 32 */ 33 private $newOrderStatus; 34 35 /** 36 * @var string 37 */ 38 private $invoiceId; 39 40 /** 41 * @var string 42 */ 43 private $trackTraceCode; 44 45 /** 46 * @var string 47 */ 48 private $carrier; 49 /** 50 * @var string 51 */ 52 private $reason; 53 54 /** 55 * @var string 56 */ 57 private $description; 58 59 /** 60 * @var string 61 */ 62 private $shipDate; 63 64 /** 21 65 * @return array 22 66 */ 23 67 public function getData(): array 24 68 { 25 return $this->removeNullRecursive($this->data); 69 return $this->removeNullRecursive( 70 array_merge( 71 [ 72 'amount' => $this->amount ? $this->amount->get() : null, 73 'new_order_id' => $this->newOrderId ?: null, 74 'new_order_status' => $this->newOrderStatus ?: 'completed', 75 'invoice_id' => $this->invoiceId ?: null, 76 'tracktrace_code' => $this->trackTraceCode ?: null, 77 'carrier' => $this->carrier ?: null, 78 'reason' => $this->reason ?: null, 79 'description' => $this->description ?: null, 80 'ship_date' => $this->shipDate ?: null, 81 ], 82 $this->data 83 ) 84 ); 85 } 86 87 /** 88 * @param Amount $amount 89 * @return CaptureRequest 90 */ 91 public function addAmount(Amount $amount): CaptureRequest 92 { 93 $this->amount = $amount; 94 return $this; 95 } 96 97 /** 98 * @param string $newOrderId 99 * @return CaptureRequest 100 */ 101 public function addNewOrderId(string $newOrderId): CaptureRequest 102 { 103 $this->newOrderId = $newOrderId; 104 return $this; 105 } 106 107 /** 108 * @param string $newOrderStatus 109 * @return CaptureRequest 110 */ 111 public function addNewOrderStatus(string $newOrderStatus): CaptureRequest 112 { 113 $this->newOrderStatus = $newOrderStatus; 114 return $this; 115 } 116 117 /** 118 * @param string $invoiceId 119 * @return CaptureRequest 120 */ 121 public function addInvoiceId(string $invoiceId): CaptureRequest 122 { 123 $this->invoiceId = $invoiceId; 124 return $this; 125 } 126 127 /** 128 * @param string $trackTraceCode 129 * @return CaptureRequest 130 */ 131 public function addTrackTraceCode(string $trackTraceCode): CaptureRequest 132 { 133 $this->trackTraceCode = $trackTraceCode; 134 return $this; 135 } 136 137 /** 138 * @param string $carrier 139 * @return CaptureRequest 140 */ 141 public function addCarrier(string $carrier): CaptureRequest 142 { 143 $this->carrier = $carrier; 144 return $this; 145 } 146 147 /** 148 * @param string $reason 149 * @return CaptureRequest 150 */ 151 public function addReason(string $reason): CaptureRequest 152 { 153 $this->reason = $reason; 154 return $this; 155 } 156 157 /** 158 * @param string $description 159 * @return CaptureRequest 160 */ 161 public function addDescription(string $description): CaptureRequest 162 { 163 $this->description = $description; 164 return $this; 165 } 166 167 /** 168 * @param string $shipDate 169 * @return CaptureRequest 170 */ 171 public function addShipDate(string $shipDate): CaptureRequest 172 { 173 $this->shipDate = $shipDate; 174 return $this; 26 175 } 27 176 } -
multisafepay/trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/OrderRequest.php
r3264984 r3464988 16 16 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\GatewayInfoInterface; 17 17 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\GoogleAnalytics; 18 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\PaymentData; 18 19 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\PaymentOptions; 19 20 use MultiSafepay\Api\Transactions\OrderRequest\Arguments\PluginDetails; … … 118 119 119 120 /** 121 * @var PaymentData 122 */ 123 protected $paymentData; 124 125 /** 120 126 * @var int 121 127 */ … … 166 172 */ 167 173 private $currency; 174 175 /** 176 * @var string 177 */ 178 private $capture; 168 179 169 180 /** … … 452 463 453 464 /** 465 * Retrieve the payment_options object from the OrderRequest 466 * 467 * @return PaymentOptions|null 468 */ 469 public function getPaymentOptions(): ?PaymentOptions 470 { 471 return $this->paymentOptions; 472 } 473 474 /** 454 475 * Retrieve the checkout_options object from the OrderRequest 455 476 * … … 496 517 497 518 /** 519 * @param PaymentData $paymentData 520 * @return OrderRequest 521 */ 522 public function addPaymentData(PaymentData $paymentData): OrderRequest 523 { 524 $this->paymentData = $paymentData; 525 return $this; 526 } 527 528 /** 498 529 * @param int $seconds 499 530 * @return OrderRequest … … 577 608 { 578 609 return $this->var3; 610 } 611 612 /** 613 * @param string $capture 614 * @return OrderRequest 615 */ 616 public function addCapture(string $capture = 'manual'): OrderRequest 617 { 618 $this->capture = $capture; 619 return $this; 579 620 } 580 621 … … 621 662 'shopping_cart' => $this->shoppingCart ? $this->shoppingCart->getData() : null, 622 663 'checkout_options' => $this->checkoutOptions ? $this->checkoutOptions->getData() : null, 664 'payment_data' => $this->paymentData ? $this->paymentData->getData() : null, 623 665 'days_active' => $this->daysActive, 624 666 'seconds_active' => $this->secondsActive, … … 628 670 'var2' => $this->getVar2(), 629 671 'var3' => $this->getVar3(), 672 'capture' => $this->capture ?? null, 630 673 'affiliate' => $this->affiliate ? $this->affiliate->getData() : null, 631 674 ]; -
multisafepay/trunk/vendor/multisafepay/php-sdk/src/Api/Transactions/TransactionResponse.php
r3230524 r3464988 188 188 189 189 /** 190 * @return bool 191 */ 192 public function isCompleted(): bool 193 { 194 return $this->getStatus() === Transaction::COMPLETED; 195 } 196 197 /** 190 198 * @return string 191 199 */ … … 343 351 344 352 /** 345 * @return ShoppingCart 353 * @return ShoppingCart|null 346 354 * @throws InvalidArgumentException 347 355 */ 348 public function getShoppingCart(): ShoppingCart 349 { 350 return ShoppingCart::fromData($this->get('shopping_cart')); 356 public function getShoppingCart(): ?ShoppingCart 357 { 358 $shoppingCartData = $this->get('shopping_cart'); 359 360 if (empty($shoppingCartData)) { 361 return null; 362 } 363 364 return ShoppingCart::fromData($shoppingCartData); 351 365 } 352 366 -
multisafepay/trunk/vendor/multisafepay/php-sdk/src/Sdk.php
r3230524 r3464988 13 13 use MultiSafepay\Api\IssuerManager; 14 14 use MultiSafepay\Api\PaymentMethodManager; 15 use MultiSafepay\Api\TerminalManager; 15 16 use MultiSafepay\Api\TokenManager; 16 17 use MultiSafepay\Api\TransactionManager; … … 145 146 146 147 /** 148 * @return TerminalManager 149 */ 150 public function getTerminalManager(): TerminalManager 151 { 152 return new TerminalManager($this->client); 153 } 154 155 /** 147 156 * @return Client 148 157 */ -
multisafepay/trunk/vendor/multisafepay/php-sdk/src/Util/Version.php
r3393028 r3464988 18 18 class Version 19 19 { 20 public const SDK_VERSION = '5. 18.0';20 public const SDK_VERSION = '5.20.0'; 21 21 22 22 /**
Note: See TracChangeset
for help on using the changeset viewer.