Package Information
Available Nodes
Documentation
n8n-nodes-billplz
⚠️ Legal Disclaimer
This is an UNOFFICIAL community-developed n8n node for Billplz API integration.
- ❌ NOT affiliated with Billplz Sdn Bhd
- ❌ NOT endorsed by Billplz
- ⚠️ Use at your own risk
- 📚 For educational and development purposes
- 🛡️ Users are responsible for compliance with Billplz Terms of Service
- 💼 No warranty provided - use in production at your own discretion
For official Billplz support, please contact Billplz directly.
This is an n8n community node that integrates with Billplz, Malaysia's leading payment gateway. It enables businesses to automate payment collection, bill management, and transaction monitoring within n8n workflows.
Billplz is a comprehensive payment solution that allows Malaysian businesses to collect payments online through various channels including online banking (FPX), credit/debit cards, and e-wallets.
n8n is a fair-code licensed workflow automation platform that helps you automate tasks between different services.
Table of Contents
- Installation
- Quick Start
- Operations
- Credentials
- Examples
- API Documentation
- Development
- Contributing
- Support
Installation
Community Nodes (Recommended)
- In your n8n instance, go to Settings > Community Nodes
- Click Install
- Enter
@nmhafiz/n8n-nodes-billplzin the npm package field - Accept the risks of installing community nodes
- Click Install
The node will be available immediately after installation.
Manual Installation
For npm-based n8n installations:
npm install @nmhafiz/n8n-nodes-billplz
For Docker deployments:
Add this line to your Dockerfile before the font installation:
RUN cd /usr/local/lib/node_modules/n8n && npm install @nmhafiz/n8n-nodes-billplz
For n8n Cloud:
Community nodes are not supported on n8n Cloud. Use the self-hosted version instead.
Quick Start
- Set up credentials: Add your Billplz API credentials in n8n
- Create a collection: Organize your bills by creating collections
- Generate bills: Create payment requests for your customers
- Monitor payments: Track transaction status and handle webhooks
Operations
📁 Collection Management
- Create Collection: Organize bills into collections
- Get Collection: Retrieve collection details
- Get All Collections: List all collections with pagination
🧾 Bill Operations
- Create Bill: Generate payment requests
- Get Bill: Retrieve bill details and payment status
- Delete Bill: Remove unpaid bills
💳 Transaction Tracking
- Get All Transactions: Monitor payment history for bills
🏦 Banking Services
- Get FPX Banks: Retrieve available online banking options
Credentials
Required Information
Environment:
Production: For live paymentsSandbox: For testing (recommended for development)
API Secret Key: Your Billplz API secret key
X-Signature Key: For webhook signature verification (optional but recommended)
Getting Your Credentials
- Log in to your Billplz Dashboard
- Navigate to Settings > API
- Copy your API Secret Key
- For webhook verification, also copy your X-Signature Key
Setting Up in n8n
- Go to Credentials > New
- Search for "Billplz API"
- Fill in your credentials
- Test the connection
- Save
Examples
Basic Bill Creation
{
"resource": "bill",
"operation": "create",
"collectionId": "col_123456789",
"email": "customer@example.com",
"name": "John Doe",
"amount": 5000,
"callbackUrl": "https://yoursite.com/webhook",
"description": "Payment for Order #12345"
}
E-commerce Integration Workflow
- Trigger: New order received
- Billplz: Create bill for order amount
- Email: Send payment link to customer
- Webhook: Handle payment confirmation
- Database: Update order status
Subscription Management
- Schedule: Monthly trigger
- Database: Get active subscribers
- Billplz: Create bills for each subscriber
- Email: Send payment reminders
- Monitor: Track payment status
API Documentation
For detailed API documentation, including all parameters, response formats, and advanced usage examples, see our API Documentation.
Development
Prerequisites
- Node.js 16+
- npm or yarn
- n8n development environment
Setup
# Clone the repository
git clone https://github.com/nmhafiz/n8n-nodes-billplz.git
cd n8n-nodes-billplz
# Install dependencies
npm install
# Build the project
npm run build
# Run tests
npm test
# Run linting
npm run lint
Project Structure
n8n-nodes-billplz/
├── nodes/
│ └── Billplz/
│ ├── Billplz.node.ts # Main node implementation
│ ├── types.ts # TypeScript interfaces
│ ├── constants.ts # Configuration constants
│ ├── validators.ts # Input validation
│ ├── operations.ts # Operation handlers
│ └── GenericFunctions.ts # API utilities
├── credentials/
│ └── BillplzApi.credentials.ts # Credential configuration
├── tests/ # Test suites
├── docs/ # Documentation
└── package.json
Testing
# Run all tests
npm test
# Run tests in watch mode
npm run test:watch
# Generate coverage report
npm run test:coverage
Code Quality
This project maintains high code quality through:
- TypeScript: Full type safety
- ESLint: Code linting and formatting
- Jest: Comprehensive testing
- Prettier: Code formatting
- GitHub Actions: Automated CI/CD
Contributing
We welcome contributions! Please see our Contributing Guide for details.
Quick Contribution Steps
- Fork the repository
- Create a feature branch
- Make your changes
- Add tests for new functionality
- Ensure all tests pass
- Submit a pull request
Compatibility
- n8n: Version 1.0+
- Node.js: 16.x, 18.x, 20.x
- Billplz API: v4
Changelog
v0.1.4 (Latest)
- ✨ Enhanced code structure and maintainability
- 🔒 Improved error handling and validation
- 🧪 Added comprehensive testing suite
- 📚 Enhanced documentation
- 🚀 Added CI/CD pipeline
- 🐛 Removed non-functional interfaces
v0.1.3
- 🔧 Bug fixes and improvements
- 📝 Updated documentation
v0.1.2
- ➕ Added transaction operations
- 🏦 Added FPX bank listing
v0.1.1
- 🎉 Initial release
- 📁 Collection management
- 🧾 Bill operations
Terms of Use & Compliance
🔒 Security & Compliance
Before using this node in production:
- Review Billplz Terms of Service: Ensure your usage complies with Billplz's Terms of Service
- API Usage Limits: Respect Billplz API rate limits and usage policies
- Data Protection: Implement proper data handling according to Malaysian PDPA and other applicable laws
- Security Best Practices:
- Store API credentials securely
- Use HTTPS for all webhook endpoints
- Validate webhook signatures
- Implement proper error handling
- API Compliance: Follow Billplz API guidelines and rate limits
- Testing: Always test in sandbox environment before production use
📋 User Responsibilities
By using this community node, you agree that:
- ✅ You have a valid Billplz account and API access
- ✅ You will comply with all applicable laws and regulations
- ✅ You understand this is an unofficial integration
- ✅ You will not hold the maintainers liable for any issues
- ✅ You will use the node responsibly and ethically
🚫 Prohibited Uses
- ❌ Fraudulent or illegal activities
- ❌ Violating Billplz's acceptable use policies
- ❌ Excessive API calls that may impact service availability
- ❌ Using the node for unauthorized payment processing
🛡️ Warranty Disclaimer
THIS SOFTWARE IS PROVIDED "AS IS" WITHOUT WARRANTY OF ANY KIND. THE AUTHORS AND CONTRIBUTORS DISCLAIM ALL WARRANTIES, EXPRESS OR IMPLIED, INCLUDING BUT NOT LIMITED TO WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE.
Support
📞 Support Channels
For this community node:
- 📚 Documentation: Check our API Documentation
- 🐛 Bug Reports: Report issues on GitHub Issues
- 💬 Community Discussions: Join GitHub Discussions
- 📧 Maintainer Contact: For critical issues only
For official Billplz support:
- 🌐 Official Website: billplz.com
- 📞 Billplz Support: Contact Billplz directly
- 📖 Official API Docs: Billplz API Documentation
For n8n platform support:
- 🏠 n8n Community: community.n8n.io
- 📚 n8n Documentation: docs.n8n.io
Getting Help
Common Issues
- Authentication errors: Verify your API credentials
- Validation errors: Check input parameter formats
- Network errors: Ensure API endpoints are accessible
Resources
License
MIT License - see the LICENSE file for details.
Acknowledgments
- Thanks to the n8n team for the excellent automation platform
- Thanks to Billplz for providing a robust payment API
- Thanks to all contributors who help improve this project
Made with ❤️ for the Malaysian developer community