sextanet/laravel-webpay

Laravel Webpay

1.0.0 2024-09-21 04:56 UTC

This package is auto-updated.

Last update: 2024-09-23 17:39:40 UTC


README

Laravel Webpay

Laravel、Transbank、Webpay 和 SextaNet 的产品和标志是其各自公司的财产。

在项目中使用 Webpay 的最简单方法

Latest Version on Packagist GitHub Tests Action Status GitHub Code Style Action Status Total Downloads

安装

您可以通过 composer 安装此包

composer require sextanet/laravel-webpay

发布并运行迁移

php artisan vendor:publish --tag="webpay-migrations"
php artisan migrate

将这些密钥复制到您的 .env 文件中

WEBPAY_IN_PRODUCTION=false
WEBPAY_COMMERCE_CODE=
WEBPAY_SECRET_KEY=
WEBPAY_DEBUG=true

使用方法

使用附加模型(推荐)

// app/Models/YourModel.php

use SextaNet\LaravelWebpay\Traits\PayWithWebpay; // 👈 Import it

class YourModel
{
    // ...

    use HasFactory;
    
    use PayWithWebpay; // 👈 Use it!
}

默认情况下,它使用以下 3 个字段,这些字段由 Transbank 需要

如果您为您的字段使用其他名称,没问题:您可以使用以下魔法方法非常容易地使每个模型识别它们

// app/Models/YourModel.php

public function getBuyOrderAttribute(): string
{
    return $this->id; // Give it your custom logic
}

public function getAmountAttribute(): string
{
    return $this->price; // Give it your custom logic: Don't need to use decimals
}

public function getSessionIdAttribute(): string
{
    return md5($this->id); // Give it your custom logic
}
// In your controller or equivalent

$order = YourOrder::where('id', 1)->first();

return $order->payWithWebpay(); // 👈 Done!

简单易行!

设置自定义 URL

为了方便,您可以在调用 payWithOrder() 方法 之前为每个状态设置自定义页面

已取消

LaravelWebpay::setCancelledUrl('/cancelled-page');

被拒绝

LaravelWebpay::setRejectedUrl('/rejected-page');

测试卡

  • 有效期:(任何有效日期)
  • RUT: 11111111-1
  • 密码: 123

来源: 官方 Transbank 开发者网站

生产模式

当您准备好进入生产环境时,您需要将 WEBPAY_IN_PRODUCTION 设置为 true,并指定 WEBPAY_COMMERCE_CODEWEBPAY_SECRET_KEY

替代使用方法

如果您不想导入Trait,您可以创建或实例化一个订单,然后,例如,调用 LaravelWebpay::create($order) 方法

// In your controller or equivalent
$order = YourOrder::where('id', 1)->first();

// ❗️ Your order model needs to have: buy_order, session_id and amount fields
return LaravelWebpay::create($order);

许可证

MIT 许可证 (MIT)。有关更多信息,请参阅 许可证文件