返回

VibeFox iPay88 for PrestaShop — 帮助

系统要求

PrestaShop:8.0 至 9.x。

PHP:8.0 或更高版本。模块拒绝在更低版本的 PHP 上安装。

iPay88 商户账户:Merchant Code 和 Merchant Key 在您的商户账户激活后由 iPay88 发放,也会显示在 iPay88 商户后台。如果您还不是商户,请在 iPay88 网站申请。请妥善保管 Merchant Key:它用于签名付款。iPay88 没有独立的沙盒环境,因此不提供测试密钥。

Request URL:您的网站地址必须已在 iPay88 登记为 Request URL。否则 iPay88 页面会显示 "Permission not allow"。

货币:Malaysia — MYR,若您的 iPay88 账户已启用多货币选项,还可使用 USD、SGD、AUD、CAD、EUR、GBP、HKD、CNY、TWD、INR、IDR、PHP 或 THB;Philippines — PHP 或 USD;Indonesia — IDR;Thailand — THB。如果购物车货币无法在您所在地区收款,结账时将隐藏付款方式。

VibeFox 许可证密钥:在 vibefox.net 购买。一个密钥只能用于一个域名。

安装

1. 在后台进入 Modules > Module Manager,点击 Upload a module。选择模块的 ZIP 文件。

2. 上传完成后,点击 Configure;或之后在模块列表中找到 VibeFox iPay88 Payment,点击 Configure。

3. 在 Configure 页面顶部的许可证区块中,将您的 VibeFox 许可证密钥输入 License key 并点击 Activate(参见许可证密钥)。

4. 选择您的 iPay88 region,填写 Merchant Code 和 Merchant Key,开启 Enable/Disable,然后点击 Save。

5. 要检查设置,请在开启 Test mode 的情况下完成一笔付款,然后关闭测试模式。

安装时,模块会创建两个订单状态:Awaiting iPay88 payment 和 iPay88 payment on hold。PrestaShop 会为所有货币、国家和客户群组启用新的支付模块。您可以在 Payment > Preferences 中加以限制。安装模块后再启用的国家,也必须在该处为此模块勾选,否则该国家的顾客将看不到 iPay88。每次付款都会发送响应 URL 和后台 URL。

配置

所有设置都在模块页面中:Modules > Module Manager > VibeFox iPay88 Payment > Configure。每个 Save 按钮都会保存整个页面。在字段上方,页面会显示以下内容:缺少密钥时显示 请输入 iPay88 的 Merchant Code 和 Merchant Key——在此之前,结账时不会显示该付款方式。;若店铺的默认货币无法在所选地区收款,则显示警告(此时结账时会隐藏该付款方式);测试模式开启时显示警告。

iPay88

Enable/Disable:Enable iPay88 Payment Gateway 用于开启或关闭该付款方式。默认:关闭。

Title:顾客在结账时看到的付款方式名称。它也是订单中保存的付款方式名称。默认:iPay88。

Description:结账时显示在付款方式下方的文字。默认:Pay securely via iPay88 (credit card, online banking, e-wallet)。

iPay88 账户

iPay88 region:您的 iPay88 商户账户所属国家。它决定 iPay88 付款页面以及可收取的货币。订单始终以其自身货币收款。默认:Malaysia。

Malaysia (payment.ipay88.com.my):MYR,若账户已启用多货币,还包括"系统要求"中列出的其他货币。
Philippines (payment.ipay88.com.ph):PHP、USD。
Indonesia (payment.ipay88.co.id):IDR,以无小数位的形式发送。
Thailand (payment.ipay88.co.th):THB。

Merchant Code:您的 iPay88 Merchant Code,例如 M01234。

Merchant Key:您的 iPay88 Merchant Key。它用于签名付款请求,并验证 iPay88 的响应。请妥善保密。已保存的密钥不会再次显示:该字段保持为空,并显示 已保存——留空即可保留。只有在需要更改时才输入新值。密钥会按输入的原样保存,包括引号和反斜杠。

Clear saved secret:勾选 Merchant Key 并点击 Save,即可删除已保存的密钥。字段留空则保留已保存的值。

Signature type:付款请求的签名方式。响应会按两种格式验证,因此在切换之前发起的付款仍可验证。

SHA256 (recommended):iPay88 当前规范(默认)。
SHA1 (legacy):仅当 iPay88 要求您使用旧版签名时才选择。

付款

Payment method:从 Malaysia 的 PaymentId 列表中预选一种 iPay88 付款方式,或保留 Let the customer choose on the iPay88 page(默认)。列表包括 Credit Card (MYR)、FPX (Online Banking)、Maybank2U、Alliance Online、AmBank、RHB Bank、Hong Leong Bank、CIMB Clicks、Web Cash、PayPal (MYR)、Credit Card (PHP)、Boost、Touch n Go eWallet、GrabPay 和 ShopeePay。

Reference prefix:可选。它会添加在 iPay88 参考号(RefNo)中购物车编号的前面,例如 SHOP1-。在使用同一 iPay88 账户的每家店铺中设置不同的前缀,这样一家店铺的响应就不会被应用到另一家店铺的购物车上。可使用字母、数字、"-" 和 "_",最多 10 个字符。保存时会删除其他字符;以数字结尾的前缀会在末尾加上 "-",因为购物车编号是从 RefNo 的末尾读取的。保存后,页面会显示已保存的值。如果您使用同一 iPay88 账户从 WooCommerce 迁移到 PrestaShop,请设置前缀,以确保新的参考号不会重复旧的订单号。

Test mode:Charge a fixed test amount instead of the order total。iPay88 没有独立的沙盒环境:测试付款是在 iPay88 正式付款页面上以小额金额进行的真实交易(1.00;IDR 10,000)。收到测试金额后订单即标记为已付款,订单备注中会说明这一点。测试模式开启期间,结账页面会显示 TEST MODE: only a test amount of ... will be charged. 在测试模式下发起的付款,即使您在 iPay88 响应前关闭测试模式,也始终按测试金额进行核对。切勿在正式店铺中保持测试模式开启。默认:关闭。

响应 URL 和后台 URL

模块会在每次付款时发送这两个 URL,因此无需配置。如果 iPay88 要求提供,请从本节复制。使用友好 URL 时,它们的形式如下:https://your-shop/module/wcp_ipay88_payment/response(Response URL,顾客返回)和 https://your-shop/module/wcp_ipay88_payment/backend(Backend URL,服务器对服务器的通知),可能还带有语言代码,例如 /en/。本节还会显示您的网站地址,该地址必须已在 iPay88 登记为 Request URL。

iPay88 的两种响应都以相同方式检查:必填字段、使用您的 Merchant Key 生成的签名,以及本店铺为该购物车发起的付款的参考号。签名无效的响应会被拒绝,且绝不会更改购物车或订单。后台通知只有在处理完成后才会返回 RECEIVEOK,否则 iPay88 会重新发送。即使店铺处于维护模式,它也能正常工作,且不受店铺国家限制的影响。iPay88 会报告以下付款状态:

1 (success):付款已完成。在核对金额和货币后,订单将以已付款状态创建。
6 (pending):付款仍在等待中,例如 ATM 或虚拟账户转账。订单将以 Awaiting iPay88 payment 状态创建,直至 iPay88 确认或使其失败。
Any other status:付款失败或已取消。不会创建订单,并向顾客显示 iPay88 给出的原因。

高级

Debug log:将付款请求和 iPay88 响应记录到模块文件夹中的 logs/ipay88_p_debug.log.php。该文件无法通过网页打开。不会记录个人数据、Merchant Key 或签名。错误和警告始终会被记录,即使开关已关闭。默认:关闭。

Log:显示日志的大小和最新条目。点击 Clear log 可清空日志。

Delete data on uninstall:卸载模块时删除设置、日志和 iPay88 付款数据。订单和订单状态永远不会被删除。默认:关闭。

结账

在付款步骤中,顾客选择付款方式(默认为 iPay88)并确认。在表单发送到您所在地区的 iPay88 付款页面期间,下一页会显示 Redirecting to iPay88 payment gateway... 和 Please do not close this window.。在未启用 JavaScript 的情况下,顾客需点击 Pay Now。此时尚未创建订单。模块会以购物车货币传递购物车总额(测试模式下为测试金额)、商品名称,以及顾客的姓名、电子邮件和电话。在 iPay88 页面上,顾客可使用银行卡、FPX 网上银行、电子钱包或您的账户提供的其他方式付款。

只有 iPay88 通过已签名的响应(无论是在顾客返回时还是通过后台通知)确认后,订单才会标记为已付款。付款成功后,订单被创建,顾客会看到标准的订单确认页面,并显示 Your iPay88 payment has been received. 对于待处理的付款,页面显示 Your payment is pending confirmation from iPay88. We will update your order as soon as the payment is confirmed. 对于处于保留状态的订单,页面显示 We have received a payment notification from iPay88 and are reviewing it. We will contact you if anything is needed. 如果订单处于 Payment error 状态或已被取消,页面显示 The payment was not completed. Please contact us.

如果确认正由后台通知同时处理,顾客会看到 We have not received the payment confirmation from iPay88 yet. If you completed the payment, your order will be updated shortly.,并附带 Check again 和 Back to checkout 按钮。

如果付款失败或被取消,不会创建订单,购物车会被保留。顾客将返回结账页面,并显示 The payment was not completed: 及 iPay88 给出的原因,随后显示 You can try again or choose another payment method. 同一购物车的每次尝试都使用相同的 RefNo。如果无法验证响应,顾客会看到 The payment response could not be verified. If you completed the payment, please contact us with your order number — the payment will be checked manually. 以及一个 Return to the store 按钮。

如果无法发起付款,顾客将返回结账页面,并显示 This payment method is temporarily unavailable. Please choose another payment method.(缺少密钥或总额为零),或 iPay88 cannot accept payments in ... Please choose another payment method.(该地区无法收取此货币)。如果购物车已有订单(已付款或正在等待待处理的付款),则不会生成第二个付款表单,顾客会被转至订单确认页面。

模块仅支持一次性付款。不支持通过 PrestaShop 退款、保存银行卡、订阅、预授权与扣款,也不支持您网站上的银行卡输入框。它不会就付款状态重新查询 iPay88:订单仅通过 iPay88 响应和后台通知进行更新。

订单

Order statuses

No order yet:顾客已被转至 iPay88,但尚未收到任何结果,或付款失败。此时只存在购物车。

Payment accepted:iPay88 报告付款成功,且金额和货币与预期一致。付款会以 iPay88 的 TransId 作为交易 ID 记录。一条私有备注会显示 TransID、PaymentID、金额和货币。在测试模式下,第二条备注会说明已收取的是测试金额,而非订单总额。

Awaiting iPay88 payment:iPay88 报告付款为待处理。iPay88 确认后,订单转为 Payment accepted;若付款失败,则转为 Payment error。

Payment error:一笔待处理的付款随后失败。备注会显示 iPay88 给出的原因。此购物车已有订单,因此顾客无法再次付款,而是需要下一个新订单。

iPay88 payment on hold:iPay88 报告了一笔成功的付款,但其金额或货币与订单不符;或付款是在订单取消之后到达的。订单未被标记为已付款。备注对此作了说明。请在 iPay88 后台核实该付款,然后处理订单或退款。

已付款或已退款的订单绝不会因后续响应而改变。如果该订单又收到一笔成功的付款,备注会提醒您在 iPay88 后台核实,若属重复付款则予以退款。失败的响应绝不会改变已付款、已退款或已取消的订单。重复的响应不会带来任何新变化。

iPay88 付款区块

订单页面会显示一个 iPay88 payment 区块,包含 RefNo、TransId、状态、请求金额、收到金额、PaymentId、AuthCode、错误信息和地区,并在测试付款上显示 TEST MODE 标记。

退款

退款不会通过 PrestaShop 发送到 iPay88。请在 iPay88 商户后台退款,然后在 PrestaShop 中手动记录该退款。

许可证密钥

本模块需要一个来自 vibefox.net 的 VibeFox 许可证密钥。模块 Configure 页面顶部的许可证区块 License — VibeFox iPay88 Payment 位于 Modules > Module Manager > VibeFox iPay88 Payment > Configure 中、设置上方,是第一个区块。请将密钥输入 License key 并点击 Activate。之后,该区块会显示被遮挡的密钥、状态(例如许可证有效期截止日期和您的域名),以及以下按钮:Check now(重新检查状态)、Change key(输入其他密钥)和 Remove key(从本店铺中移除密钥)。下方显示 Product: presta-payment-ipay88 一行,以及 Manage licenses and domains in your account 链接,可打开您的 vibefox.net 账户。只有拥有该模块 Configure 权限的员工可以更改密钥。该区块的文字跟随后台语言显示(包含英文和俄文)。

如果密钥未被接受,该区块会说明原因,例如 Key not found、This key belongs to another product、Domain limit reached,或 License expired on 加日期。店铺地址更改后,或在您的账户中释放了一个域名名额后,请点击 Check now。如果无法连接许可证服务器,模块会继续使用上一次已知的状态运行。

一个密钥只能用于一个域名:主店铺的域名,多店铺设置中也是如此。从店铺中移除密钥不会释放其域名名额。请在您的 vibefox.net 账户中释放该名额。

没有有效密钥时,结账时不会向顾客显示 iPay88。如果仍然启动了付款,顾客会看到 This payment method is not available. Please choose another one. PrestaShop 前台无法知道您已登录后台,因此付款方式对您也会被隐藏:您可以在购买密钥之前设置模块,但无法在结账时测试。Modules > Module Manager 的 Alerts 选项卡中会出现提醒。现有订单不受影响:已发起的付款仍会得到确认。

许可证到期后,模块仍会继续运行,但更新和支持需要续费。在您使用后台期间,状态会自动重新检查:输入密钥后的前 14 天每天一次,之后每周一次。无需设置计划任务(cron job)。卸载或重置模块时,始终会删除许可证密钥和许可证状态。

故障排除

结账时不显示 iPay88:请检查许可证是否有效、Enable/Disable 是否已开启、Merchant Code 和 Merchant Key 是否已填写,以及购物车货币能否在所选的 iPay88 region 收款。设置页面在缺少某项内容时会显示警告。在 Payment > Preferences 中,请检查该模块是否允许用于购物车货币、顾客所在国家和顾客所属群组。

付款已成功,但未创建订单:顾客返回和后台通知都没有以有效签名到达您的店铺。请查看 Log 字段:错误始终会被记录。请检查 Merchant Key 是否与 iPay88 提供的完全一致,并检查您的服务器是否接受发送到设置中所示 Backend URL 的 iPay88 请求。

iPay88 页面显示 "Permission not allow":您的网站地址未在 iPay88 登记为 Request URL。请让 iPay88 登记 Response and backend URLs 一节中显示的地址。

后台通知返回 BAD SIGNATURE:签名与 Merchant Key 不匹配。请检查 Merchant Key。没有任何内容被更改。

后台通知返回 NOT CONFIGURED:未设置 Merchant Code 或 Merchant Key,因此无法验证响应。iPay88 会重新发送通知。

后台通知返回 UNKNOWN ORDER:该店铺中没有为此参考号发起任何 iPay88 付款,例如因为使用同一账户的其他店铺未设置 Reference prefix,或设置了相同的前缀,或卸载时删除了 iPay88 付款数据。

后台通知返回 RETRY:购物车当时正由顾客返回操作进行确认,或订单无法创建(例如模块已被禁用)。iPay88 会重新发送通知。

后台 URL 在浏览器中显示 BAD REQUEST:这是正常现象。该 URL 只接受来自 iPay88 的已签名请求。

订单处于 iPay88 payment on hold 状态:iPay88 报告的付款与订单不符,或订单已被取消。请查看订单备注及 iPay88 后台中的付款,然后完成订单或退款。

顾客看到 "iPay88 cannot accept payments in" 后跟某种货币:购物车货币无法在所选地区收款。在 iPay88 Malaysia,非 MYR 的货币还需要在您的 iPay88 账户中启用多货币选项。

真实顾客只被收取 1.00:Test mode 已开启。请将其关闭。

卸载

进入 Modules > Module Manager,打开 VibeFox iPay88 Payment 旁边的菜单,然后选择 Uninstall。本模块的许可证密钥和许可证状态始终会被删除。确认信息会说明:除非启用了 Delete data on uninstall,否则设置和 iPay88 付款数据将被保留。如果已启用,则会删除设置、日志和 iPay88 付款数据。如果未启用,则全部保留,以便日后重新安装。Awaiting iPay88 payment 和 iPay88 payment on hold 订单状态始终会被保留。订单永远不会被删除,并会保留其付款备注和交易 ID。

iPay88 是其各自所有者的商标。本模块与 iPay88 无关联,也未获得 iPay88 的认可。