- [WHMCS Payment gateway module for Stripe ACH by RoudiApp](#whmcs-payment-gateway-module-for-stripe-ach-by-roudiapp)
- [Change Log](#change-log)
- [Installation Instruction](#installation-instruction)
- [Testing ACH Module](#testing-ach-module)
# WHMCS Payment gateway module for Stripe ACH by RoudiApp
This is a native WHMCS Payment Gateway Module for Stripe ACH using stripe.js and PHP by RoudiApp.com.
Latest Stripe PHP API is also used to finalise the charge process.
Please make sure that you are using the latest version of WHMCS and Stripe API [Read below for setup].
* Supports ACH payments with Individual and Company bank account.
* Suitable for one time payments only [This will be enhanced to support recurring payment in feature].
* 100% PCI compliance.
* Supports Full and Partial refund
* Supports Webhook to automatically update invoice with pending charges and refunds [To receive refund updates via webhook, you must have WHMCS 7.2 and above. Please contact us for more information.].
* Supports Account Verification.
* Supports future payments authorisation upon first verification.
# Change Log
- Version 0.1
# Installation Instruction
* **Please make sure that you have full backup from your existing installation and that a record is stored locally.**
* Unzip your package and find the stripeXXX and callback folders (XXX represents the Stripe PHP API version).
* Upload stripeXXX folder (ROOT represents your WHMCS installation folder).
* Upload roudiappstripeach.php file to ROOT/modules/gateways
* From callback folder find roudiappstripeach.php and roudiappstripeach_webhook.php files and upload to ROOT/modules/gateways/callback folder.
* Install and configure your RoudiApp Stripe Checkout module from Admin menu > Setup > Payments > Payment Gateways
* Find RoudiApp Stripe ACH module to install.
* Transaction Fee % and Transaction Fee Fix boxes are for calculating the transaction fee and will not add any surcharge.
* Login to Stripe to create webhook and retrieve your Webhook Signing Secret key.
* To create Webhook, from Stripe admin panel find API at the bottom of left hand side menu.
* Click on Webhooks tab, then click on Add endpoint.
* Provide the value for URL to be called as: https://domain.com/whmcs/modules/gateways/callback/roudiappstripeach_webhook.php
* where "domain.com/whmcs" provides URL address to where whmcs is installed.
* Make sure you are using the latest webhook version, labeled as latest.
* For filter event, select the second option "Select types to send" and scroll down to find and check "charge.succeeded" and "charge.refund.updated" options.
* Finalise this stage by clicking on add endpoint button.
* Once added, you can retrieve the Webhook Signing Secret key by clicking on the webhook. and then click to reveal the key under Signing secret section. The key starts with "whsec_".You can find more information about webhooks from here: https://stripe.com/docs/webhooks#signatures
* Authorization Text, a default text is provided for you to print on ACH form. This is for authorization purposes and to comply with ACH standards and regulations.
# Testing ACH Module
* You can mimic successful and failed ACH charges using the following bank account and routing numbers:
- Routing number: 110000000
- Account number: 000123456789 (success), 000111111116 (failure upon use)
* To mimic successful and failed bank account verifications, use these meaningful amounts:
- [32, 45] (success)
- [any other number combinations] (failure)