Laravel 收银桨简单收费结账 id 问题

问题描述 投票:0回答:1
  • 收银桨版本:1.0@beta
  • Laravel 版本:7.0
  • PHP版本:7.2.5

我正在为我的 Laravel 7 项目之一使用 Cashier-Paddle。我正在尝试对客户收取“一次性”费用(简单费用)。我已按照官方文档将该包集成到我的项目中,但我遇到了这个问题“简单收费结帐 ID 必须是有效的结帐 ID ”。这是我已经完成的步骤。

  • 使用composer安装了官方的laravel cashier-paddle包 需要 laravel/收银桨

  • 发布了必要的迁移并在我的上添加了必要的 API 密钥 环境文件

  • 在5月主布局刀片文件中添加了@paddlejs并更新了 verifyCsrfToken 中间件,因此它除了路由 paddle/*

  • 向用户模型添加了 Billable 特征 配置了 webhook 路线和控制器

    // Route example
    Route::post('paddle/webhook','WebhookController@handleWebhook')->name('cashier.webhook')
    
    // WebhookController
    namespace App\Http\Controllers;
    use Illuminate\Http\Request;
    use Laravel\Paddle\Http\Controllers\WebhookController as CashierController;
    
    class WebhookController extends CashierController
    {
        public function handleWebhook(Request $request)
        {
    
            logger('I can reach here!');
        }
    
        public function handlePaymentSucceeded($payload)
        {
    
        }
    }
    
  • 使用我的控制器生成了付费链接变量。

    // paylink variable from controller
    $payLink = auth()->user()->charge(12.99, 'Test Product Title');
    
  • 终于在桨按钮 Blade 组件上使用了变量

    // Blade file
    <x-paddle-button :url="$payLink" class="px-8 py-4">
        Buy
    </x-paddle-button>
    

注意: 简单的充电不起作用,但特定产品的充电工作正常。例如,这个 auth()->user()->chargeProduct(619859) 工作正常。

这些是我在 Laravel 应用程序上集成 paddle simple chare 时已经遵循的步骤。希望这些信息可以对您有所帮助。如果我做错了什么或错过了任何步骤,请告诉我。如果有人能帮助我解决这个问题,我将非常感激。预先感谢。

laravel payment-gateway laravel-cashier paddle
1个回答
3
投票

感谢您访问该问题。经过一些研究后,我解决了这个问题。一切都很好。只需要在 charge 方法中指定 webhook URL 即可。我认为 laravel 文档中没有提到这一点。我发布答案,以便任何人将来都可以找到解决方案。

// paylink variable from controller
$payLink = auth()->user()->charge($total, 'Product Title', [
   'webhook_url' => 'webhook URL here',

]);
© www.soinside.com 2019 - 2024. All rights reserved.