Standard Plugin
PACKAGE VERSION 1.10.0
- Temporary suspension of PayPal support in Quivers until further update.
- Enhanced Magento Admin Panel integration provides real-time Quivers app status updates.
- Made plugin compatible with PHP 8.2.
PACKAGE VERSION 1.9.9
- Enabled seamless checkout experience in case of failed payment.
PACKAGE VERSION 1.9.8
https://cdn.quivers.com/magento2/Quivers_Integration-1.9.8.tar.gz- Added support for multiple currencies.
PACKAGE VERSION 1.9.7
https://cdn.quivers.com/magento2/Quivers_Integration-1.9.7.tar.gz- Enabled discount on shipping fees.
- Supporting multi-site and multi-store configuration settings to have default and/or site specific configurations on all sites.
PACKAGE VERSION 1.9.6
https://cdn.quivers.com/magento2/Quivers_Integration-1.9.6.tar.gz- Quivers standard plugin and BOPIS plugin are now compatible with Magento2 v2.4.5
- Made improvement on payment error handling, in case of failed payments.
PACKAGE VERSION 1.9.5
https://cdn.quivers.com/magento2/Quivers_Integration-1.9.5.tar.gz- Improvements related to marketplace submission guidelines.
- Improved User facing validations on payments, when user is attempting payments with invalid or missing card details.
PACKAGE VERSION 1.9.4
https://cdn.quivers.com/magento2/Quivers_Integration-1.9.4.tar.gz- Updated checkout workflow to handle shipping amounts with the item's product prices while calculating taxes.
PACKAGE VERSION 1.9.3
https://cdn.quivers.com/magento2/Quivers_IntegrationValidations and Optimization of Payment Flow
- Handling of "mandatory field" validations and optimization of the payment flow to avoid failed orders, which may be caused due to any prior customizations on top of the standard Magento checkout process.
Custom Order statuses for Retailer Order Fulfillment
- Introduced additional order statuses of “On Hold” and "In Progress", to capture retailer fulfillment progress, thus providing further clarity in the progression of the order.
PACKAGE VERSION 1.9.2
Functionality added for Debug mode to track logs
- In Quivers settings, new functionality added for debug mode ON/OFF to track logs. If debug is ON, it will track log data else not.
PACKAGE VERSION 1.9.1
Quivers version-1.9.1 Compatible with Magento 2.4.3-p1
- Setup files have been replaced to accommodate changes to Magento version 2.4.3-p1.
- Customer mail address added in captcha response log tracking.
- Changes to site key variable.
- Added missing scope configuration class declaration.
PACKAGE VERSION 1.9.0
Branding of Stripe and PayPal Settings
- In Magento2 App, Quivers payments were listed as 'PayPal' and 'Stripe' (Magento2 App > settings > payment methods). Now we have branded our Stripe/Paypal implementations as 'Quivers-Pay PayPal' and 'Quivers-Pay Stripe' respectively.
Change in Verbiage
- Replaced the term Retailer to Fulfiller across the whole platform.
- Replaced the term Marketplace to Storefront(Magento2 Admin Panel > Stores > configuration > SALES > Quivers Tax).
PACKAGE VERSION 1.8.8
- Modified Product API to return weight unit.
PACKAGE VERSION 1.8.7
- Made an adjustment in the plugin to fix the checkout page reloading issue which was occurring when clicking on the place order button if CVV, card number or expiry date is empty on the page.
PACKAGE VERSION 1.8.6
Misc. There was a error in the code, the fail safe was executed and due to this, less tax was getting authorized in the order total.
-
This has been fixed in the above package and now tax is getting authorized in the order total.
- Added some more debug logs for the stripe.
PACKAGE VERSION 1.8.5
Misc. Error - customer coming as NONE on our payment gateway platform admin panel.
- We added code present in QuiversStripe.php file(customer creation code) in index.php and sent the customer Id in the payload of the Payment Intent API. It fixed the error of customer that was coming as None on the payment gateway platform admin panel.
- Fixed an issue where charges were created for an order through Stripe without a customer record being created and associated with those charges.
PACKAGE VERSION 1.8.4
Misc. Need to save the store_id in the our profile and fetch orders from that store.
-
On activating Quivers settings for a store, it will save the store_id in our profile and fetch orders from that store.
- On deactivating Quivers settings for a store, it will remove the store_id in our profile so that it does not fetch orders from that store.
PACKAGE VERSION 1.8.3
Misc. Code Enhancements to adhere to Magento 2 Latest Development Guidelines
-
Made adjustments in the existing code to ensure that the Quivers Plugin is adhering to the latest Magento 2 Development Guidelines
Fixed Magento 2 tax authorization issue around order with product variants
- Fixed the issue in the plugin where tax value was not displaying for order with multiple variant products.
PACKAGE VERSION 1.8.2
Handled Checkout with Multiple Addresses
- Made an adjustment in the plugin to display Quivers Stripe and Estimated Taxes when checking out with multiple addresses.
Preorder Handling
- Added a pre-order availability checkbox on the product creation screen for both Simple and Variable Products.
- Enabling this flag will sync the ordered item with a pre-order status on Quivers.
- Added another field in Quivers Plugin Settings called Preorder Key.
- Since "preorder" isn't a standard field in Magento 2, you can use this field, to provide the custom field that you have created on the product page to refer to when marking a product for 'preorder'. Please note that you should provide the field name from the API that represents your preorder field on the UI
PACKAGE VERSION 1.8.1
Calling Stripe Recaptcha site keys URL only when Quivers plugin and Quivers Stripe are active
- Made Adjustments in the Quivers plugin to only call Stripe Recaptcha site keys when Quivers plugin, as well as Quivers Stripe, are active for a store.
PACKAGE VERSION 1.8.0
Magento 2 Refund API Customisation
- Made Adjustments to fix a known issue in the Magento 2 Refund API to allow refunding the tax amount when the order has 0 shipping fee
Misc. Bug Fixes
- Made an adjustment in the plugin to fix the place order button which was not working when placing an order using Magento 2's Stripe payment gateway.
PACKAGE VERSION 1.7.9
Fixed Magento 2 Paypal issue around double tax authorization
-
Made an adjustment in the standard plugin to not authorise and capture the tax amount twice when placing an order using Magento 2's official Paypal Payment Gateway
PACKAGE VERSION 1.7.8
Updated Shipping Fee Distribution logic to consider Instore pickup items
-
Made an adjustment in the standard plugin to not allocate a shipping fee to the Instore Pickup Item in an order
-
This feature will only work if the Quivers BOPIS plugin is enabled
PACKAGE VERSION 1.7.7
Unable to save Quivers Settings page on Magento 2
-
Fixed the issue in the plugin where on saving quivers settings the plugin validation was returning a 403 error for the Integration base URL
Misc. Code Enhancements to adhere to Magento 2 Latest Development Guidelines
-
Made adjustments in the existing code to ensure that the Quivers Plugin is adhering to the latest Magento 2 Development Guidelines
PACKAGE VERSION 1.7.6
Added application logging to identify issues around the Quivers Settings page on Magento 2
-
Added logs in the plugin to figure out why saving quivers settings was returning a 403 forbidden error.
PACKAGE VERSION 1.7.5
Fixed 'Blank Checkout Screen' Issue
- Fixed the 'blank screen' issue on checkout experienced when the Quivers Stripe API was returning 'Null'. This was occurring when the Stripe Plugin was enabled without entering the keys.
- As a fail-safe, the plugin will also display the following message - “Sorry! Looks like this payment method is not yet available to use because it has not yet been fully configured."
PACKAGE VERSION 1.7.4
Fixed 'Blank Payment Method Screen' Issue
- Fixed the issues experienced in multi-store Magento 2 sites where under Store configuration, the payment methods screen is blank if viewing the payment methods for a store in 'Website View'.
PACKAGE VERSION 1.7.3
Bug Fixes on Quivers Settings Page
- When the Quivers plugin is disabled, Stripe and Paypal configuration forms should be hidden
- Saving Quivers settings for a Specific store should redirecting to the Quivers Tax form for that store instead of 'Default config'
- Show API keys in Stripe and Paypal payment configuration form on store level and not just under 'Default config'
- Fixed 'ACTIVE' label changing to 'INACTIVE on Quivers Settings form even though the plugin was enabled.
Fixed Estimated Tax Label Issue
- Made an adjustment in the plugin to not show the 'Estimated Tax' label on checkout for stores where the Quivers plugin is disabled
Place Order Button not working on the checkout
- Made an adjustment in the plugin to not return a jQuery error when clicking on the place order button, if the order was placed using Stripe
PACKAGE VERSION 1.7.2
Added further application logging to identify issues affecting the checkout experience when making payments using Stripe
-
Added logs in the plugin to figure out why stripe is returning an error because it is unable to create payment intent on checkout.
PACKAGE VERSION 1.7.1
Added application logging to identify UPC field creation error on product forms on plugin installation
-
Added logs in the plugin to figure out which product is failing while updating the UPC field on the product form.
PACKAGE VERSION 1.7.0
New Claiming Policy Endpoints
-
Updated the plugin to use ClaimingPolicies/GetByBusiness to display the storefronts and claiming groups for mapping at the time of plugin setup
- Under Quivers Tax Settings, in the claiming group dropdown, made changes to not show claiming policies whose policy type is ‘blacklist’ (i.e. inclusive = false) as an option to select in the plugin settings
UPC Handling
- Added a UPC field on the product creation screen for both Simple and Variable Products. This field when saved upon product creation/editing will save a UPC metadata attribute for the product
- Added another field in Quivers Plugin Settings that will save the UPC text field that will save the metadata attribute client is using to save UPC
PACKAGE VERSION 1.6.9
Fixed Phone No. validation on checkout
-
For the stores where the Quivers plugin is disabled if Magento 2's default phone no. validation has been applied, the plugin was overriding that setting resulting in the validations not working on the checkout
-
Added a fix for it such that it uses Magento 2's default validation on the stores where the plugin is disabled
PACKAGE VERSION 1.6.8
Stripe 3D Secure Implementation
-
Implemented "3D Secure" in our Stripe checkout workflow.
-
As a part of this change, the customer may have to enter a code received from SMS in order to complete the transaction if their bank requires it
PACKAGE VERSION 1.6.7
Misc. Feedback Changes in Plugin Code
- Consider making a verification on $parent = $this→getParentBlock(); to avoid letting $parent receiving a null value; If a null value is set, it will crash the operation when this code: $parent->getOrder(); gets executed
-
$customer = $this->customerSession→getCustomer(); - If there’s ever an issue with the customer session, or if for some reason session data isn’t properly saved by Magento, this call to getCustomer could return null, which could have further implications on the checkout process
- Applied try/catch statements here with exception handling
PACKAGE VERSION 1.6.6
Fixed 500 Error when a product variant is added to the cart
- Fixed the issue within the plugin that was resulting in "No Shipping Methods Available" error when certain products in order were added to the cart
- This was resolved by using the API Repository (ProductRepositoryInterface) for loading the products
PACKAGE VERSION 1.6.5
Enable/Disable Plugin for Specific Stores
-
Added the ability in the plugin to be disabled on a store basis i.e. if disabled a plugin on 1 store it should disable the following for that specific store only -
-
Stripe and Paypal
-
Phone no. and zip code or any other validation on checkout
-
Tax calculation on checkout
-
Misc. Code Changes
-
In \Quivers\Integration\Model\QuiversStripe::createCharge, name of class \stripe\charge was lowercased. Capitalized it as mentioned below-
-
$charge = \Stripe\Charge::create($request);
-
PACKAGE VERSION 1.6.4
Updated Stripe API version
- Made a change in the plugin to use Stripe API version 2019-09-09 or above.
Added re-captcha v2 (Invisible Mode) in Stripe
- Implemented Re-captcha (Invisible Mode) in Stripe to avoid getting suspicious transactions on the checkout
-
It will be invoked directly when the customer clicks on a payment button on the site.
-
If the invisible re-captcha validation fails, we will redirect the user to a visible re-captcha for validation.
-
Post this, anyone wishing to proceed to the checkout will need to select the reCaptcha checkbox.
PACKAGE VERSION 1.6.3
Error Handling and Validation Checks on Plugin Settings
- Made improvement in the plugin to better handle and display errors when a user is trying to save plugin settings to avoid manual errors.
Blank Checkout Page without Quivers credentials
-
Made an adjustment in the plugin to ensure that the Stripe API credentials (Public API Key and Secret API Key) are mandatory fields and users cannot enable Stripe till these fields are entered in Magento Admin Panel
-
If they leave it empty and try to save the form, display an error - "Please enter publishable and restricted key values if you wish to enable 'Pay by Card' as a payment method on Checkout."
-
As a fail-safe, if the credentials entered on Stripe are incorrect or empty display an error message on the checkout to avoid Blank Page - “Sorry! Looks like this payment method is not yet available to use because it has not yet been fully configured.
PACKAGE VERSION 1.6.2
Update Statement Descriptor Usage
-
Made a change in the plugin to use statement_descriptor_suffix instead of using statement_descriptor when creating the charge
-
Since statement_descriptor_suffix has a shorter maximum length of 10, the plugin will trim down the statement descriptor received from Validate API to 10 if it is more than that.
PACKAGE VERSION 1.6.1
Fixed Product Tax code issue by using custom attributes
- Made adjustment in the plugin to not use pre-built table “catalog_product_entity_text“ which Magento 2 uses to store its inbuilt attributes for saving the product tax code and instead save it using the custom attributes
PACKAGE VERSION 1.6.0
Fixed Product Tax code issue
- Made adjustment in the plugin to pass Product Tax code to Validate API on checkout
PACKAGE VERSION 1.5.8
Added functionality to display Included and Additional Taxes on checkout and Order Detail Page
- If the validate API for an order has ‘included taxes’ and includedInSubtotal = true, ‘Included Tax’ the label will be displayed on checkout as well as Magento 2 order detail page for the admin
-
If the validate API for an order has ‘additional taxes’ and includedInSubtotal = false, ‘Tax’ the label will be displayed on checkout as well as Magento 2 order detail page for the admin
PACKAGE VERSION 1.5.7
Implementing Logs on Client Side
- Added logs at the client side to better track the checkout errors.
PACKAGE VERSION 1.5.6
Interceptor Issue due to Restriction of Unhold Operation
Fixed the interceptor issue on the plugin which was resulting due to the following functionality -
- Added 'On-hold' API call that issues an alert message - 'This order is currently available to fulfillers, claimed by a fulfiller, or undergoing fraud review. Are you sure you want to proceed with processing this order?'
- This message is only triggered if the order is with the fulfiller on Quivers.
- If the order has been shipped by a fulfiller and the user proceeds with the order on Magento, he/she will be restricted from 'un-holding' the order on Magento thus displaying an error message -'Unhold action is not available. This order is already shipped by a Fulfiller'.
PACKAGE VERSION 1.5.5
Consider tax calculated by Quivers when applying Store Credit on order total
- Made an adjustment in Quivers plugin to consider the tax amount calculated by validate API when applying store credit on order total on checkout.
PACKAGE VERSION 1.5.4
Reduce Store Credit when sending amount to Stripe
- Made an adjustment in Quivers Stripe payment plugin to authorise order total reducing the amount equal to Store Credit in an order.
PACKAGE VERSION 1.5.3
Stripe Destination Charges
- Made an adjustment in Quivers Stripe payment plugin so that each charge is "destination" in Stripe. This change allows both "Transfer destination" and "Transfer amount" to be set on the charge.
Stripe Customer Id Issue
- Made an adjustment in Quivers Stripe payment plugin to filter out Customers based on the value of the 'live mode' flag value against each customer id, i.e.
- If you are placing an order in 'Stripe test mode' and the customer's live mode value is 'true', the plugin should create a new customer for Test and vice versa.
Disable using HTTP 100 in Validate API
- Made an adjustment in the plugin to disable using HTTP 100 status code as a response for Validate API. This was currently resulting in frequent Validate API failures.
PACKAGE VERSION 1.5.2
Reduce Stripe API Calls
- As per the previous implementation, total no. of Stripe API calls were 3
- Made an adjustment to reduce Stripe API calls from 3 to 2, if the customer already exists i.e.
- API Call 1 - Check for Stripe Customer by email
- API Call 2 - If Customer does not exist, create a new customer. If customer exists, go to step c)
- API Call 3 - Create Charge
Delay Timeout on Tax APIs
-
Added a 10 second timeout delay on Validate API in the plugin.
-
Added a 5 second timeout delay on Countries API in the plugin.
Add CH-Internal to Plugin
-
Updated the plugin to use CloudHub-Internal as the production endpoint for all CloudHub API requests.
Shipping Fee and Discount distribution among line items
- Made an adjustment such that the logic to distribute shipping fee and discount amount among line items is similar to they way Zenith customer order create method calculates it in both the plugin and middleware.
PACKAGE VERSION 1.5.1
Stripe
- Customized error messages from Stripe to make it more user friendly
- Enable/Disable Payment method functioning
- Save Card Functionality
- Made adjustments to save card id only on a specific site for the same customer using a separate site on Magento 2. It was earlier showing the cards saved on one site on the other site as well.
- If a card failed due to some reason, the plugin was picking up the failed card, even though the card number had been changed. This was fixed in this version
PayPal
- Enable/Disable Payment method functioning
Added Product Web API
- Exposed a web API endpoint to allow integration to get the parent product id of a product variant if the product variant can be sold both separately and within the product.
PACKAGE VERSION 1.4.6
Stripe Save Card Functionality
- Made an adjustment to allow logged in users to save cards on checkout
- If the customer is logged in and the Save Card feature is enabled
- We create a new customer & then use the newly generated customer id to create charge, if the customer opts to use a new card.
- If customer opts to use saved card, we then get the customer whose last 4 card digits & the email id matches with that of the saved card and use that retrieved customer id to create charge.
- If the customer is not logged in , we would not show the 'Save Card' Button.
PACKAGE VERSION 1.4.5
Display correct order total on shopping cart and checkout
- Made an adjustment within the plugin to show correct order totals (including shipping & tax) on both shopping cart and checkout
PACKAGE VERSION 1.4.3
Incorrect Phone no. validation
- Made an adjustment within the plugin so that the phone number validation works irrespective of whether 'minify' js is enabled.
PACKAGE VERSION 1.4.2
Stripe Payment Statement Descriptor
- Payment descriptor for payments made using Stripe for the Magento plugin were using only the default payment descriptor ("QuiversInc").
- Made adjustments so that the charge uses the statement_descriptor property and pass it through Validate API
Passing refId to Validate API
- Replaced product 'id' with refId to map another system's id to a field in Quivers
- Using the product id was resulting in the failure of orders placed using Stripe as a payment method
Multiple claiming groups
- Added multiple claiming group support in 'Claiming group Id' field under Quivers Integration settings on Magento Admin Panel
Checkout Validation
- Handle checkout validation on back end rather than making changes to the existing templates on front end
Validate API Response
- Made adjustments within the plugin for the Validate API to iterate through all the taxes in response data
Hide Zip code field from Stripe
- Made adjustments within the plugin to hide Zip code code field in Stripe and send Zip code from 'Customer Billing Address' instead
Tax calculation on checkout
- Made an adjustment to add the worst case sales tax rate to the order total and authorise that amount if Validate API fails to return tax on checkout.
PACKAGE VERSION 1.4.0
Restriction of Unhold Operation
- Added 'On-hold' API call that issues an alert message - 'This order is currently available to fulfillers, claimed by a fulfiller, or undergoing fraud review. Are you sure you want to proceed with processing this order?'
- This message is only triggered if the order is with the fulfiller on Quivers.
- If the order has been shipped by a fulfiller and the user proceeds with the order on Magento, he/she will be restricted from 'un-holding' the order on Magento thus displaying an error message -'Unhold action is not available. This order is already shipped by a Fulfiller'.
PACKAGE VERSION 1.2.0
Virtual Product Pricing issue
- Plugin code was adding prices of all the shipment methods in a single shipment price during calculation of tax.
PACKAGE VERSION 1.1.0
PayPal
- Added PayPal as a payment method during checkout.