otnansirk / laravel-moota
Laravel Moota 是一个使用 Laravel 和 moota.id API 构建的突变图绘制器。
Requires
- laravel/framework: ^8.75
This package is auto-updated.
Last update: 2024-09-24 11:18:28 UTC
README
Laravel Moota
Laravel Moota 是一个使用 Laravel 和 moota.id API 构建的突变图绘制器。这允许您无需手动向 moota.id 服务器发送请求即可立即专注于业务流程。
文档
安装
1. 您可以通过 composer 安装此包。
composer require otnansirk/laravel-moota
2. 可选:服务提供程序将自动注册。或者,您可以在您的 configs/app.php
文件中手动添加服务提供程序。
'providers' => [
// ...
Otnansirk\Moota\MootaCoreServiceProvider::class,
];
3. 您应该使用此 php artisan 命令发布 config/moota.php
配置文件。
php artisan vendor:publish --provider="Otnansirk\Moota\MootaCoreServiceProvider"
如何使用
所有配置存储到 /configs/moota.php
。自定义您所需的一切。
身份验证
注册用户
注册用户
方法: MootaAuth::register($data)
参数
- 必需:$data
- 可选 : -
<?php
$data = [
"name" => "moota",
"email" => "moota@email.co",
"password" => "your password",
"password_confirmation" => "your password confirmation"
];
MootaAuth::register($data);
登录(获取令牌)
生成访问令牌
方法: MootaAuth::login($email, $password, $scopes)
参数
- 必需:$email, $password
- 可选:$scopes
- 默认 :
- $scopes = ["api"]
<?php
MootaAuth::login('moota_email', 'moota_password', ["api"]);
作用域 = api
用于对 API v2 的所有访问。
登出(销毁令牌)
销毁访问令牌
方法: MootaAuth::logout()
- 必需 : -
- 可选 : -
<?php
MootaAuth::logout();
个人资料
获取用户个人资料
方法: MootaAuth::profile()
- 必需 : -
- 可选 : -
<?php
MootaAuth::profile();
银行账户
可用银行
获取可用的银行集成列表
方法: MootaBank::available($page, $limit)
参数
- 必需 : -
- 可选:$page, $limit
- 默认 :
- $page = 1
- $limit = 10
<?php
MootaBank::available(1, 10);
银行列表
获取您在 moota 注册的银行账户列表。
方法: MootaBank::list($page, $limit)
参数
- 必需 : -
- 可选:$page, $limit
- 默认 :
- $page = 1
- $limit = 10
<?php
MootaBank::list(1, 10);
创建银行
存储银行账户
方法: MootaBank::store($data)
参数
- 必需:$data
- 可选 : -
<?php
$data = [
"corporate_id" => "",
"bank_type" => "bca",
"username" => "user_ibanking",
"password" => "password_ibanking",
"name_holder" => "Jhone Dhoe",
"is_active" => true,
"account_number"=> 16899030
];
MootaBank::store($data);
更新银行
更新银行账户
方法: MootaBank::update($data, $id)
参数
- 必需:$data, $id
- 可选 : -
<?php
$id = "123";
$data = [
"corporate_id" => "",
"bank_type" => "bca",
"username" => "user_ibanking",
"password" => "password_ibanking",
"name_holder" => "Jhone Dhoe",
"is_active" => true,
"account_number"=> 16899030
];
MootaBank::update($data, $id);
删除银行
销毁银行账户
方法: MootaBank::destroy($id)
参数
- 必需:$id
- 可选 : -
<?php
$id = "123";
MootaBank::update($id);
电子钱包请求 OTP
这是为了激活您的 Gojek 和 Ovo 电子钱包账户,在您调用请求此端点后,您将通过手机号码收到一个 OTP,并在收到 OTP 码后调用 MootaBank::verifyOtp()
方法: MootaBank::requestOtp($id)
参数
- 必需:$id
- 可选 : -
<?php
$id = "123";
MootaBank::requestOtp($id);
电子钱包验证 OTP
这是为了激活您的 Gojek 和 Ovo 电子钱包账户。在您获取 OTP 码后,通过此端点验证该代码
方法: MootaBank::verifyOtp($otpCode, $id)
参数
- 必需:$otpCode, $id
- 可选 : -
<?php
$id = "123";
MootaBank::verifyOtp("1234", $id);
突变
刷新突变
此操作用于在银行间隔运行之前获取最新更新。
方法:MootaMutation::refresh()
参数
- 必需 : -
- 可选 : -
<?php
MootaMutation::refresh("1234", $id);
列出突变
获取突变列表
方法:MootaMutation::list($params)
参数
- 必需 : -
- 可选:$params
<?php
$params = [
"type" => "credit",
"bank_id" => "1234",
"start_date" => "1997-01-10",
"end_date" => "1997-01-10",
"tag" => "muta",
"page" => 1,
"par_page" => 10
];
MootaMutation::list($params);
存储突变
创建虚拟突变
方法:MootaMutation::store($data, $bankId)
参数
- 可选 : -
- 必需:$data, $bankId
<?php
$data = [
"date" => "1997-01-10",
"note" => "muta",
"amount" => 1,
"type" => 10
];
MootaMutation::store($data, "123");
注意突变
更新突变备注
方法:MootaMutation::note($nota, $mutationId)
参数
- 必需:$nota, $mutationId
- 可选 : -
<?php
$note = "Note 1";
MootaMutation::note($data, "123");
删除突变
可以删除多个突变
方法:MootaMutation::destroy($mutationIds)
参数
- 必需:$mutationIds
- 可选 : -
<?php
MootaMutation::destroy("mutation_id");
您可以通过这种方式删除多个突变
<?php
$mutationIds = ["mutation_id", "mutation_id"];
MootaMutation::destroy($mutationIds);
标签突变
给突变添加标签
方法:MootaMutation::tags($tags, $mutationId)
参数
- 必需:$tags, $mutationId
- 可选 : -
<?php
MootaMutation::tags("tags_q", "123");
您可以通过这种方式给突变添加多个标签
<?php
$tags = ["tags_1", "tags_2"];
MootaMutation::MootaMutation($tags, $mutationId);
摘要突变
获取您账户中突变的摘要
方法:MootaMutation::summary($params)
参数
- 必需 : -
- 可选:$params
<?php
$params = [
"bank_id" => "123",
"type" => "credit",
"start_date" => "1997-10-10",
"end_date" => "1997-10-10",
];
MootaMutation::summary($params);
Webhook 测试
此操作用于测试将数据推送到webhook
方法:MootaMutation::webhook($mutationId)
参数
- 必需:$mutationId
- 可选 : -
<?php
MootaMutation::webhook("1234");
标签
存储
存储标签
方法:MootaTag::store($name)
参数
- 必需:$name
- 可选 : -
<?php
MootaTag::store("Bayar Token");
更新
更新标签
方法:MootaTag::update($name, $id)
参数
- 必需:$name, $id
- 可选 : -
<?php
MootaTag::update("Bayar Pulsa", "1234");
Mootapay
合同
创建合同
方法:MootaPay::contract($data)->save()
参数
- 必需:$data
- 可选 : -
<?php
$data = [
"invoice_number" => "inv-fattah-17"
"amount" => 20000
"payment_method_id" => "4D0LWdYkevQ"
"type" => "payment"
"callback_url" => "https://app.moota.co/debug/webhook"
"expired_date" => "2022-08-02 20:00:00"
"description" => "penjualan baju polos"
"increase_total_from_unique_code" => 1
"customer" => [
"name" => "Terry Herman"
"email" => "jedidiah35@example.com"
"phone" => "622513121190"
]
"items" => [
0 => array:5 [
"name" => "t-shirt white"
"qty" => 10
"price" => 10000
"sku" => "SKU-245-8411"
"image_url" => "https://via.placeholder.com/150"
]
1 => array:5 [
"name" => "t-shirt white"
"qty" => 10
"price" => 10000
"sku" => "SKU-188-0680"
"image_url" => "https://via.placeholder.com/150"
]
]
"with_unique_code" => 1
"start_unique_code" => 10
"end_unique_code" => 20
"unique_code" => 0
];
MootaPay::contract($data)->save();
交易列表
支付交易列表
方法:MootaPay::list()
参数
- 必需 : -
- 可选 : -
<?php
MootaPay::list();
OR
MootaPay::contract()->list();
支付方式
可用支付方式
方法:MootaPay::method()
参数
- 必需 : -
- 可选 : -
<?php
MootaPay::method();
已取消交易
可以使用此方法取消交易
方法:MootaPay::canceled($trxId)
参数
- 必需 : -
- 可选 : -
<?php
MootaPay::canceled("TRX-1234");
插件令牌
方法:MootaPay::pluginToken()
参数
- 必需 : -
- 可选 : -
<?php
MootaPay::pluginToken()
Moota 回调
您将从您已注册的webhook url接收此数据
如果您留空数据,此方法将使用faker api生成您的回调数据
方法:MootaPay::callback($data)
参数
- 必需 : -
- 可选:$data
<?php
$data = [
"total" => "102351",
"amount" => "69015",
"status" => "success",
"trx_id" => "trx-c91b6dd3-1bbc-5c3e-bf26-84d925a03a43",
"created_at" => "2022-02-04 15:08:23",
"invoice_number" => "INV-923-737-2218",
"payment_at" => "2022-02-04 20:08:23",
"unique_code" => "0",
"expired_date" => "2022-02-05 15:08:23",
"payment_method_id" => "pn3ykVZkNRD"
];
MootaPay::callback($data)
充值
充值到
列出可用于转账到充值点的银行
MootaTopup::topup()->to();
充值
将充值点充值到Moota
$data = [
'amount' => 50000,
'payment_method' => 'bcaGiro' // This value is bank_type from response MootaTopup::topup()->to()
];
MootaTopup::topup($data)->save();
历史记录
充值历史记录
MootaTopup::history();
积分
可用积分列表
MootaTopup::point()->get()
使用的积分
查看已使用的积分历史记录
MootaTopup::point()->used();
或者您可以像这样过滤
$filter = [
"start_date" => 'date_format:Y-m-d',
'end_date' => 'date_format:Y-m-d',
'page' => 1,
'per_page' => 10
];
MootaTopup::point()->used($filters);
兑换码
MootaTopup::redeem('1234');
Webhooks
列表
获取webhook列表
MootaWebhook::list();
或者您可以像这样使用过滤器
$filter = [
'url' => 'your_url'
];
MootaWebhook::list($filter);
存储
创建/存储webhook列表
$data = [
"url" => "https =>//app.moota.co/endpoint/webhooks",
"bank_account_id" => "hq10916...",
"kinds" => "credit",
"secret_token" => "generate_your_hash_secret_token",
"start_unique_code" => 1,
"end_unique_code" => 999
];
MootaWebhook::store($data);
销毁
删除webhook列表
MootaWebhook::destroy('webhook_id');
商户
列表
商户列表
MootaMerchant::list();
存储
创建商户数据
$data = [
'logo' => 'image.png',
'merchant_name' => '',
'merchant_email' => '',
'merchant_phone' => '',
'address' => '',
'business_type' => '',
'website' => ''
];
MootaMerchant::store($data);
存储法律
创建、添加或上传商户合法性文件
$data = [
'type' => 'personal',
'ktp_director_number' => '',
'owner_ktp_file' => '',
'owner_ktp_selfie_file' => '',
'company_name' => '',
'company_phone' => '',
'company_email' => '',
'siup_number' => '',
'owner_npwp_file' => '',
'company_npwp_file' => '',
'company_siup_file' => '',
'company_certificate_file' => '',
'bank_account_id' => ''
];
MootaMerchant::legal($data)->save();
更新
更新商户数据
$data = [
'logo' => 'image.png',
'merchant_name' => '',
'merchant_email' => '',
'merchant_phone' => '',
'address' => '',
'business_type' => '',
'website' => ''
];
$merchantId = 'gQnp0VqzNrO';
MootaMerchant::update($data, $merchantId);
更新法律
更新商户合法性文件
$data = [
'type' => 'personal',
'ktp_director_number' => '',
'owner_ktp_file' => '',
'owner_ktp_selfie_file' => '',
'company_name' => '',
'company_phone' => '',
'company_email' => '',
'siup_number' => '',
'owner_npwp_file' => '',
'company_npwp_file' => '',
'company_siup_file' => '',
'company_certificate_file' => '',
'bank_account_id' => ''
];
$merchantId = 'gQnp0VqzNrO';
MootaMerchant::legal($data, $merchantId)->save();
信用
贡献
此项目远非完美。许多Moota API尚未实现。如果任何人为此项目做出贡献,我将非常高兴。
分叉此项目并提交合并请求。:)