# BCL Documentation > Help articles for BCL (bcl.my), a Malaysian platform for payment forms, event tickets, bookings, landing pages, affiliate programmes and LHDN e-invoices, with payments processed by Bayarcash. Key facts: - BCL dashboard: https://bcl.my - merchants sign in there. - Payments go through Bayarcash, a Malaysian payment gateway (FPX, DuitNow QR, cards, e-wallets, Direct Debit). A merchant connects a Bayarcash account to BCL. - API reference: https://bcl.my/docs/api. Product changelog: https://bcl.my/what-new. - BCL is a product of Bayarcash Sdn. Bhd. (1486062-H), Malaysia. --- # Connect your Bayarcash account > Link BCL to your Bayarcash merchant account with your Personal Access Token and API Secret Key so your forms collect real payments. > > Source: https://docs.bcl.my/connect-bayarcash/ BCL collects payments through Bayarcash. To take real payments, paste your Bayarcash **Personal Access Token (PAT)** and **API Secret Key** into BCL. This is step 1 of 4 to your first sale. Until you connect Bayarcash or turn on **Test Mode**, BCL opens the Payment Settings page each time you sign in. ## Before you start You need two things before you connect: - An approved Bayarcash merchant account. If you do not have one, [register as a Bayarcash merchant](https://console.bayar.cash/register-merchant) first. - To be the BCL account owner. Only the owner can change payment settings. > **Tip** > Still waiting for Bayarcash approval? Turn on **Test Mode** and start building your forms. Test payments go to the Bayarcash sandbox, and no real money moves. You do not need to edit those forms after you connect. ## Get your token and secret key Both keys come from the Bayarcash Console: 1. Log in to the [Bayarcash Console](https://console.bayar.cash/). 2. Open the [Integration page](https://console.bayar.cash/token-secret-key). 3. Copy your **Personal Access Token (PAT)** and your **API Secret Key**. ## Connect BCL to Bayarcash With both keys copied, connect your account in BCL: 1. In the sidebar, go to **Platform Setup** → **Payment**. *(Screenshot: The Platform Setup menu in the BCL sidebar, with Payment highlighted)* 2. The **Payment Settings** page opens on the **Bayarcash Setup** tab. Turn off **Test Mode**. *(Screenshot: The Bayarcash Setup tab with the Test Mode switch highlighted)* 3. Paste your token into **Personal Access Token (PAT)** and your key into **API Secret Key**. BCL checks both keys when you click out of each field. When they are valid, a green **Token Verified** box shows your Bayarcash merchant name and email. *(Screenshot: The Personal Access Token (PAT) and API Secret Key fields highlighted)* *(Screenshot: The green Token Verified box, which confirms your credentials are valid and ready to accept payments)* 4. Once the keys are verified, a **Default Portal** field appears. Choose the Bayarcash portal that receives payments when a form does not pick its own. If you only have one portal, BCL selects it for you. See [Choose a Bayarcash portal key](/bayarcash-portal-key/). *(Screenshot: The Default Portal field, set to a portal, highlighted below the API Secret Key)* 5. Click **Save Configuration**. *(Screenshot: The Save Configuration button highlighted)* The first time you save, BCL also copies your company details from the Bayarcash Console if your company profile has no registration number yet. ## Change your settings later When you change the token, secret key or default portal after the first save, BCL asks for a one-time code to confirm it is you: 1. Make your change and click **Save Configuration**. 2. In **Send code via**, choose **Email** or **SMS**, then click **Send code**. SMS is only offered when the owner's phone number is a Malaysian (+60) number. 3. Enter the code in **One-time code** and click **Verify & Save**. Next step: [Set your gateway fees](/gateway-fees/). ## Common issues ### My Bayarcash account has just been approved. Do I need to edit the forms I built in Test Mode? No. On Platform Setup → Payment, enter your token and secret key, choose a Default Portal and turn off Test Mode. Forms that do not pick their own portal use the default portal. ### Why does BCL keep sending me back to the Payment Settings page? BCL needs either a connected Bayarcash account or Test Mode turned on. Save your Personal Access Token (PAT) and API Secret Key, or turn on Test Mode to try BCL first. ### Why can't I see the token fields? Only the account owner can change payment settings. Other admins see a notice with the owner's name and email instead. Ask the owner to make the change. --- # Sambungkan akaun Bayarcash anda > Sambungkan BCL kepada akaun merchant Bayarcash anda dengan Personal Access Token dan API Secret Key supaya payment form anda menerima bayaran sebenar. > > Source: https://docs.bcl.my/ms/connect-bayarcash/ BCL menerima bayaran melalui Bayarcash. Untuk menerima bayaran sebenar, paste **Personal Access Token (PAT)** dan **API Secret Key** Bayarcash anda ke dalam BCL. Ini langkah 1 daripada 4 untuk jualan pertama anda. Selagi anda belum menyambungkan Bayarcash atau on-kan **Test Mode**, BCL navigate ke page Payment Settings setiap kali anda log masuk. ## Sebelum anda mula Anda memerlukan dua perkara sebelum menyambungkan akaun: - Akaun merchant Bayarcash yang sudah diluluskan. Jika anda belum ada, [daftar sebagai merchant Bayarcash](https://console.bayar.cash/register-merchant) dahulu. - Anda mesti account owner BCL. Hanya account owner yang boleh menukar tetapan bayaran. > **Tip** > Masih menunggu kelulusan Bayarcash? On-kan **Test Mode** dan mula membina payment form anda. Test payment dihantar ke sandbox Bayarcash, dan tiada transaksi sebenar yang berlaku. Anda tidak perlu edit payment form itu selepas anda menyambungkan akaun. ## Dapatkan token & secret key anda Kedua-dua keys ini datang dari Bayarcash Console: 1. Log masuk ke [Bayarcash Console](https://console.bayar.cash/). 2. Buka [page Integration](https://console.bayar.cash/token-secret-key). 3. Copy **Personal Access Token (PAT)** dan **API Secret Key** anda. ## Sambungkan BCL kepada Bayarcash Selepas anda copy kedua-dua keys, sambungkan akaun anda dalam BCL: 1. Di sidebar, pergi ke **Platform Setup** → **Payment**. *(Screenshot: Menu Platform Setup di sidebar BCL, dengan Payment ditanda)* 2. Page **Payment Settings** dibuka pada tab **Bayarcash Setup**. Off-kan **Test Mode**. *(Screenshot: Tab Bayarcash Setup dengan suis Test Mode ditanda)* 3. Paste token anda ke dalam **Personal Access Token (PAT)** dan key anda ke dalam **API Secret Key**. BCL menyemak kedua-dua keys apabila anda klik di luar setiap ruangan. Jika keys itu sah, kotak hijau **Token Verified** memaparkan nama merchant dan e-mel Bayarcash anda. *(Screenshot: Ruangan Personal Access Token (PAT) dan API Secret Key ditanda)* *(Screenshot: Kotak hijau Token Verified, yang mengesahkan keys anda sah dan sedia untuk menerima bayaran)* 4. Selepas keys disahkan, ruangan **Default Portal** dipaparkan. Pilih portal Bayarcash yang menerima bayaran apabila sesuatu payment form tidak memilih portal sendiri. Jika anda hanya ada satu portal, BCL memilihnya untuk anda. Lihat [Pilih portal key Bayarcash](/ms/bayarcash-portal-key/). *(Screenshot: Ruangan Default Portal yang sudah ditetapkan kepada satu portal, ditanda di bawah API Secret Key)* 5. Klik **Save Configuration**. *(Screenshot: Butang Save Configuration ditanda)* Kali pertama anda menyimpan, BCL juga copy butiran syarikat anda dari Bayarcash Console jika profil syarikat anda belum ada nombor pendaftaran. ## Tukar tetapan kemudian Apabila anda menukar token, secret key atau portal default selepas simpanan pertama, BCL meminta kod sekali guna untuk mengesahkan bahawa itu memang anda: 1. Buat perubahan anda dan klik **Save Configuration**. 2. Dalam **Send code via**, pilih **Email** atau **SMS**, kemudian klik **Send code**. SMS hanya ditawarkan jika nombor telefon account owner ialah nombor Malaysia (+60). 3. Masukkan kod itu dalam **One-time code** dan klik **Verify & Save**. Langkah seterusnya: [Tetapkan caj gateway anda](/ms/gateway-fees/). ## Isu biasa ### Akaun Bayarcash saya baru diluluskan. Adakah saya perlu edit payment form yang saya bina dalam Test Mode? Tidak perlu. Di Platform Setup → Payment, masukkan token dan secret key anda, pilih Default Portal dan off-kan Test Mode. Payment form yang tidak memilih portal sendiri akan menggunakan portal default. ### Kenapa BCL asyik navigate saya kembali ke page Payment Settings? BCL memerlukan akaun Bayarcash yang sudah disambungkan, atau Test Mode yang di-on-kan. Simpan Personal Access Token (PAT) dan API Secret Key anda, atau on-kan Test Mode untuk mencuba BCL dahulu. ### Kenapa saya tidak nampak ruangan token? Hanya account owner yang boleh menukar tetapan bayaran. Admin lain nampak notis dengan nama dan e-mel account owner. Minta account owner membuat perubahan itu. --- # Choose a Bayarcash portal key > Send payments to the right Bayarcash portal by setting a default portal, a portal per form, and portals for each staff member. > > Source: https://docs.bcl.my/bayarcash-portal-key/ A portal key tells Bayarcash which of your portals receives a payment. Use separate portals to see which form, payment method or staff member each payment came from. You create and manage portals in the Bayarcash Console ([Bayarcash guide to portals](https://docs.bayarcash.com/430)). Portal keys only apply to live payments. In **Test Mode**, all payments go to the Bayarcash sandbox, and the **Portal Key** field stays locked until your Bayarcash account is connected. ## Set your default portal The default portal receives every payment that has no portal of its own. To set it: 1. Go to **Platform Setup** → **Payment**. 2. In **Default Portal**, choose a portal. 3. Leave **Require staff to select a portal key** on if staff must pick a portal on every form, or turn it off to let them use the default. It is on until you change it. *(Screenshot: The Default Portal field set to a portal, and the Require staff to select a portal key switch, both highlighted)* 4. Click **Save Configuration**. If your keys were saved before, BCL first asks for a one-time code sent by email or SMS. **Default Portal** only appears once **Test Mode** is off and your Bayarcash keys are verified. Only the account owner can change these settings. See [Connect your Bayarcash account](/connect-bayarcash/). ## Pick a portal for one form To send one form's payments to a different portal: 1. Open the form and go to the **Payment Details** tab. 2. Under **Payment Configuration**, choose a **Portal Key**. If a portal is not required for you, choose **Use account default** (it shows the name of your default portal) to follow the account default. Click the refresh icon next to the field to reload your portal list. *(Screenshot: The Payment Configuration section of a form, with the Portal Key field highlighted)* 3. Choose a **Payment Option**. The list shows only the payment methods that portal offers. 4. Click **Update Form** (or **Add Payment Form** for a new form). ## Pick a portal for a payment link When you create a payment link from **Quick Actions** → **Payment Link**, choose the **Portal Key** before you pick the payment method. See [Create a payment link](/payment-link/). ## Give staff their own portals Staff with the **Team** role can be limited to their own portals: 1. Go to **Team** → **Team Members** and click **Edit** next to the staff member. 2. In **Portal Key**, select one or more portals. Click **Refresh** if a new portal is missing. 3. In **Require Portal Key**, choose **Required** to track their sales to their own portal, or **Optional - uses the default portal**. The default, **Follow portal setting**, uses the account's **Require staff to select a portal key** setting. *(Screenshot: A staff member's Edit window with the Portal Key and Require Portal Key fields highlighted)* 4. Click **Save changes**. Staff then see only their own portals when they create a form or a payment link. Owners and admins always see every portal. ## Tips A few habits make portals much easier to work with later: - **Give each form its own portal.** If you run several payment forms, create a separate portal in Bayarcash for each one and pick it in the form's **Portal Key**. Each portal then holds only that form's payments, so reporting and reconciliation are much simpler: you can match a Bayarcash settlement to one form without sorting through mixed payments. - **Name portals after what they collect for.** For example "Kopi Kampung - Coffee Beans" or "Barista Class". The name is what you see in BCL's **Portal Key** list, so a clear name stops staff picking the wrong one. - **Keep the default portal for everything else.** Forms and payment links without their own portal fall back to the **Default Portal**, so nothing is missed while you set portals up. ## Common issues ### I created a new portal in Bayarcash, but it is not in the Portal Key list. Why? BCL keeps a copy of your portal list. Click the refresh icon (Refresh portal list) next to the Portal Key or Default Portal field to load it again. ### If I change the Default Portal, do I have to update every form? No. Forms that do not pick their own portal always follow the Default Portal, so they switch to the new one straight away. ### Can I track each staff member's sales separately? Yes. Give each staff member their own portal in Team → Team Members and set Require Portal Key to Required. Their forms and payment links then go to their own portal. --- # Pilih portal key Bayarcash > Hantar bayaran ke portal Bayarcash yang betul dengan menetapkan portal default, portal untuk setiap payment form, dan portal untuk setiap staf. > > Source: https://docs.bcl.my/ms/bayarcash-portal-key/ Portal key memberitahu Bayarcash portal mana yang menerima sesuatu bayaran. Guna portal berasingan untuk melihat payment form, kaedah bayaran atau staf mana yang membawa setiap bayaran. Anda boleh menambah dan menguruskan portal dalam Bayarcash Console ([panduan Bayarcash tentang portal](https://docs.bayarcash.com/430)). Portal key hanya digunakan untuk bayaran sebenar. Dalam **Test Mode**, semua bayaran dihantar ke sandbox Bayarcash, dan ruangan **Portal Key** kekal dikunci sehingga akaun Bayarcash anda disambungkan. ## Tetapkan portal default anda Portal default menerima setiap bayaran yang tiada portal sendiri. Untuk menetapkannya: 1. Pergi ke **Platform Setup** → **Payment**. 2. Dalam **Default Portal**, pilih satu portal. 3. Biarkan **Require staff to select a portal key** on jika staf mesti memilih portal pada setiap payment form, atau off-kan supaya mereka boleh guna portal default. Tetapan ini on sehingga anda menukarnya. *(Screenshot: Ruangan Default Portal yang sudah ditetapkan kepada satu portal, dan suis Require staff to select a portal key, kedua-duanya ditanda)* 4. Klik **Save Configuration**. Jika keys anda pernah disimpan sebelum ini, BCL terlebih dahulu meminta kod sekali guna yang dihantar melalui e-mel atau SMS. **Default Portal** hanya dipaparkan selepas **Test Mode** di-off-kan dan keys Bayarcash anda disahkan. Hanya account owner yang boleh menukar tetapan ini. Lihat [Sambungkan akaun Bayarcash anda](/ms/connect-bayarcash/). ## Pilih portal untuk satu payment form Untuk menghantar bayaran satu payment form ke portal lain: 1. Buka payment form itu dan pergi ke tab **Payment Details**. 2. Di bawah **Payment Configuration**, pilih **Portal Key**. Jika portal tidak diwajibkan untuk anda, pilih **Use account default** (pilihan ini memaparkan nama portal default anda) untuk mengikut default akaun. Klik ikon refresh di sebelah ruangan itu untuk memuatkan semula senarai portal anda. *(Screenshot: Bahagian Payment Configuration pada payment form, dengan ruangan Portal Key ditanda)* 3. Pilih **Payment Option**. Senarai ini hanya memaparkan kaedah bayaran yang ditawarkan oleh portal itu. 4. Klik **Update Form** (atau **Add Payment Form** untuk payment form baru). ## Pilih portal untuk payment link Apabila anda mencipta payment link dari **Quick Actions** → **Payment Link**, pilih **Portal Key** sebelum anda memilih kaedah bayaran. Lihat [Cipta payment link](/ms/payment-link/). ## Beri staf portal sendiri Staf dengan peranan **Team** boleh dihadkan kepada portal mereka sendiri: 1. Pergi ke **Team** → **Team Members** dan klik **Edit** di sebelah staf itu. 2. Dalam **Portal Key**, pilih satu atau lebih portal. Klik **Refresh** jika portal baru tiada dalam senarai. 3. Dalam **Require Portal Key**, pilih **Required** untuk menjejak jualan mereka ke portal mereka sendiri, atau **Optional - uses the default portal**. Pilihan default, **Follow portal setting**, menggunakan tetapan **Require staff to select a portal key** akaun anda. *(Screenshot: Tetingkap Edit seorang staf dengan ruangan Portal Key dan Require Portal Key ditanda)* 4. Klik **Save changes**. Selepas itu, staf hanya nampak portal mereka sendiri apabila mereka mencipta payment form atau payment link. Account owner dan admin sentiasa nampak semua portal. ## Tips Beberapa tabiat ini memudahkan kerja anda dengan portal kemudian: - **Beri setiap payment form portal sendiri.** Jika anda ada beberapa payment form, cipta portal berasingan dalam Bayarcash untuk setiap satu dan pilih portal itu dalam **Portal Key** payment form tersebut. Setiap portal kemudian hanya menyimpan bayaran daripada payment form itu, jadi laporan dan reconciliation jauh lebih mudah: anda boleh padankan satu settlement Bayarcash dengan satu payment form tanpa perlu mengasingkan bayaran yang bercampur. - **Namakan portal mengikut tujuan kutipannya.** Contohnya, "Kopi Kampung - Coffee Beans" atau "Barista Class". Nama inilah yang anda nampak dalam senarai **Portal Key** BCL, jadi nama yang jelas mengelakkan staf memilih portal yang salah. - **Kekalkan portal default untuk yang lain.** Payment form dan payment link tanpa portal sendiri akan menggunakan **Default Portal**, jadi tiada bayaran yang tertinggal semasa anda menyediakan portal. ## Isu biasa ### Kenapa portal baru yang saya cipta dalam Bayarcash tiada dalam senarai Portal Key? BCL menyimpan salinan senarai portal anda. Klik ikon refresh (Refresh portal list) di sebelah ruangan Portal Key atau Default Portal untuk memuatkannya semula. ### Jika saya tukar Default Portal, adakah saya perlu kemas kini setiap payment form? Tidak perlu. Payment form yang tidak memilih portal sendiri sentiasa mengikut Default Portal, jadi payment form itu terus bertukar ke portal baru. ### Boleh saya jejak jualan setiap staf secara berasingan? Boleh. Beri setiap staf portal sendiri dalam Team → Team Members dan tetapkan Require Portal Key kepada Required. Payment form dan payment link mereka kemudian masuk ke portal mereka sendiri. --- # Set your gateway fees > Choose whether your customer pays the payment gateway fee, and set a fixed, percentage or combined fee for each payment channel. > > Source: https://docs.bcl.my/gateway-fees/ A gateway fee is an amount added to your customer's total to cover the Bayarcash charge. It depends on the payment channel the customer picks at checkout. You set the fee for each channel once, then choose on each form whether to charge it. This is step 2 of 4 to your first sale. Check your current Bayarcash rates in the [Bayarcash Console](https://console.bayar.cash/) before you set your fees. ## Set the fee for each channel Only the account owner and admins can change gateway fees. To set them: 1. Go to **Platform Setup** → **Gateway Fee**. *(Screenshot: The Platform Setup menu in the BCL sidebar, with Gateway Fee highlighted)* 2. Pick a tab: **Standard Channels** (FPX, Direct Debit, Line of Credit, DuitNow OBW), **QR Payment Channels** (**DuitNow QR (Malaysia)** and **DuitNow QR (Cross-Border)**) or **Enterprise Package** (cards, e-wallets and pay-later, such as Touch 'n Go eWallet, Boost Wallet, GrabPay and Credit Card). *(Screenshot: The Gateway Fee page with the Standard Channels, QR Payment Channels and Enterprise Package tabs highlighted)* 3. Turn on **Enable** for each channel you want to charge a fee on. 4. Choose a **Fee Type** and fill in the matching amount: - **Fixed**: the same **Fixed Fee** on every sale. - **Percentage**: a **Percentage Fee** of the sale amount. - **Combined**: a **Fixed Fee** plus a **Percentage Fee**, added together. 5. Optional: for **Percentage** or **Combined**, set a **Minimum Fee**. When the calculated fee comes out lower, the minimum is charged instead. Leave it blank for no minimum. *(Screenshot: One channel's row, with its Enable switch, Fee Type, Fixed Fee, Percentage Fee and Minimum Fee highlighted)* 6. Click **Save Settings**. *(Screenshot: The Save Settings button highlighted at the top of the Gateway Fee page)* Channels you switch off charge no fee, and BCL keeps their rates so you can switch them back on later. Click **How It Works** on the page for worked examples. > **Tip** > **Reset** fills every channel with BCL's default rates. The change only applies after you click **Save Settings**. ## Charge the fee on a form The rates only reach your customer when the form has the fee turned on: 1. Open the form and go to the **Form Configuration** tab. 2. Under **Payment Settings**, turn **Enable Gateway Fee** on to add the fee to your customer's total, or off to absorb it yourself. *(Screenshot: The Payment Settings section of a form with the Enable Gateway Fee switch highlighted)* 3. Click **Update Form** (or **Add Payment Form** for a new form). Next step: [Add your company details](/company-details/). ## Common issues ### Who pays the gateway fee, me or my customer? You decide per form. With Enable Gateway Fee on, the fee is added to your customer's total. With it off, no fee is added and you absorb the Bayarcash charge. The toggle is on by default for new forms. ### Why can't I fill in the Minimum Fee field? Minimum Fee only works with the Percentage or Combined fee type. It stays greyed out when the channel's Enable switch is off, when no Fee Type is chosen, or when the type is Fixed. ### Does a Minimum Fee stop customers paying small amounts? No. It only sets the lowest fee added to a sale. Customers can still check out below it. To block small orders, raise your prices or set a minimum order on the form instead. --- # Tetapkan caj gateway anda > Pilih sama ada pelanggan membayar caj payment gateway, dan tetapkan caj tetap, peratusan atau gabungan untuk setiap saluran bayaran. > > Source: https://docs.bcl.my/ms/gateway-fees/ Caj gateway ialah jumlah yang ditambah pada jumlah bayaran pelanggan untuk menampung caj Bayarcash. Caj ini bergantung pada saluran bayaran yang pelanggan pilih semasa checkout. Anda tetapkan caj untuk setiap saluran sekali sahaja, kemudian pilih pada setiap payment form sama ada mahu mengenakannya. Ini langkah 2 daripada 4 untuk jualan pertama anda. Semak kadar Bayarcash semasa anda dalam [Bayarcash Console](https://console.bayar.cash/) sebelum anda menetapkan caj. ## Tetapkan caj untuk setiap saluran Hanya account owner dan admin yang boleh menukar caj gateway. Untuk menetapkannya: 1. Pergi ke **Platform Setup** → **Gateway Fee**. *(Screenshot: Menu Platform Setup di sidebar BCL, dengan Gateway Fee ditanda)* 2. Pilih satu tab: **Standard Channels** (FPX, Direct Debit, Line of Credit, DuitNow OBW), **QR Payment Channels** (**DuitNow QR (Malaysia)** dan **DuitNow QR (Cross-Border)**) atau **Enterprise Package** (kad, e-wallet dan pay-later, seperti Touch 'n Go eWallet, Boost Wallet, GrabPay dan Credit Card). *(Screenshot: Page Gateway Fee dengan tab Standard Channels, QR Payment Channels dan Enterprise Package ditanda)* 3. On-kan **Enable** untuk setiap saluran yang anda mahu kenakan caj. 4. Pilih **Fee Type** dan isi jumlah yang berkenaan: - **Fixed**: **Fixed Fee** yang sama pada setiap jualan. - **Percentage**: **Percentage Fee** daripada jumlah jualan. - **Combined**: **Fixed Fee** ditambah **Percentage Fee**. 5. Pilihan: untuk **Percentage** atau **Combined**, tetapkan **Minimum Fee**. Jika caj yang dikira lebih rendah, caj minimum itu yang dikenakan. Biarkan kosong jika tiada minimum. *(Screenshot: Baris satu saluran, dengan suis Enable, Fee Type, Fixed Fee, Percentage Fee dan Minimum Fee ditanda)* 6. Klik **Save Settings**. *(Screenshot: Butang Save Settings ditanda di bahagian atas page Gateway Fee)* Saluran yang anda off-kan tidak mengenakan caj, dan BCL menyimpan kadarnya supaya anda boleh on-kan semula kemudian. Klik **How It Works** pada page itu untuk contoh pengiraan. > **Tip** > **Reset** mengisi setiap saluran dengan kadar default BCL. Perubahan ini hanya berkuat kuasa selepas anda klik **Save Settings**. ## Kenakan caj pada payment form Kadar ini hanya sampai kepada pelanggan anda apabila caj di-on-kan pada payment form itu: 1. Buka payment form itu dan pergi ke tab **Form Configuration**. 2. Di bawah **Payment Settings**, on-kan **Enable Gateway Fee** untuk menambah caj pada jumlah bayaran pelanggan anda, atau off-kan untuk menanggungnya sendiri. *(Screenshot: Bahagian Payment Settings pada payment form dengan suis Enable Gateway Fee ditanda)* 3. Klik **Update Form** (atau **Add Payment Form** untuk payment form baru). Langkah seterusnya: [Tambah butiran syarikat anda](/ms/company-details/). ## Isu biasa ### Siapa yang membayar caj gateway, saya atau pelanggan saya? Anda tentukan bagi setiap payment form. Jika Enable Gateway Fee on, caj ditambah pada jumlah bayaran pelanggan anda. Jika off, tiada caj ditambah dan anda sendiri menanggung caj Bayarcash. Suis ini on secara default untuk payment form baru. ### Kenapa saya tidak boleh mengisi ruangan Minimum Fee? Minimum Fee hanya berfungsi dengan jenis caj Percentage atau Combined. Ruangan ini kekal kelabu apabila suis Enable saluran itu off, apabila tiada Fee Type dipilih, atau apabila jenisnya Fixed. ### Adakah Minimum Fee menghalang pelanggan membayar jumlah yang kecil? Tidak. Ia hanya menetapkan caj paling rendah yang ditambah pada sesuatu jualan. Pelanggan masih boleh checkout di bawah jumlah itu. Untuk menyekat pesanan kecil, naikkan harga anda atau tetapkan pesanan minimum pada payment form itu. --- # Add your company details > Fill in your company profile so your name, logo, registration and address appear correctly on receipts, invoices and e-invoices. > > Source: https://docs.bcl.my/company-details/ Your company profile holds the name, logo, registration number, contact details and address that BCL prints on receipts, invoices and LHDN e-invoices. This is step 3 of 4 to your first sale. ## Open your company profile Only the account owner and admins can edit the company profile. To open it: 1. In the sidebar, go to **Team** → **Company Profile**. *(Screenshot: The Team menu in the BCL sidebar, with Company Profile highlighted)* You can also reach it from the account menu at the bottom of the sidebar, or from **Settings** in the bottom bar on your phone. ## Copy your details from Bayarcash If you have [connected your Bayarcash account](/connect-bayarcash/), you can copy the details you gave Bayarcash instead of typing them: 1. Click **Sync Console** at the top of the page. *(Screenshot: The Company Profile page with the Sync Console button highlighted)* 2. Check the details in the **Console Data Preview**. 3. Click **Proceed with Sync**. BCL saves the copied details straight away. ## Fill in or correct your details Complete anything that is missing or out of date: 1. Under **Company Information**, click **Select Media** in **Company Logo** to add your logo. A PNG with a transparent background, up to 150 x 120 pixels, works best. 2. Fill in **Organization Name** and **Registration Number (Full SSM No.)**. BCL saves both in capital letters. *(Screenshot: The Company Information section with the Company Details fields highlighted)* 3. Fill in the **Email** and **Mobile Number** your customers can contact you on. 4. Under **Identification**, choose your **ID Type** and enter the number. BCL tries to fetch your **Tax Identification Number (TIN)** from LHDN for you. You can also click the search icon next to the TIN field to fetch it again. *(Screenshot: The Identification section with the Tax Identification Number (TIN) field highlighted)* 5. Under **Business Classification**, choose your **MSIC Code**, and enter your **SST Number** or **NA** if you are not registered for SST. BCL fills in the **Business Activity Description** from the MSIC code. 6. Fill in your address under **Address Details**, and your social media links under **Social Media** if you want them shown. 7. Click **Save Changes** at the top of the page. *(Screenshot: The Save Changes button highlighted at the top of the Company Profile page)* > **Note** > If you send LHDN e-invoices, the **E-Invoice Compliance** box at the top lists any details that are still missing. See [MyInvois intermediary](/myinvois-intermediary/). Next step: [Create your first payment form](/create-payment-form/). ## Common issues ### How do I replace the BCL logo in the browser tab with my own? Upload your logo in Company Logo on Team → Company Profile and click Save Changes. The same logo is used as the browser tab icon on your forms, in customer emails and on receipts and invoices. ### Can my staff change the company details? No. Only the account owner and admins can open and edit Company Profile. ### What do I put in SST Number if I am not registered for SST? Enter NA. --- # Tambah butiran syarikat anda > Lengkapkan profil syarikat anda supaya nama, logo, pendaftaran dan alamat anda dipaparkan dengan betul pada resit, invois dan e-invois. > > Source: https://docs.bcl.my/ms/company-details/ Profil syarikat anda menyimpan nama, logo, nombor pendaftaran, butiran hubungan dan alamat yang BCL cetak pada resit, invois dan e-invois LHDN. Ini langkah 3 daripada 4 untuk jualan pertama anda. ## Buka profil syarikat anda Hanya account owner dan admin yang boleh edit profil syarikat. Untuk membukanya: 1. Di sidebar, pergi ke **Team** → **Company Profile**. *(Screenshot: Menu Team di sidebar BCL, dengan Company Profile ditanda)* Anda juga boleh membukanya dari menu akaun di bahagian bawah sidebar, atau dari **Settings** di bar bawah pada telefon anda. ## Copy butiran anda dari Bayarcash Jika anda sudah [menyambungkan akaun Bayarcash anda](/ms/connect-bayarcash/), anda boleh copy butiran yang anda berikan kepada Bayarcash dan tidak perlu menaipnya semula: 1. Klik **Sync Console** di bahagian atas page. *(Screenshot: Page Company Profile dengan butang Sync Console ditanda)* 2. Semak butiran dalam **Console Data Preview**. 3. Klik **Proceed with Sync**. BCL terus menyimpan butiran yang di-copy. ## Isi atau betulkan butiran anda Lengkapkan apa-apa butiran yang belum diisi atau sudah lama: 1. Di bawah **Company Information**, klik **Select Media** dalam **Company Logo** untuk menambah logo anda. Fail PNG dengan latar belakang lutsinar, sehingga 150 x 120 piksel, adalah yang terbaik. 2. Isi **Organization Name** dan **Registration Number (Full SSM No.)**. BCL menyimpan kedua-duanya dalam huruf besar. *(Screenshot: Bahagian Company Information dengan ruangan Company Details ditanda)* 3. Isi **Email** dan **Mobile Number** yang pelanggan boleh guna untuk menghubungi anda. 4. Di bawah **Identification**, pilih **ID Type** anda dan masukkan nombornya. BCL cuba mendapatkan **Tax Identification Number (TIN)** anda dari LHDN untuk anda. Anda juga boleh klik ikon carian di sebelah ruangan TIN untuk mendapatkannya semula. *(Screenshot: Bahagian Identification dengan ruangan Tax Identification Number (TIN) ditanda)* 5. Di bawah **Business Classification**, pilih **MSIC Code** anda, dan masukkan **SST Number** anda, atau **NA** jika anda tidak berdaftar SST. BCL mengisi **Business Activity Description** berdasarkan kod MSIC itu. 6. Isi alamat anda di bawah **Address Details**, dan link media sosial anda di bawah **Social Media** jika anda mahu link itu dipaparkan. 7. Klik **Save Changes** di bahagian atas page. *(Screenshot: Butang Save Changes ditanda di bahagian atas page Company Profile)* > **Note** > Jika anda menghantar e-invois LHDN, kotak **E-Invoice Compliance** di bahagian atas menyenaraikan butiran yang masih belum diisi. Lihat [Tambah Bayarcash sebagai intermediary MyInvois anda](/ms/myinvois-intermediary/). Langkah seterusnya: [Cipta payment form pertama anda](/ms/create-payment-form/). ## Isu biasa ### Bagaimana saya tukar logo BCL pada tab browser kepada logo saya sendiri? Upload logo anda dalam Company Logo di Team → Company Profile dan klik Save Changes. Logo yang sama digunakan sebagai ikon tab browser pada payment form anda, dalam e-mel kepada pelanggan dan pada resit serta invois. ### Boleh staf saya menukar butiran syarikat? Tidak boleh. Hanya account owner dan admin yang boleh membuka dan edit Company Profile. ### Apa yang saya perlu isi dalam SST Number jika saya tidak berdaftar SST? Masukkan NA. --- # Create your first payment form > Build a BCL payment form with a title, price and payment options, then share its link to start collecting payments. > > Source: https://docs.bcl.my/create-payment-form/ A payment form is a page where your customers enter their details and pay you. Create one in a few minutes, then share its link. This is step 4 of 4 to your first sale. Have your form title, description, price and a featured image (980 x 580 pixels works well) ready before you start. ## Create the form Start from the forms list: 1. Go to **Payments** → **Forms** and click **Create Form**. The **Create New Payment Form** page opens. *(Screenshot: The Payment Forms page with the Create Form button highlighted)* 2. If your account is still in Test Mode, a **You are building in Test Mode** box opens. Click **Continue in Test Mode** to keep building, or **Connect Bayarcash** to [connect your account](/connect-bayarcash/) first. Test payments work straight away and nothing is charged. *(Screenshot: The You are building in Test Mode box with the Continue in Test Mode button highlighted)* ## Add the basic information The **Basic Information** tab holds what your customer sees first: 1. Enter a **Title**. BCL fills in the **URL Slug** from it, and shows the form's full link underneath. You can change the slug. *(Screenshot: The Basic Information tab with the Title field highlighted, and the URL Slug filled in from it)* 2. Optional: add a **Form Label** to tag the form. Labels are for your team only, and customers do not see them. 3. Under **Featured Image**, click **Select Media** to add a picture. It appears at the top of the form and on your [BCL homepage](/homepage/). 4. Write a **Description** of what the customer is paying for. To collect extra information, such as a company name or a size, open the **Custom Field Form** tab and click **Add Custom Field**. ## Set the price and payment options On the **Payment Details** tab, set how the customer pays: 1. In **Price Setting**, choose **Single Amount**, **Open Amount (User Input)**, **Multiple Items** or **Items with Variations**. 2. For **Single Amount**, enter the **Amount**. *(Screenshot: The Payment Details tab with Price Setting highlighted, set to Single Amount with an amount of RM 50)* 3. Choose the **Type of Form**. **Payment** suits most sales. See [Choose a form type](/form-types/). 4. Under **Payment Configuration**, check the **Portal Key** and choose one or more **Payment Option** methods. See [Choose a Bayarcash portal key](/bayarcash-portal-key/). 5. Choose a **Classification Code** for LHDN. Use **022 - Others** if none fits. 6. Leave **Payment Mode** on **Platform Default** to follow your account setting, or pick **Test Mode** or **Live Mode** for this form only. ## Check the form settings and save The **Form Configuration** tab has the switches that control the form: 1. Under **Form Status**, keep **Form Active** on so customers can pay, and **Display on Homepage** on to list the form on your homepage. *(Screenshot: The Form Configuration tab with the Form Status switches highlighted)* 2. Under **Payment Settings**, choose whether **Enable Gateway Fee** adds the [gateway fee](/gateway-fees/) to the customer's total. *(Screenshot: The Payment Settings section with the Enable Gateway Fee switch highlighted)* 3. Click **Add Payment Form** at the top of the page. BCL shows **Form created** and opens the form for editing. *(Screenshot: The Add Payment Form button highlighted at the top of the page)* ## Open and share the form To see the form as your customer will: 1. Go to **Payments** → **Forms**. 2. Click **View Form** in the **Live Form** column of your form. Copy the address from your browser to share it. *(Screenshot: The forms list with View Form highlighted in the Live Form column)* ## Common issues ### How can I test a form before customers use it? Set the form's Payment Mode to Test Mode on the Payment Details tab. Payments on that form go to the Bayarcash sandbox, while your other forms stay live. ### How many custom fields can one form have? Up to 20 custom fields per form. Drop-down, checkbox, radio and button fields can each have up to 20 options. ### Which Classification Code should I choose? Pick the LHDN code that matches what you sell. If none fits, choose 022 - Others. --- # Cipta payment form pertama anda > Bina payment form BCL dengan tajuk, harga dan pilihan bayaran, kemudian kongsi link-nya untuk mula menerima bayaran. > > Source: https://docs.bcl.my/ms/create-payment-form/ Payment form ialah page tempat pelanggan anda mengisi butiran mereka dan membuat bayaran kepada anda. Cipta satu dalam beberapa minit, kemudian kongsi link-nya. Ini langkah 4 daripada 4 untuk jualan pertama anda. Sediakan tajuk, penerangan, harga dan gambar utama (980 x 580 piksel sesuai) payment form anda sebelum anda mula. ## Cipta payment form Mula dari senarai payment form: 1. Pergi ke **Payments** → **Forms** dan klik **Create Form**. Page **Create New Payment Form** dibuka. *(Screenshot: Page Payment Forms dengan butang Create Form ditanda)* 2. Jika akaun anda masih dalam Test Mode, kotak **You are building in Test Mode** dibuka. Klik **Continue in Test Mode** untuk terus membina, atau **Connect Bayarcash** untuk [sambungkan akaun anda](/ms/connect-bayarcash/) dahulu. Test payment boleh digunakan serta-merta dan tiada caj dikenakan. *(Screenshot: Kotak You are building in Test Mode dengan butang Continue in Test Mode ditanda)* ## Tambah maklumat asas Tab **Basic Information** menyimpan apa yang pelanggan anda nampak dahulu: 1. Masukkan **Title**. BCL mengisi **URL Slug** berdasarkan tajuk itu, dan memaparkan link penuh payment form di bawahnya. Anda boleh menukar slug itu. *(Screenshot: Tab Basic Information dengan ruangan Title ditanda, dan URL Slug diisi berdasarkan tajuk itu)* 2. Pilihan: tambah **Form Label** untuk menanda payment form itu. Label hanya untuk team anda, dan pelanggan tidak nampak label ini. 3. Di bawah **Featured Image**, klik **Select Media** untuk menambah gambar. Gambar ini dipaparkan di bahagian atas payment form dan pada [homepage BCL](/ms/homepage/) anda. 4. Tulis **Description** tentang apa yang pelanggan bayar. Untuk mengumpul maklumat tambahan, seperti nama syarikat atau saiz, buka tab **Custom Field Form** dan klik **Add Custom Field**. ## Tetapkan harga & pilihan bayaran Pada tab **Payment Details**, tetapkan cara pelanggan membayar: 1. Dalam **Price Setting**, pilih **Single Amount**, **Open Amount (User Input)**, **Multiple Items** atau **Items with Variations**. 2. Untuk **Single Amount**, masukkan **Amount**. *(Screenshot: Tab Payment Details dengan Price Setting ditanda, ditetapkan kepada Single Amount dengan jumlah RM 50)* 3. Pilih **Type of Form**. **Payment** sesuai untuk kebanyakan jualan. Lihat [Pilih jenis form yang sesuai](/ms/form-types/). 4. Di bawah **Payment Configuration**, semak **Portal Key** dan pilih satu atau lebih kaedah **Payment Option**. Lihat [Pilih portal key Bayarcash](/ms/bayarcash-portal-key/). 5. Pilih **Classification Code** untuk LHDN. Guna **022 - Others** jika tiada yang sesuai. 6. Biarkan **Payment Mode** pada **Platform Default** untuk mengikut tetapan akaun anda, atau pilih **Test Mode** atau **Live Mode** untuk payment form ini sahaja. ## Semak tetapan payment form & simpan Tab **Form Configuration** ada suis yang mengawal payment form itu: 1. Di bawah **Form Status**, biarkan **Form Active** on supaya pelanggan boleh membayar, dan **Display on Homepage** on untuk menyenaraikan payment form itu pada homepage anda. *(Screenshot: Tab Form Configuration dengan suis Form Status ditanda)* 2. Di bawah **Payment Settings**, pilih sama ada **Enable Gateway Fee** menambah [caj gateway](/ms/gateway-fees/) pada jumlah bayaran pelanggan. *(Screenshot: Bahagian Payment Settings dengan suis Enable Gateway Fee ditanda)* 3. Klik **Add Payment Form** di bahagian atas page. BCL memaparkan **Form created** dan membuka payment form itu untuk diedit. *(Screenshot: Butang Add Payment Form ditanda di bahagian atas page)* ## Buka & kongsi payment form Untuk melihat payment form seperti yang pelanggan anda akan nampak: 1. Pergi ke **Payments** → **Forms**. 2. Klik **View Form** dalam lajur **Live Form** bagi payment form anda. Copy alamat dari browser anda untuk berkongsi. *(Screenshot: Senarai payment form dengan View Form ditanda dalam lajur Live Form)* ## Isu biasa ### Bagaimana saya boleh menguji payment form sebelum pelanggan menggunakannya? Tetapkan Payment Mode payment form itu kepada Test Mode pada tab Payment Details. Bayaran pada payment form itu dihantar ke sandbox Bayarcash, manakala payment form anda yang lain kekal live. ### Berapa banyak custom field yang boleh ada dalam satu payment form? Sehingga 20 custom field bagi setiap payment form. Ruangan drop-down, checkbox, radio dan button masing-masing boleh ada sehingga 20 pilihan. ### Classification Code mana yang patut saya pilih? Pilih kod LHDN yang sepadan dengan apa yang anda jual. Jika tiada yang sesuai, pilih 022 - Others. --- # Share your BCL homepage > Share one link that lists all your forms, choose which forms appear on it, or send visitors straight to a single form. > > Source: https://docs.bcl.my/homepage/ Your BCL homepage is one page that lists your forms, so you can share a single link instead of a link for each form. It lives at your subdomain, such as `https://yourname.bcl.my`, or at your [own domain](/custom-domain/). Each form shows as a card with its featured image, title and a button to open it, such as **View Payment Form**, newest first. Payment, event, booking and lead forms can all appear. ## Open your homepage To see your homepage as a customer would: 1. Click **Quick Actions** at the top of any BCL page, then **View Homepage**. Your homepage opens in a new tab. *(Screenshot: The Quick Actions menu with View Homepage highlighted)* *(Screenshot: A BCL homepage showing form cards, each with a View Payment Form button)* ## Choose which forms appear New forms appear on the homepage by default. To hide or show a form: 1. Go to **Payments** → **Forms**. 2. Switch **Front Page** on or off for the form. *(Screenshot: The forms list with the Front Page column of switches highlighted)* You can also change it inside the form: on the **Form Configuration** tab, switch **Display on Homepage** on or off. Event, booking and lead forms have the same **Front Page** switch in their own lists. > **Note** > A form only appears when **Enable Form** is also on. Turning a form off hides it from the homepage automatically. ## Send visitors to one form If you sell one main product, you can skip the list and open a single form instead: 1. Go to **Team** → **Team Profile**. The **Merchant Settings** page opens on the **General Settings** tab. 2. Under **Homepage Settings** on that tab, turn on **Redirect to specific form**. *(Screenshot: The Homepage Settings section with the Redirect to specific form switch highlighted and the Select type options showing)* 3. Under **Select type:**, choose **Payment**, **Event**, **Lead** or **Booking**, then choose the form. Only active forms are listed. 4. Click **Save Settings**. The **Homepage Settings** tab at the top of the page is for something else: your homepage's search and social media details, and custom labels. ## Common issues ### Why is my form missing from my homepage? Check two switches in Payments → Forms: Front Page and Enable Form must both be on. A disabled form never appears on the homepage. ### Can my homepage open one form instead of the list? Yes. In Team → Team Profile, turn on Redirect to specific form under Homepage Settings, choose the form and click Save Settings. --- # Kongsi homepage BCL anda > Kongsi satu link yang menyenaraikan semua form anda, pilih form yang dipaparkan, atau hantar pelawat terus ke satu form. > > Source: https://docs.bcl.my/ms/homepage/ Homepage BCL anda ialah satu page yang menyenaraikan form anda, jadi anda boleh kongsi satu link sahaja dan tidak perlu satu link untuk setiap form. Homepage ini berada di subdomain anda, seperti `https://yourname.bcl.my`, atau di [domain anda sendiri](/ms/custom-domain/). Setiap form dipaparkan sebagai kad dengan gambar utama, tajuk dan butang untuk membukanya, seperti **View Payment Form**, yang terbaru dahulu. Payment form, event form, booking dan lead semuanya boleh dipaparkan. ## Buka homepage anda Untuk melihat homepage anda seperti yang pelanggan lihat: 1. Klik **Quick Actions** di bahagian atas mana-mana page BCL, kemudian **View Homepage**. Homepage anda dibuka dalam tab baru. *(Screenshot: Menu Quick Actions dengan View Homepage ditanda)* *(Screenshot: Homepage BCL yang memaparkan kad form, setiap satu dengan butang View Payment Form)* ## Pilih form yang dipaparkan Form baru dipaparkan di homepage secara default. Untuk sembunyikan atau paparkan sesuatu form: 1. Pergi ke **Payments** → **Forms**. 2. On-kan atau off-kan **Front Page** untuk form itu. *(Screenshot: Senarai form dengan lajur suis Front Page ditanda)* Anda juga boleh menukarnya di dalam form itu: pada tab **Form Configuration**, on-kan atau off-kan **Display on Homepage**. Event form, booking dan lead ada suis **Front Page** yang sama dalam senarai masing-masing. > **Note** > Sesuatu form hanya dipaparkan apabila **Enable Form** juga on. Jika anda off-kan sesuatu form, form itu terus disembunyikan dari homepage. ## Hantar pelawat ke satu form Jika anda menjual satu produk utama, anda boleh langkau senarai itu dan terus membuka satu form: 1. Pergi ke **Team** → **Team Profile**. Page **Merchant Settings** dibuka pada tab **General Settings**. 2. Di bawah **Homepage Settings** pada tab itu, on-kan **Redirect to specific form**. *(Screenshot: Bahagian Homepage Settings dengan suis Redirect to specific form ditanda dan pilihan Select type dipaparkan)* 3. Di bawah **Select type:**, pilih **Payment**, **Event**, **Lead** atau **Booking**, kemudian pilih form itu. Hanya form yang aktif disenaraikan. 4. Klik **Save Settings**. Tab **Homepage Settings** di bahagian atas page adalah untuk perkara lain: butiran carian dan media sosial homepage anda, serta label tersuai. ## Isu biasa ### Kenapa form saya tiada di homepage saya? Semak dua suis dalam Payments → Forms: Front Page dan Enable Form mesti kedua-duanya on. Form yang di-off-kan tidak akan dipaparkan di homepage. ### Boleh homepage saya membuka satu form dan bukan senarai? Boleh. Dalam Team → Team Profile, on-kan Redirect to specific form di bawah Homepage Settings, pilih form itu dan klik Save Settings. --- # Choose the right form type > The kinds of forms BCL offers, the price settings for a payment form and the page styles you can give it. > > Source: https://docs.bcl.my/form-types/ BCL has a different form for each kind of sale: payment forms for products and fees, event forms for tickets, booking forms for appointments and lead forms for sign-ups. Pick the form that matches what your customer is doing, then choose how it is priced and how it looks. Before you create any form, connect an approved Bayarcash account to BCL. See [Connect Bayarcash](/connect-bayarcash/). ## Forms in BCL Each kind of form has its own menu in the dashboard: - **Payment forms** (**Payments** → **Forms**): sell products or services, collect fees and take donations. See [Create a payment form](/create-payment-form/). - **Event forms** (**Events** → **Events**): sell tickets and register attendees. This needs the **Event Management** add-on. - **Booking forms** (**Bookings** → **Forms**): let customers book a service, court or room in a time slot. - **Lead forms** (**Lead Management** → **Lead Forms**): collect sign-ups without taking a payment. This needs the **Lead Forms** add-on. ## Price settings for a payment form On a payment form, open the **Payment Details** tab and choose a **Price Setting**: *(Screenshot: The Payment Details tab with the Price Setting field highlighted)* - **Single Amount**: one fixed price, for example a registration fee. Enter it in **Amount**. - **Open Amount (User Input)**: the customer types how much to pay. Good for donations and pay-what-you-want. - **Multiple Items**: a list of products, each with its own price and stock. You add them in **List of Items**, below the tabs. Use this to [sell digital products](/sell-digital-products/). - **Items with Variations**: products with options such as size or colour, each option with its own price. You add them in **Variation Items**, below the tabs. ## Type of Form **Type of Form**, on the same tab, sets how the page looks and behaves: *(Screenshot: The Type of Form buttons, with Custom HTML selected and the Open HTML Editor link)* | Type of Form | What the customer sees | Where you set it up | |---|---|---| | **Payment** | The standard payment form | The form's tabs | | **Donation** | A donation form with a **Target Amount**, a progress bar and a countdown to an end date | The **Donation** tab | | **Sales Page** | One sales image above the form. See [Turn a form into a sales page](/sales-page/) | **Sales Image** | | **Custom HTML** | Your own HTML design. See [HTML form shortcodes](/html-form-shortcodes/) | **Open HTML Editor** | | **Landing Pages** | A page built with blocks | **Edit Landing Page** | | **Video Sales (Beta)** | A video-led sales page | The **Videos** tab | **Open HTML Editor** and **Edit Landing Page** save the form before they open the editor. ## Payment channels Under **Payment Configuration**, choose the Bayarcash **Portal Key**, then the channels to offer in **Payment Option**, such as FPX or DuitNow QR. The list depends on what that portal has switched on. *(Screenshot: The Payment Option field under Payment Configuration)* ## Common issues ### How many variations can I set up for clothes with sizes and colours? With Items with Variations you can add up to 6 variations per form (for example Size, Colour and Material), each with up to 15 options. Every option has its own price and stock. ### Is there a limit on how many items I can put in one payment form? Yes. Multiple Items takes up to 50 items per form. When you reach 50, the Add Item button disappears. Split a bigger catalogue into several forms, one per category. ### Why can't I see all payment channels in Payment Option? Payment Option only lists the channels switched on for the portal chosen in Portal Key. Turn on more channels for that portal in the Bayarcash Console, then pick them in the form. --- # Pilih jenis form yang sesuai > Jenis form yang BCL tawarkan, tetapan harga untuk payment form dan gaya page yang boleh anda berikan kepadanya. > > Source: https://docs.bcl.my/ms/form-types/ BCL ada form yang berbeza untuk setiap jenis jualan: payment form untuk produk dan yuran, event form untuk tiket, booking form untuk janji temu dan lead form untuk pendaftaran. Pilih form yang sepadan dengan apa yang pelanggan anda lakukan, kemudian pilih cara harganya ditetapkan dan rupanya. Sebelum anda mencipta sebarang form, sambungkan akaun Bayarcash yang sudah diluluskan kepada BCL. Lihat [Sambungkan akaun Bayarcash anda](/ms/connect-bayarcash/). ## Form dalam BCL Setiap jenis form ada menu sendiri dalam dashboard: - **Payment form** (**Payments** → **Forms**): jual produk atau servis, kutip yuran dan terima derma. Lihat [Cipta payment form pertama anda](/ms/create-payment-form/). - **Event form** (**Events** → **Events**): jual tiket dan daftar peserta. Ini memerlukan add-on **Event Management**. - **Booking form** (**Bookings** → **Forms**): benarkan pelanggan menempah servis, gelanggang atau bilik mengikut slot masa. - **Lead form** (**Lead Management** → **Lead Forms**): kumpul pendaftaran tanpa menerima bayaran. Ini memerlukan add-on **Lead Forms**. ## Tetapan harga untuk payment form Pada payment form, buka tab **Payment Details** dan pilih **Price Setting**: *(Screenshot: Tab Payment Details dengan ruangan Price Setting ditanda)* - **Single Amount**: satu harga tetap, contohnya yuran pendaftaran. Masukkan dalam **Amount**. - **Open Amount (User Input)**: pelanggan menaip jumlah yang mahu dibayar. Sesuai untuk derma dan pay-what-you-want. - **Multiple Items**: senarai produk, setiap satu dengan harga dan stok sendiri. Anda menambahnya dalam **List of Items**, di bawah tab. Guna ini untuk [menjual produk digital](/ms/sell-digital-products/). - **Items with Variations**: produk dengan pilihan seperti saiz atau warna, setiap pilihan dengan harga sendiri. Anda menambahnya dalam **Variation Items**, di bawah tab. ## Type of Form **Type of Form**, pada tab yang sama, menetapkan rupa dan fungsi page itu: *(Screenshot: Butang Type of Form, dengan Custom HTML dipilih dan link Open HTML Editor)* | Type of Form | Apa yang pelanggan nampak | Tempat anda menyediakannya | |---|---|---| | **Payment** | Payment form standard | Tab-tab payment form itu | | **Donation** | Form derma dengan **Target Amount**, bar kemajuan dan kiraan detik hingga tarikh tamat | Tab **Donation** | | **Sales Page** | Satu gambar jualan di atas payment form. Lihat [Jadikan payment form sebagai sales page](/ms/sales-page/) | **Sales Image** | | **Custom HTML** | Reka bentuk HTML anda sendiri. Lihat [Shortcode untuk payment form HTML](/ms/html-form-shortcodes/) | **Open HTML Editor** | | **Landing Pages** | Page yang dibina dengan blok | **Edit Landing Page** | | **Video Sales (Beta)** | Sales page berasaskan video | Tab **Videos** | **Open HTML Editor** dan **Edit Landing Page** menyimpan payment form itu sebelum membuka editor. ## Saluran bayaran Di bawah **Payment Configuration**, pilih **Portal Key** Bayarcash, kemudian saluran yang mahu ditawarkan dalam **Payment Option**, seperti FPX atau DuitNow QR. Senarai ini bergantung pada saluran yang di-on-kan untuk portal itu. *(Screenshot: Ruangan Payment Option di bawah Payment Configuration)* ## Isu biasa ### Berapa banyak variasi yang boleh saya sediakan untuk pakaian yang ada saiz dan warna? Dengan Items with Variations, anda boleh menambah sehingga 6 variasi bagi setiap payment form (contohnya Size, Colour dan Material), setiap satu dengan sehingga 15 pilihan. Setiap pilihan ada harga dan stok sendiri. ### Adakah had bilangan item dalam satu payment form? Ya. Multiple Items menerima sehingga 50 item bagi setiap payment form. Apabila anda mencapai 50, butang Add Item hilang. Pecahkan katalog yang lebih besar kepada beberapa payment form, satu bagi setiap kategori. ### Kenapa saya tidak nampak semua saluran bayaran dalam Payment Option? Payment Option hanya menyenaraikan saluran yang di-on-kan untuk portal yang dipilih dalam Portal Key. On-kan lebih banyak saluran untuk portal itu dalam Bayarcash Console, kemudian pilih saluran itu dalam payment form. --- # Turn a form into a sales page > Show one sales image above your payment form so customers read your offer and pay on the same page. > > Source: https://docs.bcl.my/sales-page/ A sales page is a payment form with one large image above it. Customers scroll through your offer, then fill in the form and pay without leaving the page. Use it when you want a simple landing page without building one from scratch. You write the copy and design the image yourself. A tool such as Canva works well. ## Set up the sales page Before you start, have your finished sales image ready, in one file. 1. Go to **Payments** → **Forms**, then click **Create Form**, or click **Edit** on an existing form. 2. In **Basic Information**, fill in the title and other details. Add extra fields in **Custom Field Form** if you need them. 3. Open the **Payment Details** tab and set your **Price Setting**, **Portal Key** and **Payment Option**. 4. Under **Type of Form**, choose **Sales Page**. *(Screenshot: The Type of Form buttons with Sales Page highlighted)* 5. Click **Sales Image**, on the right above the **Type of Form** buttons. *(Screenshot: The Sales Image link highlighted above the Type of Form buttons)* 6. In the **Sales Page Image** panel, click **Select Media** under **Upload Image**. Choose your image from the media library, or click **Add New** to upload one, then click **Select Image**. Click **Apply**. *(Screenshot: The Sales Page Image panel with the Select Media box highlighted)* 7. Click **Add Payment Form** for a new form, or **Update Form** for an existing one. The image is only kept once the form is saved. 8. Click **View Form** to check the page as your customer sees it. > **Note** > A sales page takes one image only. The panel recommends 1920 x 800 pixels and a maximum file size of 5MB. Put all your copy and graphics into that single image. ## Change the image later Once the form is saved, a **Sales Image** button also appears at the top of the form. Click it, choose the new image, click **Apply** and then **Update Form**. *(Screenshot: The Sales Image button at the top of the form, next to View Form and Update Form)* If you want a page with several sections, text and buttons instead of one image, choose **Landing Pages** or **Custom HTML** under **Type of Form**. See [Choose the right form type](/form-types/). ## Common issues ### Can I upload more than one image for my sales page? No. A sales page takes a single image. Put your copy and graphics together in one image, for example by designing it in Canva and exporting it as one file. ### My sales page is on Canva. Can I still track Facebook ads? Yes. The pixel is set on the form, not the page. Open the form, go to Advanced → Facebook Pixel, and fill in your pixel details. See Facebook Pixel (/facebook-pixel/). --- # Jadikan payment form sebagai sales page > Paparkan satu gambar jualan di atas payment form anda supaya pelanggan membaca tawaran anda dan membayar pada page yang sama. > > Source: https://docs.bcl.my/ms/sales-page/ Sales page ialah payment form dengan satu gambar besar di atasnya. Pelanggan scroll melalui tawaran anda, kemudian mengisi payment form dan membayar tanpa meninggalkan page itu. Gunakannya apabila anda mahu landing page yang ringkas tanpa perlu membinanya dari awal. Anda sendiri menulis teks dan mereka bentuk gambar itu. Alat seperti Canva sangat sesuai. ## Sediakan sales page Sebelum anda mula, sediakan gambar jualan anda yang sudah siap, dalam satu fail. 1. Pergi ke **Payments** → **Forms**, kemudian klik **Create Form**, atau klik **Edit** pada payment form yang sedia ada. 2. Dalam **Basic Information**, isi tajuk dan butiran lain. Tambah ruangan tambahan dalam **Custom Field Form** jika anda perlukannya. 3. Buka tab **Payment Details** dan tetapkan **Price Setting**, **Portal Key** dan **Payment Option** anda. 4. Di bawah **Type of Form**, pilih **Sales Page**. *(Screenshot: Butang Type of Form dengan Sales Page ditanda)* 5. Klik **Sales Image**, di sebelah kanan atas butang **Type of Form**. *(Screenshot: Link Sales Image ditanda di atas butang Type of Form)* 6. Dalam panel **Sales Page Image**, klik **Select Media** di bawah **Upload Image**. Pilih gambar anda dari media library, atau klik **Add New** untuk upload gambar, kemudian klik **Select Image**. Klik **Apply**. *(Screenshot: Panel Sales Page Image dengan kotak Select Media ditanda)* 7. Klik **Add Payment Form** untuk payment form baru, atau **Update Form** untuk payment form yang sedia ada. Gambar itu hanya disimpan selepas payment form disimpan. 8. Klik **View Form** untuk menyemak page itu seperti yang pelanggan anda lihat. > **Note** > Sales page hanya menerima satu gambar. Panel itu mencadangkan saiz 1920 x 800 piksel dan saiz fail maksimum 5MB. Masukkan semua teks dan grafik anda ke dalam satu gambar itu. ## Tukar gambar kemudian Selepas payment form disimpan, butang **Sales Image** juga dipaparkan di bahagian atas payment form. Klik butang itu, pilih gambar baru, klik **Apply** dan kemudian **Update Form**. *(Screenshot: Butang Sales Image di bahagian atas payment form, di sebelah View Form dan Update Form)* Jika anda mahu page dengan beberapa bahagian, teks dan butang dan bukan satu gambar sahaja, pilih **Landing Pages** atau **Custom HTML** di bawah **Type of Form**. Lihat [Pilih jenis form yang sesuai](/ms/form-types/). ## Isu biasa ### Boleh saya upload lebih daripada satu gambar untuk sales page saya? Tidak boleh. Sales page hanya menerima satu gambar. Gabungkan teks dan grafik anda dalam satu gambar, contohnya dengan mereka bentuknya dalam Canva dan export sebagai satu fail. ### Sales page saya ada di Canva. Boleh saya masih jejak iklan Facebook? Boleh. Pixel ditetapkan pada payment form, bukan pada page. Buka payment form itu, pergi ke Advanced → Facebook Pixel, dan isi butiran pixel anda. Lihat Tambah pixel Meta (Facebook) pada payment form (/ms/facebook-pixel/). --- # Sell with a video page > Turn a payment form into a TikTok-style video page where buyers watch your product and pay without leaving their phone. > > Source: https://docs.bcl.my/video-sales/ **Video Sales (Beta)** is a type of payment form that fills the buyer's phone screen with your video, like TikTok or Instagram Reels. Your products sit on a card at the bottom. When the buyer taps **Buy**, the checkout slides up over the video, so they pay without leaving it. Use it when you sell on social media and your buyers arrive on a phone. ## Video Sales or Sales Page Both types put your pitch above the checkout. Choose by what you sell with: | | **Video Sales (Beta)** | **Sales Page** | |---|---|---| | What the buyer sees first | A full-screen vertical video | One long image, then the form | | Content | Up to 10 videos that play one after another | A single image | | Checkout | Slides up over the video when the buyer taps **Buy** | Below the image | | Best for | Buyers coming from TikTok, Instagram or a live session, on a phone | Buyers who read a detailed offer, on any screen | For a sales page, see [Turn a form into a sales page](/sales-page/). ## Set up a video page Have your items and prices ready, and the link to each video (or the MP4 files). 1. Go to **Payments** → **Forms**, then click **Create Form**, or click **Edit** on an existing form. 2. Open the **Payment Details** tab. Set the **Price Setting** (for example **Multiple Items** with your products), the **Portal Key** and the **Payment Option**. 3. Under **Type of Form**, choose **Video Sales (Beta)**. A new **Videos** tab appears. *(Screenshot: The Type of Form buttons with Video Sales (Beta) highlighted)* 4. Open the **Videos** tab. Each video is a row you can reorder, hide with its switch, or open to edit. Click **Add Video (Max 10)** to add another. *(Screenshot: The Videos tab with two videos and the Add Video (Max 10) button)* 5. Open a video row. Choose the **Video Source**, then paste the **Video URL** (or pick the file for an upload). Add a **Caption (optional)** to show on the video. Leave **Rotate After (seconds)** empty to move to the next video when this one ends. *(Screenshot: A video row with Video Source set to TikTok and the Video URL field highlighted)* 6. Optionally, set the **Live Style**: a **LIVE badge**, **Floating hearts** and a **Viewer Counter**. See [Make your video page feel live](/video-sales-live/). *(Screenshot: The Live Style settings with Viewer Counter highlighted)* 7. Click **Add Payment Form** for a new form, or **Update Form** for an existing one. Then click **View Form** to see the page. *(Screenshot: The top of the edit page with View Form and Update Form)* Click **Guide** on any video row to see how each source behaves. In short: | Source | What to paste | Next video starts | |---|---|---| | **Upload Video (MP4)** | An MP4 file, up to 50 MB and under 90 seconds. Recommended: best autoplay and sound | When the clip ends | | **YouTube** | A watch, youtu.be, Shorts or live link | When the video ends | | **TikTok** | A TikTok video link, or a vm./vt. short link | When the video ends | | **Vimeo** | A Vimeo link | When the video ends | | **Facebook** | A regular video or live link (…/videos/…). Reels do not work | On the timer | | **Custom Embed** | Another provider's iframe code, shown as it is | On the timer (30 seconds unless you set **Rotate After**) | ## What buyers see on their phone The video fills the screen. Your business name sits at the top, with the buttons down the right: hearts, **Share** and a shopping bag. The product card at the bottom shows each item in turn, with its price, any sale price and discount, and how many are left if you track stock. *(Screenshot: The video page on a phone, with the Buy button highlighted on the product card)* The buyer taps **Buy** (or the card or the bag). The checkout slides up with **Your Details**, your items with **Qty**, **Payment Method** and **Payment Summary**. They pick items and tap **Complete Payment**, then pay at their bank as on any BCL form. *(Screenshot: The checkout sheet with the buyer's details and the Qty plus button highlighted)* *(Screenshot: The bottom of the checkout with Complete Payment highlighted)* After paying, the buyer sees the receipt with **Payment Successful**, and the sale appears in **Transactions**. *(Screenshot: The receipt page showing Payment Successful and the items bought)* Swiping up plays the next video. Past the last one, the page opens your next Video Sales form, so buyers can keep browsing your products. ## Share the link The page link is `https://.bcl.my/form/`, or your own domain if you set one up (see [Use your own domain](/custom-domain/)). To copy it, click **View Form** on the form and copy the address from your browser. Put it where your buyers already are: | Where | How | |---|---| | TikTok and Instagram | Add it to your bio link, and say it during a live session | | WhatsApp | Post it in your status, broadcast lists and replies to buyers who ask for the price | | Your buyers | The **Share** arrow on the page opens the phone's share sheet, so a buyer can send it to a friend | *(Screenshot: The Share button on the video page highlighted)* ## Tips A few habits help a video page sell: - **Film vertically and keep it short.** The page fills a phone screen, so 9:16 video looks best, and uploaded clips under 90 seconds load fastest. - **Say the price and the item name in the video.** The product card changes item every six seconds, so matching what you say helps buyers tap **Buy** at the right moment. - **Use a sale price for live offers.** A **Sale Price (Optional)**, set in the item's **More** settings, shows the old price struck through and the discount on the product card and in the checkout. - **Make one page per campaign.** Buyers who swipe past your last video land on your next Video Sales form, so separate pages keep offers tidy and still lead buyers on to more. ## Common issues ### Can I use a Facebook Reel or my TikTok LIVE? No. Facebook blocks Reels in embeds, so use a regular Facebook video or live link, or another source. A TikTok link must be a posted video, not a LIVE. To stream live inside the page, paste a YouTube live link. ### Why does the video start with no sound? Every browser starts videos muted. The page shows Tap for sound, and one tap turns the sound on. The choice carries over when the buyer swipes to your next video page. ### How do I test the page before I go live? While your account is in Test Mode, the checkout shows SANDBOX MODE and no real payment is taken. Open the link on your phone and make a test purchase. See Create a payment form (/create-payment-form/). --- # Jual dengan page video > Jadikan payment form sebagai page video gaya TikTok, supaya pembeli menonton produk anda dan membayar terus dari telefon mereka. > > Source: https://docs.bcl.my/ms/video-sales/ **Video Sales (Beta)** ialah sejenis payment form yang memenuhkan skrin telefon pembeli dengan video anda, seperti TikTok atau Instagram Reels. Produk anda dipaparkan pada kad di bahagian bawah. Apabila pembeli klik **Buy**, checkout naik di atas video, jadi mereka membayar tanpa meninggalkan video itu. Guna jenis ini apabila anda menjual di media sosial dan pembeli anda datang dari telefon. ## Video Sales atau Sales Page Kedua-dua jenis ini meletakkan promosi anda di atas checkout. Pilih mengikut cara anda menjual: | | **Video Sales (Beta)** | **Sales Page** | |---|---|---| | Apa yang pembeli nampak dahulu | Video menegak skrin penuh | Satu gambar panjang, kemudian form | | Kandungan | Sehingga 10 video yang dimainkan satu demi satu | Satu gambar | | Checkout | Naik di atas video apabila pembeli klik **Buy** | Di bawah gambar | | Paling sesuai untuk | Pembeli dari TikTok, Instagram atau sesi live, menggunakan telefon | Pembeli yang membaca tawaran terperinci, pada apa-apa skrin | Untuk sales page, lihat [Jadikan payment form sebagai sales page](/ms/sales-page/). ## Sediakan page video Sediakan item dan harga anda, serta link setiap video (atau fail MP4). 1. Pergi ke **Payments** → **Forms**, kemudian klik **Create Form**, atau klik **Edit** pada payment form yang sedia ada. 2. Buka tab **Payment Details**. Tetapkan **Price Setting** (contohnya **Multiple Items** dengan produk anda), **Portal Key** dan **Payment Option**. 3. Di bawah **Type of Form**, pilih **Video Sales (Beta)**. Tab baru **Videos** dipaparkan. *(Screenshot: Butang Type of Form dengan Video Sales (Beta) ditanda)* 4. Buka tab **Videos**. Setiap video ialah satu baris yang anda boleh susun semula, sembunyikan dengan suisnya, atau buka untuk edit. Klik **Add Video (Max 10)** untuk menambah video lain. *(Screenshot: Tab Videos dengan dua video dan butang Add Video (Max 10))* 5. Buka satu baris video. Pilih **Video Source**, kemudian paste **Video URL** (atau pilih fail untuk upload). Tambah **Caption (optional)** untuk dipaparkan pada video. Biarkan **Rotate After (seconds)** kosong supaya video seterusnya bermula apabila video ini tamat. *(Screenshot: Satu baris video dengan Video Source ditetapkan kepada TikTok dan ruangan Video URL ditanda)* 6. Jika mahu, tetapkan **Live Style**: **LIVE badge**, **Floating hearts** dan **Viewer Counter**. Lihat [Jadikan page video anda terasa live](/ms/video-sales-live/). *(Screenshot: Tetapan Live Style dengan Viewer Counter ditanda)* 7. Klik **Add Payment Form** untuk payment form baru, atau **Update Form** untuk payment form yang sedia ada. Kemudian klik **View Form** untuk melihat page itu. *(Screenshot: Bahagian atas page edit dengan View Form dan Update Form)* Klik **Guide** pada mana-mana baris video untuk melihat cara setiap sumber berfungsi. Ringkasnya: | Sumber | Apa yang perlu di-paste | Video seterusnya bermula | |---|---|---| | **Upload Video (MP4)** | Fail MP4, sehingga 50 MB dan kurang daripada 90 saat. Disyorkan: autoplay dan bunyi paling baik | Apabila klip tamat | | **YouTube** | Link watch, youtu.be, Shorts atau live | Apabila video tamat | | **TikTok** | Link video TikTok, atau link pendek vm./vt. | Apabila video tamat | | **Vimeo** | Link Vimeo | Apabila video tamat | | **Facebook** | Link video atau live biasa (…/videos/…). Reels tidak berfungsi | Mengikut pemasa | | **Custom Embed** | Kod iframe penyedia lain, dipaparkan seperti asal | Mengikut pemasa (30 saat kecuali anda tetapkan **Rotate After**) | ## Apa yang pembeli nampak pada telefon Video memenuhi skrin. Nama perniagaan anda di bahagian atas, dengan butang di sebelah kanan: hati, **Share** dan beg membeli-belah. Kad produk di bahagian bawah memaparkan setiap item secara bergilir, dengan harga, harga promosi dan diskaun jika ada, serta baki stok jika anda menjejak stok. *(Screenshot: Page video pada telefon, dengan butang Buy ditanda pada kad produk)* Pembeli klik **Buy** (atau kad atau beg itu). Checkout naik dengan **Your Details**, item anda dengan **Qty**, **Payment Method** dan **Payment Summary**. Mereka memilih item dan klik **Complete Payment**, kemudian membayar di bank mereka seperti pada mana-mana form BCL. *(Screenshot: Checkout dengan butiran pembeli dan butang tambah Qty ditanda)* *(Screenshot: Bahagian bawah checkout dengan Complete Payment ditanda)* Selepas membayar, pembeli nampak resit dengan **Payment Successful**, dan jualan itu dipaparkan dalam **Transactions**. *(Screenshot: Page resit yang memaparkan Payment Successful dan item yang dibeli)* Swipe ke atas memainkan video seterusnya. Selepas video terakhir, page itu membuka form Video Sales anda yang seterusnya, supaya pembeli boleh terus melihat produk anda. ## Kongsi link Link page itu ialah `https://.bcl.my/form/`, atau domain anda sendiri jika anda sudah menyediakannya (lihat [Guna domain anda sendiri](/ms/custom-domain/)). Untuk copy link itu, klik **View Form** pada payment form itu dan copy alamat dari browser anda. Letakkan link itu di tempat pembeli anda sudah berada: | Di mana | Cara | |---|---| | TikTok dan Instagram | Tambah pada link bio anda, dan sebut semasa sesi live | | WhatsApp | Post dalam status, senarai broadcast dan reply kepada pembeli yang bertanya harga | | Pembeli anda | Anak panah **Share** pada page itu membuka menu kongsi telefon, jadi pembeli boleh menghantarnya kepada kawan | *(Screenshot: Butang Share pada page video ditanda)* ## Tips Beberapa tabiat ini membantu page video anda menjual: - **Rakam secara menegak dan pendekkan video.** Page itu memenuhi skrin telefon, jadi video 9:16 paling cantik, dan klip yang di-upload kurang daripada 90 saat dimuatkan paling cepat. - **Sebut harga dan nama item dalam video.** Kad produk bertukar item setiap enam saat, jadi apa yang anda sebut sepadan dengan kad itu dan membantu pembeli klik **Buy** pada masa yang tepat. - **Guna harga promosi untuk tawaran live.** **Sale Price (Optional)**, yang ditetapkan dalam tetapan **More** item itu, memaparkan harga lama yang dipotong dan diskaun pada kad produk dan dalam checkout. - **Buat satu page untuk setiap kempen.** Pembeli yang swipe melepasi video terakhir anda sampai ke form Video Sales anda yang seterusnya, jadi page berasingan memastikan tawaran tersusun dan tetap membawa pembeli ke produk lain. ## Isu biasa ### Boleh saya guna Facebook Reel atau TikTok LIVE saya? Tidak boleh. Facebook menyekat Reels dalam embed, jadi guna link video atau live Facebook biasa, atau sumber lain. Link TikTok mestilah video yang sudah di-post, bukan LIVE. Untuk stream live di dalam page itu, paste link live YouTube. ### Kenapa video bermula tanpa bunyi? Setiap browser memulakan video tanpa bunyi. Page itu memaparkan Tap for sound, dan satu klik akan on-kan bunyi. Pilihan ini kekal apabila pembeli swipe ke page video anda yang seterusnya. ### Bagaimana saya boleh test page ini sebelum saya live? Semasa akaun anda dalam Test Mode, checkout memaparkan SANDBOX MODE dan tiada bayaran sebenar diambil. Buka link itu pada telefon anda dan buat test payment. Lihat Cipta payment form pertama anda (/ms/create-payment-form/). --- # Make your video page feel live > Add a LIVE badge, floating hearts, a viewer counter and your own name and picture to a Video Sales page. > > Source: https://docs.bcl.my/video-sales-live/ A Video Sales page can look and feel like a live shopping stream: a red **LIVE** badge on your name, hearts floating up the screen and a count of viewers. You set these in the **Live Style** and **Profile** sections of the form's **Videos** tab. For the page itself, see [Sell with a video page](/video-sales/). ## Set the live style Open the form first: **Payments** → **Forms**, then **Edit** on your Video Sales form. 1. Open the **Videos** tab and scroll to **Live Style**. 2. Turn on **LIVE badge** to show a red LIVE badge next to your business name. 3. Leave **Floating hearts** on to let hearts float up when buyers tap the video or the heart button. 4. Choose a **Viewer Counter**. If you choose **Custom number**, type it in **Viewer Number**. *(Screenshot: The Viewer Counter list open, showing Custom number, Total form views, Watching now and Hidden)* 5. Under **Profile**, type a **Display Name** and choose a **Profile Picture**. Both default to your business name and logo. *(Screenshot: The Profile section with Display Name highlighted)* 6. Click **Update Form**. The four counter choices: | Viewer Counter | What it shows | |---|---| | **Total form views** | Every visit this form has had, from your traffic stats. Refreshes every minute | | **Watching now** | People with the page open right now, counted from live connections. Updates every few seconds | | **Custom number** | The number you type in **Viewer Number**. It moves up and down a little while the page is open | | **Hidden** | No counter | ## What buyers see The badge sits on your picture at the top left, with your name and your total page views (all your forms) under it. The counter is at the top right. *(Screenshot: The top of the video page with the LIVE badge and the viewer counter highlighted)* Hearts float up the right side every few seconds, and a burst of three when a buyer taps the heart button. *(Screenshot: The video page with hearts floating above the heart button)* ## Go live with the page To sell during a live session, open the page next to your stream: 1. Set **Viewer Counter** to **Watching now** and turn on **LIVE badge**. 2. Put the page link in your TikTok or Instagram bio, and send it to your WhatsApp buyers. 3. During the session, tell viewers to tap the link and then **Buy**. The checkout opens over the video, so they keep watching while they pay. 4. When the session ends, turn off **LIVE badge** and click **Update Form**. ## Tips A few habits for live selling: - **Use Watching now while you are live.** It counts people who really have the page open, so buyers see a true number that rises as your audience taps the link. - **Stream inside the page with YouTube.** Paste your YouTube live link as a **YouTube** video, and buyers watch the stream and pay on the same screen. - **Use a square profile picture.** The picture is cropped to a circle, and a square image fits best. ## Common issues ### Why doesn't my viewer counter show? The counter hides while its number is zero. Watching now shows once someone has the page open, and Total form views once the form has had visits. Hidden never shows it. ### Can I stream my live session inside the page? Yes, from YouTube or Facebook. Choose YouTube as the Video Source and paste your YouTube live link, or Facebook with a Facebook live link. A TikTok link must be a posted video, not a LIVE. --- # Jadikan page video anda terasa live > Tambah LIVE badge, hati terapung, kaunter penonton serta nama dan gambar anda sendiri pada page Video Sales. > > Source: https://docs.bcl.my/ms/video-sales-live/ Page Video Sales boleh kelihatan dan terasa seperti stream live shopping: badge **LIVE** merah pada nama anda, hati yang terapung naik di skrin dan kiraan penonton. Anda tetapkan semua ini dalam bahagian **Live Style** dan **Profile** pada tab **Videos** form itu. Untuk page itu sendiri, lihat [Jual dengan page video](/ms/video-sales/). ## Tetapkan live style Buka form itu dahulu: **Payments** → **Forms**, kemudian **Edit** pada form Video Sales anda. 1. Buka tab **Videos** dan scroll ke **Live Style**. 2. On-kan **LIVE badge** untuk memaparkan badge LIVE merah di sebelah nama perniagaan anda. 3. Biarkan **Floating hearts** on supaya hati terapung naik apabila pembeli klik video atau butang hati. 4. Pilih **Viewer Counter**. Jika anda pilih **Custom number**, taip nombornya dalam **Viewer Number**. *(Screenshot: Senarai Viewer Counter dibuka, memaparkan Custom number, Total form views, Watching now dan Hidden)* 5. Di bawah **Profile**, taip **Display Name** dan pilih **Profile Picture**. Secara default, kedua-duanya menggunakan nama dan logo perniagaan anda. *(Screenshot: Bahagian Profile dengan Display Name ditanda)* 6. Klik **Update Form**. Empat pilihan kaunter: | Viewer Counter | Apa yang dipaparkan | |---|---| | **Total form views** | Setiap lawatan yang form ini pernah terima, daripada statistik trafik anda. Dikemas kini setiap minit | | **Watching now** | Orang yang sedang membuka page itu sekarang, dikira daripada sambungan live. Dikemas kini setiap beberapa saat | | **Custom number** | Nombor yang anda taip dalam **Viewer Number**. Nombor ini naik turun sedikit semasa page dibuka | | **Hidden** | Tiada kaunter | ## Apa yang pembeli nampak Badge itu terletak pada gambar anda di bahagian atas kiri, dengan nama anda dan jumlah paparan page anda (semua form anda) di bawahnya. Kaunter di bahagian atas kanan. *(Screenshot: Bahagian atas page video dengan LIVE badge dan kaunter penonton ditanda)* Hati terapung naik di sebelah kanan setiap beberapa saat, dan tiga hati sekaligus apabila pembeli klik butang hati. *(Screenshot: Page video dengan hati terapung di atas butang hati)* ## Live dengan page ini Untuk menjual semasa sesi live, buka page itu di sebelah stream anda: 1. Tetapkan **Viewer Counter** kepada **Watching now** dan on-kan **LIVE badge**. 2. Letakkan link page itu dalam bio TikTok atau Instagram anda, dan hantar kepada pembeli WhatsApp anda. 3. Semasa sesi live, minta penonton klik link itu dan kemudian **Buy**. Checkout dibuka di atas video, jadi mereka terus menonton sambil membayar. 4. Apabila sesi tamat, off-kan **LIVE badge** dan klik **Update Form**. ## Tips Beberapa tabiat untuk jualan live: - **Guna Watching now semasa anda live.** Ia mengira orang yang benar-benar membuka page itu, jadi pembeli nampak nombor sebenar yang naik apabila penonton anda klik link itu. - **Stream di dalam page dengan YouTube.** Paste link live YouTube anda sebagai video **YouTube**, dan pembeli menonton stream dan membayar pada skrin yang sama. - **Guna gambar profil berbentuk segi empat sama.** Gambar itu dipotong menjadi bulatan, dan gambar segi empat sama paling sesuai. ## Isu biasa ### Kenapa kaunter penonton saya tidak dipaparkan? Kaunter itu disembunyikan selagi nombornya sifar. Watching now dipaparkan sebaik sahaja ada orang membuka page itu, dan Total form views sebaik sahaja form itu ada lawatan. Hidden tidak pernah memaparkannya. ### Boleh saya stream sesi live saya di dalam page itu? Boleh, dari YouTube atau Facebook. Pilih YouTube sebagai Video Source dan paste link live YouTube anda, atau Facebook dengan link live Facebook. Link TikTok mestilah video yang sudah di-post, bukan LIVE. --- # Sell digital products > Add a download link to each item and send it to buyers in a custom email after they pay. > > Source: https://docs.bcl.my/sell-digital-products/ To sell an ebook, template or online class, add a download link to the item on your payment form, then send it to the buyer in a custom email. The buyer gets the link automatically once the payment succeeds. This works on forms that use **Multiple Items**. For access that cannot be shared, see [Deliver digital products securely](/secure-digital-delivery/). ## Add the download link to an item Upload your file somewhere buyers can open it, such as Google Drive or Dropbox, and copy the link. Then: 1. Go to **Payments** → **Forms**, then click **Create Form**, or click **Edit** on an existing form. 2. Fill in **Basic Information**. 3. On the **Payment Details** tab, set **Price Setting** to **Multiple Items**, then choose your **Portal Key** and **Payment Option**. 4. Under **List of Items**, click **Add Item** and fill in the name, **Amount (RM)** and **Stock**. 5. Click **Add Payment Form** or **Update Form** to save. The **More** button only works after the item is saved. 6. Click **More** on the item. *(Screenshot: The List of Items with the More button of the first item highlighted)* 7. Under **Digital Content**, paste the link into **Download Link**. It must start with `https://`. 8. Click **Update Item Information**. *(Screenshot: The item panel with the Download Link field under Digital Content highlighted)* ## Send the link by email The download link reaches the buyer through the `{product_table}` variable in a custom email. Set it up once per form: 1. Open the form and click **Notifications** at the top. *(Screenshot: The tabs at the top of the form with Notifications highlighted)* 2. Open the **Custom Email Notifications** tab and turn on **Enable Custom Email Content**. *(Screenshot: The Custom Email Notifications tab with the Enable Custom Email Content switch highlighted)* 3. Fill in **Email Subject**. 4. Write your message in **Email Content** and add `{product_table}`. Click **Variables** to copy others, such as `{name}` or `{reference_id}`. 5. To see the email, type your address in the box under **Email Content** and click the send button next to it. *(Screenshot: Email Content with the product_table variable in the message and the Variables link highlighted)* 6. Click **Save Notification Settings**. *(Screenshot: The Save Notification Settings button highlighted at the top of the page)* `{product_table}` shows each item bought, with an **Access** button that opens its download link. BCL sends this as a separate email, in addition to the standard receipt email. ## Common issues ### My customer paid but did not get the download link. Why? The link is only sent in the custom email. Open the form, go to Notifications → Custom Email Notifications, turn on Enable Custom Email Content and put {product_table} in Email Content. ### The custom email is set up but my customer says it never arrived. Ask them to check the Gmail Promotions tab, Spam or Junk, and search All Mail. If you need a download link nobody else can open, use protected content (/secure-digital-delivery/) instead. ### Can I use a Google Drive link instead of protected content? Yes. Put the link in Download Link on the item. It needs no add-on, but anyone who gets the link can open it. Protected content (/secure-digital-delivery/) needs an add-on and asks for a one-time code. --- # Jual produk digital > Tambah link muat turun pada setiap item dan hantar kepada pembeli dalam e-mel custom selepas mereka membayar. > > Source: https://docs.bcl.my/ms/sell-digital-products/ Untuk menjual ebook, template atau kelas online, tambah link muat turun pada item dalam payment form anda, kemudian hantar link itu kepada pembeli dalam e-mel custom. Pembeli menerima link itu secara automatik sebaik sahaja bayaran berjaya. Cara ini berfungsi pada payment form yang menggunakan **Multiple Items**. Untuk akses yang tidak boleh dikongsi, lihat [Hantar produk digital dengan selamat](/ms/secure-digital-delivery/). ## Tambah link muat turun pada item Upload fail anda ke tempat yang pembeli boleh buka, seperti Google Drive atau Dropbox, dan copy link-nya. Kemudian: 1. Pergi ke **Payments** → **Forms**, kemudian klik **Create Form**, atau klik **Edit** pada payment form yang sedia ada. 2. Isi **Basic Information**. 3. Pada tab **Payment Details**, tetapkan **Price Setting** kepada **Multiple Items**, kemudian pilih **Portal Key** dan **Payment Option** anda. 4. Di bawah **List of Items**, klik **Add Item** dan isi nama, **Amount (RM)** dan **Stock**. 5. Klik **Add Payment Form** atau **Update Form** untuk menyimpan. Butang **More** hanya berfungsi selepas item itu disimpan. 6. Klik **More** pada item itu. *(Screenshot: List of Items dengan butang More bagi item pertama ditanda)* 7. Di bawah **Digital Content**, paste link itu ke dalam **Download Link**. Link mesti bermula dengan `https://`. 8. Klik **Update Item Information**. *(Screenshot: Panel item dengan ruangan Download Link di bawah Digital Content ditanda)* ## Hantar link melalui e-mel Link muat turun sampai kepada pembeli melalui variable `{product_table}` dalam e-mel custom. Sediakan sekali sahaja bagi setiap payment form: 1. Buka payment form itu dan klik **Notifications** di bahagian atas. *(Screenshot: Tab di bahagian atas payment form dengan Notifications ditanda)* 2. Buka tab **Custom Email Notifications** dan on-kan **Enable Custom Email Content**. *(Screenshot: Tab Custom Email Notifications dengan suis Enable Custom Email Content ditanda)* 3. Isi **Email Subject**. 4. Tulis mesej anda dalam **Email Content** dan tambah `{product_table}`. Klik **Variables** untuk copy variable lain, seperti `{name}` atau `{reference_id}`. 5. Untuk melihat e-mel itu, taip alamat e-mel anda dalam kotak di bawah **Email Content** dan klik butang hantar di sebelahnya. *(Screenshot: Email Content dengan variable product_table dalam mesej dan link Variables ditanda)* 6. Klik **Save Notification Settings**. *(Screenshot: Butang Save Notification Settings ditanda di bahagian atas page)* `{product_table}` memaparkan setiap item yang dibeli, dengan butang **Access** yang membuka link muat turun item itu. BCL menghantar ini sebagai e-mel berasingan, selain e-mel resit standard. ## Isu biasa ### Kenapa pelanggan saya sudah membayar tetapi tidak menerima link muat turun? Link itu hanya dihantar dalam e-mel custom. Buka payment form itu, pergi ke Notifications → Custom Email Notifications, on-kan Enable Custom Email Content dan masukkan {product_table} dalam Email Content. ### Kenapa pelanggan saya kata e-mel custom tidak pernah sampai walaupun sudah disediakan? Minta mereka menyemak tab Promotions Gmail, Spam atau Junk, dan cari dalam All Mail. Jika anda perlukan link muat turun yang orang lain tidak boleh buka, guna kandungan dilindungi (/ms/secure-digital-delivery/). ### Boleh saya guna link Google Drive dan bukan kandungan dilindungi? Boleh. Masukkan link itu dalam Download Link pada item. Cara ini tidak memerlukan add-on, tetapi sesiapa yang dapat link itu boleh membukanya. Kandungan dilindungi (/ms/secure-digital-delivery/) memerlukan add-on dan meminta kod sekali guna. --- # Show recent purchases on your form > Turn on Social Proof so your form shows pop-ups of recent successful orders to encourage new buyers. > > Source: https://docs.bcl.my/social-proof/ Social Proof shows small pop-ups on your form each time someone has paid, such as "Aina just bought Pour-Over Brewing eBook (2 minutes ago)". Seeing other people buy helps new visitors decide. It works on payment, event and booking forms. ## Turn on Social Proof You can turn it on for any existing form: 1. Go to **Payments** → **Forms** and click **Edit** on the form. 2. Open the **Miscellaneous Settings** tab. *(Screenshot: The form's tabs with Miscellaneous Settings highlighted)* 3. Under **Social Proof**, turn on **Enable Social Proof**. *(Screenshot: The Social Proof section with the Enable Social Proof switch highlighted)* 4. Choose the settings you want: - **Time Period**: how far back to show orders, from **Last 24 hours** to **Last 30 days**. The default is **Last 7 days**. - **Position**: the corner of the screen where pop-ups appear, such as **Top Right**. - **Shuffle Order**: shows orders in random order on each visit. - **Text Color** and **Background Color**: match the pop-up to your design. 5. Click **Update Form**. *(Screenshot: The Update Form button highlighted at the top of the form)* Here is how a pop-up looks on the form: *(Screenshot: A green pop-up at the top right of a payment form saying Daniel Lim just bought Cold Brew Recipe Cards)* > **Note** > Pop-ups only use successful payments, and show the buyer's name exactly as they typed it at checkout. ## Common issues ### I turned on Social Proof but no pop-up appears. Why? Pop-ups only show paid orders from the Time Period you chose. If the form has no successful payments in that period yet, nothing appears. Try a longer period, such as Last 30 days. ### What does the pop-up show? The buyer's name as they entered it, what they bought and how long ago, for example "Daniel Lim just bought Cold Brew Recipe Cards (7 minutes ago)". --- # Paparkan pembelian terkini pada form anda > On-kan Social Proof supaya form anda memaparkan pop-up pesanan terkini yang berjaya untuk menggalakkan pembeli baru. > > Source: https://docs.bcl.my/ms/social-proof/ Social Proof memaparkan pop-up kecil pada form anda setiap kali seseorang membuat bayaran, seperti "Aina just bought Pour-Over Brewing eBook (2 minutes ago)". Apabila pelawat baru nampak orang lain membeli, lebih mudah untuk mereka membuat keputusan. Ciri ini berfungsi pada payment form, event form dan booking form. ## On-kan Social Proof Anda boleh on-kan ciri ini untuk mana-mana form yang sedia ada: 1. Pergi ke **Payments** → **Forms** dan klik **Edit** pada payment form itu. 2. Buka tab **Miscellaneous Settings**. *(Screenshot: Tab payment form dengan Miscellaneous Settings ditanda)* 3. Di bawah **Social Proof**, on-kan **Enable Social Proof**. *(Screenshot: Bahagian Social Proof dengan suis Enable Social Proof ditanda)* 4. Pilih tetapan yang anda mahu: - **Time Period**: sejauh mana ke belakang pesanan dipaparkan, dari **Last 24 hours** hingga **Last 30 days**. Default ialah **Last 7 days**. - **Position**: sudut skrin tempat pop-up keluar, seperti **Top Right**. - **Shuffle Order**: memaparkan pesanan secara rawak pada setiap lawatan. - **Text Color** dan **Background Color**: padankan pop-up dengan reka bentuk anda. 5. Klik **Update Form**. *(Screenshot: Butang Update Form ditanda di bahagian atas payment form)* Ini rupa pop-up pada payment form: *(Screenshot: Pop-up hijau di bahagian atas kanan payment form yang berbunyi Daniel Lim just bought Cold Brew Recipe Cards)* > **Note** > Pop-up hanya menggunakan bayaran yang berjaya, dan memaparkan nama pembeli tepat seperti yang mereka taip semasa checkout. ## Isu biasa ### Kenapa tiada pop-up yang keluar walaupun saya sudah on-kan Social Proof? Pop-up hanya memaparkan pesanan yang sudah dibayar dalam Time Period yang anda pilih. Jika form itu belum ada bayaran yang berjaya dalam tempoh itu, tiada apa yang dipaparkan. Cuba tempoh yang lebih panjang, seperti Last 30 days. ### Apa yang dipaparkan dalam pop-up? Nama pembeli seperti yang mereka masukkan, apa yang mereka beli dan berapa lama dahulu, contohnya "Daniel Lim just bought Cold Brew Recipe Cards (7 minutes ago)". --- # Accept COD and manual bank transfer > Let customers pay cash on delivery or transfer to your bank account, then approve each order in BCL once the money is in. > > Source: https://docs.bcl.my/cod-manual-transfer/ With the **COD & Manual Transfer** add-on, your payment forms can offer **Cash on Delivery (COD)** and **Manual Bank Transfer** next to online payments. These orders stay pending until you confirm the money has arrived. ## Before you start Subscribe to the **COD & Manual Transfer** add-on from **Add-ons** → **Available Add-ons**. The **Package Niaga** and **Package Niaga Pro** bundles include it too. Without the add-on, the bank account fields are locked and the two payment methods do not appear in your forms. ## Add your bank accounts Manual transfer needs at least one bank account for customers to pay into. COD does not. To add them: 1. Go to **Platform Setup** → **Payment** and open the **Bank Accounts** tab. *(Screenshot: The Payment Settings page with the Bank Accounts tab highlighted)* 2. Click **Add Bank Account**, choose the **Bank**, then fill in **Account Number** and **Account Name**. You can add up to 3 accounts. *(Screenshot: A new bank account with the Bank, Account Number and Account Name fields highlighted)* 3. Click **Save Bank Accounts**. ## Turn it on in your form Each form chooses its own payment methods: 1. Go to **Payments** → **Forms** and click **Edit** on your form, then open the **Payment Details** tab. 2. In **Payment Option**, add **Cash on Delivery (COD)**, **Manual Bank Transfer** or both. *(Screenshot: The Payment Option field with FPX and Cash on Delivery (COD) selected)* 3. Click **Update Form**. Customers who choose manual transfer pick the bank account they paid into and upload their receipt before they can submit. If you have not added a bank account, they see **Bank Transfer Not Available** instead. ## Add a COD charge (optional) To charge extra only on COD orders, use a shipping option: 1. Go to **Platform Setup** → **Shipping & Rates** and click **Add Shipping Option**. 2. Enter a **Shipping Name**, such as COD, and a **Fixed Charge (RM)**, then click **Save Shipping Configuration**. The **Free**, **Tiers** and **Rules** buttons work only after the option is saved. *(Screenshot: A COD shipping option with a fixed charge of RM 10 and the Save Shipping Configuration button highlighted)* 3. Click **Rules** on that row, choose **Cash on Delivery (COD)** in **Payment Channels**, and click **Save Restrictions**. *(Screenshot: The Shipping Restrictions panel with Cash on Delivery (COD) chosen in Payment Channels)* 4. In your form, open the **Form Configuration** tab. Under **Shipping & Delivery**, turn on **Enable Shipping Rate**. Leave **Available Shipping Methods** empty to offer every active option, or choose the COD option. Click **Update Form**. *(Screenshot: The Shipping & Delivery section of a form with Enable Shipping Rate highlighted)* The option then appears under **Shipping Area** on your form only when the customer picks **Cash on Delivery (COD)**, and its charge is added to the total. ## Approve a paid order Once you receive the cash or see the transfer in your bank: 1. Go to **Transactions** and find the order. It shows **Pending Payment**. 2. Click the ⋮ menu on its row, then **Update Status**. *(Screenshot: The ⋮ menu of a COD order with Update Status highlighted)* 3. Check the payment details and delivery address. For manual transfers, you can view the customer's receipt here. 4. Under **Mark as Successful**, click **Approve**, then **OK** to confirm. BCL emails the customer a success notice. *(Screenshot: The Update Transaction Status panel with the Approve button highlighted)* To approve many orders at once, tick them, click **Bulk actions**, choose **Mark As Successful** and click **Confirm**. Only COD and manual transfer orders change. ## Common issues ### Can I charge a fixed RM10 only for COD orders? Yes. In Platform Setup → Shipping & Rates, add a shipping option named COD with a Fixed Charge (RM) of 10 and save it. Then click Rules on that row, choose Cash on Delivery (COD) in Payment Channels and click Save Restrictions. Do not use the additional fee, which is a percentage and applies to every payment method. ### Can I hide COD for customers in Sabah and Sarawak? Yes. On Shipping & Rates, open the Channel Restrictions tab and click Add Channel Restriction. Choose Cash on Delivery (COD) in Payment Channel, set Mode to Hide In, select Sabah and Sarawak in States (Malaysia) and click Save Channel Restrictions. ### Why is a COD order still pending after the customer paid? BCL cannot see cash or bank transfers. Find the order in Transactions, open the ⋮ menu on its row, click Update Status and click Approve under Mark as Successful. --- # Terima COD & pindahan bank manual > Benarkan pelanggan membayar tunai semasa penghantaran atau transfer ke akaun bank anda, kemudian luluskan setiap pesanan dalam BCL selepas duit masuk. > > Source: https://docs.bcl.my/ms/cod-manual-transfer/ Dengan add-on **COD & Manual Transfer**, payment form anda boleh menawarkan **Cash on Delivery (COD)** dan **Manual Bank Transfer** bersama bayaran online. Pesanan ini kekal pending sehingga anda mengesahkan duit sudah masuk. ## Sebelum anda mula Langgan add-on **COD & Manual Transfer** dari **Add-ons** → **Available Add-ons**. Pakej **Package Niaga** dan **Package Niaga Pro** juga termasuk add-on ini. Tanpa add-on ini, ruangan akaun bank dikunci dan kedua-dua kaedah bayaran itu tidak dipaparkan dalam payment form anda. ## Tambah akaun bank anda Pindahan manual memerlukan sekurang-kurangnya satu akaun bank untuk pelanggan membuat bayaran. COD tidak memerlukannya. Untuk menambah akaun bank: 1. Pergi ke **Platform Setup** → **Payment** dan buka tab **Bank Accounts**. *(Screenshot: Page Payment Settings dengan tab Bank Accounts ditanda)* 2. Klik **Add Bank Account**, pilih **Bank**, kemudian isi **Account Number** dan **Account Name**. Anda boleh menambah sehingga 3 akaun. *(Screenshot: Akaun bank baru dengan ruangan Bank, Account Number dan Account Name ditanda)* 3. Klik **Save Bank Accounts**. ## On-kan dalam payment form anda Setiap payment form memilih kaedah bayarannya sendiri: 1. Pergi ke **Payments** → **Forms** dan klik **Edit** pada payment form anda, kemudian buka tab **Payment Details**. 2. Dalam **Payment Option**, tambah **Cash on Delivery (COD)**, **Manual Bank Transfer** atau kedua-duanya. *(Screenshot: Ruangan Payment Option dengan FPX dan Cash on Delivery (COD) dipilih)* 3. Klik **Update Form**. Pelanggan yang memilih pindahan manual perlu memilih akaun bank yang mereka bayar dan upload resit mereka sebelum mereka boleh submit. Jika anda belum menambah akaun bank, mereka nampak **Bank Transfer Not Available**. ## Tambah caj COD (pilihan) Untuk mengenakan caj tambahan hanya pada pesanan COD, guna pilihan penghantaran: 1. Pergi ke **Platform Setup** → **Shipping & Rates** dan klik **Add Shipping Option**. 2. Masukkan **Shipping Name**, contohnya COD, dan **Fixed Charge (RM)**, kemudian klik **Save Shipping Configuration**. Butang **Free**, **Tiers** dan **Rules** hanya berfungsi selepas pilihan itu disimpan. *(Screenshot: Pilihan penghantaran COD dengan caj tetap RM 10 dan butang Save Shipping Configuration ditanda)* 3. Klik **Rules** pada baris itu, pilih **Cash on Delivery (COD)** dalam **Payment Channels**, dan klik **Save Restrictions**. *(Screenshot: Panel Shipping Restrictions dengan Cash on Delivery (COD) dipilih dalam Payment Channels)* 4. Dalam payment form anda, buka tab **Form Configuration**. Di bawah **Shipping & Delivery**, on-kan **Enable Shipping Rate**. Biarkan **Available Shipping Methods** kosong untuk menawarkan setiap pilihan yang aktif, atau pilih pilihan COD. Klik **Update Form**. *(Screenshot: Bahagian Shipping & Delivery pada payment form dengan Enable Shipping Rate ditanda)* Pilihan itu kemudian dipaparkan di bawah **Shipping Area** pada payment form anda hanya apabila pelanggan memilih **Cash on Delivery (COD)**, dan cajnya ditambah pada jumlah bayaran. ## Luluskan pesanan yang sudah dibayar Sebaik sahaja anda menerima tunai atau nampak transfer itu dalam akaun bank anda: 1. Pergi ke **Transactions** dan cari pesanan itu. Statusnya **Pending Payment**. 2. Klik menu ⋮ pada barisnya, kemudian **Update Status**. *(Screenshot: Menu ⋮ pesanan COD dengan Update Status ditanda)* 3. Semak butiran bayaran dan alamat penghantaran. Untuk pindahan manual, anda boleh melihat resit pelanggan di sini. 4. Di bawah **Mark as Successful**, klik **Approve**, kemudian **OK** untuk mengesahkan. BCL menghantar notis berjaya kepada pelanggan melalui e-mel. *(Screenshot: Panel Update Transaction Status dengan butang Approve ditanda)* Untuk meluluskan banyak pesanan sekaligus, tandakan pesanan itu, klik **Bulk actions**, pilih **Mark As Successful** dan klik **Confirm**. Hanya pesanan COD dan pindahan manual yang berubah. ## Isu biasa ### Boleh saya kenakan caj tetap RM10 hanya untuk pesanan COD? Boleh. Dalam Platform Setup → Shipping & Rates, tambah pilihan penghantaran bernama COD dengan Fixed Charge (RM) sebanyak 10 dan simpan. Kemudian klik Rules pada baris itu, pilih Cash on Delivery (COD) dalam Payment Channels dan klik Save Restrictions. Jangan guna caj tambahan, kerana caj itu dalam peratus dan dikenakan pada setiap kaedah bayaran. ### Boleh saya sembunyikan COD untuk pelanggan di Sabah dan Sarawak? Boleh. Pada Shipping & Rates, buka tab Channel Restrictions dan klik Add Channel Restriction. Pilih Cash on Delivery (COD) dalam Payment Channel, tetapkan Mode kepada Hide In, pilih Sabah dan Sarawak dalam States (Malaysia) dan klik Save Channel Restrictions. ### Kenapa pesanan COD masih pending selepas pelanggan membayar? BCL tidak dapat melihat bayaran tunai atau transfer bank. Cari pesanan itu dalam Transactions, buka menu ⋮ pada barisnya, klik Update Status dan klik Approve di bawah Mark as Successful. --- # HTML form shortcodes > Shortcodes that show live prices, stock and form details inside a Custom HTML payment form. > > Source: https://docs.bcl.my/html-form-shortcodes/ Shortcodes let your own HTML show live details from the form, such as an item's price or how many are left in stock. BCL replaces each shortcode with the current value every time the page loads, so you never have to edit the HTML when a price or stock level changes. Shortcodes work in a payment form whose **Type of Form** is **Custom HTML**, and in a **Donation** form whose **Content Type** is **Custom HTML**. ## Add shortcodes to your form Type the shortcodes into the form's HTML editor: 1. Go to **Payments** → **Forms** and click **Edit** on your form. 2. Click **Open HTML Editor**. BCL saves the form first, then opens the editor. *(Screenshot: The Edit Payment Form page with the Open HTML Editor button highlighted)* 3. Type the shortcodes where you want the values to appear, then click **Save HTML**. Click **Preview** to see your design; the shortcodes are filled in only on the live form. *(Screenshot: The HTML editor with shortcodes in the code and the Save HTML button highlighted)* 4. Click **Back**, then **View Form** to see the live values. *(Screenshot: A live Custom HTML form showing item names, prices and status badges from shortcodes)* ## Find an item's ID The item shortcodes need the item's ID, and the form must use **Multiple Items**. To find the ID: 1. Open the form and scroll to **List of Items**, below the tabs. 2. Click **More** on the item. *(Screenshot: The List of Items with the More button of the first item highlighted)* 3. Read the number after `#` in the panel title, for example **House Blend 250g Settings (#87)**. *(Screenshot: The item panel title showing the item ID 87)* ## Shortcode list Replace `123` with your item's ID. Each item shortcode accepts either `product=` or `id=`. | Shortcode | Shows | Example output | | --- | --- | --- | | `[stock product=123]` | Stock level | "25 available", "Out of Stock", or "In Stock" when stock is not tracked | | `[price product=123]` | Item price | "RM 28.00" | | `[product_name id=123]` | Item name | "House Blend 250g" | | `[status product=123]` | Status badge | "Available", "Coming Soon" or "Out of Stock" | | `[form_title]` | Form title | "Kopi Kampung Coffee Beans" | | `[form_slug]` | Form URL slug | "kopi-kampung-coffee-beans" | | `[total_products]` | Number of items on the form | "12" | | `[available_products]` | Items that can be bought now (not upcoming, not sold out) | "8" | ## Style the status badge `[status]` outputs a `` with the class `badge` plus `badge-success` (Available), `badge-warning` (Coming Soon) or `badge-danger` (Out of Stock). Add CSS for these classes in your HTML to colour the badge. ## Common issues ### My shortcode shows up as plain text on the form. Why? Check the spelling and the brackets, for example [price product=123]. An unknown shortcode is left as it is. A known shortcode with a wrong item ID shows nothing. Shortcodes only work in the HTML of a Custom HTML form. ### The price shortcode shows the old price, not my sale price. [price] shows the item's Amount (RM). It does not show the Sale Price (Optional) set under More. --- # Shortcode untuk payment form HTML > Shortcode yang memaparkan harga, stok dan butiran semasa payment form dalam payment form Custom HTML. > > Source: https://docs.bcl.my/ms/html-form-shortcodes/ Shortcode membolehkan HTML anda sendiri memaparkan butiran semasa dari payment form, seperti harga sesuatu item atau berapa unit yang masih ada dalam stok. BCL menggantikan setiap shortcode dengan nilai semasa setiap kali page dimuatkan, jadi anda tidak perlu edit HTML apabila harga atau stok berubah. Shortcode berfungsi dalam payment form yang **Type of Form** ditetapkan kepada **Custom HTML**, dan dalam payment form **Donation** yang **Content Type** ditetapkan kepada **Custom HTML**. ## Tambah shortcode pada payment form anda Taip shortcode dalam HTML editor payment form itu: 1. Pergi ke **Payments** → **Forms** dan klik **Edit** pada payment form anda. 2. Klik **Open HTML Editor**. BCL menyimpan payment form itu dahulu, kemudian membuka editor. *(Screenshot: Page Edit Payment Form dengan butang Open HTML Editor ditanda)* 3. Taip shortcode di tempat anda mahu nilai itu dipaparkan, kemudian klik **Save HTML**. Klik **Preview** untuk melihat reka bentuk anda; shortcode hanya diisi pada payment form yang live. *(Screenshot: HTML editor dengan shortcode dalam kod dan butang Save HTML ditanda)* 4. Klik **Back**, kemudian **View Form** untuk melihat nilai semasa. *(Screenshot: Payment form Custom HTML yang live memaparkan nama item, harga dan badge status daripada shortcode)* ## Cari ID item Shortcode item memerlukan ID item itu, dan payment form mesti menggunakan **Multiple Items**. Untuk mencari ID: 1. Buka payment form itu dan scroll ke **List of Items**, di bawah tab. 2. Klik **More** pada item itu. *(Screenshot: List of Items dengan butang More pada item pertama ditanda)* 3. Baca nombor selepas `#` pada tajuk panel, contohnya **House Blend 250g Settings (#87)**. *(Screenshot: Tajuk panel item yang memaparkan ID item 87)* ## Senarai shortcode Gantikan `123` dengan ID item anda. Setiap shortcode item menerima sama ada `product=` atau `id=`. | Shortcode | Paparan | Contoh output | | --- | --- | --- | | `[stock product=123]` | Tahap stok | "25 available", "Out of Stock", atau "In Stock" jika stok tidak dijejak | | `[price product=123]` | Harga item | "RM 28.00" | | `[product_name id=123]` | Nama item | "House Blend 250g" | | `[status product=123]` | Badge status | "Available", "Coming Soon" atau "Out of Stock" | | `[form_title]` | Tajuk payment form | "Kopi Kampung Coffee Beans" | | `[form_slug]` | Slug URL payment form | "kopi-kampung-coffee-beans" | | `[total_products]` | Bilangan item dalam payment form | "12" | | `[available_products]` | Item yang boleh dibeli sekarang (bukan akan datang, belum habis dijual) | "8" | ## Gayakan badge status `[status]` mengeluarkan `` dengan class `badge` serta `badge-success` (Available), `badge-warning` (Coming Soon) atau `badge-danger` (Out of Stock). Tambah CSS untuk class ini dalam HTML anda untuk mewarnakan badge itu. ## Isu biasa ### Kenapa shortcode saya dipaparkan sebagai teks biasa pada payment form? Semak ejaan dan tanda kurungnya, contohnya [price product=123]. Shortcode yang tidak dikenali dibiarkan seperti asal. Shortcode yang dikenali tetapi dengan ID item yang salah tidak memaparkan apa-apa. Shortcode hanya berfungsi dalam HTML payment form Custom HTML. ### Kenapa shortcode price memaparkan harga lama, bukan harga sale saya? [price] memaparkan Amount (RM) item itu. Ia tidak memaparkan Sale Price (Optional) yang ditetapkan di bawah More. --- # Fix a form that shows twice after a Canva embed > If your form looks wrong after you paste a Canva embed code, remove the extra Canva link from the HTML. > > Source: https://docs.bcl.my/canva-embed/ If your form shows up twice, or behaves like a link, after you paste a Canva embed code into BCL, the code has an extra line you do not need. Canva adds a link back to the design after the embed. When that link is left open, it wraps everything below it, including your BCL form. Remove the link and the form displays normally. ## Remove the extra Canva link The embed code Canva gives you has two parts: a `
` with an `` and `
` for the Canva part. ## Common issues ### Where do I paste the Canva embed code? Set Type of Form to Custom HTML on the Payment Details tab, then click Open HTML Editor (it saves the form first) and paste the code there. ### Can I use my Canva design as a single image instead? Yes. Export the design as one image and use a sales page (/sales-page/). That needs no HTML. --- # Betulkan payment form yang dipaparkan dua kali selepas embed Canva > Jika payment form anda nampak pelik selepas anda paste kod embed Canva, buang link Canva tambahan daripada HTML. > > Source: https://docs.bcl.my/ms/canva-embed/ Jika payment form anda dipaparkan dua kali, atau berfungsi seperti link, selepas anda paste kod embed Canva ke dalam BCL, kod itu ada satu baris tambahan yang anda tidak perlukan. Canva menambah link kembali ke reka bentuk itu selepas embed. Apabila link itu dibiarkan terbuka, ia membalut semua kandungan di bawahnya, termasuk payment form BCL anda. Buang link itu dan payment form dipaparkan seperti biasa. ## Buang link Canva tambahan Kod embed yang Canva berikan ada dua bahagian: satu `
` dengan `` dan `
` untuk bahagian Canva. ## Isu biasa ### Di mana saya paste kod embed Canva? Tetapkan Type of Form kepada Custom HTML pada tab Payment Details, kemudian klik Open HTML Editor (ia menyimpan payment form itu dahulu) dan paste kod itu di situ. ### Boleh saya guna reka bentuk Canva saya sebagai satu imej sahaja? Boleh. Export reka bentuk itu sebagai satu imej dan guna sales page (/ms/sales-page/). Cara ini tidak memerlukan HTML. --- # Create a payment link > Create a one-off payment link for a customer in seconds and share it on WhatsApp, Facebook or any chat. > > Source: https://docs.bcl.my/payment-link/ A payment link is a one-off link for a set amount, made for one customer. Use it when you sell through WhatsApp, Facebook or other chats and do not need a full payment form. ## Before you start You need a connected Bayarcash account to collect real payments. In **Test Mode** you can create links straight away to try it out. Once you turn Test Mode off, the Payment Link form is locked until BCL has your token and secret key. See [Connect your Bayarcash account](/connect-bayarcash/). ## Create the link Create the link from any page in the dashboard: 1. Click **Quick Actions** at the top right of the dashboard. 2. Under **Collect payment**, click **Payment Link**. *(Screenshot: The Quick Actions menu with Payment Link highlighted under Collect payment)* 3. Fill in **Buyer Name**, **Amount (RM)**, **Buyer Email** and **Buyer Mobile Number**. All four are required. 4. In **Portal Key**, choose the Bayarcash portal that receives the payment. See [Choose a Bayarcash portal key](/bayarcash-portal-key/). 5. Once a portal is chosen, **Let user choose payment method** appears. Leave it on to let your customer pick a channel, or turn it off and choose one in **Payment Option**. *(Screenshot: The Payment Link form filled in, with the Let user choose payment method switch highlighted)* 6. Optionally, add a note in **Remark Order**. 7. Click **Submit**. ## Share the link When the link is ready, the **Share Payment Link** window opens: 1. Click the blue copy button at the end of the link. *(Screenshot: The Share Payment Link window with the link and its copy button highlighted, above the Twitter, Facebook and WhatsApp buttons)* 2. Paste the link into your chat with the customer, or click **Twitter**, **Facebook** or **WhatsApp** to share it directly. The link stays valid for up to 3 months. When your customer pays, the payment shows in [Transactions](/transactions/). > **Tip** > To add tracking pixels, a webhook or your own thank-you page to every payment link, go to **Platform Setup** → **Link Configuration**. ## Common issues ### Why can't I fill in the Payment Link form? The form stays locked until BCL has your Bayarcash token and secret key, or Test Mode is on. Connect your Bayarcash account (/connect-bayarcash/) first, then open Quick Actions → Payment Link again. ### How long does a payment link stay valid? A payment link stays valid for up to 3 months after you create it. ### Can I choose the payment method for my customer? Yes. Turn off Let user choose payment method and pick one in Payment Option. Leave it on to let your customer choose from the channels your portal supports. --- # Cipta payment link > Cipta payment link sekali guna untuk pelanggan dalam beberapa saat dan kongsikannya di WhatsApp, Facebook atau mana-mana chat. > > Source: https://docs.bcl.my/ms/payment-link/ Payment link ialah link sekali guna untuk jumlah tertentu, yang dibuat untuk seorang pelanggan. Gunakannya apabila anda menjual melalui WhatsApp, Facebook atau chat lain dan tidak memerlukan payment form penuh. ## Sebelum anda mula Anda memerlukan akaun Bayarcash yang sudah disambungkan untuk menerima bayaran sebenar. Dalam **Test Mode**, anda boleh terus mencipta link untuk mencubanya. Selepas anda off-kan Test Mode, form Payment Link tidak boleh diisi sehingga BCL ada token dan secret key anda. Lihat [Sambungkan akaun Bayarcash anda](/ms/connect-bayarcash/). ## Cipta link Anda boleh mencipta link dari mana-mana page dalam dashboard: 1. Klik **Quick Actions** di bahagian atas kanan dashboard. 2. Di bawah **Collect payment**, klik **Payment Link**. *(Screenshot: Menu Quick Actions dengan Payment Link ditanda di bawah Collect payment)* 3. Isi **Buyer Name**, **Amount (RM)**, **Buyer Email** dan **Buyer Mobile Number**. Keempat-empat ruangan ini wajib diisi. 4. Dalam **Portal Key**, pilih portal Bayarcash yang menerima bayaran itu. Lihat [Pilih portal key Bayarcash](/ms/bayarcash-portal-key/). 5. Selepas portal dipilih, **Let user choose payment method** dipaparkan. Biarkan on supaya pelanggan anda boleh memilih saluran, atau off-kan dan pilih satu dalam **Payment Option**. *(Screenshot: Form Payment Link yang sudah diisi, dengan suis Let user choose payment method ditanda)* 6. Jika perlu, tambah nota dalam **Remark Order**. 7. Klik **Submit**. ## Kongsi link Apabila link sudah sedia, tetingkap **Share Payment Link** dibuka: 1. Klik butang copy biru di hujung link itu. *(Screenshot: Tetingkap Share Payment Link dengan link dan butang copy-nya ditanda, di atas butang Twitter, Facebook dan WhatsApp)* 2. Paste link itu ke dalam chat anda dengan pelanggan, atau klik **Twitter**, **Facebook** atau **WhatsApp** untuk terus berkongsi. Link itu sah sehingga 3 bulan. Apabila pelanggan anda membayar, bayaran itu dipaparkan dalam [Transactions](/ms/transactions/). > **Tip** > Untuk menambah tracking pixel, webhook atau page terima kasih anda sendiri pada setiap payment link, pergi ke **Platform Setup** → **Link Configuration**. ## Isu biasa ### Kenapa saya tidak dapat mengisi form Payment Link? Form itu tidak boleh diisi sehingga BCL ada token dan secret key Bayarcash anda, atau Test Mode di-on-kan. Sambungkan akaun Bayarcash anda (/ms/connect-bayarcash/) dahulu, kemudian buka Quick Actions → Payment Link semula. ### Berapa lama payment link sah digunakan? Payment link sah sehingga 3 bulan selepas anda menciptanya. ### Boleh saya pilih kaedah bayaran untuk pelanggan saya? Boleh. Off-kan Let user choose payment method dan pilih satu dalam Payment Option. Biarkan on supaya pelanggan anda boleh memilih daripada saluran yang disokong oleh portal anda. --- # Take payments with QR Terminal > Turn your phone or tablet into a payment counter. Key in the amount, show the QR code and your customer scans to pay. > > Source: https://docs.bcl.my/qr-terminal/ QR Terminal turns your phone, tablet or laptop into a payment counter. You key in the amount, BCL shows a QR code, and your customer scans it with their banking or e-wallet app. It suits events, booths and shop counters. ## Set up QR Terminal Do this once, after you [connect your Bayarcash account](/connect-bayarcash/). Until then, the tab shows **Complete Bayarcash Configuration above** and its fields are locked. 1. Go to **Platform Setup** → **Payment** and open the **QR Terminal** tab. *(Screenshot: The QR Terminal tab of Payment Settings highlighted)* 2. In **Portal Key**, choose the Bayarcash portal that receives QR payments. 3. In **QR Payment Channels**, choose the channels to offer, such as **DuitNow QR**. *(Screenshot: The Portal Key field set to a portal and QR Payment Channels set to DuitNow QR, both highlighted)* 4. Optionally, add your own preset amounts in **Quick Amounts (RM)**. Leave it empty to use RM5, 10, 20, 50 and 100. 5. Click **Save QR Terminal Settings**. You see **QR Terminal settings saved successfully**. *(Screenshot: The Save QR Terminal Settings button highlighted)* These settings are your own: each team member who uses QR Terminal saves their own portal and channels. ## Take a payment With QR Terminal set up, take each payment like this: 1. Click **Quick Actions** → **QR Terminal**. You can also go to **Payments** → **QR Terminal** in the sidebar, or click **Open QR Terminal** on the settings tab. *(Screenshot: The Quick Actions menu with QR Terminal highlighted)* 2. Key in the amount on the keypad, or tap a quick amount such as **RM10**. The minimum is RM2.00. Tap **C** to clear the amount, or the arrow key to delete the last digit. *(Screenshot: The terminal showing RM 10.00, with the amount and the quick amount buttons highlighted)* 3. Optionally, open **Customer (optional)** and add the customer's **Name**, **Phone** or **Email**. 4. If you offer more than one channel, choose one under **Payment Channel**. With one channel, the terminal uses it without asking. 5. Tap **GENERATE QR** and show the code to your customer. *(Screenshot: The terminal with the Customer (optional) section filled in and the GENERATE QR button highlighted)* The screen shows **Scan to Pay** with the amount, the DuitNow QR code, the order number and a countdown. The code is only valid for a short time, about a minute. While it shows **Waiting for payment…**, BCL checks for the payment by itself. *(Screenshot: The Scan to Pay screen with the QR code, the order number and the countdown)* When the payment arrives, you see **Payment Received** with the order number, channel and time, and a chime plays. Tap **NEW PAYMENT** for the next customer, or wait 8 seconds and the terminal resets itself. If the payment fails, you see **Payment Failed**. Tap **NEW PAYMENT** to start again. > **Caution** > QR Terminal always uses your connected Bayarcash account, even when **Test Mode** is on. Every QR code it shows is a real payment request, so test it with a small amount. ## If the QR code expires When the countdown ends, you see **QR EXPIRED** and **No payment received for this code**: - If your customer says they paid, tap **Customer already paid? Check status** first. - Otherwise, tap **REGENERATE QR** to show a fresh code for the same amount. *(Screenshot: The QR EXPIRED screen with the REGENERATE QR button and the Customer already paid? Check status link highlighted)* You can also tap **CHECK STATUS** at any time while the code is showing, or **CANCEL** to start over. Every QR payment is recorded as a live payment, so it appears in [Transactions](/transactions/) when Test Mode is off. With Test Mode on, Transactions shows only test payments, so QR payments are not listed there. ## Common issues ### QR Terminal says it is not configured. What do I do? Go to Platform Setup → Payment, open the QR Terminal tab, choose a Portal Key and your QR Payment Channels, then click Save QR Terminal Settings. ### The QR code expired but my customer says they paid. Did I lose the payment? No. On the expired screen, click Customer already paid? Check status. BCL checks the payment again before you generate a new code. ### Can I change the quick amount buttons? Yes. In the QR Terminal tab under Platform Setup → Payment, add your own amounts in Quick Amounts (RM). --- # Terima bayaran dengan QR Terminal > Jadikan telefon atau tablet anda kaunter bayaran. Key in jumlah, tunjukkan kod QR dan pelanggan anda scan untuk membayar. > > Source: https://docs.bcl.my/ms/qr-terminal/ QR Terminal menjadikan telefon, tablet atau laptop anda kaunter bayaran. Anda key in jumlah, BCL memaparkan kod QR, dan pelanggan anda scan kod itu dengan aplikasi perbankan atau e-wallet mereka. Ia sesuai untuk event, booth dan kaunter kedai. ## Sediakan QR Terminal Buat ini sekali sahaja, selepas anda [sambungkan akaun Bayarcash anda](/ms/connect-bayarcash/). Sebelum itu, tab ini memaparkan **Complete Bayarcash Configuration above** dan ruangannya dikunci. 1. Pergi ke **Platform Setup** → **Payment** dan buka tab **QR Terminal**. *(Screenshot: Tab QR Terminal dalam Payment Settings ditanda)* 2. Dalam **Portal Key**, pilih portal Bayarcash yang menerima bayaran QR. 3. Dalam **QR Payment Channels**, pilih saluran yang anda mahu tawarkan, seperti **DuitNow QR**. *(Screenshot: Ruangan Portal Key yang sudah ditetapkan kepada satu portal dan QR Payment Channels yang ditetapkan kepada DuitNow QR, kedua-duanya ditanda)* 4. Jika perlu, tambah jumlah tetap anda sendiri dalam **Quick Amounts (RM)**. Biarkan kosong untuk guna RM5, 10, 20, 50 dan 100. 5. Klik **Save QR Terminal Settings**. Anda nampak **QR Terminal settings saved successfully**. *(Screenshot: Butang Save QR Terminal Settings ditanda)* Tetapan ini milik anda sendiri: setiap ahli team yang menggunakan QR Terminal menyimpan portal dan saluran mereka sendiri. ## Terima bayaran Selepas QR Terminal disediakan, terima setiap bayaran seperti ini: 1. Klik **Quick Actions** → **QR Terminal**. Anda juga boleh pergi ke **Payments** → **QR Terminal** di sidebar, atau klik **Open QR Terminal** pada tab tetapan. *(Screenshot: Menu Quick Actions dengan QR Terminal ditanda)* 2. Key in jumlah pada keypad, atau klik satu jumlah pantas seperti **RM10**. Jumlah minimum ialah RM2.00. Klik **C** untuk mengosongkan jumlah, atau butang anak panah untuk memadam digit terakhir. *(Screenshot: Terminal memaparkan RM 10.00, dengan jumlah dan butang jumlah pantas ditanda)* 3. Jika perlu, buka **Customer (optional)** dan tambah **Name**, **Phone** atau **Email** pelanggan. 4. Jika anda menawarkan lebih daripada satu saluran, pilih satu di bawah **Payment Channel**. Jika ada satu saluran sahaja, terminal terus menggunakannya tanpa bertanya. 5. Klik **GENERATE QR** dan tunjukkan kod itu kepada pelanggan anda. *(Screenshot: Terminal dengan bahagian Customer (optional) yang sudah diisi dan butang GENERATE QR ditanda)* Skrin memaparkan **Scan to Pay** dengan jumlah, kod DuitNow QR, nombor pesanan dan kiraan detik. Kod itu sah untuk masa yang singkat sahaja, lebih kurang seminit. Semasa skrin memaparkan **Waiting for payment…**, BCL menyemak bayaran itu sendiri. *(Screenshot: Skrin Scan to Pay dengan kod QR, nombor pesanan dan kiraan detik)* Apabila bayaran masuk, anda nampak **Payment Received** dengan nombor pesanan, saluran dan masa, dan bunyi loceng dimainkan. Klik **NEW PAYMENT** untuk pelanggan seterusnya, atau tunggu 8 saat dan terminal akan reset sendiri. Jika bayaran gagal, anda nampak **Payment Failed**. Klik **NEW PAYMENT** untuk mula semula. > **Caution** > QR Terminal sentiasa menggunakan akaun Bayarcash anda yang sudah disambungkan, walaupun **Test Mode** di-on-kan. Setiap kod QR yang dipaparkan ialah permintaan bayaran sebenar, jadi uji dengan jumlah yang kecil. ## Jika kod QR tamat tempoh Apabila kiraan detik tamat, anda nampak **QR EXPIRED** dan **No payment received for this code**: - Jika pelanggan anda kata dia sudah bayar, klik **Customer already paid? Check status** dahulu. - Jika tidak, klik **REGENERATE QR** untuk memaparkan kod baru bagi jumlah yang sama. *(Screenshot: Skrin QR EXPIRED dengan butang REGENERATE QR dan link Customer already paid? Check status ditanda)* Anda juga boleh klik **CHECK STATUS** pada bila-bila masa semasa kod dipaparkan, atau **CANCEL** untuk mula semula. Setiap bayaran QR dipaparkan dalam [Transactions](/ms/transactions/). ## Isu biasa ### QR Terminal memaparkan mesej bahawa ia belum dikonfigurasi. Apa yang perlu saya buat? Pergi ke Platform Setup → Payment, buka tab QR Terminal, pilih Portal Key dan QR Payment Channels anda, kemudian klik Save QR Terminal Settings. ### Kod QR sudah tamat tempoh tetapi pelanggan saya kata dia sudah bayar. Adakah bayaran itu hilang? Tidak. Pada skrin tamat tempoh, klik Customer already paid? Check status. BCL menyemak bayaran itu sekali lagi sebelum anda menjana kod baru. ### Boleh saya tukar butang jumlah pantas? Boleh. Dalam tab QR Terminal di bawah Platform Setup → Payment, tambah jumlah anda sendiri dalam Quick Amounts (RM). --- # Let a cashier take QR payments > BCL has no Cashier role. Add your cashier as a Team member with Can View Transactions so they can use QR Terminal and see only their own sales. > > Source: https://docs.bcl.my/qr-terminal-cashier/ BCL has no "Cashier" role. To give a counter staff member QR Terminal and nothing else, add them as a **Team** member with only **Can View Transactions** turned on. That one permission opens QR Terminal for them. Each cashier signs in with their own login, picks their own portal, and sees only the payments they take. ## Add the cashier Only an admin can do this. Have the cashier's name and email address ready, then: 1. Click your company name at the bottom of the sidebar and choose **Team Member**. 2. Click **Add Team Member** and fill in **Name** and **Email**. 3. In **User Role**, choose **Team**. **Crew Event** can never open QR Terminal, and **Admin** can see your whole account. 4. In **Portal Key**, choose the Bayarcash portal (or portals) for this cashier's payments. The cashier can only pick from these when they set up QR Terminal, so do not leave it empty. 5. In **Require Portal Key**, choose **Required** to track their sales to their own portal. *(Screenshot: The Add Team Member panel for Kopi Kampung Cashier (Siti), with User Role set to Team, a Portal Key chosen and Require Portal Key set to Required, all highlighted)* 6. Set a **Password** of at least 8 characters. 7. Under **Transaction Permissions**, turn on **Can View Transactions**. Leave every other permission off. *(Screenshot: Transaction Permissions with Can View Transactions turned on and highlighted, and the Payment Form Permissions switches all off)* 8. Click **Create**. BCL shows **Member added**. *(Screenshot: The Team Members page with the new Team member Kopi Kampung Cashier (Siti) highlighted)* BCL does not send an invitation email. Give the cashier their email and password yourself. See [Add a team member](/add-team-member/) for the other fields. ## Choose how staff portals work **Require Portal Key** on each member follows your account's setting unless you change it. The account setting is **Require staff to select a portal key** under **Platform Setup** → **Payment**, below **Default Portal**. It shows once **Test Mode** is off, and only the account owner can change it. *(Screenshot: The Default Portal field and the Require staff to select a portal key switch in Payment Settings, with the switch highlighted)* QR Terminal itself always uses the portal the cashier picks in their own settings. The portal rules also apply to the payment links the cashier creates. See [Choose a Bayarcash portal key](/bayarcash-portal-key/). ## Set up QR Terminal on the cashier's login QR Terminal settings belong to each person, so the cashier does this once, signed in as themselves: 1. In the sidebar, click **Payments** → **QR Terminal**. *(Screenshot: The cashier's sidebar: Dashboard, Transactions, Payments with QR Terminal highlighted, Platform Setup and Tools)* 2. The first time, the terminal shows **QR Terminal Not Configured**. Click **Go to Settings**. *(Screenshot: The QR Terminal Not Configured message with the Go to Settings button highlighted)* 3. On **QR Terminal Settings**, choose a **Portal Key**. The list shows only the portals the admin gave this cashier. 4. In **QR Payment Channels**, choose the channels to offer, such as **DuitNow QR**. 5. Click **Save QR Terminal Settings**. The cashier sees **QR Terminal settings saved successfully**. *(Screenshot: QR Terminal Settings with the Portal Key, QR Payment Channels set to DuitNow QR, and the Save QR Terminal Settings button highlighted)* Only the cashier's own login can save these settings. As an admin, you control which portals they can pick through **Portal Key** in **Team Members**. ## Take a payment The cashier takes each payment the same way as the owner: 1. Open **QR Terminal**, key in the amount and, if you like, the customer's details under **Customer (optional)**. 2. Tap **GENERATE QR**. *(Screenshot: The terminal showing RM 2.00 with a walk-in customer's name and email, and the GENERATE QR button highlighted)* 3. Show the **Scan to Pay** code to the customer. The screen shows the order number and a countdown. *(Screenshot: The Scan to Pay screen with the DuitNow QR code, RM 2.00, the order number and the countdown)* See [Take payments with QR Terminal](/qr-terminal/) for what happens when the code expires or the payment arrives. > **Caution** > QR Terminal always uses your connected Bayarcash account, even when **Test Mode** is on. Every QR code a cashier shows is a real payment request, so test with the smallest amount, RM2. Once your account is live, each QR payment appears in **Transactions**, recorded against the cashier who took it. A **Team** member sees only their own payments there. While **Test Mode** is on, **Transactions** lists test payments only, so QR payments do not show. ## What the cashier can and cannot do With only **Can View Transactions** on, this is what a cashier gets: | Area | Cashier | Notes | | --- | --- | --- | | **QR Terminal** | Can use | Also in **Quick Actions**. | | **QR Terminal Settings** | Can change their own | Under **Platform Setup** → **Payment**. They see nothing else on that page. | | **Transactions** and **Dashboard** | Can view their own | Everyone's, if you turn on **Show data for all team members**. | | **Payment Link** | Can create | In **Quick Actions**. | | **Tools** | Can open | **Marketing Logs**, **Notification Logs** and **Webhook Logs**. | | Payment forms, events, bookings, leads | Cannot see | Unless you turn on their permissions. | | **Customers**, **Team Profile**, **Team Members** | Cannot open | Admins only. | | Bayarcash keys and payment settings | Cannot see | Admins only. | ## Tips A few habits keep counter sales easy to check: - **Give each cashier or counter its own Bayarcash portal.** Create a portal per counter in Bayarcash, give it to that cashier in **Portal Key** and set **Require Portal Key** to **Required**. Each Bayarcash settlement then matches one counter, which makes reconciliation much simpler. See [Choose a Bayarcash portal key](/bayarcash-portal-key/). - **One login per person, never a shared one.** Each payment is recorded against the login that took it, so a shared login hides who collected what. - **Keep Show data for all team members off.** It is off by default. Turning it on in **Team Profile** lets every Team member see all of your account's data, not just the cashier. - **Check the cashier's view with Impersonate.** On **Team Members**, click **Impersonate** on their row to see BCL exactly as they do. See [Team roles and permissions](/team-roles/). ## Common issues ### Is there a Cashier role in BCL? No. The roles are Admin, Team and Crew Event. Add your cashier as Team and turn on only Can View Transactions. That is the one permission QR Terminal needs. ### My cashier's Portal Key list in QR Terminal Settings is empty. Why? A Team member can only choose from the portals you gave them. Go to Team → Team Members, click Edit on their row and choose a Portal Key. ### Can my cashier see other staff's sales? Not by default. Team members see only their own data unless you turn on Show data for all team members in Team Profile. --- # What is Protected Content? > Protected Content keeps videos, files, text and private links inside BCL and opens them only for buyers who confirm a one-time code. > > Source: https://docs.bcl.my/protected-content-overview/ Protected Content is an add-on that locks your digital products inside BCL. You link a video, file, text or private link to something you sell. When a customer pays, BCL gives them their own access link, and they confirm a one-time code (OTP) before the content opens. A forwarded link is no use to anyone else. ## How a buyer gets access The same flow runs for every piece of content: 1. The customer buys an item on your payment form, or a ticket on your event form, that has protected content linked to it. 2. BCL creates their access as soon as the payment succeeds. The receipt page shows **Your Content is Ready!** with a button for each piece of content, and BCL emails them **Your Protected Content is Now Available**. *(Screenshot: The receipt page with the Your Content is Ready! window listing four pieces of content)* 3. The customer opens their link and chooses where to receive a 6-digit code: **Email**, **SMS** or **WhatsApp**. 4. They enter the code and the content opens. The browser stays verified, so they do not need a new code each time. Customers can also find their content again in the [Customer Portal](/customer-portal/), from the **Access Link** you share, or from the receipt page. ## What you can protect You choose one **Content Type** for each piece of content: | Content type | Use it for | Details | |---|---|---| | **Video** | Online classes, webinar recordings, members-only videos, pay-per-view live streams | YouTube, Vimeo, Facebook or your own embed code. [Protect a video](/protected-content-video/) | | **Text** | Instructions, member codes, passwords, a thank-you note | Rich text with the buyer's name and order number. [Protect text content](/protected-content-text/) | | **File** | eBooks, PDF guides, templates, ZIP packs | Up to 10 files, 5MB each. [Protect files](/protected-content-files/) | | **Redirect URL** | A private Telegram or WhatsApp group, a course on another site | The link is only revealed after the code. [Send buyers to a private link](/protected-content-redirect/) | ## Features Protected Content has these parts: | Feature | What it does | Where to learn more | |---|---|---| | OTP by email, SMS or WhatsApp | Only the buyer can open their access link | [Access control](/protected-content-access-control/) | | Access Type | Open straight away, only between two dates, or for a number of days after purchase | [Access control](/protected-content-access-control/) | | Maximum Devices | Limits how many devices can use one buyer's access at the same time | [Access control](/protected-content-access-control/) | | Maximum Downloads | Limits how many times a buyer can download the files | [Protect files](/protected-content-files/) | | Show on Receipt | Puts the content buttons on the receipt page | [Access control](/protected-content-access-control/) | | Preview | Shows the content page exactly as buyers see it | [Create protected content](/create-protected-content/) | | Link to items and tickets | Payment form items and event tickets grant access when paid | [Give buyers access](/protected-content-attach-to-products/) | | Grant Buyer Access | Gives access to people who bought before you linked the content | [Give buyers access](/protected-content-attach-to-products/) | | Customer Access | Lists every buyer, their dates, views and devices; resend or revoke access | [Manage who has access](/protected-content-customers/) | | Access Finder link | One link where buyers look up their access with their email or phone | [Manage who has access](/protected-content-customers/) | | Video protection | Blocks right-click, copying, dragging and common save and developer shortcuts on video pages | [Protect a video](/protected-content-video/) | | Pay-per-view stream page | A stream player with themes, Watch on TV and live ad breaks | [Sell a pay-per-view live stream](/ppv-live-stream/) | | API and AI tools | Read content and buyers, change status, title and access by API or MCP | [Manage protected content by API](/protected-content-api/) | Access links also appear in automation variables and in the payment webhook, so you can send them by WhatsApp or to your own system. ## Turn on the add-on Protected Content is the **OTP-Protected Content** add-on, which you turn on under **Add-ons** in the sidebar. Until it is on, the **Protected Content** menu opens a page about the add-on instead of your content. Once it is on, the menu shows your content list. *(Screenshot: The Protected Content list with New Content at the top right)* Ready to start? See [real examples](/protected-content-use-cases/), or go straight to [Create protected content](/create-protected-content/). ## Common issues ### How do I sell content that customers must pay for before they can watch it? Use the OTP-Protected Content add-on. Create the content under Protected Content, link it to a payment form item or an event ticket, and BCL gives every paid buyer their own access link that opens only after a one-time code. ### Can the customer turn off the OTP? No. The one-time code is always required. It is what stops a buyer from sharing the link with friends, because the code only goes to the buyer's own email, phone or WhatsApp. ### Can I use a Google Drive link instead of protected content? Yes, as a Download Link on the item (see Sell digital products (/sell-digital-products/)). It needs no add-on, but anyone who gets the link can open it. Protected Content asks for a one-time code first. --- # Apa itu Protected Content? > Protected Content menyimpan video, fail, teks dan link peribadi di dalam BCL, dan hanya membukanya untuk pembeli yang mengesahkan kod sekali guna. > > Source: https://docs.bcl.my/ms/protected-content-overview/ Protected Content ialah add-on yang mengunci produk digital anda di dalam BCL. Anda pautkan video, fail, teks atau link peribadi pada sesuatu yang anda jual. Apabila pelanggan membayar, BCL memberi mereka link akses sendiri, dan mereka mengesahkan kod sekali guna (OTP) sebelum kandungan itu dibuka. Link yang di-forward tidak berguna kepada orang lain. ## Bagaimana pembeli mendapat akses Aliran yang sama berlaku untuk setiap kandungan: 1. Pelanggan membeli item pada payment form anda, atau tiket pada event form anda, yang ada kandungan dilindungi dipautkan padanya. 2. BCL mencipta akses mereka sebaik sahaja bayaran berjaya. Page resit memaparkan **Your Content is Ready!** dengan satu butang untuk setiap kandungan, dan BCL menghantar e-mel **Your Protected Content is Now Available** kepada mereka. *(Screenshot: Page resit dengan tetingkap Your Content is Ready! yang menyenaraikan empat kandungan)* 3. Pelanggan membuka link mereka dan memilih tempat untuk menerima kod 6 digit: **Email**, **SMS** atau **WhatsApp**. 4. Mereka memasukkan kod itu dan kandungan itu dibuka. Browser itu kekal disahkan, jadi mereka tidak perlu kod baru setiap kali. Pelanggan juga boleh mencari semula kandungan mereka dalam [Customer Portal](/ms/customer-portal/), dari **Access Link** yang anda kongsi, atau dari page resit. ## Apa yang anda boleh lindungi Anda memilih satu **Content Type** untuk setiap kandungan: | Jenis kandungan | Sesuai untuk | Butiran | |---|---|---| | **Video** | Kelas online, rakaman webinar, video khas untuk ahli, live stream pay-per-view | YouTube, Vimeo, Facebook atau kod embed anda sendiri. [Lindungi video](/ms/protected-content-video/) | | **Text** | Arahan, kod ahli, password, nota terima kasih | Teks berformat dengan nama pembeli dan nombor pesanan. [Lindungi kandungan teks](/ms/protected-content-text/) | | **File** | eBook, panduan PDF, template, pakej ZIP | Sehingga 10 fail, 5MB setiap satu. [Lindungi fail](/ms/protected-content-files/) | | **Redirect URL** | Group Telegram atau WhatsApp peribadi, kursus di laman web lain | Link itu hanya didedahkan selepas kod. [Hantar pembeli ke link peribadi](/ms/protected-content-redirect/) | ## Ciri-ciri Protected Content ada bahagian-bahagian ini: | Ciri | Apa fungsinya | Ketahui lebih lanjut | |---|---|---| | OTP melalui e-mel, SMS atau WhatsApp | Hanya pembeli boleh membuka link akses mereka | [Kawalan akses](/ms/protected-content-access-control/) | | Access Type | Dibuka serta-merta, hanya antara dua tarikh, atau untuk beberapa hari selepas pembelian | [Kawalan akses](/ms/protected-content-access-control/) | | Maximum Devices | Mengehadkan bilangan peranti yang boleh guna akses seorang pembeli pada masa yang sama | [Kawalan akses](/ms/protected-content-access-control/) | | Maximum Downloads | Mengehadkan berapa kali pembeli boleh muat turun fail | [Lindungi fail](/ms/protected-content-files/) | | Show on Receipt | Meletakkan butang kandungan pada page resit | [Kawalan akses](/ms/protected-content-access-control/) | | Preview | Memaparkan page kandungan sama seperti yang pembeli nampak | [Cipta kandungan dilindungi](/ms/create-protected-content/) | | Pautan pada item dan tiket | Item payment form dan tiket event memberi akses apabila dibayar | [Beri pembeli akses kepada kandungan dilindungi](/ms/protected-content-attach-to-products/) | | Grant Buyer Access | Memberi akses kepada orang yang membeli sebelum anda memautkan kandungan itu | [Beri pembeli akses kepada kandungan dilindungi](/ms/protected-content-attach-to-products/) | | Customer Access | Menyenaraikan setiap pembeli, tarikh, tontonan dan peranti mereka; hantar semula atau tarik balik akses | [Urus siapa yang ada akses](/ms/protected-content-customers/) | | Link Access Finder | Satu link untuk pembeli mencari akses mereka dengan e-mel atau nombor telefon | [Urus siapa yang ada akses](/ms/protected-content-customers/) | | Perlindungan video | Menyekat klik kanan, copy, seret dan shortcut biasa untuk simpan dan developer tools pada page video | [Lindungi video](/ms/protected-content-video/) | | Page stream pay-per-view | Stream player dengan tema, Watch on TV dan ad break secara live | [Jual live stream pay-per-view](/ms/ppv-live-stream/) | | API dan AI tools | Baca kandungan dan pembeli, tukar status, tajuk dan akses melalui API atau MCP | [Urus kandungan dilindungi melalui API](/ms/protected-content-api/) | Link akses juga ada dalam variable automasi dan dalam webhook bayaran, jadi anda boleh menghantarnya melalui WhatsApp atau ke sistem anda sendiri. ## On-kan add-on Protected Content ialah add-on **OTP-Protected Content**, yang anda on-kan di bawah **Add-ons** di sidebar. Selagi add-on ini belum on, menu **Protected Content** membuka page tentang add-on itu dan bukan kandungan anda. Selepas di-on-kan, menu itu memaparkan senarai kandungan anda. *(Screenshot: Senarai Protected Content dengan New Content di bahagian atas kanan)* Sedia untuk bermula? Lihat [contoh sebenar](/ms/protected-content-use-cases/), atau terus ke [Cipta kandungan dilindungi](/ms/create-protected-content/). ## Isu biasa ### Bagaimana saya jual kandungan yang pelanggan mesti bayar dahulu sebelum boleh menontonnya? Guna add-on OTP-Protected Content. Cipta kandungan itu di bawah Protected Content, pautkan pada item payment form atau tiket event, dan BCL memberi setiap pembeli yang sudah membayar link akses sendiri yang hanya dibuka selepas kod sekali guna. ### Boleh pelanggan off-kan OTP? Tidak boleh. Kod sekali guna sentiasa diperlukan. Kod inilah yang menghalang pembeli daripada berkongsi link dengan kawan-kawan, kerana kod itu hanya dihantar ke e-mel, telefon atau WhatsApp pembeli sendiri. ### Boleh saya guna link Google Drive dan bukan kandungan dilindungi? Boleh, sebagai Download Link pada item itu (lihat Jual produk digital (/ms/sell-digital-products/)). Cara ini tidak memerlukan add-on, tetapi sesiapa yang mendapat link itu boleh membukanya. Protected Content meminta kod sekali guna dahulu. --- # Protected Content ideas and recipes > Real ways to sell with Protected Content, from online courses and PDF guides to pay-per-view matches, each with the settings to use. > > Source: https://docs.bcl.my/protected-content-use-cases/ Protected Content fits any product that is watched, read, downloaded or joined online. Each idea below is a recipe: the **Content Type** to choose, the access settings, and what you sell to unlock it. Three of them are built on our sample shop, Kopi Kampung, so you can see the result. ## Recipes Pick the row closest to what you sell: | Use case | Content Type | Access settings | Sold as | Sample | |---|---|---|---|---| | Online course or members-only videos | **Video** (YouTube, Vimeo or embed code) | **Duration-based Access**, e.g. 365 days; **Maximum Devices** 2 | A payment form item | Kopi Kampung Barista Masterclass | | eBook or PDF download | **File** | **Immediate Access**; **Maximum Downloads** e.g. 5 | A payment form item | - | | Event recording for ticket holders | **Video** | **Duration-based Access**, e.g. 30 days | Event tickets, plus **Grant Buyer Access** for people who already bought | Kopi Kampung Coffee Festival 2026 Recording | | Pay-per-view football or live match | **Video**, **YouTube (Stream Player)**, **Football (Dark)** theme | **Scheduled Access** around match day; **Maximum Devices** 1 | A payment form item or an event ticket | Kopi Kampung Live Cupping Session | | Donor-only thank-you content | **Text** with `{name}` | **Immediate Access** | A donation item with **Enable Open Amount** | - | | Templates and design assets | **File** (ZIP, PDF or images, up to 10 files) | **Immediate Access**; **Maximum Downloads** | One item per pack | - | | Private group invite (Telegram, WhatsApp) | **Redirect URL** | **Immediate Access**; **Maximum Devices** 1 | A membership item | Kopi Kampung Brew Club Telegram | The step-by-step guides are [Create protected content](/create-protected-content/) and [Give buyers access](/protected-content-attach-to-products/). ## Sample 1: a video course Kopi Kampung sells a barista video course as one item on a payment form: 1. Create protected content **Kopi Kampung Barista Masterclass**: **Content Type** **Video**, **Video Type** **YouTube**, and the lesson link in **YouTube URL**. See [Protect a video](/protected-content-video/). 2. Set **Access Type** to **Duration-based Access**, **Access Duration (Days)** to 365 and **Maximum Devices** to 2. Turn on **Show on Receipt**. 3. On the payment form **Kopi Kampung Digital Shop**, click **More** on the item **Barista Masterclass (video course)** and pick the content in **Protected Content**. *(Screenshot: The Kopi Kampung Digital Shop payment form on a phone, listing the masterclass, the live cupping pass and the Brew Club membership)* Each buyer gets a year of access on up to two devices at a time, counted from the day they pay. ## Sample 2: a pay-per-view live session The live cupping session is sold as a pass and streamed from YouTube: 1. Create **Kopi Kampung Live Cupping Session** with **Video Type** **YouTube (Stream Player)** and **Stream Page Theme** **Broadcast (Dark)**. For a match, choose **Football (Dark)**. See [Stream page themes](/ppv-stream-themes/). 2. Add an **Ad/Break Video** for half time or technical breaks. See [Control a live stream](/ppv-live-control/). 3. Set **Access Type** to **Scheduled Access**, from the day of the stream to the end of the replay window, and **Maximum Devices** to 1 so one pass is one screen. 4. Link it to the item **Live Cupping Session pass**. ## Sample 3: recordings for past ticket holders After the Kopi Kampung Coffee Festival 2026, the organiser shares the main-stage recording with everyone who bought a ticket: 1. Create **Kopi Kampung Coffee Festival 2026 Recording** as a **Video** with **Duration-based Access** of 30 days. 2. In the event, click **Edit** on each ticket type (Early Bird, Normal, VIP) and pick the recording in **Protected Content**. 3. On the content's **Customer Access** page, click **Actions** → **Grant Buyer Access**. Everyone who already paid for a ticket gets access, and future buyers get it automatically. The Kopi Kampung Brew Club membership works the same way, with two pieces of content on one item: a **Text** welcome note with a member code, and a **Redirect URL** to the private group. *(Screenshot: The Protected Content list with the Kopi Kampung samples and their type and access badges)* ## Tips A few things make these recipes work better: - **Put the course and its worksheets on one item.** An item can unlock several pieces of content, and the receipt lists each one as its own button. - **Use Duration-based Access for anything you update.** Scheduled Access ends on the same date for everyone, while duration-based access gives each buyer the same number of days from their own purchase. - **Keep Maximum Devices low for live streams.** One pass on one device stops a single ticket being watched on many screens at once. - **Delivering files by email is simpler but open.** If sharing does not matter, a plain [download link](/sell-digital-products/) needs no add-on. ## Common issues ### I want to sell video classes and some PDF files, and I don't want people sharing the link. How? Create one protected content for the videos and one for the files, then link both to the item you sell. Each buyer gets their own link that opens only with a one-time code sent to them. ### I just set up protected content. How do people who bought earlier get access? Open the content, go to Customer Access, click Actions and choose Grant Buyer Access. BCL gives access to every paid buyer of the linked items or tickets and skips anyone who already has it. ### Can I give different content to different ticket types? Yes. Protected content is linked per item and per ticket type, so a VIP ticket can unlock more than a Normal ticket. --- # Idea & resipi Protected Content > Cara sebenar menjual dengan Protected Content, dari kursus online dan panduan PDF hingga perlawanan pay-per-view, dengan tetapan untuk setiap satu. > > Source: https://docs.bcl.my/ms/protected-content-use-cases/ Protected Content sesuai untuk apa-apa produk yang ditonton, dibaca, dimuat turun atau disertai secara online. Setiap idea di bawah ialah resipi: **Content Type** yang perlu dipilih, tetapan akses, dan apa yang anda jual untuk membukanya. Tiga daripadanya dibina pada kedai contoh kami, Kopi Kampung, supaya anda boleh lihat hasilnya. ## Resipi Pilih baris yang paling hampir dengan apa yang anda jual: | Kegunaan | Content Type | Tetapan akses | Dijual sebagai | Contoh | |---|---|---|---|---| | Kursus online atau video khas untuk ahli | **Video** (YouTube, Vimeo atau kod embed) | **Duration-based Access**, contohnya 365 hari; **Maximum Devices** 2 | Item payment form | Kopi Kampung Barista Masterclass | | Muat turun eBook atau PDF | **File** | **Immediate Access**; **Maximum Downloads** contohnya 5 | Item payment form | - | | Rakaman event untuk pemegang tiket | **Video** | **Duration-based Access**, contohnya 30 hari | Tiket event, serta **Grant Buyer Access** untuk orang yang sudah membeli | Kopi Kampung Coffee Festival 2026 Recording | | Bola sepak pay-per-view atau perlawanan live | **Video**, **YouTube (Stream Player)**, tema **Football (Dark)** | **Scheduled Access** sekitar hari perlawanan; **Maximum Devices** 1 | Item payment form atau tiket event | Kopi Kampung Live Cupping Session | | Kandungan terima kasih khas untuk penderma | **Text** dengan `{name}` | **Immediate Access** | Item derma dengan **Enable Open Amount** | - | | Template dan aset reka bentuk | **File** (ZIP, PDF atau gambar, sehingga 10 fail) | **Immediate Access**; **Maximum Downloads** | Satu item untuk setiap pakej | - | | Jemputan group peribadi (Telegram, WhatsApp) | **Redirect URL** | **Immediate Access**; **Maximum Devices** 1 | Item keahlian | Kopi Kampung Brew Club Telegram | Panduan langkah demi langkah ialah [Cipta kandungan dilindungi](/ms/create-protected-content/) dan [Beri pembeli akses kepada kandungan dilindungi](/ms/protected-content-attach-to-products/). ## Contoh 1: kursus video Kopi Kampung menjual kursus video barista sebagai satu item pada payment form: 1. Cipta kandungan dilindungi **Kopi Kampung Barista Masterclass**: **Content Type** **Video**, **Video Type** **YouTube**, dan link pelajaran dalam **YouTube URL**. Lihat [Lindungi video](/ms/protected-content-video/). 2. Tetapkan **Access Type** kepada **Duration-based Access**, **Access Duration (Days)** kepada 365 dan **Maximum Devices** kepada 2. On-kan **Show on Receipt**. 3. Pada payment form **Kopi Kampung Digital Shop**, klik **More** pada item **Barista Masterclass (video course)** dan pilih kandungan itu dalam **Protected Content**. *(Screenshot: Payment form Kopi Kampung Digital Shop pada telefon, yang menyenaraikan masterclass, pas live cupping dan keahlian Brew Club)* Setiap pembeli mendapat akses selama setahun pada sehingga dua peranti pada satu masa, dikira dari hari mereka membayar. ## Contoh 2: sesi live pay-per-view Sesi live cupping dijual sebagai pas dan di-stream dari YouTube: 1. Cipta **Kopi Kampung Live Cupping Session** dengan **Video Type** **YouTube (Stream Player)** dan **Stream Page Theme** **Broadcast (Dark)**. Untuk perlawanan, pilih **Football (Dark)**. Lihat [Tema page stream](/ms/ppv-stream-themes/). 2. Tambah **Ad/Break Video** untuk waktu rehat separuh masa atau gangguan teknikal. Lihat [Kawal live stream](/ms/ppv-live-control/). 3. Tetapkan **Access Type** kepada **Scheduled Access**, dari hari stream hingga tamat tempoh tayangan semula, dan **Maximum Devices** kepada 1 supaya satu pas untuk satu skrin. 4. Pautkan pada item **Live Cupping Session pass**. ## Contoh 3: rakaman untuk pemegang tiket terdahulu Selepas Kopi Kampung Coffee Festival 2026, penganjur berkongsi rakaman pentas utama dengan semua yang membeli tiket: 1. Cipta **Kopi Kampung Coffee Festival 2026 Recording** sebagai **Video** dengan **Duration-based Access** selama 30 hari. 2. Dalam event itu, klik **Edit** pada setiap jenis tiket (Early Bird, Normal, VIP) dan pilih rakaman itu dalam **Protected Content**. 3. Pada page **Customer Access** kandungan itu, klik **Actions** → **Grant Buyer Access**. Semua yang sudah membayar tiket mendapat akses, dan pembeli akan datang mendapatnya secara automatik. Keahlian Kopi Kampung Brew Club berfungsi dengan cara yang sama, dengan dua kandungan pada satu item: nota alu-aluan **Text** dengan kod ahli, dan **Redirect URL** ke group peribadi. *(Screenshot: Senarai Protected Content dengan contoh-contoh Kopi Kampung serta lencana jenis dan akses masing-masing)* ## Tips Beberapa perkara membuat resipi ini lebih berkesan: - **Letakkan kursus dan lembaran kerjanya pada satu item.** Satu item boleh membuka beberapa kandungan, dan resit menyenaraikan setiap satu sebagai butang tersendiri. - **Guna Duration-based Access untuk apa-apa yang anda kemas kini.** Scheduled Access tamat pada tarikh yang sama untuk semua orang, manakala akses berdasarkan tempoh memberi setiap pembeli bilangan hari yang sama dari tarikh pembelian mereka sendiri. - **Tetapkan Maximum Devices yang rendah untuk live stream.** Satu pas pada satu peranti menghalang satu tiket ditonton pada banyak skrin serentak. - **Menghantar fail melalui e-mel lebih mudah tetapi terbuka.** Jika perkongsian tidak menjadi masalah, [link muat turun](/ms/sell-digital-products/) biasa tidak memerlukan add-on. ## Isu biasa ### Saya mahu jual kelas video dan beberapa fail PDF, dan saya tidak mahu orang berkongsi link. Bagaimana? Cipta satu kandungan dilindungi untuk video dan satu untuk fail, kemudian pautkan kedua-duanya pada item yang anda jual. Setiap pembeli mendapat link sendiri yang hanya dibuka dengan kod sekali guna yang dihantar kepada mereka. ### Saya baru sediakan kandungan dilindungi. Bagaimana orang yang membeli lebih awal mendapat akses? Buka kandungan itu, pergi ke Customer Access, klik Actions dan pilih Grant Buyer Access. BCL memberi akses kepada setiap pembeli yang sudah membayar untuk item atau tiket yang dipautkan, dan melangkau sesiapa yang sudah ada akses. ### Boleh saya beri kandungan berbeza untuk jenis tiket yang berbeza? Boleh. Kandungan dilindungi dipautkan mengikut item dan mengikut jenis tiket, jadi tiket VIP boleh membuka lebih banyak kandungan daripada tiket Normal. --- # Create protected content > Add a video, text, file or private link under Protected Content, choose who can open it and for how long, then check it with Preview. > > Source: https://docs.bcl.my/create-protected-content/ Each piece of protected content is one thing a buyer can open: a video, a text, a set of files or a private link. You create it once, then link it to the items or tickets that unlock it. You need the **OTP-Protected Content** add-on. ## Create the content Have your video link, text, files or destination link ready. Then: 1. In the sidebar, click **Protected Content**. *(Screenshot: The BCL sidebar with Protected Content highlighted)* 2. Click **New Content**. *(Screenshot: The Protected Contents page with the New Content button highlighted)* 3. Under **Basic Information**, fill in **Title**, up to 100 characters. Add a **Description** if you like: buyers see it above the content. Click **Variables** to add the buyer's name, order number or access dates. *(Screenshot: Basic Information with the Title and Description fields highlighted)* 4. On the **Content Settings** tab, choose a **Content Type** and add the content. Each type has its own guide: | Content Type | What you add | Guide | |---|---|---| | **Video** | A YouTube, Vimeo or Facebook link, or an embed code | [Protect a video](/protected-content-video/) | | **Text** | Rich text written in BCL | [Protect text content](/protected-content-text/) | | **File** | Up to 10 files, 5MB each | [Protect files](/protected-content-files/) | | **Redirect URL** | The link buyers are sent to | [Send buyers to a private link](/protected-content-redirect/) | *(Screenshot: The Content Settings tab with Content Type set to Video)* 5. Under **Access Control**, choose the **Access Type** and set **Maximum Devices** (0 means unlimited). Turn on **Show on Receipt** so buyers see a button for the content on their receipt. See [Control who can open your content](/protected-content-access-control/). *(Screenshot: The Access Control section with Access Type and Show on Receipt highlighted)* 6. Click **Create Protected Content**. *(Screenshot: The Create Protected Content button at the top of the page)* The content appears in the list. Nobody has access yet: [link it to an item or ticket](/protected-content-attach-to-products/) next. ## Check it with Preview To see the page exactly as a buyer will, click **View** in the **Preview** column of the list, or **Preview** at the top of the content's edit page. Template variables such as `{name}` show as they are, because there is no buyer yet. *(Screenshot: The Protected Contents list with the Preview column highlighted)* ## Manage your content The list shows every content with its **Type**, **Access**, **Max Devices**, **Used In** (how many items and tickets unlock it) and **Total Access**. From it you can: | Action | How | |---|---| | Edit the content | Click **Edit** | | Turn it off for everyone | Switch off **Active**. Buyers see **Content Unavailable** until you turn it back on. | | Hide or show it on receipts | Use the **Show on Receipt** switch | | See the details and where it is used | Menu next to **Edit** → **View Details** | | See who has access | Menu next to **Edit** → **Customer Access**. See [Manage who has access](/protected-content-customers/). | | Get the Access Finder link | Menu next to **Edit** → **Access Link** | | Copy it | Menu next to **Edit** → **Duplicate** | Use the **All**, **Video**, **Text**, **File** and **Redirect** tabs, or **Filter**, to narrow the list. ## Tips Two habits save trouble later: - **Name content for the buyer, not for you.** The title is the button label on the receipt and the heading of the content page. If you want a different name in the access email, set **Email Item Name** on the **Additional Settings** tab. - **Switch off Active instead of deleting.** Buyers keep their access and their links, and everything works again the moment you switch it back on. ## Common issues ### I created the content but my buyer cannot see it. What did I miss? Creating the content does not give anyone access. Link it to a payment form item or an event ticket (see Give buyers access (/protected-content-attach-to-products/)). Buyers who paid before you linked it need Grant Buyer Access. ### Why is my content missing from the Protected Content list on the item? The item's Protected Content field only lists content that is Active. Turn on Active on the content, or its switch in the Active column of the list. ### Can I copy a content to make a similar one? Yes. In the list, open the menu next to Edit and click Duplicate. The copy is named with (Copy), starts inactive, and is not linked to any item or ticket. --- # Cipta kandungan dilindungi > Tambah video, teks, fail atau link peribadi dalam Protected Content, pilih siapa boleh membukanya dan berapa lama, kemudian semak dengan Preview. > > Source: https://docs.bcl.my/ms/create-protected-content/ Setiap kandungan dilindungi ialah satu perkara yang pembeli boleh buka: video, teks, satu set fail atau link peribadi. Anda menciptanya sekali, kemudian pautkan pada item atau tiket yang membukanya. Anda memerlukan add-on **OTP-Protected Content**. ## Cipta kandungan Sediakan link video, teks, fail atau link destinasi anda. Kemudian: 1. Di sidebar, klik **Protected Content**. *(Screenshot: Sidebar BCL dengan Protected Content ditanda)* 2. Klik **New Content**. *(Screenshot: Page Protected Contents dengan butang New Content ditanda)* 3. Di bawah **Basic Information**, isi **Title**, sehingga 100 aksara. Tambah **Description** jika mahu: pembeli nampak description ini di atas kandungan. Klik **Variables** untuk menambah nama pembeli, nombor pesanan atau tarikh akses. *(Screenshot: Basic Information dengan ruangan Title dan Description ditanda)* 4. Pada tab **Content Settings**, pilih **Content Type** dan tambah kandungan itu. Setiap jenis ada panduannya sendiri: | Content Type | Apa yang anda tambah | Panduan | |---|---|---| | **Video** | Link YouTube, Vimeo atau Facebook, atau kod embed | [Lindungi video](/ms/protected-content-video/) | | **Text** | Teks berformat yang ditulis dalam BCL | [Lindungi kandungan teks](/ms/protected-content-text/) | | **File** | Sehingga 10 fail, 5MB setiap satu | [Lindungi fail](/ms/protected-content-files/) | | **Redirect URL** | Link yang pembeli akan dihantar ke | [Hantar pembeli ke link peribadi](/ms/protected-content-redirect/) | *(Screenshot: Tab Content Settings dengan Content Type ditetapkan kepada Video)* 5. Di bawah **Access Control**, pilih **Access Type** dan tetapkan **Maximum Devices** (0 bermaksud tiada had). On-kan **Show on Receipt** supaya pembeli nampak butang untuk kandungan itu pada resit mereka. Lihat [Kawal siapa boleh membuka kandungan anda](/ms/protected-content-access-control/). *(Screenshot: Bahagian Access Control dengan Access Type dan Show on Receipt ditanda)* 6. Klik **Create Protected Content**. *(Screenshot: Butang Create Protected Content di bahagian atas page)* Kandungan itu dipaparkan dalam senarai. Belum ada sesiapa yang ada akses: seterusnya, [pautkan pada item atau tiket](/ms/protected-content-attach-to-products/). ## Semak dengan Preview Untuk melihat page itu sama seperti yang pembeli akan nampak, klik **View** dalam lajur **Preview** pada senarai, atau **Preview** di bahagian atas page edit kandungan itu. Template variable seperti `{name}` dipaparkan seperti asal, kerana belum ada pembeli. *(Screenshot: Senarai Protected Contents dengan lajur Preview ditanda)* ## Urus kandungan anda Senarai itu memaparkan setiap kandungan dengan **Type**, **Access**, **Max Devices**, **Used In** (berapa banyak item dan tiket yang membukanya) dan **Total Access**. Dari senarai itu anda boleh: | Tindakan | Caranya | |---|---| | Edit kandungan | Klik **Edit** | | Off-kan untuk semua orang | Off-kan **Active**. Pembeli nampak **Content Unavailable** sehingga anda on-kan semula. | | Sembunyikan atau paparkan pada resit | Guna suis **Show on Receipt** | | Lihat butiran dan di mana ia digunakan | Menu di sebelah **Edit** → **View Details** | | Lihat siapa yang ada akses | Menu di sebelah **Edit** → **Customer Access**. Lihat [Urus siapa yang ada akses](/ms/protected-content-customers/). | | Dapatkan link Access Finder | Menu di sebelah **Edit** → **Access Link** | | Copy kandungan | Menu di sebelah **Edit** → **Duplicate** | Guna tab **All**, **Video**, **Text**, **File** dan **Redirect**, atau **Filter**, untuk mengecilkan senarai itu. ## Tips Dua tabiat ini mengelakkan masalah kemudian: - **Namakan kandungan untuk pembeli, bukan untuk anda.** Tajuk itu menjadi label butang pada resit dan tajuk page kandungan. Jika anda mahu nama lain dalam e-mel akses, tetapkan **Email Item Name** pada tab **Additional Settings**. - **Off-kan Active dan bukan padam.** Pembeli kekal dengan akses dan link mereka, dan semuanya berfungsi semula sebaik sahaja anda on-kan semula. ## Isu biasa ### Saya sudah cipta kandungan itu tetapi pembeli saya tidak nampak. Apa yang saya terlepas? Mencipta kandungan tidak memberi akses kepada sesiapa. Pautkan kandungan itu pada item payment form atau tiket event (lihat Beri pembeli akses kepada kandungan dilindungi (/ms/protected-content-attach-to-products/)). Pembeli yang membayar sebelum anda memautkannya memerlukan Grant Buyer Access. ### Kenapa kandungan saya tiada dalam senarai Protected Content pada item itu? Ruangan Protected Content pada item hanya menyenaraikan kandungan yang Active. On-kan Active pada kandungan itu, atau suisnya dalam lajur Active pada senarai. ### Boleh saya copy satu kandungan untuk membuat kandungan yang serupa? Boleh. Dalam senarai, buka menu di sebelah Edit dan klik Duplicate. Salinan itu dinamakan dengan (Copy), bermula dalam keadaan tidak aktif, dan tidak dipautkan pada mana-mana item atau tiket. --- # Protect a video > Sell classes and recordings from YouTube, Vimeo, Facebook or your own player as protected videos that only paying buyers can watch. > > Source: https://docs.bcl.my/protected-content-video/ A protected video plays on a BCL page that only buyers can open after a one-time code. The video itself stays on YouTube, Vimeo or Facebook, or in any player you can embed. Use it for online classes, webinar recordings and members-only videos. ## Add the video Upload the video to your video host first and copy its link. Then: 1. Go to **Protected Content** and click **New Content**, or click **Edit** on an existing content. Fill in **Title**. 2. On the **Content Settings** tab, set **Content Type** to **Video**. 3. Choose a **Video Type** and paste the link: | Video Type | Paste | Example | |---|---|---| | **YouTube** | **YouTube URL**: a watch, youtu.be, live or shorts link | `https://www.youtube.com/watch?v=...` | | **Vimeo** | **Vimeo URL** | `https://vimeo.com/123456789` | | **Facebook** | **Facebook Video URL** | `https://www.facebook.com/username/videos/123456789` | | **Embed Code** | The iframe or script code from any video host | `