adelowo/gbowo-paystack

提供Gbowo的Paystack适配器额外插件的包

1.1.0 2017-07-16 16:58 UTC

This package is auto-updated.

Last update: 2024-09-16 03:16:14 UTC


README

Latest Version on Packagist Software License Build Status Scrutinizer Coverage Quality Score Total Downloads

此包是Gbowo(Gbowo)提供的Paystack适配器的附加组件,因此不保证与Gbowo支持的任何替代支付适配器的附加组件具有相同的API。

$ composer require adelowo/gbowo-paystack

用法

Gbowo的文档强烈推荐,是开始的好地方。

根据您要完成的工作,您最好查看此处所有可用的插件。

只添加您需要的插件。没有必要将所有内容添加到适配器中。

  • Paystack\Customer\CreateCustomer : 创建新客户
$paystack->addPlugin(new Paystack\Customer\CreateCustomer(PaystackAdapter::API_LINK));

$data = $paystack->createCustomer(["email" => "me@lanreadelowo.com", "first_name" => "Lanre", "last_name" => "Adelowo"]);

//$data contains the details of the newly created customer
  • Paystack\Customer\UpdateCustomer : 更新客户数据
$paystack->addPlugin(new Paystack\Customer\UpdateCustomer(PaystackAdapter::API_LINK));

$data = $paystack->updateCustomer("customerCode", ["email" => "lanre@coolstartup.com"]);

//$data contains the details of the updated customer
  • Paystack\Customer\DeactivateAuthorization : 停用用户的授权代码。如果您这样做,您实际上是在忘记用户的卡,并且将失去对该卡的收费能力。

示例用例 => 当用户删除其账户或删除一张卡时。

$paystack->addPlugin(new Paystack\Transaction\DeactivateAuthorization(PaystackAdapter::API_LINK));

$isDeactivated = $paystack->deactivateAuthorization("AUTH_cod3_h3r3");

//$isDeactivated is a boolean which truthiness determines if the authorization code was succesffuly deactivated
  • Paystack\Transaction\ExportTransactions : 导出所有与Paystack的交易
$paystack->addPlugin(new Paystack\Transaction\ExportTransactions(PaystackAdapter::API_LINK));

//can also pass in an array into the method call,
//e.g ["settled" => true, "currency" => "NGN", "status" => "Some status"]
//The dictionary would be converted to a query string which is sent alongside the request. 
//Do review the docs for valid params.
$pathToFile = $paystack->exportTransactions();

//$pathToFile would contain a link to a csv file which you then have to download
  • Paystack\Transaction\GetTransaction : 获取特定交易的详细信息
$paystack->addPlugin(new Paystack\Transaction\GetTransaction(PaystackAdapter::API_LINK));

$data = $paystack->getTransaction("20911");

//$data would contain everything paystack knows about that transaction
  • Paystack\Subscription\CreateSubscription - 在仪表板上添加新的订阅
$paystack->addPlugin(new Paystack\Subscription\CreateSubscription(PaystackAdapter::API_LINK));

$data = $paystack->createSubscription(string $customerCode, string $planCode, string $customerAuthCode = "");
//The customer auth code can be excluded as it is only useful for customers with multiple authorizations.
//Please check the docs.
  • Paystack\Subscription\GetAllSubscriptions - 从仪表板检索所有订阅
$paystack->addPlugin(new Paystack\Subscription\GetAllSubscriptions(PaystackAdapter::API_LINK));

$data = $paystack->getAllSubscriptions();
  • Paystack\Subscription\GetSubscription - 从仪表板检索特定订阅
$paystack->addPlugin(new Paystack\Subscription\GetSubscription(PaystackAdapter::API_LINK));

$data = $paystack->getSubscription("SUB_code");
  • Paystack\Plan\CreatePlan - 在仪表板中添加新计划
$paystack->addPlugin(new Paystack\Plan\CreatePlan(PaystackAdapter::API_LINK));

$params = ["name" => "some plan", "amount" => 1000, "interval" => "hourly"];
//visit the api docs to see all possible data that can be sent

$data = $paystack->createPlan($params);
  • Paystack\Plan\UpdatePlan - 更新仪表板中的计划
$paystack->addPlugin(new Paystack\Plan\UpdatePlan(PaystackAdapter::API_LINK));

$params = ["name" => "renaming this plan", "amount" => 2000, "interval" => "weekly"];
//visit the api docs to see all possible data that can be sent

$status = $paystack->updatePlan(
	"PLN_gx2wn530m0i3w3m",
         ["name" => "renaming this plan yet again", "amount" => \Gbowo\toKobo(200000), "interval" => "weekly"]);

	
  • Paystack\Bank\ListBanks - 获取Paystack已知的所有银行的列表
$paystack->addPlugin(new ListBanks(PaystackAdapter::API_LINK));

$banks = $paystack->listBanks();
// $paystack->listBanks(["perPage" => 20, "page" => 2]); //show 20 banks and show results from the second page (the results are paginated) 
  • Paystack\Bank\GetBVN - 获取用户BVN(银行验证号码)的详细信息
$paystack->addPlugin(new GetBVN(PaystackAdapter::API_LINK));
$data = $paystack->getBVN("12345678901"); //Must be 11 digits, else an exception is thrown
  • Paystack\Bank\GetAccountDetails - 获取用户账户号的详细信息。
$paystack->addPlugin(new GetAccountDetails(PaystackAdapter::API_LINK));

//Yeah, that's a valid account number. Run the code to get my bank details and throw me some cash :)
$data = $paystack->getAccountDetails(["account_number" => "0115544526", "bank_code" => "058"]));
  • Paystack\Bank\GetCardBIN - 通过其BIN(银行识别号码)获取卡的详细信息
$paystack->addPlugin(new GetCardBIN(PaystackAdapter::API_LINK));
$data = $paystack->getCardBIN("123456");
  • Paystack\Customer\CheckPending - 检查先前挂起的交易的状态。
$paystack->addPlugin(new CheckPending(PaystackAdapter::API_LINK));
$data = $paystack->checkPending($transactionRef);

贡献

太棒了,我愿意这样做。分支,发送PR。但嘿,单元测试是一个非常好的主意。让我们有更多这样的东西。

错误报告、问题跟踪和安全漏洞

请使用问题跟踪器进行错误报告、功能请求等,但除了安全漏洞之外。如果您确实发现了一个漏洞,请发送邮件至me@lanreadelowo.com

许可

MIT