# 把WooCommerce连接到Bayarcash

> 安装Bayarcash WC插件，为每个付款渠道输入key，接受FPX、DuitNow、卡、电子钱包和Direct Debit付款。
>
> Source: https://docs.bayarcash.com/zh/woocommerce/

**Bayarcash WC**插件把Bayarcash加入你的WooCommerce结账页面。每个Bayarcash付款渠道都是一个独立的WooCommerce付款方式，有自己的设置页面和key，所以你只需设置你要的渠道。

这个插件完全支持[WooCommerce Subscriptions](https://woocommerce.com/products/woocommerce-subscriptions/)产品。你的顾客可以用Direct Debit，直接从银行账户支付每一期续费。请看[订阅付款用Direct Debit](#订阅付款用direct-debit)。

## 支持的付款渠道

插件为每个渠道添加一个WooCommerce付款方式。你会在**WooCommerce** → **Settings** → **Payments**看到以下名称。在你修改之前，顾客在结账页面看到的是默认标题：

| WooCommerce中的付款方式 | 默认结账标题 | 顾客用什么付款 |
|---|---|---|
| **Bayarcash FPX** | Online Banking | FPX网上银行 |
| **Bayarcash DuitNow OBW** | Online Banking | DuitNow Online Banking/Wallets |
| **Bayarcash FPX Line of Credit** | FPX Line of Credit | 通过FPX使用信用卡账户 |
| **Bayarcash Credit & Debit Card** | Credit & Debit Card | Visa或Mastercard |
| **Bayarcash DuitNow QR** | DuitNow QR | 任何支持DuitNow QR的银行或电子钱包App |
| **Bayarcash Shopee Pay** | SPayLater / Shopee Pay | ShopeePay或SPayLater |
| **Bayarcash BNPL by Boost** | Boost PayFlex | Boost PayFlex |
| **Bayarcash Boost PayFlex** | Boost PayFlex | Boost PayFlex和Boost Wallet |
| **Bayarcash Touch 'n Go eWallet** | Touch 'n Go eWallet | Touch 'n Go eWallet |
| **Bayarcash GrabPay** | GrabPay | GrabPay |
| **Bayarcash Grab PayLater** | Grab PayLater | PayLater by Grab |
| **Bayarcash QRIS Online Banking** | Indonesia Online Banking | 印尼网上银行（QRIS） |
| **Bayarcash QRIS e-Wallet** | Indonesia e-Wallet | 印尼电子钱包（QRIS） |
| **Bayarcash NETS Singapore** | NETS Singapore | NETS（新加坡） |
| **Bayarcash Alipay** | Alipay | Alipay |
| **Bayarcash WeChat Pay** | WeChat Pay | WeChat Pay |
| **Bayarcash PromptPay Thailand** | PromptPay | PromptPay（泰国） |
| **Bayarcash Direct Debit** | Recurring Direct Debit | 每周或每月从银行账户扣款 |

**Bayarcash Direct Debit**只在WooCommerce Subscriptions启用时出现。渠道也必须在你的Bayarcash portal开启，才能使用。请看[付款渠道](/zh/payment-channels/)和[跨境付款渠道](/zh/cross-border-channels/)。

## 开始之前

设置插件之前，你需要准备以下几项：

- 已批准的Bayarcash商家账号。
- 你的**Personal Access Token (PAT)**、**API Secret Key**和**Portal Key**。请看[找到你的API key](/zh/api-keys/)。
- 已安装并启用的WooCommerce，商店币种设为马来西亚令吉（MYR）。
- 一个已上线并使用HTTPS的网站，让Bayarcash可以把付款结果发回给它。

## 安装插件

这个插件在WordPress.org免费提供，名称是[Bayarcash WooCommerce](https://wordpress.org/plugins/bayarcash-wc/)。安装方法：

1. 在WordPress中，前往**Plugins** → **Add New**。
2. 搜索**Bayarcash WC**，然后点击**Install**。
3. 点击**Activate**。

## 设置付款渠道

为每个你要提供的渠道重复以下步骤。每个渠道的设置页面都有下面所有栏位，各自分开填写。

1. 前往**WooCommerce** → **Settings** → **Payments**，打开你要的Bayarcash渠道，例如**Bayarcash FPX**。
   
2. 勾选**Enable/Disable**。
3. 收取真实付款时，不要勾选**Sandbox Mode**。请看下面的[在sandbox测试](#在sandbox测试)。
4. 可选：修改**Title**和**Description**，也就是顾客在结账页面看到的文字。
5. 在**Credentials**下，把你的token粘贴到**Personal Access Token (PAT)**。插件会检查它，并显示“PAT Token is valid”。你也可以点击**Verify Token**。
6. 在**Portal Key**选择你的portal。token有效后，列表才会出现选项。
7. 把你的key粘贴到**API Secret Key**。
8. 点击**Save changes**。
   

> **Tip**
> 已经设置好一个渠道？在下一个渠道，于**Copy Credentials**选择那个渠道，然后点击**Copy**。它会一次复制token、secret key、portal key和**Sandbox Mode**设置。

## 可选设置

每个渠道在**Miscellaneous**和**Additional Charges**下，还有以下设置：

| 设置 | 作用 |
|---|---|
| **Country Restrictions** | 只向来自某一个国家的顾客显示这个渠道。**Off**表示向所有人显示。 |
| **Email Fallback** | 当你的结账页面没有要求顾客填写电邮时，发送给Bayarcash的电邮。 |
| **Debug Mode** | 把更多细节写入WooCommerce日志（**WooCommerce** → **System Status** → **Logs**），方便排查问题。 |
| **Place Order Text** | 结账按钮的文字。`{total}`会显示购物车总额。 |
| **Logo Size Unit**和**Logo Size** | 结账页面上渠道logo的大小。 |
| **Enable Additional Charges** | 顾客用这个渠道付款时，在订单上加收手续费，用**Fee Name**、**Charge Type**和**Charge Amount**设置。 |

要把款项收进多于一个Bayarcash账号，请使用**WooCommerce** → **Settings**中的**Bayarcash Multi-Merchant**标签页。它会添加额外的FPX和DuitNow付款方式，每个都有自己的key。

## 在sandbox测试

收取真实付款之前，先在Bayarcash sandbox测试：

1. 从[sandbox商家后台](https://console.bayarcash-sandbox.com)取得token、secret key和portal key。正式环境的key在sandbox不能使用。
2. 在该渠道的设置页面，勾选**Sandbox Mode**，输入sandbox的key，然后点击**Save changes**。
3. 下一张测试订单并付款。
4. 测试成功后，取消勾选**Sandbox Mode**，输入你的正式key，然后再次保存。

Sandbox模式是按渠道设置的，所以请检查每个你测试过的渠道。

## 付款结果如何回传到你的网店

你不需要把callback URL粘贴到商家后台。插件会在每笔付款中发送自己的return和callback地址，也就是你网站上的`/?wc-api=bayarcash_callback`。付款结束时，Bayarcash会把结果发到这个地址，插件就会更新订单。插件也会定时重新检查未付款的订单。

如果付款成功后订单仍然是pending，请确认你的网站是公开的、使用HTTPS，而且没有防火墙、安全插件或维护模式阻挡`?wc-api=`地址。请看[Callback和checksum](/zh/callbacks-and-checksum/)。

## 订阅付款用Direct Debit

Bayarcash Direct Debit可以与WooCommerce Subscriptions一起使用。顾客只需签署一次e-Mandate，之后Bayarcash会从顾客的银行账户扣取每一期续费。

使用方法：

1. 安装并启用WooCommerce Subscriptions。
2. 像其他渠道一样，设置**Bayarcash Direct Debit**。
3. 创建每周或每月收费的订阅产品。其他收费周期会在结账时被拒绝。

结账时，顾客填写**Identification Type**和**Identification Number**，然后在银行批准e-Mandate。银行会从顾客的账户扣取一笔小额验证金额，订单备注会显示银行验证是否通过。一个购物车只能有一个订阅，不能有其他产品。

要了解什么时候扣款，以及如何跟进，请看[Direct Debit何时扣款](/zh/direct-debit-deduction-schedule/)和[查看你的Direct Debit交易](/zh/direct-debit-transactions/)。

## 小贴士

两个习惯让WooCommerce设置更顺利：

- **只设置你的portal可以接受的渠道**。没有为你的portal开启的渠道，会在设置中显示警告，并在结账时失败。
- **每个网店使用独立的portal**。每个网站有自己的portal，报告和payout（款项转入你的银行账户）对账起来更容易。

## 常见问题

### 我已经保存设置，但付款方式又被关闭了。为什么？

当Personal Access Token (PAT)、Portal Key或API Secret Key是空的，插件会关闭该渠道，并显示“Please enter portal key”、“Please enter Personal Access Token (PAT)”或“Please enter API secret key”。每个渠道都有自己的key，所以请在该渠道的设置页面填写全部三项，或使用Copy Credentials。

### 我遇到PAT错误：Verify Token显示“Invalid PAT Token”。哪里出错了？

token不正确，或它来自另一个环境。勾选Sandbox Mode时，请用sandbox商家后台的token。没有勾选时，请用正式商家后台的token。重新复制完整的token，前后不要有空格，然后点击Verify Token。请看找到你的API key (/zh/api-keys/)。

### 某个渠道显示警告，说它“is not enabled for this portal”。我该怎么做？

你选择的portal还不能接受这个渠道。请选择另一个portal，或请Bayarcash为这个portal开启该渠道。请看付款渠道 (/zh/payment-channels/)。

### 顾客在结账页面看到“This payment method only supports Malaysian Ringgit (MYR) currency.”

Bayarcash只接受MYR付款。请在WooCommerce的一般设置中，把商店币种设为马来西亚令吉（MYR）。

### 我无法取消Direct Debit订单。为什么？

插件会阻止取消，并显示“Direct Debit orders cannot be cancelled.”要停止之后的扣款，请改为取消订阅，或终止e-Mandate。请看修改或终止Direct Debit e-Mandate (/zh/direct-debit-maintenance-termination/)。
