Bayarcash is an online payment platform for Malaysians that supports FPX and Direct Debit payment channels.
How it works
This plugin will connect to our endpoint https://console.bayar.cash for secure processing between Banks in Malaysia.
- One-off payment via FPX
- Weekly & monthly recurring payment via Direct Debit. Deduction happen automatic directly via bank account (flat rate fees).
- Support multiple Bayarcash account per website
- Shariah-compliance payment gateway
Register as Bayarcash merchant here
To use Bayarcash WooCommerce requires minimum:
- PHP 7.4
- WordPress 5.6
- WooCommerce Plugin
Make sure that you already have WooCommerce plugin installed and activated.
- Login to your WordPress Dashboard
- Go to Plugins > Add New
- Search Bayarcash WC and click Install
- Activate the plugin through the Plugins screen in WordPress
Where can I register as Bayarcash merchant?
You can register as merchant here. We accept organisation that has active SSM certificate, ROS for non-governmental organization (NGO), state-certified for madrasah & sekolah tahfiz and yayasan.
What does it mean by shariah-compliance payment gateway?
Please note that in order for us to comply with our shariah-compliance policy, we do not support organisation involved in:
- The production or sale of pork, alcohol and alcohol-related activities, non-halal food and beverages, tobacco product (including e-cigarettes), drug paraphernalia, pornography, guns, and other arms
- Gaming and betting
- Shariah non-compliant entertainment
- Conventional insurance
- Jihadist or terrorist activities
- Fraud and corruption organization
Click here to view shariah-certificate endorsement by our official advisor Dr. Zaharuddin Abd Rahman from Elzar Shariah Solutions & Advisory.
Contributors & Developers
“Bayarcash WooCommerce” is open source software. The following people have contributed to this plugin.Contributors
Interested in development?
- Refactoring and code improvements.
- Prevent the plugin from accidentally changing the order status that has already been paid (like on hold, processing, completed, etc) back to failed after the requery process to Bayarcash Console.
- Add parameter raw_website containing order data to the transaction request form.
- Add security measure to ensure request received from server is not tampered
- Comment out cron status logger to reduce WC log verbosity
- Add prefix BC_WooCommerce_FPX to file names and class names
- Change cron implementation to execute in actionable class instance instead of relying on http request triggers
- Update plugin identifier as bayarcash instead of generic fpx
- Optimize cron re-query by only only querying orders that have pending status, payment_method of bayarcash/fpx with return result limit capped at 30 orders
- Fix access non-existent method get_transaction_order_no() to get_order_no()
- Fix order note for normal callback return, mapped buyer name correctly
- Fix re-query order status update respond mapping from console.bayar.cash
- Handle other payment response that is obtain when user complete the purchase-payment cycle correctly
- Split database handler for different responses
- Fix missing variable argument on method and invocation
- Add if WC Order Status Manager Plugin active use plugin order status def.
- Refactor check_exchange_no_can_be_add into separate operations
- Remove JS limit checkout button clicks code
- Prevent abnormal fpx_transaction_exchange_number from being to stored
- Add js implementation to prevent user from multiple requests to server
- If order status already pending don’t add transaction exchange number
- Fix unpaid transaction redirect back to success thank you page
- Fix Transaction ID not saved to wp_postmeta, add wc logger
- Add comments and DocBlock
Filter server order info, only updated previous selected order statuses
The order statuses are :
- Add FPX Response Sanitizer,Validator,better order no duplicate handling
- Remove hardcode set order to processing status when success pay
- Change object property mapping to get correct order no
- Change cron interval to 5 minutes
- Fix add duplicated order notes
- Update DocBlock
- Add GPL-3.0-or-later license reference
- Fix variable fpx_output_data_primary to use the latest output returned from the payment portal.
- Remove trailing comma at Authorization: Bearer array.
- Remove payment type description at both back-end and front-end.
- Fix duplicate missing data detection, this->portal_key at the back-end. The 1st should detect missing bearer token, and the 2nd should detect missing Payment Portal key.
- Remove Cancel button at the checkout page after buyer confirm choosing FPX, add auto-click features to the submit button, and immediately display the page loader while contacting the Payment Portal.
- Add customizable payment channel title and payment channel description.
- Replace parameter s3a with RefNo for more user friendly submission request.
- Add parameter payment_gateway = 1 to the transaction request form.
- Re-order parameters for order payment transaction data comparison between the payment portal and shopping cart.
- Replace combination of FPX Payment Portal Auth User and Auth Password with Bearer Token for Payment Portal user authentication.
- Update API_client_version to v2.0.0
- Add ‘Accept: application/json’ and ‘Authorization: Bearer ‘ .$bearer_token to cURL request for communication to the payment portal.
- Initial release.