checkout / checkout-magento2-plugin Goto Github PK
View Code? Open in Web Editor NEWCheckout.com Magento 2 official extension
License: MIT License
Checkout.com Magento 2 official extension
License: MIT License
At the moment (for iframe integration) if user input invalid card data (for example bad cvv) hi is redirected to "checkout/cart". To fix his mistake he should:
In my case I have one more custom step between "checkout/#shipping" and "checkout/#payment".
Threrefore it wold be better for UX redirect user directly to "checkout/#payment" on failed payment. Or to have this url in plugin config. Or separate getter for result url for failed payment to interface method, to have possibilities to overwrite it in custom separated magento module.
Hello Team,
I have noticed below error after installing the extension on Magento 2.3.4 Open Source. Can you please look into this.
Warning: count(): Parameter must be an array or an object that implements Countable in /chroot/home/ininefiv/ecommerce-for-erp.com/html/vendor/checkoutcom/magento2/Model/Service/VersionHandlerService.php on line 143
With 1.0.6 installed, even if the extension is not enabled, if I do not have correct keys entered then when I visit https://somedomain.com/checkout/cart/ instead of the cart I get to see this:
1 exception(s):
Exception #0 (CheckoutCom\Magento2\Gateway\Exception\ApiClientException): Your API key is invalid.
Exception #0 (CheckoutCom\Magento2\Gateway\Exception\ApiClientException): Your API key is invalid.
#0 .../vendor/checkoutcom/magento2/Model/Ui/ConfigProvider.php(109): CheckoutCom\Magento2\Model\Service\PaymentTokenService->getToken()
#1 .../vendor/checkoutcom/magento2/Model/Ui/ConfigProvider.php(91): CheckoutCom\Magento2\Model\Ui\ConfigProvider->getPaymentToken()
#2 .../vendor/magento/module-checkout/Model/CompositeConfigProvider.php(32): CheckoutCom\Magento2\Model\Ui\ConfigProvider->getConfig()
#3 .../vendor/magento/module-checkout/Block/Cart/Shipping.php(54): Magento\Checkout\Model\CompositeConfigProvider->getConfig()
#4 .../var/generation/Magento/Checkout/Block/Cart/Shipping/Interceptor.php(24): Magento\Checkout\Block\Cart\Shipping->getCheckoutConfig()
#5 .../vendor/magento/module-checkout/view/frontend/templates/cart/shipping.phtml(28): Magento\Checkout\Block\Cart\Shipping\Interceptor->getCheckoutConfig()
#6 .../vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/Volumes/Sites/...')
#7 .../vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Checkout\Block\Cart\Shipping\Interceptor), '/Volumes/Sites/...', Array)
#8 .../vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Element\Template->fetchView('/Volumes/Sites/...')
#9 .../var/generation/Magento/Checkout/Block/Cart/Shipping/Interceptor.php(221): Magento\Checkout\Block\Cart\Shipping\Interceptor->___callPlugins('fetchView', Array, Array)
#10 .../vendor/magento/framework/View/Element/Template.php(279): Magento\Checkout\Block\Cart\Shipping\Interceptor->fetchView('/Volumes/Sites/...')
#11 .../vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Framework\View\Element\Template->_toHtml()
#12 .../vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Element\AbstractBlock->toHtml()
#13 .../var/generation/Magento/Checkout/Block/Cart/Shipping/Interceptor.php(520): Magento\Checkout\Block\Cart\Shipping\Interceptor->___callPlugins('toHtml', Array, Array)
#14 .../vendor/magento/framework/View/Layout.php(542): Magento\Checkout\Block\Cart\Shipping\Interceptor->toHtml()
#15 .../vendor/magento/framework/View/Layout.php(518): Magento\Framework\View\Layout->_renderBlock('checkout.cart.s...')
#16 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('checkout.cart.s...')
#17 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('checkout.cart.s...')
#18 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('checkout.cart.s...', true)
#19 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('checkout.cart.s...')
#20 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('cart.summary')
#21 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('cart.summary')
#22 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('cart.summary')
#23 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('cart.summary', true)
#24 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('cart.summary')
#25 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('cart.sidebar.wi...')
#26 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('cart.sidebar.wi...')
#27 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('cart.sidebar.wi...')
#28 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('cart.sidebar.wi...', true)
#29 .../vendor/magento/framework/View/Element/AbstractBlock.php(499): Magento\Framework\View\Layout\Interceptor->renderElement('cart.sidebar.wi...', true)
#30 .../var/generation/Magento/Checkout/Block/Cart/Interceptor.php(557): Magento\Framework\View\Element\AbstractBlock->getChildHtml('with-items', true)
#31 .../vendor/magento/module-checkout/view/frontend/templates/cart.phtml(15): Magento\Checkout\Block\Cart\Interceptor->getChildHtml('with-items')
#32 .../vendor/magento/framework/View/TemplateEngine/Php.php(59): include('/Volumes/Sites/...')
#33 .../vendor/magento/framework/View/Element/Template.php(255): Magento\Framework\View\TemplateEngine\Php->render(Object(Magento\Checkout\Block\Cart\Interceptor), '/Volumes/Sites/...', Array)
#34 .../vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Element\Template->fetchView('/Volumes/Sites/...')
#35 .../var/generation/Magento/Checkout/Block/Cart/Interceptor.php(325): Magento\Checkout\Block\Cart\Interceptor->___callPlugins('fetchView', Array, Array)
#36 .../vendor/magento/framework/View/Element/Template.php(279): Magento\Checkout\Block\Cart\Interceptor->fetchView('/Volumes/Sites/...')
#37 .../vendor/magento/framework/View/Element/AbstractBlock.php(659): Magento\Framework\View\Element\Template->_toHtml()
#38 .../vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Element\AbstractBlock->toHtml()
#39 .../var/generation/Magento/Checkout/Block/Cart/Interceptor.php(650): Magento\Checkout\Block\Cart\Interceptor->___callPlugins('toHtml', Array, Array)
#40 .../vendor/magento/framework/View/Layout.php(542): Magento\Checkout\Block\Cart\Interceptor->toHtml()
#41 .../vendor/magento/framework/View/Layout.php(518): Magento\Framework\View\Layout->_renderBlock('cart.sidebar.wi...')
#42 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('cart.sidebar.wi...')
#43 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('cart.sidebar.wi...')
#44 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('cart.sidebar.wi...', true)
#45 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('cart.sidebar.wi...')
#46 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('sidebar.main')
#47 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('sidebar.main')
#48 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('sidebar.main')
#49 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('sidebar.main', true)
#50 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('sidebar.main')
#51 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('div.sidebar.mai...')
#52 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('div.sidebar.mai...')
#53 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('div.sidebar.mai...')
#54 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('div.sidebar.mai...', true)
#55 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('div.sidebar.mai...')
#56 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('columns')
#57 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('columns')
#58 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('columns')
#59 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('columns', true)
#60 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('columns')
#61 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('main.content')
#62 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('main.content')
#63 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('main.content')
#64 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('main.content', true)
#65 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('main.content')
#66 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('page.wrapper')
#67 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('page.wrapper')
#68 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('page.wrapper')
#69 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('page.wrapper', true)
#70 .../vendor/magento/framework/View/Layout.php(569): Magento\Framework\View\Layout\Interceptor->renderElement('page.wrapper')
#71 .../vendor/magento/framework/View/Layout.php(520): Magento\Framework\View\Layout->_renderContainer('root')
#72 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(206): Magento\Framework\View\Layout->renderNonCachedElement('root')
#73 .../vendor/magento/framework/View/Layout.php(472): Magento\Framework\View\Layout\Interceptor->renderNonCachedElement('root')
#74 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(193): Magento\Framework\View\Layout->renderElement('root', true)
#75 .../vendor/magento/framework/View/Layout.php(938): Magento\Framework\View\Layout\Interceptor->renderElement('root')
#76 .../vendor/magento/framework/Interception/Interceptor.php(146): Magento\Framework\View\Layout->getOutput()
#77 .../var/generation/Magento/Framework/View/Layout/Interceptor.php(494): Magento\Framework\View\Layout\Interceptor->___callPlugins('getOutput', Array, Array)
#78 .../vendor/magento/framework/View/Result/Page.php(243): Magento\Framework\View\Layout\Interceptor->getOutput()
#79 .../vendor/magento/framework/View/Result/Layout.php(164): Magento\Framework\View\Result\Page->render(Object(Magento\Framework\App\Response\Http\Interceptor))
#80 .../vendor/magento/framework/Interception/Interceptor.php(74): Magento\Framework\View\Result\Layout->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#81 .../vendor/magento/framework/Interception/Chain/Chain.php(70): Magento\Framework\View\Result\Page\Interceptor->___callParent('renderResult', Array)
#82 .../vendor/magento/framework/Interception/Chain/Chain.php(63): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'renderResult', Object(Magento\Framework\View\Result\Page\Interceptor), Array, 'result-varnish-...')
#83 .../vendor/magento/module-page-cache/Model/Controller/Result/VarnishPlugin.php(74): Magento\Framework\Interception\Chain\Chain->Magento\Framework\Interception\Chain\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor))
#84 .../vendor/magento/framework/Interception/Chain/Chain.php(67): Magento\PageCache\Model\Controller\Result\VarnishPlugin->aroundRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Closure), Object(Magento\Framework\App\Response\Http\Interceptor))
#85 .../vendor/magento/framework/Interception/Interceptor.php(138): Magento\Framework\Interception\Chain\Chain->invokeNext('Magento\\Framewo...', 'renderResult', Object(Magento\Framework\View\Result\Page\Interceptor), Array, 'result-builtin-...')
#86 .../vendor/magento/module-page-cache/Model/Controller/Result/BuiltinPlugin.php(67): Magento\Framework\View\Result\Page\Interceptor->Magento\Framework\Interception\{closure}(Object(Magento\Framework\App\Response\Http\Interceptor))
#87 .../vendor/magento/framework/Interception/Interceptor.php(142): Magento\PageCache\Model\Controller\Result\BuiltinPlugin->aroundRenderResult(Object(Magento\Framework\View\Result\Page\Interceptor), Object(Closure), Object(Magento\Framework\App\Response\Http\Interceptor))
#88 .../var/generation/Magento/Framework/View/Result/Page/Interceptor.php(130): Magento\Framework\View\Result\Page\Interceptor->___callPlugins('renderResult', Array, Array)
#89 .../vendor/magento/framework/App/Http.php(139): Magento\Framework\View\Result\Page\Interceptor->renderResult(Object(Magento\Framework\App\Response\Http\Interceptor))
#90 .../vendor/magento/framework/App/Bootstrap.php(258): Magento\Framework\App\Http->launch()
#91 .../pub/index.php(37): Magento\Framework\App\Bootstrap->run(Object(Magento\Framework\App\Http))
#92 {main}
It would be helpful if the extension just did not present itself as a payment option instead of throwing this as an uncaught error on the frontend. Indeed, when not enabled it should not really be doing any checks at all!
Not an issue, but it would be great to have LF EOL instead of CRLF
It would be creat to reformat code according to MEQP Coding Standard.
Although there is an option to set a custom css file, there is hard-coded css that is always output after this. It is this hard-coded css that we would like to override but lack a mechanism to do so.
See view/frontend/templates/embedded.phtml
Alternatively, you could always make the changes we suggested in #10 ;)
Hi guys,
Seems like the order email is not being sent when I used the checkout.com payment method. Do you guys have any idea? Only happens on order.. invoicing is fine. Currently running magento 2.3.4 and on test account of checkout.com
Not an issue but need suggestion.
I'm trying to override the function create()
from CheckoutCom\Magento2\Gateway\Http\TransferFactory
file.
I've added following
<preference for="CheckoutCom\Magento2\Gateway\Http\TransferFactory" type="Mymodule\CheckoutCom\Gateway\Http\TransferFactory" />
But it's not working.
I need to override because I want to use the different secret key from different website due to some calculations on the fly.
The callback URL field in Admin > Stores > Configuration which gets auto-populated always takes the default store value. It should take the value based on the callback URL set against account keys which are at store view level. So for instance if default store callback URL is www.example.com/checkout/success
and store view level callback URL is www.example.com/ae_en/checkout/success , in this case in Admin panel > Stores > Configuration > Change Store view to ae_en > Sales > Payment Methods > Checkout.com > Callback URL will still show www.example.com/checkout/success
Endpoint should have webhook to change order status automaticaly according to plugin config . At the moment there is no info about it in readme.
Also a found that webhook controller acceps only limited types of events:
All other event types could/should be disabled for webhook.
Imho, this info should be added to the readme, to prevent trubles with this plugin for users.
Hey @nicolas-maalouf-cko and @david-fiaty-cko ,
thank you guys for your hard work with this extension.
Magento 2 : version 2.1.7.
Checkout.com Module version : 1.0.9.
i have a strange problem with emails,
after the order is placed i get an order confirmation email even before the 3D Secure Verification page process is completed. and there is extra info the doesn't suppose to be in the email see issue - #14
also when i capture the payment the module creates an invoice but doesn't send the email.
the same with refunds the credit memo is created but it doesn't send the email. i have to send them manually
I also have another issue with callback URLs, but i will open another issue to track them separately
Oct 31, 2017 3:57:05 PM Pending Payment Customer Notified
Oct 31, 2017 4:01:17 PM Invoice #9 created Customer Notified
Oct 31, 2017 4:01:18 PM Processing Customer Notified
Oct 31, 2017 4:01:18 PM Processing
Oct 31, 2017 4:13:35 PM Processing
Oct 31, 2017 4:13:35 PM Credit memo #4 createdNotes for this Order
Authorized amount of 100 SAR Transaction ID: charge_test_C87F19CF151S74984601
Comment added Oct 31, 2017 3:57:05 PM
Captured amount of 100 SAR Transaction ID: charge_test_EC3A69DF151L749847B0
Comment added Oct 31, 2017 4:01:18 PM
Captured amount of 100,00 ر.س online. رقم المعاملة: "charge_test_EC3A69DF151L749847B0"
Comment added Oct 31, 2017 4:01:18 PM
We refunded 100,00 ر.س online. رقم المعاملة: "charge_test_8E4B49DF151R7498BE96"
Comment added Oct 31, 2017 4:13:35 PM
Zero value orders may seem rare, but with Magento Commerce (EE) it is totally possible that a gift card account is paying for the order in full. In that event, the total of the order comes to zero. When that happens, the checkout will not initialise as an a critical error occurs and the checkout block that bootstraps the behemoth checkout JS component is never rendered, leading to a blank checkout.
This is the error that gets logged:
[2018-02-21 16:58:28] report.CRITICAL: The amount value must be positive. The [0] value has been given. [] []
This error seems to be raised here: https://github.com/checkout/checkout-magento2-plugin/blob/1.0.19/Model/Adapter/ChargeAmountAdapter.php#L82 in the function getGatewayAmountOfCurrency
. I guess the module is doing some work ahead of time (i.e. before being used as the chosen payment method) that is tripping up in the case of a zero sum grand total?
Is there anyway where I can set this as a default payment method? Mixins seems to be not working. Tried out adding the this.selectPaymentMethod() in the init functions but there are some complications on other functions.
Please advise.
When checking out as a guest we're always getting "Token already used" with an error code of "83023" even if we create a fresh session and basket. I'm not able to see an obvious reason for this within your sandbox dashboard, it just states "Authorisation : Fail" without a reason.
Thanks,
Bruce
Saved cards don't show the vault title set in system config under payment/checkout_com_cc_vault/title
on https://github.com/checkout/checkout-magento2-plugin/blob/master/Gateway/Config/Config.php#L218
This can be fixed by either:
$this->setMethodCode('checkout_com_cc_vault');
and changing the value string to just title
return (string) $this->scopeConfig->getValue( 'payment/checkout_com_cc_vault/title', ScopeInterface::SCOPE_STORES, $this->storeManager->getStore() );
Core version: 2.2.7
Module version: 1.0.40
Vault title for saved card does not show resulting in " ending XXXX..."
Composer php requirements need to be updated for Magento 2.2+. They are currently:
php: ~5.5.0|~5.6.0|~7.0
and should be php: ~7.0|~7.1|~7.2
to be inline with Magento system requirements. Please see https://devdocs.magento.com/guides/v2.2/install-gde/system-requirements-tech.html#php
The composer option --ignore-platform-reqs
has to be used to install the extension on systems running non-deprecated php versions (7.1 or greater)
Extension 2.0.11
Magento 2.1.9
If I change my billing address to be the same or different to the shipping address I end up with no iframe so I can't complete the checkout.
Hi there,
We are unable to use the latest version in Production Mode:
2018/05/23 13:38:55 [error] 19510#19510: *28 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught RuntimeException: Source class "\CheckoutComTransfer" for "CheckoutComTransferFactory" generation does not exist. in /mnt/volume-lon1-01/var/www/vhosts/m2.s.vortexcommerce.com/htdocs/amritanutrition/releases/cb69778d3ea99fa2e44d6ccab90020b7049f61e3/vendor/magento/framework/Code/Generator.php:185 Stack trace: #0 /mnt/volume-lon1-01/var/www/vhosts/m2.s.vortexcommerce.com/htdocs/amritanutrition/releases/cb69778d3ea99fa2e44d6ccab90020b7049f61e3/vendor/magento/framework/Code/Generator.php(112): Magento\Framework\Code\Generator->tryToLoadSourceClass('CheckoutComTran...', Object(Magento\Framework\ObjectManager\Code\Generator\Factory)) #1 /mnt/volume-lon1-01/var/www/vhosts/m2.s.vortexcommerce.com/htdocs/amritanutrition/releases/cb69778d3ea99fa2e44d6ccab90020b7049f61e3/vendor/magento/framework/Code/Generator/Autoloader.php(35): Magento\Framework\Code\Generator->generateClass('CheckoutComTran...') #2 [internal function]: Magento\Framework\Code\Generator\Autoloader->load('Chec" while reading response header from upstream, client: 10.131.66.73, server: ~^(?<subdomain>.+)\.(?<platform>[(m2).]+)\.(?<environment>[(s|d|p).]+)\.vortexcommerce.com, request: "GET /?fsd HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "amritanutrition.m2.s.vortexcommerce.com" 2018/05/23 13:39:01 [error] 19510#19510: *28 FastCGI sent in stderr: "PHP message: PHP Fatal error: Uncaught RuntimeException: Source class "\CheckoutComTransfer" for "CheckoutComTransferFactory" generation does not exist. in /mnt/volume-lon1-01/var/www/vhosts/m2.s.vortexcommerce.com/htdocs/amritanutrition/releases/cb69778d3ea99fa2e44d6ccab90020b7049f61e3/vendor/magento/framework/Code/Generator.php:185 Stack trace: #0 /mnt/volume-lon1-01/var/www/vhosts/m2.s.vortexcommerce.com/htdocs/amritanutrition/releases/cb69778d3ea99fa2e44d6ccab90020b7049f61e3/vendor/magento/framework/Code/Generator.php(112): Magento\Framework\Code\Generator->tryToLoadSourceClass('CheckoutComTran...', Object(Magento\Framework\ObjectManager\Code\Generator\Factory)) #1 /mnt/volume-lon1-01/var/www/vhosts/m2.s.vortexcommerce.com/htdocs/amritanutrition/releases/cb69778d3ea99fa2e44d6ccab90020b7049f61e3/vendor/magento/framework/Code/Generator/Autoloader.php(35): Magento\Framework\Code\Generator->generateClass('CheckoutComTran...') #2 [internal function]: Magento\Framework\Code\Generator\Autoloader->load('Chec" while reading response header from upstream, client: 10.131.66.73, server: ~^(?<subdomain>.+)\.(?<platform>[(m2).]+)\.(?<environment>[(s|d|p).]+)\.vortexcommerce.com, request: "GET / HTTP/1.1", upstream: "fastcgi://unix:/run/php/php7.0-fpm.sock:", host: "amritanutrition.m2.s.vortexcommerce.com"
Using v2.011 of extension
v2.1.9 of Magento 2
When trying to change css from custom to standard, it will not change and gives me the following error:
Something went wrong while saving this configuration: Notice: Undefined index: tmp_name in .../web-root/vendor/checkoutcom/magento2/Model/Config/Backend/CustomCss.php on line 52
The checkout page fails to load with below error:
[2019-07-03 03:04:59] [ERROR] Failed to load the "CheckoutCom_Magento2/js/view/payment/method-renderer/checkoutcom_card_payment" component.
This happens when Javascript minification and bundling is enabled.
Hello, there is an issue in the checkout if the customer check save card upon checkout payment and after successfully creating the order if u navigate to account then stored payment u will get no card saved ! can u verify this please it's urgent for us we are production environment.
Before the commit button there is a very large gap. I know why this is there - so that the tool tips in the iframe have space to be shown - a fix from a previous issue.
Not sure what the answer is there - if you move the button up then either it has to be over the iframe, which means that the tooltip will go underneath it; or it goes under the iframe, which means that the button cannot be pressed.
Our workaround may be to move the button up and over the iframe, but shift it to the left so that it does not interfere with the tool tip.
I'll have to leave it to you to see if you can come up with a general solution - perhaps the tool-tip needs to open upwards?
Setup:
Magento 2.2.3
Checkout.com module 1.0.20
Auto Capture Time: 1 hour
Integration: Frames
Debug: no (now turned on, but too late for this to help right now)
We are seeing a number of instances of orders being charged 2 (or more!) times. Looking at the access logs, the callback action is being called by checkout.com multiple times. Logging into the checkout.com hub I can see multiple authorisations that are then all getting captured. On the Magento side, the orders only show the last authorisation, but all the captures are being logged.
Example order in Magento with one authorisation but multiple captures:
Here are the authorizations and captures from the hub:
Here is an access log for a similar case that had only two captures:
You can see that the checkout is only entered once, but there are two calls to payment details, suggesting that they submitted twice.
Any idea how multiple authorizations might be being made? We did not get any reports of errors from the customers, and cannot see anything in the error logs on the server.
The field comment is currently "Select the action that should that should be used for orders with failed payments".
Could we please update to "Select the action that should be taken for a new order with a failed payment".
Method "setCardTokenId" is declared twice in web/js/view/payment/method-renderer/embedded.js
This breaks checkout in IE11.
Magento version: 2.3.0
checkoutcom version: 2.2.2
Steps to reproduce:
composer require checkoutcom/magento2:^2.2.2
bin/magento setup:upgrade
rm -rf var/cache var/generation/ var/di
php bin/magento cache:clean
An warning message is shown
Warning: count(): Parameter must be an array or an object that implements Countable in /var/www/html/vendor/checkoutcom/magento2/Model/Service/VersionHandlerService.php on line 143
Hi,
Seems like there is an issue with "Authorization order status" setting.
By default it equals to Pending Payment, but in fact, the order status is always Processing after authorization.
Tested with the latest checkoutcom module on Magento 2.2.5
The info block for a payment is rendered in the customer account area for orders, as well as in the order confirmation email.
I believe that it should only show relevant information for customers, but at present it's showing all transaction data that the admin sees. Here's an example from an order email:
The area is set on the block before it's rendered, so you should know if it's frontend or admin. If the former then I think you could just be showing the method and none of the extra info. Perhaps not output anything for frontend?
Hi guys,
We are facing an issue every time we enable 3DS payments.
Whenever a successful payment is made the following happens:
/success
)Merchant.Api.Models.ErrorResponse
I've investigated the issue on my side and it seems like the PlaceOrderObserver is making the second redirect. Disabling the observer seems to fix the issue, but I'm not sure about possible side-effects.
What's the reason for that observer since anyways the redirect to 3DS happened before?
checkoutcom/magento2
1.0.14 CC: 4242 4242 4242 4242
MM: 06 YY: 18 CVV: 100
Frames.js version 1.0.14 result:
payment-information
gets after some time "cancelled" and redirected back to "checkout/#payment" (like refreshing the page)When downgrading back to 1.0.13 then such issue doesn't exist.
{"0":"Notice: Undefined index: expiry_month in /home/magento/public_html/vendor/checkoutcom/magento2/Model/Vault/VaultToken.php on line 64","1":"#1 CheckoutCom\Magento2\Model\Vault\VaultToken->create() called at [vend$
From a default setup, going to Stored Payment Methods in the customer account area, an error is thrown - Uncaught ReferenceError: Frames is not defined
- looking in vault_cards_listaction.xml
there is a script tag - <script src="CheckoutCom_Magento2/js/collapseForm.js"/>
which relies on a window variable Frames
.
Suggestion would be to:
<script src="CheckoutCom_Magento2/js/collapseForm.js"/>
from vault_cards_listaction.xml
vendor/checkoutcom/magento2/view/frontend/templates/add-new-card-form.phtml
:<script type="text/x-magento-init">
{
"*": {
"framesjs": {},
"collapseForm": {}
}
}
</script>
vendor/checkoutcom/magento2/view/frontend/requirejs-config.js
:framesjs: 'https://cdn.checkout.com/js/frames.js',
collapseForm: 'CheckoutCom_Magento2/js/collapseForm'
This removes the collapse form js from render blocking and utilises standard magento requirejs loading.
The getEnabledMethods() is inherited from the \Magento\Payment\Gateway\Config\Config class and will get the payment methods enabled on a website level.
It will not check which internal Checkout.com payment methods are enabled. The result is that the payment methods will never show on a new install.
Below is the CSS that this module appears to be appending to the body:
`
html {
overflow: -moz-scrollbars-vertical !important;
overflow-y: scroll !important;
}
body {
overflow: visible !important;
}
#embeddedForm {
z-index: 0 !important;
}
#embeddedForm, #embeddedForm iframe {
position: relative !important;
}
#embeddedForm iframe {
min-height: 153px;
}
#cko-form-holder {
max-width: 50%;
}
`
The overflow: visible !important is breaking some styling on the site we are trying to use this extension on. Could this please be made more specific?
Using 1.0.8 with Magento 2.1.9:
Setup:
Actions:
Expected:
Actual:
Could we please update the field labels as following:
"Cancel Order" => "Cancel the order"
"Stay Pending" => "Do nothing"
Checked on clean Magento 2.1.9.
Checkout com module version: 1.0.23.3
Place order button is enabled
Place order button is disabled
There seems to be an area in the system config where the vault title can be specified:
However, the frontend always just shows this under the title checkout.com:
I cannot find any reference in the code to vault_title outside system.xml, so I suspect this has not been connected up? That or I don't understand what this title is for, which is possible.
When close order there is no void transaction in magento and payment status not updated.
I'm not sure, but seems that voided authorized payment should exists in "Transactions" table for order (in magento admin).
Also in "Payment Information" table status is "Authorized", but seems that it shoud be "Voided" for canceled orders.
Hey @david-fiaty-cko and @nicolas-maalouf-cko ,
i set up the public and secret key and set the module to enable YES, but i cant see the payment method at the checkout page
My bad it was the currency settings
PHP Fatal error: Uncaught Error: Call to a member function getPayment() on null in vendor/checkoutcom/magento2/Helper/Utilities.php:94
Magento ver: Magento 2.2.5
Checkout.com module version : 2.0.5
When I try to place order with Product which has only 1 Qty available.
I traced error and found at vendor/magento/module-quote/Model/QuoteManagement.php: 522
It throwing an error of Product is out of stock.
And in this file : vendor/checkoutcom/magento2/Controller/Payment/Verify.php : 139
Order object is null.
Didn't start to send it as PR but wanted to raise the issue which exists in current module.
(1) Changes, how we use in our module so there wouldn't be conflicting overrides with view/frontend/layout/sales_*
files:
Issue is that current module is redefining blocks in layout files and resetting core's already defined blocks and loosing some Commerce specific definitions.
(2) Also when using other payment options in project then due CheckoutCom\Magento2\Block\Order\Info::getPaymentInfoHtml
brings in abnormal behavior.
Hi,
We switched from test environment to live environment. The setting is Authorize only in magento and 3DS is enabled. After customer places an order, they are redirected to bank website where they are charged successfully and then back to magento. the transaction in checkout.com shows as Authorized only, but customer receives a message from bank that amount was captured and when customer is redirected back to magento they do not get the order success page or order number details and order gets placed in magento. This is only happening with Live account, we are not experiencing this with sandbox account. The URLs configured in checkout.com for payment verification and failure are correct, so are all the keys.
Please advice on this issue.
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.