laulamanapps / ecurring-api
PHP eCurring API 客户端
dev-master
2018-10-25 13:04 UTC
Requires
- php: >=7.1
- ext-json: *
- moneyphp/money: ^3.1
- ramsey/uuid: ^3.8
- werkspot/enum: ^2.1
Requires (Dev)
- friendsofphp/php-cs-fixer: ^2.10
- guzzlehttp/guzzle: ^6.3
- mockery/mockery: ^1.0
- phpunit/phpunit: ^6.5
Suggests
- guzzlehttp/guzzle: ^6.3
This package is auto-updated.
Last update: 2024-08-26 02:00:12 UTC
README
本软件包为您提供了简单的集成官方 eCurring,适用于您的 PHP 项目。
安装
使用 composer,添加
$ composer require laulamanapps/ecurring-api
本软件包旨在提供灵活性,您可以通过实现 LauLamanApps\eCurring\Http\ClientInterface
简单地创建自己的 http 适配器
不想麻烦?可以使用提供的 Guzzle 适配器:在 composer 中添加 guzzlehttp
$ composer require guzzlehttp/guzzle
获取访问令牌
注册 eCurring 并获取您的 API 密钥
用法
创建新客户
use LauLamanApps\eCurring\eCurringClientFactory; use LauLamanApps\eCurring\Resource\Customer; use LauLamanApps\eCurring\Resource\Transaction\PaymentMethod; $client = eCurringClientFactory::create('<ApiKey>'); $customer = Customer::new( 'Luke', 'Skywalker', PaymentMethod::directDebit(), 'L Skywalker', 'NL17ABNA1171403585' ); $customer = $client->createCustomer($customer);
将客户添加到订阅
use LauLamanApps\eCurring\eCurringClientFactory; use LauLamanApps\eCurring\Resource\Subscription; use LauLamanApps\eCurring\Resource\Subscription\Mandate; $client = eCurringClientFactory::create('<ApiKey>'); $customer = $client->getCustomer(1); $subscriptionPlan = $client->getSubscriptionPlan(2); /** * Mandate is Optional, if you dont provide it eCurring wil create a * mandate for you and the customer can accept the mandate via eCurring * see https://docs.ecurring.com/subscriptions/create */ $mandate = new Mandate( 'MDT-000001', true, new DateTimeImmutable('2018-10-16') ); $subscription = Subscription::new( $customer, $subscriptionPlan, $mandate ); $subscription = $client->createSubscription($subscription);
为订阅创建付款
use LauLamanApps\eCurring\eCurringClientFactory; use LauLamanApps\eCurring\Resource\Transaction; use Money\Money; $client = eCurringClientFactory::create('<ApiKey>'); $subscription = $client->getSubscription(1); $transaction = Transaction::new( $subscription, Money::EUR(1000), new DateTimeImmutable('2018-11-20') ); $transaction = $client->createTransaction($transaction);
列出客户并遍历它们
use LauLamanApps\eCurring\eCurringClientFactory; use LauLamanApps\eCurring\Resource\Curser\Pagination; $client = eCurringClientFactory::create('<ApiKey>'); $pagination = new Pagination(2); //-- [optional] Lets start pagination on page 2 $customers = $client->getCustomers($pagination); $customers->disableAutoload(); //-- just iterate over one page foreach ($customers as $customer) { // Do something with the customer }
测试
本软件包包含两种类型的测试:单元测试和集成测试。要运行它们,您可以使用项目根目录中的 make 命令。
$ make tests-unit $ make tests-integration
作者
eCurring API 由 LauLaman 开发。