WooCommerce 对接Antom支付:东南亚独立站收款完整教程

0 阅读2分钟

摘要:本文详细分享Antom支付通道的对接过程,包含签名算法、订单提交、异步通知、状态同步等核心技术点。


一、前言

做跨境电商如何收款是所有商家都需要关注的。自由度最高的是基于 WordPress 的外贸独立站,独立站建好以后需要对接收款通道。Antom是东南亚的支付通道,支持电子钱包聚合。下面分享对接过程。

Antom 插件设置 Antom 插件设置


二、支付流程

交易流程是指访问网站的客户从选择商品下单到支付成功的整个流程。

支付流程 支付流程

关键点


三、技术实现

3.1 签名算法

Antom采用 SHA256/RSA 加密方式(根据实际通道调整)。

// 生成签名函数
function buildSignature($params$signKey) {
    // 参数排序
    ksort($params);
    
    // 拼接参数字符串
    $signStr = http_build_query($params) . '&key=' . $signKey;
    
    // SHA256 签名
    return hash('sha256'$signStr);
}

// 验证签名
function verifySignature($params$signKey$sign) {
    $calculatedSign = buildSignature($params$signKey);
    return $calculatedSign === $sign;
}

3.2 订单提交

组织好官方需要的字段,通过 API 接口提交并获取结果。

class OrderSubmit {
    private $apiKey;
    private $gatewayUrl;
    
    public function submitOrder($orderData) {
        // 准备请求参数
        $params = [
            'merchant_id' => $this->merchantId,
            'order_id' => $orderData['order_id'],
            'amount' => $orderData['amount'],
            'currency' => $orderData['currency'],
            'notify_url' => $this->notifyUrl,
            'return_url' => $this->returnUrl,
        ];
        
        // 生成签名
        $params['sign'] = $this->buildSignature($params);
        
        // 发送请求
        $response = wp_remote_post($this->gatewayUrl, [
            'body' => $params,
            'timeout' => 30
        ]);
        
        return json_decode(wp_remote_retrieve_body($response), true);
    }
}

3.3 异步通知处理

在用户支付成功后,通道会主动发起支付成功的通知到网站。需要专门的函数来处理支付结果。

public function handleWebhook() {
    // 获取通知数据
    $notifyData = $_POST;
    
    // 验证签名
    if (!$this->verifySignature($notifyData)) {
        http_response_code(400);
        exit('Invalid signature');
    }
    
    // 检查支付状态
    if ($notifyData['status'] === 'success') {
        $orderId = $notifyData['order_id'];
        $order = wc_get_order($orderId);
        
        // 更新订单状态
        $order->payment_complete();
        $order->add_order_note('Antom payment successful');
        
        // 减少库存
        wc_reduce_stock_levels($orderId);
    }
    
    // 返回成功响应
    echo 'success';
    exit;
}

3.4 同步跳转

在网站处理支付成功的消息的同时,客户浏览器需要跳转到支付成功页面。

public function handleReturn() {
    $orderId = $_GET['order_id'];
    $order = wc_get_order($orderId);
    
    // 验证订单状态
    if ($order->get_status() === 'completed') {
        // 跳转到感谢页面
        wp_redirect($this->get_return_url($order));
    } else {
        // 跳转到购物车
        wp_redirect(wc_get_cart_url());
    }
    exit;
}

四、插件配置

插件安装通过 WordPress 的后台页面上传然后激活即可,设置也非常简单。

  1. 1. 进入 WooCommerce → 设置 → 支付

  2. 2. 启用 "Antom Payment"

  3. 3. 配置以下参数:

  • • Merchant ID: 商户 ID(从Antom后台获取)

  • • API Key: API 密钥

  • • Sign Key: 签名密钥

  • • 测试模式: 启用/禁用


五、常见问题

5.1 签名验证失败

原因

  • • 密钥配置错误

  • • 参数排序不正确

  • • 编码格式问题

解决方案

5.2 异步通知未收到

原因

  • • 回调 URL 配置错误

  • • 服务器防火墙拦截

  • • 订单状态异常

解决方案


六、总结

Antom 支付对接的核心在于:


七、插件源码

完整插件源码已开源到 GitHub:

👉 github.com/xwzy316/woo…

仓库包含:

  • • ✅ 完整支付插件源码示例

  • • ✅ 安装和配置说明

  • • ✅ 技术文档和 API 参考