samsin33 / laravel-razorpay
Laravel razorpay 为 Laravel 提供了对 Razorpay 的支持。
Requires
- php: ^7.3|^8.0
- ext-json: *
- illuminate/container: ^7.0|^8.0
- illuminate/contracts: ^7.0|^8.0
- illuminate/database: ^7.0|^8.0
- illuminate/http: ^7.0|^8.0
- illuminate/log: ^7.0|^8.0
- illuminate/notifications: ^7.0|^8.0
- illuminate/routing: ^7.0|^8.0
- illuminate/support: ^7.0|^8.0
- illuminate/view: ^7.0|^8.0
- laminas/laminas-diactoros: ^2.2
- moneyphp/money: ^3.2
- nesbot/carbon: ^2.0
- nyholm/psr7: ^1.0
- phpseclib/phpseclib: ^2.0|^3.0
- razorpay/razorpay: ^2.7
- symfony/http-kernel: ^4.3|^5.0
- symfony/intl: ^4.3|^5.0
Requires (Dev)
- mockery/mockery: ^1.0
- orchestra/testbench: ^4.4|^5.0
- phpunit/phpunit: ^8.0
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();