You need to enable JavaScript to run this app.
优惠活动
大模型
产品
解决方案
定价
更多

如何为网站接入Coinbase Base支付系统?求Laravel站点Coinbase Commerce API文档

如何将Coinbase Base作为支付系统接入网站?
  • 基础准备:注册Coinbase开发者账号,在Coinbase Commerce后台开启Base链支付支持,获取API密钥和Webhook密钥。
  • 集成方案选择:
    • 快速集成:使用Coinbase Commerce托管支付页面,在后台创建支付会话或永久收款链接,直接将生成的按钮代码嵌入网站前端,用户点击后跳转至Coinbase支付页面完成交易,无需复杂开发。
    • 自定义链上集成:
      1. 前端展示Base链收款地址(可从Coinbase Commerce获取或通过钱包SDK生成)和待支付金额(转换为Base链兼容代币,如USDC)。
      2. 后端通过Base链区块浏览器API监听交易,确认指定地址收到足额代币且达到所需区块确认数后,更新订单状态。
  • 测试与上线:先用Base测试网(Base Goerli)模拟支付验证流程,无误后切换至主网;配置Webhook接收支付状态通知,确保订单状态实时同步。
在Laravel网站中添加Coinbase支付方式及Coinbase Commerce API说明

Laravel集成步骤

  1. 安装官方SDK:
    composer require coinbase/coinbase-commerce
    
  2. 配置.env文件:
    COINBASE_COMMERCE_API_KEY=你的_API密钥
    COINBASE_COMMERCE_WEBHOOK_SECRET=你的_Webhook密钥
    
  3. 创建支付会话:
    在控制器中生成Charge(支付会话),引导用户跳转至支付页面:
    use CoinbaseCommerce\ApiClient;
    use CoinbaseCommerce\Resources\Charge;
    
    public function createPayment(Request $request)
    {
        ApiClient::init(env('COINBASE_COMMERCE_API_KEY'));
        
        $chargeData = [
            'name' => '商品名称',
            'description' => '商品描述',
            'local_price' => [
                'amount' => '19.99',
                'currency' => 'USD'
            ],
            'pricing_type' => 'fixed_price',
            'metadata' => [
                'order_id' => $request->order_id
            ]
        ];
        
        $charge = Charge::create($chargeData);
        return redirect()->to($charge->hosted_url);
    }
    
  4. 处理Webhook通知:
    创建路由和控制器方法,验证签名并更新订单状态:
    use CoinbaseCommerce\Webhook;
    
    public function handleWebhook(Request $request)
    {
        $payload = $request->getContent();
        $signature = $request->header('X-Cc-Webhook-Signature');
        $secret = env('COINBASE_COMMERCE_WEBHOOK_SECRET');
    
        try {
            $event = Webhook::constructEvent($payload, $signature, $secret);
            
            if ($event->type === 'charge:completed') {
                $orderId = $event->data->metadata->order_id;
                // 此处编写更新订单为已支付的逻辑
            }
            
            return response()->json(['status' => 'ok']);
        } catch (\Exception $e) {
            return response()->json(['status' => 'error'], 400);
        }
    }
    

Coinbase Commerce API核心内容

  • 核心资源:
    • Charge:单次支付会话,用于创建临时支付链接;
    • Checkout:永久收款链接,适用于固定商品/服务;
    • Event:支付状态变更事件,通过Webhook推送。
  • 认证:请求头携带Authorization: Bearer {API_KEY}进行身份验证。
  • 支付网络:支持Base链、以太坊、比特币等多条公链,可在后台配置启用。
  • 事件类型:主要包括charge:created(支付会话创建)、charge:completed(支付完成)、charge:failed(支付失败),用于实时同步订单状态。
  • 测试模式:开启测试模式后,可使用测试API密钥模拟支付,无需真实代币。

内容的提问来源于stack exchange,提问作者Khandokar Nafis Jaman

相关产品推荐
方舟 Agent Plan

超全模态模型 × Harness 升级,最新支持 Deepseek-V4.1-Flash、GLM-5.3 系列、Doubao-Seedream-5.0-pro、Kimi-K3 (部分), 限时 9.9 元起

最近更新时间:2026.08.21 09:24:22