Magento is an open source, e-commerce platform coded in PHP. Magento’s source code is distributed under an Open Software License v3.0.
For these reasons, Kushki sought to integrate its payment methods by creating a plugin that allows making payments with a card; you will find the details of the installation and administration below.
|Accept ✅||Reject ❌|
|Credit card one-time payments||Recurring Charges|
|Authorization and capture|
- Magento 2.3.x and up to 2.4.2 for optimal compatibility.
The plugin source code can be downloaded here.
- You must have downloaded the Kushki payment module in .zip format.
- You must have Magento installed and configured with the type of currency you will use.
- You must have access to the administration section of Magento.
Follow these instructions to install the Kushki plugin on your Magento store:
1.1. Extract the .zip file contents
1.2. In the Magento installation directory, go to app > code (in case it does not exist, you must create the code folder) and paste the folder extracted from step 1. The final path should be app > code > Kushki > Payment.
1.3. Upgrade Magento. From an SSH terminal, run the following command in the Magento 2 root directory:
php bin/magento setup:upgrade.
1.4. Compile the setup by running the following command:
php bin/magento setup:di:compile.
1.5. Deploy static content. Run the following command in the Magento 2 root directory:
php bin/magento setup:static-content:deploy.
1.6. Finally, clear the cache by running the command:
php bin/magento cache:flush.
2.1.1. Go to Store > Configuration > Sales > Payment Methods > Kushki Payment, enable the Kushki payment plugin by changing to Yes in the Enabled section.
Once you have enabled the Kushki payment method, the credentials and features fields will be visible.
2.1.2. Add the payment title that will be shown to the customer in the front-end.
2.1.3. Add public and private keys. These credentials can be found in the Kushki administration console, in the Developers section, Credentials option.
2.1.4. Enable the environment for requests to be sent to Kushki’s server by using the option
Enable Test Mode:
- For the test environment, select
- For the production environment, select
2.1.5. Allow customers to pay from any country in the Payment from Applicable Countries section or restrictions in the list of countries in the Payment from Specific Countries section.
2.1.6. Enter the maximum and minimum value to restrict the payment based on the total amount. (Optional)
2.1.7. In the Sort option, adjust the checkout position that will be displayed on your website. (Optional)
In order for the payments you receive by transfer or cash to work correctly, it is necessary to set up the credentials that Magento provides you with in the Integrations section.
Follow these instructions to get the Magento integration credentials:
126.96.36.199. From your Magento store, go to System > integrations.
188.8.131.52. Once inside, click on the Add New Integration button to generate a new integration. A new window will open to enter the integration information.
184.108.40.206. Add a name for the new integration (e.g. Kushki) and click on the Save button to save the new integration. The system will take you back to the screen with the list of available integrations.
220.127.116.11. Click on Activate and then on the Allow button. You will see on screen the credentials needed to set up inside the Kushki console.
18.104.22.168. Finally, click Done to finish the activation.
The following GIF will show you the process to obtain the Magento credentials:
22.214.171.124. Log in to your Kushki console.
126.96.36.199. Go to Configuration > Integrations > Plugins. The available e-commerce plugins will be displayed.
188.8.131.52. Select Magento and proceed to set up the content and style of your form.
184.108.40.206. In the form, in the section enter your credentials, you will need to enter the
Consumer key ,
Consumer secret ,
Access token y
Access token secret generated by Magento (step 2.2.2) for authentication purposes OAuth between Magento and Kushki. In the
domain field, enter the domain of your store.
220.127.116.11. Then click the Verify tokens button to validate the credentials.
18.104.22.168. If the credentials are correct, and you have finished configuring the other payment form fields, click the Save Form button located at the bottom left of your screen next to the cancel button.
By linking your Magento store with Kushki, our payment form will be added in default version with predefined colors and styles. To customize your payment form (Kajita) in your Magento store, follow these steps:
2.3.1. Log in to your Administration Console and go to the Configuration section.
Browse through the page until you find the Integrations section.
2.3.2. Click on Plugins
2.3.3. Select Magento. A notice will be displayed.
2.3.4. Click on the button Set up the content and style of your form. Your Kajita for Magento will be displayed.
2.3.5. Choose whether you want to receive payments by one-time payment or by authorization and capture.
Follow the instructions given in Customize your payment form to customize the payment form for your Magento store.
Now that you have the plugin installed and set up, it is time to see how to operate with it.
In Magento, we can have different statuses for an order. The following are the possible order statuses with the plugin:
- Pending: This is the status of new orders that have not yet been processed.
- Processing: It means that the order has been invoiced or shipped, but not both.
- Complete: Orders marked as complete have been invoiced and shipped in full.
- Canceled: The order has not been paid.
- Closed: Payment for the order has been refunded.
In order to process one-time payments with credit cards , it is necessary that the One-time payment option is selected at the top as well as the Credit and Debit Card option in the Payment Options > Payment Methods section within the Kushki console in the following path: Configuration > Integrations > Plugins > Magento > Set up the content and style of your form.
Once a new order is generated, you will see the transaction in the order list (Sales > Orders) with the Processing status, which indicates that the payment has already been made.
When the shipping is completed, the status of the order will change to Complete, which indicates that both the ship and the charging have been satisfactorily carried out.
In order to process payments with transfer, it is necessary that the One-time payment option is selected at the top as well as the Transfer option in the Payment Options > Payment Methods section within the Kushki console in the following path: Configuration > Integrations > Plugins > Magento > Set up the content and style of your form.
Once a new order is generated, you will see the transaction in the order list (Sales > Orders) with the Pending status, which indicates that the payment is waiting to be processed. Once the transfer has been successfully completed, the status of the order will change to Processing, indicating that the transaction was successfully paid.
In order to process payments with cash, it is necessary that the One-time payment option is selected at the top as well as the Cash option in the Payment Options > Payment Methods section within the Kushki console in the following path: Configuration > Integrations > Plugins > Magento > Set up the content and style of your form.
Once a new order is generated, we can see the transaction in the Magento store in the order list (Sales > Orders) with the Pending status, which indicates that the payment is waiting to be processed. Once the payment has been successfully completed, the status of the order will change to Processing, indicating that the transaction was successfully paid.
Follow these instructions to request a chargeback for approved transactions made with debit and credit card .
3.5.1. Log in to Magento with your merchant credentials.
3.5.2. Click on the Sales > Orders option on the left side menu.
3.5.3. Click View on the order to make the refund. The transaction must be in Processing status in order to make the refund.
3.5.4. Click on the Credit Memo section in the top menu.
3.5.5. Click the Refund Offline button to make the refund. The status of the transaction will change to Closed, indicating that the refund was requested.
Chargebacks can be of two kinds, depending on the day and time in which the original transaction and cancellation request are processed:
- Cancellation (void): When the chargeback request is made on the same day of the transaction before the cut-off time, which varies by country, the cancellation occurs immediately.
- Reimbursement (refund): When the chargeback request is made after the deadline. The process can take up to 45 days to be reflected as a credit note in the client’s account.
These are the deadlines provided by country to make cancellations:
|Up to 3 hours after the transaction is approved.||20:59 on the day of the transaction.||21:00 on the day of the transaction.||23:59 on the day of the transaction.||20:59 on the day of the transaction.|
To process payments with authorization and capture, it is necessary to choose the Authorization and Capture option within the Kushki console in the following path: Settings > Integrations > Plugins > Magento > Configure the content and style of your form.
If you made the reservation of funds with Kushki from your Magento store, Kushki will allow you to capture the funds from your store administrator.
Authorized card transactions will have a Pending status by default. To effectively capture the funds, it is necessary to do the capture manually from your Magento store, which will cause the status to change to Processing. To do so, follow these steps:
3.6.1. Access Magento with your merchant credentials.
3.6.2. Click the Sales > Orders option in the left side menu.
3.6.3. Click View on the authorized order.
3.6.4. In the Invoice section of the top menu, click the Submit Invoice button below to take the capture. The order will go to Processing status.
4.1. In the Magento installation directory, go to app > code and remove the folder containing the Kushki source code.
4.2. Find the module named
Kushki_Payment and remove the module entry from the
setup_module database table.
Kushki_Payment module should also be removed from app > etc > config.php.
4.4. Upgrade Magento. From an SSH terminal, run the following command in the Magento2 root directory:
php bin/magento setup:upgrade.
4.5. Compile the installation by running the following command:
php bin/magento setup:di:compile
4.6. Display static content. Run the following command in the Magento2 root directory:
php bin/magento setup:static-content:deploy.
4.7. Finally, clear the cache by running the command:
php bin/magento cache:flush.
There are test cards that you can use in test mode to make sure your integration is ready. Use them with any CVC and an expiration date greater than the current one.
- Approved transaction:
- Declined transaction in token request (front-end):
- Declined transaction in collection request (back-end):