Use BCL in n8n
The BCL node for n8n lets a workflow create BCL payment links and find transactions. It can also change your BCL forms and coupons, without code. It is a community node, published on npm as n8n-nodes-bcl.
BCL takes its payments through Bayarcash. See What is Bayarcash. To call Bayarcash API v3 directly from n8n, use the Bayarcash node instead.
Install the node
Section titled “Install the node”You can install community nodes on self-hosted n8n. To install it:
- In n8n, open Settings → Community Nodes.
- Install the npm package
n8n-nodes-bcl. - Search for BCL when you add a node to a workflow.
The n8n guide to community nodes has the full steps and other ways to install.
Connect your BCL account
Section titled “Connect your BCL account”The node signs in with a credential called BCL API. To create it:
- In BCL, create an API token. Tick API Read, and also API Write to create payment links or change forms and coupons. See Create an API token.
- In n8n, add a BCL node and create a new credential.
- Paste the token into API Token.
- Save. n8n tests the credential with BCL.
The node always works with your live BCL account. It has no sandbox setting.
What the node can do
Section titled “What the node can do”Choose a Resource, then an Operation:
| Resource | Operation | What it does |
|---|---|---|
| Payment Link | Create | Creates a payment link. |
| Payment Link | Get Transaction | Gets a transaction by its Order Number. |
| Form | List, Get | Lists your forms, or gets one by Form ID. |
| Form | Duplicate | Copies a form with a new title and slug. |
| Form | Update Title, Update Slug, Update Content, Update Status, Update Homepage Display | Changes one part of a form. |
| Form | Update Stock | Sets the stock quantity of form items. |
| Form | Update Redirect URLs | Sets the Success URL and Failed URL. |
| Form | Update Webhook Settings | Turns the form webhook on or off, and sets its URL and events. |
| Form | Update Affiliate Settings, Update Facebook Pixel, Update TikTok Pixel | Changes the affiliate and tracking settings of a form. |
| Coupon | List, Get | Lists your coupons, or gets one by Coupon ID. |
| Coupon | Update, Update Status | Changes a coupon, or turns it on or off. |
Create a payment link
Section titled “Create a payment link”To create a payment link from a workflow:
-
Add a BCL node and choose Payment Link → Create.
-
Fill in Amount (in MYR), Payer Name, Payer Email, Payer Telephone Number and Portal Key. These are required. Portal Key is your Bayarcash portal key. See Find your API keys.
-
Optionally, open Additional Fields and add these:
Field What it does Order Number Your own reference for the payment. BCL makes one if you leave it empty. Payment Channel FPX Online Banking, FPX Line of Credit, DuitNow Online Banking, DuitNow QR, SPaylater, Boost PayFlex, QRIS OB, QRIS Wallet or NETS. Let User Choose Payment Lets your customer choose the payment method on the payment page. Remarks A note for the order. -
Run the node. Send the payment link from its output to your customer, for example by email or WhatsApp.
Receive payments in n8n
Section titled “Receive payments in n8n”To act when a customer pays on a BCL form, let BCL call an n8n webhook:
- Start a second workflow with the n8n Webhook node, and copy its URL.
- In the BCL node, choose Form → Update Webhook Settings and enter the Form ID.
- Turn on Enabled, paste the URL into Webhook URL, and choose the Events: Form Submit, Payment Success or Direct Debit.
You can also set the form webhook in BCL itself. See Payment form webhook payload in the BCL help centre. It also lists the fields that BCL sends.
- Give each payment link your own order number. Then Get Transaction can find the payment again.
- Use a separate token for n8n. If you delete that token later, only n8n stops. Your other apps keep their own tokens.
Common issues
The node fails with "Authentication failed: Invalid or expired API token. Please check your credentials." What do I check?
Check that you pasted the whole BCL API token into the BCL API credential, and that the token is not expired or deleted in BCL. See Create an API token in the BCL help centre.
Creating a payment link fails, and the message ends with "Token does not have the 'api:write' ability". Why?
The token can only read. Create a new BCL API token with API Write and put it in the credential. You cannot change the permissions of a token that exists.
The node fails with "Validation error: The API could not process your request."
BCL refused one of the values. The rest of the message lists the fields. Check the payer email and the phone number format, for example 012-3456789.
Was this article helpful?
Thanks for your feedback.
Sorry this didn't help. WhatsApp us and we'll sort it out with you.

