Stripe ACH Payments - Magento 1 - Documentation
Table of Contents
- Necessary configuration in Stripe
- Configuration in Magento
- Order Status
- Issuing Refunds
- Translations for multi-language websites
Stripe ACH Payments is a add-on to our popular Stripe Payments module for Magento 1 which allows your customers to place orders and pay using a direct ACH (Automated Clearing House) bank transfer. The ACH payment method works alongside normal credit card payments (which are enabled by the base Stripe Payments module), as well as alternative payment methods offered by other payment networks.
This is the documentation for installing, configuring and using this module on Magento 1.
Warning! We recommend that you test the module on a testing server before installing it on your live web server. Please see the Troubleshooting section if you come across any installation issue.
- Before installing this module, make sure that you have the latest version of Stripe Payments installed. You can check which is the latest version from the Changelog section towards the bottom of the product page. You can check which version you have installed from System > Magento Connect > Magento Connect Manager. If you have an older version, see the upgrade instructions here.
- If you haven't done so already, please download the Stripe ACH Payments add-on from your customer account section or through the email that was sent to you when you purchased the module.
- Log into your website's magento admin section.
- Make sure that compilation is disabled from System > Tools > Compilation.
- Go to System > Magento Connect > Magento Connect Manager and log in.
- Under «Direct package file upload», upload the .tgz file that you downloaded from our website.
- Click the «Install» button when the module has uploaded successfully.
- Check the black console to make sure that there were no errors.
- If you had compilation enabled, recompile from System > Tools > Compilation.
- Under System > Cache Management, flush all of your caches, including Merged CSS/JS if those are enabled
- Continue to Necessary configuration in Stripe
If for any reason the above procedure did not work (usually because the web server has no write permissions in your Magento directory), then you can install the module manually by simply extracting the module in your Magento's root directory.
- Double click the .tgz file to uncompress it. If you are on a version of Windows that does not support this, we recommend using the 7-Zip file archiver to uncompress the module.
- Upload the extracted files by FTP to your website, inside your website's root Magento directory. If you do not have an FTP client already, you can use FileZilla.
- A single page refresh of your website will set up the module and its database dependencies.
- Continue to Necessary configuration in Stripe.
If you have installed the module from Magento Connect Manager, it should be just as simple to uninstall through the same interface as shown in the following screenshot:
If you have installed the module manually, you will need to manually delete each file and directory listed in the Failed/Partial/Corrupted Installations section.
Important: If you have Stripe Payments installed as well, always upgrade both modules to their latest version.
You can always download the latest version of the module from your account. Once you have the latest version:
- If you have installed the module through Magento Connect Manager: Simply uninstall and re-install the module using the same instructions as above.
Necessary configuration in Stripe
ACH is an asynchronous payment method, which means that it may take up to 5 days for a payment to clear with the bank. For this reason, there needs to be a way for Stripe to notify your website that a payment has succeeded or failed after this period.
Stripe provides an event emission mechanism called Stripe Webhooks which can notify the merchant's website about successful or failed asynchronous payments. Stripe Webhooks are configured as part of the core Stripe Payments module by following these instructions. These can also be tested in development environments.
Configuration in Magento
- Go to System > Configuration > Payment Methods
- Expand the section of any payment method you need to configure as shown in the following screenshot:
- Enabled: Enable or disable the payment method.
- Title: This is the name of the payment method as it will be seen by the customer at the checkout page.
- Payment Applicable From: Determines whether the payment method will be available to the customer at the checkout based on the country they set in their billing address. You can select "All Allowed Countries" if you want to show the payment method for all countries. An appropriate error message will be displayed at the final checkout step if the customer's country is not supported.
- Countries Applicable From: Each payment method is only available in specific countries. The supported countries of each payment method are pre-selected by default based on Stripe's documentation. We do not recommend changing this setting unless a new supported country is announced by Stripe.
- Currencies Applicable From: Determines whether the payment method will be available to the customer at the checkout based on the currency in which their order is placed. All of the payment methods will only work with the USD ($) currency, however this setting is by default to "All Currencies" so that the payment method can be tested when initially set up. You can switch this to "USD Only" on your live website.
- Sort Order: If you have many payment methods enabled, this setting will determine the order of this payment method at the checkout page. This is a global sort order that can be set for any payment method, including PayPal and the original Stripe Payments method.
You are now ready to test the payment methods.
Stripe maintains a list of testing routing and account numbers at https://stripe.com/docs/ach#testing-ach.
After you place your first ACH order, you will notice that the order may switch from one status to another based on various events.
- Payment Review (no invoices): The order has been been placed with a new, unverified bank account.
- Payment Review (invoice in Pending status): The order has been been placed with an existing, verified bank account, OR the customer has completed the verification step. You can read the order comments to find out which of the two scenarios occurred.
- Processing (invoice in Pending status): The payment has been successfully collected by the customer's bank.
- Complete: The payment was successful and the order items were shipped.
- Canceled: The payment has failed.
- Closed: The order has been refunded by an admin.
Because this is an add-on to Stripe Payments, you can issue refunds in exactly the same way. For instructions on how to perform a refund in Stripe Payments, click here.
Translations for multi-language websites
The module contains a translations file that can be used with multi-language Magento configurations. You can find this file under:
You can either add more English-to-English translations in this file, or you can add different language translations by creating the following file:
These would be the same language codes that you selected under System > Configuration > General > General > Locale Options > Locale for each of your available stores. If you must set your Locale configuration for the first time, make sure to also flush your Configuration Cache after doing so.
If you translate one of these files in your language and would like to have it included in a future release of the module, feel free to send it to us at email@example.com
Most issues can be resolved using the Troubleshooting instructions of the Stripe Payments module. If anything is missing from these, please contact us at firstname.lastname@example.org.
Order stuck in Pending status
If you have received errors in the black installation console, or you get crashes during the checkout page only, you may have a partial/corrupted installation because of incorrect filesystem write permissions. For corrupted installations you will need to manually uninstall the module by deleting the following files:
A corrupted installation may be caused by incorrect Magento directory permissions. Most of these problems can simply be fixed by changing the ownership of the Magento directories to the user running the webserver with:
$ chown –R <www-username> /magento_directory
Alternatively you can configure your webserver to run as the same user that deploys these files to your website.
If you do not have shell access to run the above command, the only other solution would be to perform a manual installation and upload the files to your Magento directory over FTP.