samsin33/laravel-razorpay

Laravel razorpay 为 Laravel 提供了对 Razorpay 的支持。

v3.0.1 2021-09-26 21:46 UTC

This package is auto-updated.

Last update: 2024-09-11 02:08:29 UTC


README

Razorpay 的 Laravel 包。支持 Laravel 8 版本与 Razorpay 集成。

安装

使用 composer 安装 samsin33/laravel-razorpay 包。

$ composer require samsin33/laravel-razorpay

它使用 razorpay/razorpay 包,将自动安装。

数据库迁移

Razorpay 服务提供者注册了自己的数据库迁移目录,因此请记住在安装包后迁移您的数据库。Razorpay 迁移将向您的客户和订单表添加几个列,并创建新的计划和订阅表以保存所有客户的订阅

$ php artisan migrate

如果您需要覆盖此包附带的迁移,可以使用 vendor:publish Artisan 命令发布它们

$ php artisan vendor:publish --tag="razorpay-migrations"

如果您希望完全阻止 Razorpay 迁移的运行,可以使用 Razorpay 提供的 ignoreMigrations 方法。通常,此方法应在 AppServiceProvider 的 register 方法中调用

use Laravel\Razorpay\Razorpay;

/**
 * Register any application services.
 *
 * @return void
 */
public function register()
{
    Razorpay::ignoreMigrations();
}

环境配置

Razorpay 假设您的客户模型将是 Laravel 附带的 App\Models\User 类。如果您想更改此设置,可以在 .env 文件中指定不同的模型

RAZORPAY_MODEL=App\Models\User

Razorpay 假设您的订单模型将是 Laravel 附带的 App\Models\Order 类。如果您想更改此设置,可以在 .env 文件中指定不同的模型

RAZORPAY_ORDER_MODEL=App\Models\Order

接下来,您应该在应用程序的 .env 文件中配置 Razorpay API 密钥。您可以从 Razorpay 控制面板检索您的 Razorpay API 密钥

RAZORPAY_KEY=your-razorpay-key
RAZORPAY_SECRET=your-razorpay-secret

默认的 razorpay 货币是印度卢比 (INR)。您可以通过在应用程序的 .env 文件中设置 RAZORPAY_CURRENCY 环境变量来更改默认货币

RAZORPAY_CURRENCY=INR

模型配置

在开始使用 Razorpay 之前,请将 Billable 特性添加到您的客户模型定义中。通常,这将是一个 App\Models\User 模型。此特性提供各种方法,允许您执行常见任务,如获取、创建和更新客户方法信息

use Laravel\Razorpay\Billable;

class User extends Authenticatable
{
    use Billable;
}

在开始使用 Razorpay 之前,请将 Orderable 特性添加到您的订单模型定义中。通常,这将是一个 App\Models\Order 模型。此特性提供各种方法,允许您执行常见任务,如获取、创建和更新订单方法信息

use Laravel\Razorpay\Orderable;

class Order extends Model
{
    use Orderable;
}

客户

获取客户

您可以使用 Razorpay::findBillable 方法通过客户的 Razorpay ID 获取客户。此方法将返回 billable 模型的一个实例

use Laravel\Razorpay\Razorpay;

$user = Razorpay::findBillable($razorpayId);

创建客户

您可以使用 billable 模型中的 createRazorpayCustomer 方法创建 Razorpay 客户

$razorpay_customer = $user->createRazorpayCustomer($options);

如果您想返回 billable 模型的 Razorpay 客户对象,可以使用 getRazorpayCustomer 方法

$razorpay_customer = $user->getRazorpayCustomer();

订单

创建订单

您可以使用 orderable 模型中的 createRazorpayOrder 方法创建 Razorpay 订单

$razorpay_order = $user->createRazorpayOrder($options);

如果您想返回 orderable 模型的 Razorpay 订单,可以使用 getRazorpayOrder 方法

$razorpay_customer = $user->getRazorpayOrder();

如果您想返回 orderable 模型的 Razorpay 订单支付,可以使用 getRazorpayOrderPayments 方法

$razorpay_customer = $user->getRazorpayOrderPayments();