asorasoft / bill
Laravel 订阅计划计费
1.0.2
2021-12-15 15:31 UTC
Requires
- php: ^7.1
- ext-json: *
- guzzlehttp/guzzle: ^5.3 || ^6.5 || ^7.3
- illuminate/support: ^5.0 || ^6.0 || ^7.0 || ^8.0
Requires (Dev)
- orchestra/testbench: ^6.0
- phpunit/phpunit: ^9.0
This package is auto-updated.
Last update: 2024-09-15 21:16:35 UTC
README
Laravel 订阅计划计费
安装
您可以通过 composer 安装此包
composer require asorasoft/bill
在 config/app.php 中注册 BillServiceProvider 类
<?php 'providers' => [ Asorasoft\Bill\BillServiceProvider::class ]
您需要发布配置文件,它将创建 bill.php 文件
php artisan vendor:publish --provider="Asorasoft\Bill\BillServiceProvider"
将计费密钥配置复制到 .env 文件中
BILL_SECRET_KEY= BILL_API_URL= BILL_VERIFY_SSL=
用法
创建或更新客户
public function createOrUpdateCustomer() { Customer::updateOrCreate([ 'customer_id' => $customer_id, 'name' => 'Name', 'phone' => '019000000', 'email' => 'customer@gmail.com' ]); }
获取客户和计划
public function getCustomerAndPlans() { $get_customer_and_plans = Subscription::getCustomerAndPlans($customer_id); return json_encode($get_customer_and_plans); }
订阅计划
public function subscribe() { Subscription::subscribe($customer_id, $plan_id); }
更改计划请求
public function changePlanRequest() { $this->validate($request, [ 'from_plan_id' => 'required', 'to_plan_id' => 'required', 'price' => 'required', 'duration' => 'required', 'document' => 'required', ]); $response = ChangePlanRequest::create([ ['name' => 'customer_id', 'contents' => $customer_id], ['name' => 'from_plan_id', 'contents' => $request->from_plan_id], ['name' => 'to_plan_id', 'contents' => $request->to_plan_id], ['name' => 'duration', 'contents' => $request->duration], ['name' => 'price', 'contents' => $request->price], [ 'name' => 'document', 'contents' => fopen($request->document->path(), 'r'), 'filename' => $request->document->getClientOriginalName(), 'Mime-Type' => $request->document->getClientMimeType() ], ]); return json_encode($response); }
续订计划请求
public function renewalPlanRequest() { $this->validate($request, [ 'price' => 'required', 'duration' => 'required', 'document' => 'required', ]); $response = RenewalPlanRequest::create([ ['name' => 'customer_id', 'contents' => $customer_id], ['name' => 'duration', 'contents' => $request->duration], ['name' => 'price', 'contents' => $request->price], [ 'name' => 'document', 'contents' => fopen($request->document->path(), 'r'), 'filename' => $request->document->getClientOriginalName(), 'Mime-Type' => $request->document->getClientMimeType() ], ]); return json_encode($response); }
获取发票列表
public function invoices() { $response = Invoice::list($customer_id); return json_encode($response); }
下载发票
public function download() { return Invoice::download($invoice_uuid); }
测试
composer test
变更日志
有关最近更改的更多信息,请参阅变更日志
贡献
有关详细信息,请参阅贡献指南
安全
如果您发现任何与安全相关的问题,请发送电子邮件至 mab@asorasoft.com 而不是使用问题跟踪器。
致谢
许可证
MIT 许可证 (MIT)。有关更多信息,请参阅许可证文件