otnansirk/laravel-moota

Laravel Moota 是一个使用 Laravel 和 moota.id API 构建的突变图绘制器。

v1.1.0 2023-02-23 07:59 UTC

This package is auto-updated.

Last update: 2024-09-24 11:18:28 UTC


README

Laravel Moota

Laravel Moota

Laravel Moota is released under the MIT license.

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尚未实现。如果任何人为此项目做出贡献,我将非常高兴。

分叉此项目并提交合并请求。:)