用PHP实现马来西亚支付接口接入
PHP实现马来西亚支付接口接入指南
在马来西亚,常见的支付方式包括FPX(网上银行转账)、Boost、GrabPay、Touch ‘n Go eWallet等。下面我将提供一个通用的PHP实现框架,以帮助您接入这些支付网关。
1. 准备工作
在开始编码前,您需要:
- 注册商户账户并获取API密钥
- 了解所选支付网关的文档
- 准备SSL证书(大多数网关要求HTTPS)
2. FPX(网上银行)接口示例
<?php
class MaybankFPXPayment {
private $merchantCode;
private $apiKey;
private $endpoint = 'https://api.maybank2u.com/fpx';
public function __construct($merchantCode, $apiKey) {
$this->merchantCode = $merchantCode;
$this->apiKey = $apiKey;
}
/
* 创建FPX交易请求
*/
public function createTransaction($amount, $referenceId,
$customerEmail,
returnUrl, callbackUrl) {
// FPX通常需要以下参数
// amount - MYR金额 (如100.00)
if (!is_numeric($amount) || floatval($amount) <=0 ) {
throw new Exception("Invalid amount");
}
// API请求数据准备
$data = [
'merchant_code' => $this->merchantCode,
'reference_id' => $referenceId,
'amount' => number_format($amount, 2, '.', ''),
'customer_email' => $customerEmail,
'return_url' => $returnUrl,
'callback_url' => $callbackUrl,
// FPX特定参数
// ...其他必要字段...
];
// 生成签名
ksort($data);
$signatureString = implode('|', array_values($data));
$signature = hash_hmac('sha256', signatureString, this->apiKey);
3. Boost支付接口示例
```php
class BoostPayment {
private clientId;
private clientSecret;
private endpoint = https://api.boost.com.my';