musie/laravel-chapa

一个用于集成 Chapa 支付网关的 Laravel 扩展包

v1.0.0 2024-07-15 19:28 UTC

This package is not auto-updated.

Last update: 2024-09-24 15:49:18 UTC


README

Latest Version on Packagist Total Downloads

一个 Laravel 扩展包,可以轻松地将 Chapa 支付网关集成到您的 Laravel 应用程序中。(支持 Laravel 11)

安装

您可以通过 composer 安装此包

  1. 使用 Composer 需求此包:

    composer require musie/laravel-chapa
  2. 安装包:

    php artisan chapa:install
  3. 添加环境变量:将以下行添加到您的 .env 文件中

    CHAPA_SECRET_KEY=your-secret-key
    CHAPA_PUBLIC_KEY=your-public-key

使用方法

  1. 创建支付表单:创建一个视图文件以包含由包提供的支付表单。例如,在 resources/views 目录中创建一个名为 payment.blade.php 的新文件,并添加以下内容

    <form action="{{ route('chapa.payment') }}" method="POST">
        @csrf
        <input type="email" name="email" placeholder="Email" required>
        <input type="text" name="name" placeholder="Name" required>
        <input type="number" name="amount" placeholder="Amount" required>
        <button type="submit">Pay</button>
    </form>
  2. 添加路由:在您的 web.php 文件中添加路由以处理支付和回调

    use Illuminate\Support\Facades\Route;
    use Musie\LaravelChapa\Controllers\ChapaController;
    
    Route::get('/', function () {
        return view('musie.form');
    });
    
    Route::post('chapa/payment', [ChapaController::class, 'initializePayment'])->name('chapa.payment');
    Route::get('chapa/callback', [ChapaController::class, 'handleCallback'])->name('chapa.callback');
    Route::get('chapa/verify/{tx_ref}', [ChapaController::class, 'verifyPayment'])->name('chapa.verify');
  3. 处理回调:确保您有一个回调视图来显示支付状态。例如,您可以使用提供的 callback.blade.php 视图

    @if($status == 'success')
        <p>Payment was successful!</p>
    @else
        <p>Payment failed. Please try again.</p>
    @endif
  4. 测试支付集成:

    • 运行 web 服务器。
    • 填写所需的详细信息并提交表单。
    • 您应该被重定向到 Chapa 支付网关。
    • 完成支付后,您应该被重定向到回调 URL,在那里您可以查看支付状态。

许可协议

MIT 许可协议(MIT)。请参阅 许可文件 以获取更多信息。