worldpay / worldpay-magento2-cg Goto Github PK
View Code? Open in Web Editor NEWWorldpay Magento 2 Plugin for Worldpay Corporate Gateway
License: Other
Worldpay Magento 2 Plugin for Worldpay Corporate Gateway
License: Other
Order status has not changed after payment is successful --worldpay
Magento version : 2.4.1.
sapient/module-worldpay version : 2.3.5-p1220.
Please review the below error occurred while loading the checkout-payment page.
Stack trace :
[2021-05-13 10:56:06] main.CRITICAL: Report ID: webapi-609d05c686567; Message: Notice: Trying to access array offset on value of type null in /var/www/html/magentoTest/vendor/sapient/module-worldpay/Helper/Data.php on line 97 {"exception":"[object] (Exception(code: 0): Report ID: webapi-609d05c686567; Message: Notice: Trying to access array offset on value of type null in /var/www/html/magentoTest/vendor/sapient/module-worldpay/Helper/Data.php on line 97 at /var/www/html/magentoTest/vendor/magento/framework/Webapi/ErrorProcessor.php:208, Exception(code: 0): Notice: Trying to access array offset on value of type null in /var/www/html/magentoTest/vendor/sapient/module-worldpay/Helper/Data.php on line 97 at /var/www/html/magentoTest/vendor/magento/framework/App/ErrorHandler.php:61)"} []
Thank you and please let me know if you have any queries and provide solution to the same.
Best Regards.
Hi,
We are getting the below errors with the Sapient_Worldpay extension when we upgraded Magento to 2.4.4. Please assist us to fix it.
2.Fatal error: Declaration of Sapient\Worldpay\Logger\WorldpayLogger::addRecord($level, $message, array $context = []) must be compatible with
Monolog\Logger::addRecord(int $level, string $message, array $context = []): bool in D:\wamp3.2.6\www\alexandra-code\vendor\sapien
t\module-worldpay\Logger\WorldpayLogger.php on line 9
In AbstractFactory.php line 131:
Type Error occurred when creating object: Magento\Framework\Communication\Config\Data,
Magento\Framework\Reflection\TypeProcessor::resolveFullyQualifiedClassName(): Argument #2 ($typeName) must be of type string, null given, called in D:\wamp3.2.6\www\alexandra-code
\vendor\magento\framework\Reflection\TypeProcessor.php on line 550
Many thanks!
Sanju
Magento ver. 2.4.1
Browser: Chrome Version 106.0.5249.91
sapient/module-worldpay: 2.4.1-rc1220
When I complete the 3DS2 check correctly the Worldpay plugin redirects me back to the website but we could not complete the order.
While checking the logs request XML data was sent properly and got the response for that, Also notice that the extension retrieve the payment many time for completing the request but it gives the following error in response.
After 3DS2 Reqeust
Retrive pament request
According to the flow, it should redirect post-checkout page where it redirects to thank you page. It should also display the order number in the backend with the status set as SENT_FOR_AUTHORISATION.
This extension worked properly earlier, but the issue occurred last two months since we didn't update the code or configuration. We have logs for successful orders as well.
Please if you can help us to resolve this issue as soon as possible, we have connected with the WorldPay team and provided all logs and files. Reference # 221103-000144
Regards,
Azharuddin Shaikh
Hi there,
I've been trying to install the module a couple of different ways without much luck:
add repo to composer.json and running composer require sapient/module-worldpay
which does download the necessary files into /vendor/ but on enabling it empties my /composer/autoload_static.php file which breaks the entire site as the classes are no longer there.
copy the module folder into /app/code/sapient and enabling that way.
this did show in the magento module manager however on installation i got the following error:
Column not found: 1054 Unknown column 'risk_provider_final' in 'worldpay_payment'
which i know was mentioned on #6
Im not sure if theres supposed be a specific way im meant to be installing this as standard methods dont seem to be working?
FYI i'm trying to install on Magento 2.2.3
Thanks!
We are unable to translate the default values in the dropdown menus as they are hard-coded into the templates. Can they eventually be made into templates that will allow localisation changes?
E.g: "Select Your Credit Card"
Hi - trying to install on Magento-CE-2.2.6-2018-09-07-02-17-04, but get the above message whilst running php -f bin/magento setup:upgrade.
Site or Admin will then not work, resolved by removing 'Worldpay_Payments' => 1 from app/etc/config.php
can you help please...
Thanks.
Wordplay have released the details of the new required Stored Credentials integration for Visa and Mastercard token payments, and Mechant Initiated Transactions for both card and Pay As Order,
are you going to release an update to incorporate the new requirements, the deadline from Worldpay is 30th Apr 2019 !!
Whats the use of appending time() along with reserved order id for order code, can anyone make clear of developing team can clear it. As per my requirement I need to customise on it adding some random number collecting from user.
private function _generateOrderCode($quote)
{
return $quote->getReservedOrderId() . '-' . time();
}
The following method to lookup a customer's saved cards count is broken.
https://github.com/Worldpay/Worldpay-Magento2-CG/blob/master/Helper/Data.php#L987
This is due to the DateInterval not being subtracted from the current date properly leading to the following error:
SQLSTATE[HY000]: General error: 1525 Incorrect TIMESTAMP value: 'Y-m-d H:i:s', query was: SELECT
main_table
.id
,main_table
.id
FROMworldpay_token
ASmain_table
WHERE (customer_id
= 1) AND (created_at
<= '2020-09-23 10:21:43') AND (created_at
>= 'Y-m-d H:i:s')
Fix is the following:
$now = new \DateTime();
$lastDay = $now->sub(new \DateInterval(sprintf('P%dD', 1)));
Is the module compatible with M2.2? I appreciate you say M2.1.8+, but there's been some significant changes in M2.2 that has been causing some issues with previously M2.1 compatible extensions.
Every time we try to edit a product in the backend, we are getting an exception.
How to reproduce:
Environment:
Magento 2.4.3-p1
Saptient Worldpay 2.4.3-rc1221
Full Report:
{"0":"Unable to unserialize value. Error: Syntax error","1":"#1 Sapient\Worldpay\Helper\Recurring->getAdminLabels() called at [vendor/sapient/module-worldpay/Ui/DataProvider/Product/Form/Modifier/RecurringPlans.php:106]\n#2 Sapient\Worldpay\Ui\DataProvider\Product\Form\Modifier\RecurringPlans->modifyMeta() called at [vendor/magento/module-catalog/Ui/DataProvider/Product/Form/ProductDataProvider.php:73]\n#3 Magento\Catalog\Ui\DataProvider\Product\Form\ProductDataProvider->getMeta() called at [vendor/magento/framework/View/Element/UiComponentFactory.php:330]\n#4 Magento\Framework\View\Element\UiComponentFactory->mergeMetadata() called at [vendor/magento/framework/View/Element/UiComponentFactory.php:231]\n#5 Magento\Framework\View\Element\UiComponentFactory->create() called at [vendor/magento/framework/View/Layout/Generator/UiComponent.php:140]\n#6 Magento\Framework\View\Layout\Generator\UiComponent->generateComponent() called at [vendor/magento/framework/View/Layout/Generator/UiComponent.php:103]\n#7 Magento\Framework\View\Layout\Generator\UiComponent->process() called at [vendor/magento/framework/View/Layout/GeneratorPool.php:93]\n#8 Magento\Framework\View\Layout\GeneratorPool->process() called at [vendor/magento/framework/View/Layout.php:365]\n#9 Magento\Framework\View\Layout->generateElements() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:68]\n#10 Magento\Framework\View\Layout\Interceptor->generateElements() called at [vendor/magento/framework/View/Layout/Builder.php:129]\n#11 Magento\Framework\View\Layout\Builder->generateLayoutBlocks() called at [vendor/magento/framework/View/Page/Builder.php:65]\n#12 Magento\Framework\View\Page\Builder->generateLayoutBlocks() called at [vendor/magento/framework/View/Layout/Builder.php:65]\n#13 Magento\Framework\View\Layout\Builder->build() called at [vendor/magento/framework/View/Layout.php:271]\n#14 Magento\Framework\View\Layout->build() called at [vendor/magento/framework/View/Layout.php:896]\n#15 Magento\Framework\View\Layout->getBlock() called at [generated/code/Magento/Framework/View/Layout/Interceptor.php:293]\n#16 Magento\Framework\View\Layout\Interceptor->getBlock() called at [vendor/magento/module-backend/Model/View/Result/Page.php:26]\n#17 Magento\Backend\Model\View\Result\Page->setActiveMenu() called at [vendor/magento/module-catalog/Controller/Adminhtml/Product/Edit.php:82]\n#18 Magento\Catalog\Controller\Adminhtml\Product\Edit->execute() called at [vendor/magento/framework/Interception/Interceptor.php:58]\n#19 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]\n#20 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]\n#21 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callPlugins() called at [generated/code/Magento/Catalog/Controller/Adminhtml/Product/Edit/Interceptor.php:23]\n#22 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->execute() called at [vendor/magento/framework/App/Action/Action.php:111]\n#23 Magento\Framework\App\Action\Action->dispatch() called at [vendor/magento/module-backend/App/AbstractAction.php:151]\n#24 Magento\Backend\App\AbstractAction->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]\n#25 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]\n#26 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/module-backend/App/Action/Plugin/Authentication.php:143]\n#27 Magento\Backend\App\Action\Plugin\Authentication->aroundDispatch() called at [vendor/magento/framework/Interception/Interceptor.php:135]\n#28 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]\n#29 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->___callPlugins() called at [generated/code/Magento/Catalog/Controller/Adminhtml/Product/Edit/Interceptor.php:32]\n#30 Magento\Catalog\Controller\Adminhtml\Product\Edit\Interceptor->dispatch() called at [vendor/magento/framework/App/FrontController.php:245]\n#31 Magento\Framework\App\FrontController->getActionResponse() called at [vendor/magento/framework/App/FrontController.php:212]\n#32 Magento\Framework\App\FrontController->processRequest() called at [vendor/magento/framework/App/FrontController.php:147]\n#33 Magento\Framework\App\FrontController->dispatch() called at [vendor/magento/framework/Interception/Interceptor.php:58]\n#34 Magento\Framework\App\FrontController\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]\n#35 Magento\Framework\App\FrontController\Interceptor->Magento\Framework\Interception\{closure}() called at [vendor/magento/framework/Interception/Interceptor.php:153]\n#36 Magento\Framework\App\FrontController\Interceptor->___callPlugins() called at [generated/code/Magento/Framework/App/FrontController/Interceptor.php:23]\n#37 Magento\Framework\App\FrontController\Interceptor->dispatch() called at [vendor/magento/framework/App/Http.php:116]\n#38 Magento\Framework\App\Http->launch() called at [generated/code/Magento/Framework/App/Http/Interceptor.php:23]\n#39 Magento\Framework\App\Http\Interceptor->launch() called at [vendor/magento/framework/App/Bootstrap.php:264]\n#40 Magento\Framework\App\Bootstrap->run() called at [pub/index.php:29]\n","url":"/phil_admin/catalog/product/edit/id/690/key/17660bbaba8b6c6efbd7f10f6ee9ce8dfa424b4e821218bfdbe176fab72771a2/","script_name":"/pub/index.php","report_id":"8cc3e2ed879043ec6a8d6b8a353391d500a5d98b147ece554730362b723f0b89"}
It looks to be something to do with Recurring Payments / Subscriptions, but we aren't using any of that.
Any help resolving this would be greatly received. Thanks :)
Description
As Magento now uses Magento\JwtUserToken\Model\Issuer
to generate token it goes through following check
if (!$userContext->getUserId() || !$userContext->getUserType()) {
throw new UserTokenException('User ID and Type ID cannot be empty');
}
This causes error as for guest users customer id is not assigned.
Error message :
1 exception(s):
Exception #0 (Magento\Integration\Api\Exception\UserTokenException): User ID and Type ID cannot be empty
Exception #0 (Magento\Integration\Api\Exception\UserTokenException): User ID and Type ID cannot be empty
<pre>#1 Magento\JwtUserToken\Model\Issuer\Interceptor->create() called at [vendor/magento/module-integration/Model/Oauth/Token.php:246]
#2 Magento\Integration\Model\Oauth\Token->createCustomerToken() called at [vendor/sapient/module-worldpay/Block/Webpayment.php:173]
#3 Sapient\Worldpay\Block\Webpayment->getCustomerToken() called at [generated/code/BAT/Worldpay/Block/Webpayment/Interceptor.php:113]
-> view/frontend/templates/webpayment.phtml:9
Suggested Solution
createCustomerToken
is deprecated. Magento suggests to use Issuer (Magento\Integration\Api\UserTokenIssuerInterface
) which is used by Magento_JwtUserToken
module recently introduced. See below createCustomerToken
https://github.com/magento/magento2/blob/2.4.4/app/code/Magento/JwtUserToken/Model/Issuer.php#L63
Issue when installing via setup:upgrade
SQLSTATE[42S22]: Column not found: 1054 Unknown column 'risk_provider_final' in 'worldpay_payment'
Magento 2.2
Hi there, in the user guide pdf, page 7, there are 2 screenshots overlapped.
Dear Team,
Is it support US online payments and Payfac transactions.
We don't need sub merchants register,we should be able to authorise order amount to sub merchants.
Steps to Replicate
Expected Result:
Magento popup should be shown with options either to log in or register a a new customer
Actual Result:
Customer is being redirected to cart page
Error message "Guest checkout is disabled" is showing
Observation
sapient/module-worldpay/view/frontend/templates/onepage/link.phtml
"Process to Checkout" button behaviour has been changed in above file
data-mage-init='{"Magento_Checkout/js/proceed-to-checkout":{"checkoutUrl":"getCheckoutUrl() ?>"}}'
Changed to
onclick="location.href='getCheckoutUrl() ?>'"
Is this updated for any purpose.
Atatched the error file and expected
file.
When installing the module via composer, I receive the error that the module is not compatible with PHP 7.2:
sapient/module-worldpay 1.5.3 requires php ~5.5.0|~5.6.0|~7.0.0|~7.1.0 -> your PHP version (7.2.4) does not satisfy that requirement.
If we set a prefix to sales_order.increment_id using sequence_profile then worldpay_payment.order_id shows as 4294967295. Which causes the world pay payment to fail.
Currently the module fails on popular one page checkout modules due to address validation
There is a copy past issue with $forceSyncMode in
Seems like you've copied params from method arguments
public function send(Order $order, $forceSyncMode = false)
and now when you call parent::send
, $forceSyncMode
is always false
The namespace in
https://github.com/Worldpay/Worldpay-Magento2-CG/blob/master/Model/ResourceModel/Worldpayment/Collection.php
is
namespace Sapient\Worldpay\Model\ResourceModel\Collection;
but it should be
namespace Sapient\Worldpay\Model\ResourceModel\Worldpayment;
This makes Composer 1 complain about it, and states that Composer 2 will not autoload this file.
This was brought up by @sajidpatel 3 years ago in #16, but the issue was closed without a resolution.
Hi Team,
On the live site, we noticed that for some orders the order amount is captured. But the customer is not redirected to the order success page.
We are using Module version 2.4.3-p2
Please let us know if you have a fix already
Thanks!
Sanju
Version 1.3
Live environment
When creating an order in the backend, the heading for MOTO shows but no fields for entry.
When saving the order the system shows invalid payment type.
No console errors
The html code
<div id="order-billing_method" class="admin__page-section-item order-billing-method">
<div class="admin__page-section-title">
<span class="title">Payment Method</span>
</div>
<div id="order-billing_method_form">
<dl class="admin__payment-methods">
<dt class="admin__field-option">
<span class="no-display">
<input id="p_method_worldpay_moto" value="worldpay_moto" type="radio" name="payment[method]" class="admin__control-radio" checked="checked">
</span>
<label class="admin__field-label" for="p_method_worldpay_moto">MOTO </label>
</dt>
<dd class="admin__payment-method-wrapper">
</dd>
</dl>
</div>
</div>
PHP Fatal error: Class Sapient\Worldpay\Model\PaymentMethods\CcVault may not inherit from final class (Magento\Vault\Model\Method\Vault) in /vendor/sapient/module-worldpay/Model/PaymentMethods/CcVault.php on line 270
Magento ver. 2.4.1 B2B
Browser: Chrome Version 103.0.5060.114
sapient/module-worldpay: 2.4.1-rc1220
Steps to reproduce:
Go to checkout, fill form, press Place order. Magento redirects me to 3DSecure authorize payment page. I press cancel Payment. I am redirected to Magento card page. (Alternative is: I fill incorrect credit card information)
Second time, I do the same, but on Authorize Payment page I just waits until payment will cancel by timeout.
Actual result:
I am redirected to Magento card page, but I am logger out. I as a customer losing my Basket, when I log in.
Expected result:
I am redirected to Magento card page and I am logged in customer.
Additional info:
This bug is rarely reproduced. Approximately from 10 attempt it will occurs once.
We're getting the above error on the following:
Sapient\Worldpay\Cron\OrderSyncStatus::_applyPaymentUpdate()
throw new \Magento\Framework\Exception\LocalizedException($e->getMessage());
Magento expects a type of Magento\Framework\Phrase to be passed instead of the string above.
When trying to checkout in Internet Explorer and reaching step two of the onepage checkout (billing/payment information section), the checkout crashes because of an error on line 56 of the /apm-method.js file.
Error:
SCRIPT 1006: Expected ')'
File: apm-method.js, Line 56, Column: 46
It seems to be the filterAjax function is trying to add a default value of 'null' to statusCheck parameter but this functionality was brought in to ECMAScript 6/2015 which is NOT supported in any version of Internet Explorer.
FIX:
Removing the '= null' prevents the checkout from crashing and this shouldn't cause further issues as this function is only called twice, both times from this file and both times a value of 1 is passed through.
Quick fix is to copy this file into your theme directory and remove the '= null'.
Hi,
We are on Magento 2.4.4 and PHP 8.1 . We are getting the below issue while trying to place an order using world pay,
{"message":"Deprecated Functionality: Constant FILTER_SANITIZE_STRING is deprecated in /app/c7t5qvabrjwco_stg/vendor/sapient/module-worldpay/Model/Mapping/Service.php on line 315"}
Please help us to resolve this issue.
Thanks!
Sanju
Hi,
How much time will you update this plugin for php 7.1 , 7.2 , 7.3 & also in magento 2.2.7 , 2.3.0 version.
Getting an error when trying to update a credit card from the customer account and the customer is not the owner of it.
The error references that the exception class does not exist, and sure enough, it is not there.
Error: Class 'AccessDeniedException' not found in /var/www/app/code/Sapient/Worldpay/Model/Token/WorldpayToken.php:74
https://github.com/Worldpay/Worldpay-Magento2-CG/blob/master/Model/Token/WorldpayToken.php#L74
The plugin not work in production environment and minified javascript, apparently magento adds extra min.
Production:
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-sha256.min.js
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64-min.min.js
[ERROR] Failed to load the “Sapient_Worldpay/js/view/payment/method-renderer/cc-method” component.
Correct URL
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/rollups/hmac-sha256.js
https://cdnjs.cloudflare.com/ajax/libs/crypto-js/3.1.2/components/enc-base64-min.js
You need to exclude those JS from minification in config.xml
Hi,
Current module version: 2.1.5
We have enabled the 3D secure in Worldpay and some issues started to show in the module
In a relative busy day we have around 200 occurrences of the error:
Uncaught Error: Call to a member function getEchoData() on null in app/code/Sapient/Worldpay/Model/Authorisation/ThreeDSecureService.php:56
Duplicate orders have been placed
Could you please tell me if you have any other customers complaining of the same issue after enabling the 3D secure check?
Also is the module 3DS2 ready? Is there anything we need to set for this to work?
We are using Magento 2 with reactjs as headless frontend.
I think we need to use client side and serverside encryption.
And our payment action is authorise only.
Where i need to pass encrypted data in order api.
May i know file location for adding encrypted data.
Thanks in advance
Please see error message and stack trace below during setup:upgrade.
We're upgrading Magento to 2.4.2 from 2.3.4-p2 and using the dev release branch release-v2.4.2-rc0421 of the Worldpay module.
I've investigate the issue and appears to be around the saving of "klarna_config/klarna_countries_config" config.
`Module 'Sapient_Worldpay':
Upgrading data.. PHP Fatal error: Uncaught TypeError: Argument 1 passed to Magento\Config\Model\Config::getOriginalFieldId() must be an instance of Magento\Config\Model\Config\Structure\Element\Group, instance of Magento\Config\Model\Config\Structure\Element\Field\Interceptor given, called in /magento/vendor/magento/module-config/Model/Config.php on line 279 and defined in /magento/vendor/magento/module-config/Model/Config.php:248
Stack trace:
#0 /magento/vendor/magento/module-config/Model/Config.php(279): Magento\Config\Model\Config->getOriginalFieldId()
#1 /magento/vendor/magento/module-config/Model/Config.php(429): Magento\Config\Model\Config->getField()
#2 /magento/vendor/magento/module-config/Model/Config.php(200): Magento\Config\Model\Config->_processGroup()
#3 /magento/vendor/magento/framework/Interception/Interceptor.php(58): Magento\Config\Model\Config->save()
#4 /magento/vendor/magento/framework/Interception/Interceptor.php(138): Magento\Config\Model\Config\Interceptor->___callParent()
#5 /magento/vendor/magento/module-catalog-permi in /magento/vendor/magento/module-config/Model/Config.php on line 248
Fatal error: Uncaught TypeError: Argument 1 passed to Magento\Config\Model\Config::getOriginalFieldId() must be an instance of Magento\Config\Model\Config\Structure\Element\Group, instance of Magento\Config\Model\Config\Structure\Element\Field\Interceptor given, called in /magento/vendor/magento/module-config/Model/Config.php on line 279 and defined in /magento/vendor/magento/module-config/Model/Config.php on line 248
TypeError: Argument 1 passed to Magento\Config\Model\Config::getOriginalFieldId() must be an instance of Magento\Config\Model\Config\Structure\Element\Group, instance of Magento\Config\Model\Config\Structure\Element\Field\Interceptor given, called in /magento/vendor/magento/module-config/Model/Config.php on line 279 in /magento/vendor/magento/module-config/Model/Config.php on line 248
Call Stack:
0.0003 350344 1. {main}() /magento/bin/magento:0
0.4371 7037720 2. Magento\Framework\Console\Cli->run(???, ???) /magento/bin/magento:23
0.4464 7120704 3. Magento\Framework\Console\Cli->doRun(class Symfony\Component\Console\Input\ArgvInput, class Symfony\Component\Console\Output\ConsoleOutput) /magento/vendor/symfony/console/Application.php:149
0.4464 7120704 4. Magento\Framework\Console\Cli->doRun(class Symfony\Component\Console\Input\ArgvInput, class Symfony\Component\Console\Output\ConsoleOutput) /magento/vendor/magento/framework/Console/Cli.php:115
10.9444 123766568 5. Magento\Framework\Console\Cli->doRunCommand(class Magento\Setup\Console\Command\UpgradeCommand, class Symfony\Component\Console\Input\ArgvInput, class Symfony\Component\Console\Output\ConsoleOutput) /magento/vendor/symfony/console/Application.php:273
10.9444 123766568 6. Magento\Setup\Console\Command\UpgradeCommand->run(class Symfony\Component\Console\Input\ArgvInput, class Symfony\Component\Console\Output\ConsoleOutput) /magento/vendor/symfony/console/Application.php:1009
10.9447 123768720 7. Magento\Setup\Console\Command\UpgradeCommand->execute(class Symfony\Component\Console\Input\ArgvInput, class Symfony\Component\Console\Output\ConsoleOutput) /magento/vendor/symfony/console/Command/Command.php:255
68.3338 277831968 8. Magento\Setup\Model\Installer->installDataFixtures(array(13), true) /magento/setup/src/Magento/Setup/Console/Command/UpgradeCommand.php:147
68.3371 277832648 9. Magento\Setup\Model\Installer->handleDBSchemaData(class Magento\Setup\Module\DataSetup, string(4), array(13)) /magento/setup/src/Magento/Setup/Model/Installer.php:960
68.5428 278868720 10. Sapient\Worldpay\Setup\UpgradeData->upgrade(class Magento\Setup\Module\DataSetup, class Magento\Setup\Model\ModuleContext) /magento/setup/src/Magento/Setup/Model/Installer.php:1059
68.5556 279131512 11. Magento\Config\Model\Config\Interceptor->save() /magento/vendor/sapient/module-worldpay/Setup/UpgradeData.php:1496
68.5559 279132848 12. Magento\Config\Model\Config\Interceptor->___callPlugins(string(4), array(0), array(1)) /magento/generated/code/Magento/Config/Model/Config/Interceptor.php:23
68.5559 279133832 13. Magento\Config\Model\Config\Interceptor->Magento\Framework\Interception{closure:/magento/vendor/magento/framework/Interception/Interceptor.php:104-151}(...variadic()) /magento/vendor/magento/framework/Interception/Interceptor.php:153
68.5562 279136664 14. Magento\CatalogPermissions\Model\Indexer\Plugin\ConfigData->aroundSave(class Magento\Config\Model\Config\Interceptor, class Closure) /magento/vendor/magento/framework/Interception/Interceptor.php:135
68.5583 279140968 15. Magento\Config\Model\Config\Interceptor->Magento\Framework\Interception{closure:/magento/vendor/magento/framework/Interception/Interceptor.php:104-151}(...variadic()) /magento/vendor/magento/module-catalog-permissions/Model/Indexer/Plugin/ConfigData.php:97
68.5583 279141000 16. Magento\Config\Model\Config\Interceptor->___callParent(string(4), array(0)) /magento/vendor/magento/framework/Interception/Interceptor.php:138
68.5583 279141000 17. Magento\Config\Model\Config\Interceptor->save() /magento/vendor/magento/framework/Interception/Interceptor.php:58
68.5603 279142760 18. Magento\Config\Model\Config\Interceptor->_processGroup(string(37), array(1), array(5), string(8), array(0), array(0), class Magento\Framework\DB\Transaction, class Magento\Framework\DB\Transaction) /magento/vendor/magento/module-config/Model/Config.php:200
68.5607 279144504 19. Magento\Config\Model\Config\Interceptor->getField(string(8), string(37), string(15)) /magento/vendor/magento/module-config/Model/Config.php:429
68.5607 279144584 20. Magento\Config\Model\Config\Interceptor->getOriginalFieldId(class Magento\Config\Model\Config\Structure\Element\Field\Interceptor, string(15)) /magento/vendor/magento/module-config/Model/Config.php:279`
{"0":"URI is not valid and cannot be converted into a string","1":"#1 Laminas\Http\Header\AbstractLocation->getUri() called at [vendor/laminas/laminas-http/src/Header/AbstractLocation.php:138]\n#2 Laminas\Http\Header\AbstractLocation->toString() called at [vendor/laminas/laminas-http/src/PhpEnvironment/Response.php:114]\n#3 Laminas\Http\PhpEnvironment\Response->sendHeaders() called at [generated/code/Magento/Framework/App/Response/Http/Interceptor.php:323]\n#4 Magento\Framework\App\Response\Http\Interceptor->sendHeaders() called at [vendor/laminas/laminas-http/src/PhpEnvironment/Response.php:144]\n#5 Laminas\Http\PhpEnvironment\Response->send() called at [generated/code/Magento/Framework/App/Response/Http/Interceptor.php:349]\n#6 Magento\Framework\App\Response\Http\Interceptor->send() called at [vendor/magento/framework/HTTP/PhpEnvironment/Response.php:45]\n#7 Magento\Framework\HTTP\PhpEnvironment\Response->sendResponse() called at [vendor/magento/framework/Interception/Interceptor.php:58]\n#8 Magento\Framework\App\Response\Http\Interceptor->___callParent() called at [vendor/magento/framework/Interception/Interceptor.php:138]\n#9 Magento\Framework\App\Response\Http\Interceptor->Magento\Framework\Interception\{closure}
How to reproduce the issue:
Environments where the issue was reproduced:
This is how the message should be displayed:
Unfortunately this is how the message is displayed sometimes:
If we go with the same scenario but this time on a Bundle Product there are the same results of the message being displayed multiple times.
But when you add the bundle after the configurable product’s scenario was done, you might get something like the image below. This is also happening the other way round.
To fix this issues for our project, we added a patch that changes the condition from vendor/sapient/module-worldpay/view/frontend/web/js/minicart.js:112
The condition in the file is if (cartData()['website_id'] !== window.checkout.websiteId)
We changed it to the condition from the Magento Core file (vendor/magento/module-checkout/view/frontend/web/js/view/minicart.js:105) that the file extends which is
if (
cartData().website_id !== window.checkout.websiteId && cartData().website_id !== undefined ||
cartData().storeId !== window.checkout.storeId && cartData().storeId !== undefined
)
Could this issue be fixed by Worldpay?
Thank you and have a great day!
The installation instructions for the module are somewhat brief, containing just the statement:
Worldpay Extension is hosted at https://github.com/Worldpay/Worldpay-Magento-CG , To run below
installation steps, access to repository is required.
Nothing further on what this actually means. Complete instructions should be included for those not familiar with this process. Anyhow, added the following to Magento composer.json repositories section:
"sapient": { "type": "composer", "url": "https://github.com/Worldpay/Worldpay-Magento-CG" }
Now running composer require sapient/module-worldpay getting the following:
[Composer\Downloader\TransportException]
The "https://github.com/Worldpay/Worldpay-Magento-CG/packages.json" file could not be downloaded (HTTP/1.1 301 Moved Permanently)
Should it not be using the module's composer.json? Is the repository definition correct? Any ideas?
Hi all,
We have encountered a problem with one of our security systems, it seems that the js script included in the head does not contain a hash for the content security policy. Path to the file mentioned : "vendor/sapient/module-worldpay/view/frontend/layout/default.xml:4".
Documentation for the hash mentioned above from Magento 2 https://devdocs.magento.com/guides/v2.4/extension-dev-guide/security/content-security-policies.html
The browsers will validate the scripts if they are included in the csp_whitelist.xml file, but the security systems that we use, for example Tenable IO and others will still see this script as a one without a hash and reported in the generated overall report.
Could you please generate a hash for the mentioned script and send us a patch.
Thank you and please let me know if you have any queries.
Best Regards,
Ionut Peter
Web Developer
Hello,
We setup module to our test store, conifgure Merchant Code, XML username and password
but Credit Card option do not display at checkout
https://drive.google.com/file/d/1KFXb6bDMWanzmV1YSjUk_gFdxhuUW5NL/view?usp=drivesdk
And not errors in log files.
Any notes how to debug checkout process?
Thanks
I've installed this extension on a Magento 2.3.2 platform.
Mode: Test
Credit Cards: Enabled
Integration Mode: Direct
PHP Version: 7.1.3.2
When I populate the credit card form with test card details and press "Place Order" absolutely nothing happens. No console errors, nothing in the logs. The button does absolutely nothing.
I've changed the Magento theme to Luma to see if the issue is resolved, the same happens.
Please advise?
Getting the following error on checkout, if order contains virtual products / no shipping address:
console-output-handler.js:34 [2018-09-12 04:11:05] [ERROR] Failed to load the "Sapient_Worldpay/js/view/payment/method-renderer/cc-method" component.
vendor/sapient/module-worldpay/Model/ResourceModel/Worldpayment/Collection.php
namespace currently:
namespace Sapient\Worldpay\Model\ResourceModel\Collection;
When it should be:
namespace Sapient\Worldpay\Model\ResourceModel\WorldPayment;
Hi,
We are getting this error while running the setup upgrade on the latest version of the Worldpay module code
Unable to apply data patch Sapient\Worldpay\Setup\Patch\Data\DefaultConfigurations for module Sapient_Worldpay. Original exception message: Warning: foreach() argument must be of type array|object, string given in /xxxx/vendor/sapient/module-worldpay/Model/System/Config/Backend/MyAccountException.php on line 81
Thanks!
Sanju
Cause: Sapient\Wordlpay\Logger\WordpayLogger::addRecord()
defines itself as returning bool
, but instead returns void
when logging is disabled.
Fixed in PR #92.
Worlpay API service not available on checkout
Preconditions:
2.4.3-rc1221
Steps to reproduce:
2.4.3-rc1221
to 2.4.3-p0322
via composerExpected result: it running without any errors.
Actual result: it throws errors and stops upgrading the database.
Trace:
Updating modules:
Cache cleared successfully
Schema creation/updates:
The XML in file "/var/www/html/vendor/sapient/module-worldpay/etc/db_schema.xml" is invalid:
Element 'column', attribute 'padding': The attribute 'padding' is not allowed.
Line: 5
Element 'column', attribute 'unsigned': The attribute 'unsigned' is not allowed.
Line: 5
Element 'column', attribute 'identity': The attribute 'identity' is not allowed.
Line: 5
Element 'column', attribute 'padding': The attribute 'padding' is not allowed.
Line: 100
Element 'column', attribute 'unsigned': The attribute 'unsigned' is not allowed.
Line: 100
Element 'column', attribute 'identity': The attribute 'identity' is not allowed.
Line: 100
Verify the XML and try again.
A declarative, efficient, and flexible JavaScript library for building user interfaces.
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
An Open Source Machine Learning Framework for Everyone
The Web framework for perfectionists with deadlines.
A PHP framework for web artisans
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
Some thing interesting about web. New door for the world.
A server is a program made to process requests and deliver data to clients.
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
Some thing interesting about visualization, use data art
Some thing interesting about game, make everyone happy.
We are working to build community through open source technology. NB: members must have two-factor auth.
Open source projects and samples from Microsoft.
Google ❤️ Open Source for everyone.
Alibaba Open Source for everyone
Data-Driven Documents codes.
China tencent open source team.