问题描述
- Cashier Paddle版本:1.0@beta
- Laravel版本:7.0
- PHP版本:7.2.5
我在laravel 7项目之一中使用了收银台。我正在尝试对客户收取“一次性”费用(简单费用)。我已经按照官方文档将软件包集成到我的项目中,但是却遇到了以下问题:“ 简单收费,结帐ID必须是有效的结帐ID ”。这是我已经完成的步骤。
-
使用composer安装了官方的laravel Cashier-paddle软件包 需要laravel / cashier-paddle
-
发布了必要的迁移,并在我的计算机上添加了必要的API密钥 环保文件
-
在may master布局刀片文件中添加了@paddlejs并更新了 VerifyCsrfToken中间件,因此除了路由桨/ *
-
将“计费”特征添加到“用户模型”中。 路线和控制器
// 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变量。
// 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)运行正常。
这些是我已经遵循的将paddle简单字符集成到laravel应用程序中的步骤。希望这些信息对您有所帮助。让我知道我做错了什么或错过了任何步骤。如果有人能帮助我解决问题,我将非常感谢。预先感谢。
解决方法
每个人都感谢您访问该问题。经过研究后,我解决了这个问题。一切都很好。只需在charge方法中指定webhook URL。我认为laravel文档中没有提到它。我正在发布答案,以便任何人将来都能找到解决方案。
// paylink variable from controller
$payLink = auth()->user()->charge($total,'Product Title',[
'webhook_url' => 'webhook URL here',]);