X-Payments:Magento Connector v1.8.4
Contents
X-Payments connector for Magento 1 (v1.8.4)
We’re releasing another update for X-Payments connector for Magento 1. If your Magento version is between 1.6.x.x and 1.9.x.x, this update is of interest for you. I am going to review all the major changes and a few minor ones. If you prefer the dry language of changelog, there’s one for you, too – at the end of this article.
Improvements
So let’s get the ball rolling. First of all, there’s a number of updates to the admin backend of your X-Payments instance.
Admin backend
For security purposes, only the HTTPS protocol is now allowed. For the same reasons, developer mode is no longer available as well.
"IP addresses for X-Payments callbacks" option and IP address check did little to improve security but took up a great deal of resources, so we decided to give them up in favor of smoother and faster processing.
We rearranged customers’ saved payment cards lists so they now look neater and more logical. We implemented payment cards in each buyer’s profile and a separate page where the admin can see all the payment cards.
The "X-Payments Order State" tab on the order details page saw some rearranging, too. Now the sections look cleaner and show the information from Anti-fraud service providers and internal X-Payments validation, which is handy. Besides, the tab itself loads faster because we reduced the number of requests to X-Payments to just one.
For situations when you need to charge a saved card, we added protection from accidental double (or triple or even multiple) form submits. It can happen to us all, I guess, and extra protection will certainly help reduce the admin’s work.
We also removed secondary actions (void, capture, refund) from this tab. And improved the looks of saved cards form.
In the new version, whenever a client’s profile is deleted, their associated saved cards will be deleted, too.
Some will find it handy that X-Payments now allows setting status for new orders.
We have updated the credit card logos – some of them changed since the last time. We also reorganized them a bit, so the whole page is more pleasant to look at. (We’re technicians all right, but who says we don’t like it pretty?)
X-Payments can now work in maintenance mode. Most of you will never see the difference, but it’ll be much more convenient to support the software. Yes, this update is for us, developers, an egoistic one. :)
For you, we’ve added the ability to update payment status. The payment statuses are normally updated in your Magento store automatically from X-Payments. But in case anything goes wrong, you can now set the status manually according to what is shown in X-Payments backend.
If there are several stores, websites, or views within your Magento installation, you can set up specific parameters for each of them. This feature can be used in various situations. For example, you may use a different set of payment methods for each of your sites. Or if you have separate stores for selling in several countries, you may set a specific currency for each.
Frontend
Sure, the admin backend saw a lot of changes, because this is where you work and it’s important that your working environment is as intuitive as possible. However, we don’t forget about what your clients see, either.
So let’s see what’s new in the frontend.
First of all, we added support for multiple currencies. This is a must-have feature if you sell worldwide. Say, one of your clients from France chooses to pay with euro and another from Japan likes paying with yen. If you let that happen, your conversion rate will grow – that’s for sure.
Moreover, each of these two hypothetical clients will see different payment options at checkout – only those that can process payments in those currencies.
You can now force tokenization if you like. If you select this option, all your clients’ payment cards will be saved. Of course, the buyer will see a proper notice.
For cases when the order total is not final yet – for any reason – we’ve implemented the tokenization-only feature. In this case, the payment card is saved and the credit or debit card will be charged later when the order total is defined.
You’ll also like the improved looks of the AJAX loader.
We’ve also corrected some issues in the frontend but let’s finish up with the improvements first.
Internal and Processing
The most important change here is that we started to associate a callback request with the customer’s session. Say, a client belongs in a special user group in your Magento store and you defined special prices or discounts to its members. From now on, X-Payments will “know” it from the associated session and show the correct total.
X-Payments now supports decimal product quantity. This feature will be useful if you sell products that are measured in pounds / feet / square feet (or kilograms / meters / square meters, accordingly – if you use the metric system).
This way, you can sell, say, 1½ lbs of melted gold or 5.7 linear meters of finest intricate nun-made lace for a wedding dress. :)
We’ve also implemented a lot of improvements code-wise but that’s mainly for us, developers, too.
Bug fixes
Admin backend
The table of payment cards used to work weird whenever a card was deleted. It now behaves itself.
If X-Payments is not configured, it should not be possible to add new cards. Of course, X-Payments did not allow that but the error message did not look good. It now does.
Your smart Magento store automatically captures/voids payments when an order is changed. For example, if an order gets canceled, it’s normal to void the payment.
There were occasional issues with secondary actions, and we took good care of them.
Whenever an order is edited, the system used to cancel the order, create a new one and consequently, void the payment. This is not necessary in a lot of cases, so now you can manually void payments if need be.
Frontend
We corrected error handling for the situations when a customer returns from the payment page. The error (if there was one, of course) is handled properly and logged for easier troubleshooting.
In some cases, the Payment Cards link did not show up and the admin could not view an existing card. We corrected that issue.
Internal and Processing
We have fixed a possible issue with rounding. It could have caused critical issues with tax calculation, you wouldn’t want that.
The auto-capture feature could fail in some cases, we will not let that happen again. The issue’s fixed.
We have corrected the processing of the "sumbitPaymentForm" event from X-Payments, it used to fail sometimes.
There was an issue with subscription prices not calculating properly – we corrected it.
To sum up
There have been a lot of minor improvements and a few major ones. Regardless of the importance, they will improve your overall X-Payments experience, and we hope you’re already enjoying them.
Changelog 1.8.4
Now for the promised changelog.
Admin Backend:
- Removed "Developer mode", only HTTPS protocol is now allowed
- Removed "IP addresses for X-Payments callbacks" option and the IP address check
- Improved page listing customers' saved payment cards. Implemented separate page to list saved cards from all customers
- Corrected card delete action
- Corrected add new card page if X-Payments is not configured
- Delete associated saved cards when a customer is deleted
- Reorganized appearance of the "X-Payments Order State" tab on the order details page. Added information about anti-fraud check
- Added protection from double form submits at the "X-Payments Order State" tab. Removed secondary actions. Improved saved cards form
- Added some corrections for the core payment secondary actions on order changes
- Do not void payment after edit order
- Corrected "Manual review required" text for the errors in internal validation
- Ability to set status for new orders
- Corrected saved cards form validation at order creation
- Corrected credit card logos
- Added maintenance mode
- "Update payment status" feature, which allows updating payment status according to the info from X-Payments
- Support of the Multi-store configuration
Frontend:
- Support of multi-address checkout and multi-currencies
- Improved error handling when a customer returns from the payment page
- Added ability to force tokenization
- Added tokenization-only feature when order is placed
- Changed default payment method name to "Credit or Debit Card"
- Corrected appearance of the AJAX loader at checkout
- Corrected appearance of the Payment Cards link and pages
Internal and Processing:
- Corrected occasional mis-reference with quotes and orders
- Corrected possible rounding issue
- Start customer's session for callback request for correct cart calculation
- Payment token TTL is now 900 seconds
- Corrected auto-capture feature
- Corrected processing of the "sumbitPaymentForm" event from XP
- Corrected subscription prices
- Decimal product quantity support
- Code-style improvements
- Removed unused PHP docs. Corrected comments