# 在WHMCS接受Bayarcash付款

> 在WHMCS安装Bayarcash支付网关模块，添加你的key，设置cron job，也可以把手续费加到发票上。
>
> Source: https://docs.bayarcash.com/zh/whmcs/

WHMCS的Bayarcash模块让你的客户通过Bayarcash支付发票。它只接受MYR发票。这份指南介绍支付网关、cron job，以及可选的手续费add-on。

## 开始之前

你需要准备好：

- 已获批准的Bayarcash商家账号，并已开启你要用的付款渠道。
- 你的**Personal Access Token (PAT)**、**Portal Key**和**API Secret Key**。请参阅[找到你的API key](/zh/api-keys/)和[Portal](/zh/portals/)。
- WHMCS的管理员权限，以及服务器文件或cron设置的访问权限。

## 安装模块

从[WHMCS Marketplace](https://marketplace.whmcs.com/product/7531-bayarcash)下载模块。然后：

1. 解压文件。确认里面有**modules**文件夹，文件夹里有**addons**和**gateways**。
2. 把**modules**文件夹上传到你的WHMCS安装文件夹，让文件和原有的文件合并。
3. 在WHMCS管理后台，前往**System Settings** → **Payment Gateways**。
4. 打开**All Payment Gateways**标签页，找到**Bayarcash**并启用它。

## 添加key并选择渠道

在Bayarcash设置里，填写这些栏位：

| 栏位 | 填写什么 |
|---|---|
| **Personal Access Token (PAT)** | 你的Bayarcash token。 |
| **Portal Key** | 接收这些付款的portal。 |
| **API Secret Key** | 你的secret key。不要告诉别人。 |
| **Sandbox Mode** | 只在测试时开启，并使用sandbox key。 |
| **Payment Information** | 显示在发票页面的文字。 |
| **Successful Payment**和**Unsuccessful Payment** | 客户付款成功或失败后去到的页面：**Specific Invoice**、**List Invoice**或**Client Area**。 |
| **Payment Channels** | 要提供的渠道号码，用逗号分开。 |

完成后点击**Save Changes**。渠道号码如下：

| 号码 | 渠道 |
|---|---|
| 1 | FPX Online Banking |
| 4 | FPX Line of Credit (Credit Card Account) |
| 5 | DuitNow Online Banking/Wallets |
| 6 | DuitNow QR |
| 7 | SPayLater |
| 8 | Boost PayFlex |
| 9 | QRIS Indonesia Online Banking |
| 10 | QRIS Indonesia eWallet |
| 11 | NETS Singapore |

渠道必须先在你的Bayarcash账号开启，客户才能使用。请参阅[付款渠道](/zh/payment-channels/)。

## 设置cron job

Bayarcash需要一个每分钟检查待处理付款的cron job。请你的主机商添加以下cron job，并把whmcsdomain换成你的WHMCS域名：

```
* * * * * wget -q -O /dev/null 'https://whmcsdomain/modules/gateways/bayarcash/bayarcash_cron.php?job=requery'
```

## 把手续费加到发票上（可选）

如果你想让客户承担付款手续费，可以使用**Bayarcash Gateway Fees** add-on。它会按客户选择的渠道，在发票上添加一行手续费。设置步骤：

1. 前往**System Settings** → **Addon Modules**。
2. 找到**Bayarcash Gateway Fees**，点击**Activate**，然后点击**Configure**。
3. 在**Access Control**下，勾选**Full Administrator**，然后保存。
4. 打开**Addons** → **Bayarcash Gateway Fees**。
5. 为每个渠道设置<strong>Flat Price (RM)</strong>和**Percentage Fee (%)**，然后点击**Save All Settings**。

这个add-on一开始用的是示例数值，所以保存之前，请对照你和Bayarcash的协议检查金额。

## 小贴士

- **先用Sandbox Mode测试**。使用sandbox key，支付一张测试发票，然后换成正式key，并关闭Sandbox Mode。
- **让cron job一直运行**。如果它停了，客户可能已经付款，但他们的发票会一直显示未付款，直到你去检查。

## 常见问题

### 我的客户看到信息说Bayarcash只接受MYR付款，为什么？

这张发票用的是其他货币。Bayarcash只接受MYR，所以请用马币开发票。

### 客户已经付款，但发票还是未付款，为什么？

检查requery cron job是否每分钟运行，以及你的Personal Access Token、Portal Key和API Secret Key是否正确。待处理的付款由这个cron job更新。

### 客户选择渠道后看到“An error occurred. Please try again later.”，为什么？

检查Bayarcash支付网关设置里的key。只有在使用sandbox key时，才开启Sandbox Mode。
