magento2-plugin's People
Forkers
favicodemagento2-plugin's Issues
Review of current module and Suggestions of possible improvements
This is fast review of current module and (possible) roadmap how to improve it:
https://docs.google.com/document/d/1ai00MfkV7_FSdg2j3FiPKxH_m1ZD5ymUORozChLszrA/edit?usp=sharing
Please review and if you think we're on the right track, we can create separate Github issue for each bug/feature as we go along.
Enable composer installation for plugin
We tried installing plugin using composer but it failed.
How can we install this plugin?
Callback failing
Preconditions:
Software versions:
- monripayments/magento2: 1.2.0
- magento/product-community-edition: 2.4.5-p1
- PHP version: 8.1.11
Magento & Monri configured in sandbox mode.
Steps to reproduce:
- Add product to the cart
- Complete checkout
Expected result:
The order created as expected, transaction verified by callback from PGW
Actual results:
The order created, callback always fails with the following exception:
Not Found Exception caught: Order not found.
Full log entry:
'location' => 'Monri\\Payments\\Controller\\Gateway\\Callback::execute',
'errors' =>
array (
0 => 'Not Found Exception caught: Order not found.',
),
'success' => false,
'payload' =>
array (
'id' => 497011,
'acquirer' => 'xml-sim',
'order_number' => '000000005-63b2b77c1ef55',
'order_info' => 'Magento Order',
'amount' => 700,
'currency' => 'EUR',
'ch_full_name' => 'Stjepan Udovicic',
'outgoing_amount' => 700,
'outgoing_currency' => 'EUR',
'approval_code' => '415187',
'response_code' => '0000',
'response_message' => 'transaction approved',
'reference_number' => '96335',
'systan' => '497011',
'eci' => '06',
'xid' => NULL,
'acsv' => NULL,
'cc_type' => 'visa',
'status' => 'approved',
'created_at' => '2023-01-02T11:53:39.274+01:00',
'transaction_type' => 'authorize',
'enrollment' => 'N',
'authentication' => NULL,
'pan_token' => NULL,
'ch_email' => '[email protected]',
'masked_pan' => '405840-xxx-xxx-0005',
'issuer' => 'off-us',
'number_of_installments' => NULL,
'custom_params' => NULL,
'expiration_date' => '2511',
'issuer_groups' =>
array (
),
),
) [] []
Additional notes:
It appears that the order is loaded from the database with order_number
that is passed in the callback without modifications:
https://github.com/MonriPayments/magento2-plugin/blob/master/Controller/Gateway/Callback.php#L99
However, callback has a string appended as a suffix to the order number, resulting in the order failing to load. Most likely, I haven't fully checked.
Checkout issues with HR symbols
This piece of code here has a problem with HR symbols.
For example, if I input my first name as Stjepan
and my last name as Udovičić xxxxxxxxxxć
, then formatText()
will return the invalid value. Ultimately, the order will be created, but the redirect will fail, as data can not be serialized for sending. following is observed in the log file:
[2023-02-03T14:17:13.163515+01:00] main.DEBUG: array (
'location' => 'Monri\\Payments\\Controller\\Redirect\\Form\\Data::execute',
'errors' =>
array (
0 => 'Unexpected exception caught: Unable to serialize value. Error: Malformed UTF-8 characters, possibly incorrectly encoded',
),
'success' => false,
'payload' =>
array (
),
) [] []
The result is that the customer is left on checkout with an empty error message, can't retry as the order is created, and has to re-add everything back to the cart.
Relevant data:
Module version: 1.2.0
Magento version: magento/project-community-edition: 2.4.4-p2
PHP version: 7.4.11
Rename payment method title from PikPay to Monri
Log not created
Preconditions:
Software versions:
- monripayments/magento2: 1.2.0
- magento/product-community-edition: 2.4.5-p1
- PHP version: 8.1.11
Magento & Monri configured in sandbox mode
Monri is configured only for "Monri components", nothing from "Monri Redirect" changed.
Enabled "Debug" under "Monri components"
Steps to reproduce:
- Add product to the cart
- Complete checkout
Expected result:
Magento log "monri_payments.log" was created with transaction details for debugging purposes
Actual results:
The log is not created
Additional notes:
The log is created once the "Debug" config is changed under "Monri Redirect", meaning that the config is being fetched from the wrong path.
New Order email sent right away before redirect
On Redirect version, new order email is sent during redirect process and it should be sent only if customer successfully finishes payment on Monri side.
Initialize command is not executed, which flags Magento not to send email. This also sometimes leaves pending orders in "new" state instead of planned "pending_payment".
Refactor/Rename package Leftor/PikPay to Monri
Monri Components - Digest calculation is reading wrong config value for admin commands
When order is made with Monri Components, and admin tries to refund/capture/void/cancel, digest calculation is using Key (client_key) config value from Monri Redirect and not one from Monri Components.
Fix is scheduled for next release.
Implement override url params
Implement new override url params to be more compatible with multi domain Magento setups.
- success_url_override
- cancel_url_override
- callback_url_override
This will solve issues when store codes are used in url or when different stores are on different subdomains.
Also it will give ability to use same Monri account on different Magento websites (if ever needed).
Recommend Projects
-
React
A declarative, efficient, and flexible JavaScript library for building user interfaces.
-
Vue.js
🖖 Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.
-
Typescript
TypeScript is a superset of JavaScript that compiles to clean JavaScript output.
-
TensorFlow
An Open Source Machine Learning Framework for Everyone
-
Django
The Web framework for perfectionists with deadlines.
-
Laravel
A PHP framework for web artisans
-
D3
Bring data to life with SVG, Canvas and HTML. 📊📈🎉
-
Recommend Topics
-
javascript
JavaScript (JS) is a lightweight interpreted programming language with first-class functions.
-
web
Some thing interesting about web. New door for the world.
-
server
A server is a program made to process requests and deliver data to clients.
-
Machine learning
Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.
-
Visualization
Some thing interesting about visualization, use data art
-
Game
Some thing interesting about game, make everyone happy.
Recommend Org
-
Facebook
We are working to build community through open source technology. NB: members must have two-factor auth.
-
Microsoft
Open source projects and samples from Microsoft.
-
Google
Google ❤️ Open Source for everyone.
-
Alibaba
Alibaba Open Source for everyone
-
D3
Data-Driven Documents codes.
-
Tencent
China tencent open source team.