# Guna BCL dalam n8n

> Install community node BCL dalam n8n, sambungkan dengan API token BCL, dan cipta payment link atau urus form dan kupon dalam workflow.
>
> Source: https://docs.bayarcash.com/ms/n8n-bcl/

Dengan node BCL untuk [n8n](https://n8n.io), workflow anda boleh mencipta payment link BCL dan mencari transaksi. Node ini juga boleh menukar form dan kupon BCL anda, tanpa kod. Node ini ialah community node, diterbitkan di npm sebagai [`n8n-nodes-bcl`](https://www.npmjs.com/package/n8n-nodes-bcl).

BCL menerima bayaran melalui Bayarcash. Lihat [Apa itu Bayarcash & apa bezanya dengan BCL?](/ms/what-is-bayarcash/) Untuk menggunakan Bayarcash API v3 terus dari n8n, guna [node Bayarcash](/ms/n8n/).

## Install node

Community node boleh di-install pada n8n self-hosted. Untuk install node ini:

1. Dalam n8n, buka **Settings** → **Community Nodes**.
2. Install pakej npm `n8n-nodes-bcl`.
3. Cari **BCL** apabila anda menambah node pada workflow.

Panduan n8n tentang [cara install community node](https://docs.n8n.io/integrations/community-nodes/installation/) ada langkah penuh dan cara install yang lain.

## Sambungkan akaun BCL anda

Node ini log masuk dengan credential bernama **BCL API**. Untuk mencipta credential itu:

1. Dalam BCL, cipta API token. Tandakan **API Read**. Tandakan juga **API Write** untuk mencipta payment link atau menukar form dan kupon. Lihat [Cipta API token](https://docs.bcl.my/ms/api-tokens/).
2. Dalam n8n, tambah node **BCL** dan cipta credential baru.
3. Paste token itu ke dalam **API Token**.
4. Simpan. n8n menguji credential itu dengan BCL.

Node ini sentiasa menggunakan akaun BCL live anda. Node ini tiada tetapan sandbox.

## Fungsi node ini

Pilih **Resource**, kemudian **Operation**:

| Resource | Operation | Fungsinya |
|---|---|---|
| Payment Link | **Create** | Mencipta payment link. |
| Payment Link | **Get Transaction** | Mendapatkan transaksi mengikut **Order Number**. |
| Form | **List**, **Get** | Menyenaraikan form anda, atau mendapatkan satu form mengikut **Form ID**. |
| Form | **Duplicate** | Membuat salinan form dengan tajuk dan slug baru. |
| Form | **Update Title**, **Update Slug**, **Update Content**, **Update Status**, **Update Homepage Display** | Menukar satu bahagian form. |
| Form | **Update Stock** | Menetapkan kuantiti stok bagi item form. |
| Form | **Update Redirect URLs** | Menetapkan **Success URL** dan **Failed URL**. |
| Form | **Update Webhook Settings** | On-kan atau off-kan webhook form, dan menetapkan URL dan event-nya. |
| Form | **Update Affiliate Settings**, **Update Facebook Pixel**, **Update TikTok Pixel** | Menukar tetapan affiliate dan tracking bagi form. |
| Coupon | **List**, **Get** | Menyenaraikan kupon anda, atau mendapatkan satu kupon mengikut **Coupon ID**. |
| Coupon | **Update**, **Update Status** | Menukar kupon, atau on-kan atau off-kan kupon itu. |

## Cipta payment link

Untuk mencipta payment link dari workflow:

1. Tambah node **BCL** dan pilih **Payment Link** → **Create**.
2. Isi **Amount** (dalam MYR), **Payer Name**, **Payer Email**, **Payer Telephone Number** dan **Portal Key**. Ruangan ini wajib. **Portal Key** ialah portal key Bayarcash anda. Lihat [Cari API keys anda](/ms/api-keys/).
3. Jika perlu, buka **Additional Fields** dan tambah ruangan ini:

   | Ruangan | Fungsinya |
   |---|---|
   | **Order Number** | Rujukan anda sendiri untuk bayaran itu. BCL akan buat nombor sendiri jika anda biarkan kosong. |
   | **Payment Channel** | **FPX Online Banking**, **FPX Line of Credit**, **DuitNow Online Banking**, **DuitNow QR**, **SPaylater**, **Boost PayFlex**, **QRIS OB**, **QRIS Wallet** atau **NETS**. |
   | **Let User Choose Payment** | Pelanggan anda memilih kaedah bayaran sendiri di page bayaran. |
   | **Remarks** | Nota untuk pesanan itu. |

4. Jalankan node itu. Hantar payment link dari output-nya kepada pelanggan anda, contohnya melalui e-mel atau WhatsApp.

## Terima bayaran dalam n8n

Untuk bertindak apabila pelanggan membayar pada form BCL, biar BCL memanggil webhook n8n:

1. Mulakan workflow kedua dengan node **Webhook** n8n, dan copy URL-nya.
2. Dalam node BCL, pilih **Form** → **Update Webhook Settings** dan masukkan **Form ID**.
3. On-kan **Enabled**, paste URL itu ke dalam **Webhook URL**, dan pilih **Events**: **Form Submit**, **Payment Success** atau **Direct Debit**.

Anda juga boleh menetapkan webhook form dalam BCL sendiri. Lihat [Payload webhook payment form](https://docs.bcl.my/ms/webhook-payment-form/) dalam Help Centre BCL. Page itu juga menyenaraikan ruangan yang BCL hantar.

## Tips

- **Beri setiap payment link nombor pesanan anda sendiri.** Dengan nombor ini, **Get Transaction** boleh mencari bayaran itu semula.
- **Guna token yang berasingan untuk n8n.** Jika anda delete token itu kemudian, hanya n8n yang berhenti. App anda yang lain kekal dengan token masing-masing.

## Isu biasa

### Kenapa node gagal dengan ralat "Authentication failed: Invalid or expired API token. Please check your credentials."?

Pastikan anda paste keseluruhan API token BCL ke dalam credential BCL API, dan token itu belum tamat tempoh atau di-delete dalam BCL. Lihat Cipta API token (https://docs.bcl.my/ms/api-tokens/) dalam Help Centre BCL.

### Kenapa node gagal mencipta payment link, dan mesejnya berakhir dengan "Token does not have the 'api:write' ability"?

Token itu hanya boleh membaca. Cipta API token BCL baru dengan API Write, dan masukkan token itu dalam credential. Anda tidak boleh menukar kebenaran token yang sudah ada.

### Kenapa node gagal dengan ralat "Validation error: The API could not process your request."?

BCL menolak salah satu nilai. Bahagian lain mesej itu menyenaraikan ruangan yang berkenaan. Semak e-mel pembayar dan format nombor telefon, contohnya 012-3456789.
