terminal42 / swissbilling-api
瑞士Billing API客户端
1.1.0
2024-02-05 10:22 UTC
Requires
- php: ^8.1
- ext-soap: *
Requires (Dev)
- terminal42/contao-build-tools: dev-main
README
用PHP编写的SwissBilling API客户端。
注意:此仓库仍在早期开发阶段,可能会发生变化!
安装
composer require terminal42/swissbilling-api
用法
基础知识
使用Client
对象与API交互。所有API类型都有DocBlock属性,因此智能IDE(如PhpStorm)将为您在属性上提供自动完成支持。
use Terminal42\SwissbillingApi\Client; use Terminal42\SwissbillingApi\Api\ApiFactory; use Terminal42\SwissbillingApi\Type\Debtor; use Terminal42\SwissbillingApi\Type\Merchant; use Terminal42\SwissbillingApi\Type\InvoiceItem; use Terminal42\SwissbillingApi\Type\Transaction; use Terminal42\SwissbillingApi\Type\TransactionStatus; $client = new Client(new ApiFactory()); $merchant = new Merchant('user', 'password', 'success_url', 'cancel_url', 'error_url'); $transaction = new Transaction(); // fill in the required transaction properties // $transaction->amount = 100; $debtor = new Debtor(); // fill in the required debtor properties // $transaction->firstname = 'John'; // $transaction->lastname = 'Doe'; $items = [ new InvoiceItem(), ]; /** @var TransactionStatus $status */ $status = $client->request($transaction, $debtor, $items, $merchant); var_dump($status->hasError());
多次调用/依赖注入
您可以将商家信息传递给Client,而不是在每次方法调用中传递,例如在使用带有依赖注入的Symfony bundle时。
$merchant = new Merchant('user', 'password', 'success_url', 'cancel_url', 'error_url'); $client = new Client(new ApiFactory(), $merchant); // No need to pass the merchant anymore $status = $client->request($transaction, $debtor, $items);
软件最佳实践
此仓库遵循SemVer。如果您依赖于稳定的API,请确保安装版本标签。
许可证
在MIT许可证下授权。