phpmob / omise
仅替代 Omise API 客户端
dev-master / 1.0.x-dev
2018-03-09 12:33 UTC
Requires
- php: ^7.1
- doctrine/inflector: ^1.1
- php-http/client-implementation: ^1.0
- php-http/discovery: ^1.0
- php-http/httplug: ^1.0
- psr/http-message: ^1.0
- symfony/options-resolver: ^3.3
Requires (Dev)
- php-http/guzzle6-adapter: ^1.1
- phpspec/phpspec: ^4.0
- phpunit/phpunit: ^5.6
- sylius-labs/coding-standard: ^1.0
- symfony/property-access: ^3.3
- symfony/validator: ^3.3
Suggests
- php-http/guzzle6-adapter: To use built-in \PhpMob\Omise\Client\GuzzleHttpClient.
This package is auto-updated.
Last update: 2024-09-18 23:36:41 UTC
README
仅替代 Omise API 客户端 - 在 PHP 中。
安装
通过 composer 安装。
$ composer require phpmob/omise
要使用 guzzlehttp/guzzle,您需要安装其适配器。感谢 httplug。
$ composer require php-http/guzzle6-adapter
现在您可以使用内置的 \PhpMob\Omise\Client\GuzzleHttpClient
。
使用方法
phpmob/omise 专为 Solid
使用设计,并通过实现 Facade
为静态大粉丝提供额外功能。
Solid 使用
<?php use PhpMob\Omise\Api\Charge as ChargeApi; use PhpMob\Omise\Api\Token as TokenApi; use PhpMob\Omise\Domain\Card; use PhpMob\Omise\Domain\Charge; use PhpMob\Omise\Domain\Token; use PhpMob\Omise\OmiseApi; use PhpMob\Omise\Client\GuzzleHttpClient; $client = new GuzzleHttpClient(); $options = [ 'secret_key' => 'secretKey', 'public_key' => 'publicKey', 'sandbox' => true, // livemode? ]; $api = new OmiseApi($client, $options); /** @var TokenApi $tokenApi */ $tokenApi = $api->create(TokenApi::class); // create token $token = new Token(); $token->card = new Card(); $token->card->name = 'Somchai Prasert'; $token->card->number = '4242424242424242'; $token->card->city = 'Bangkok'; $token->card->postalCode = '10320'; $token->card->expirationMonth = 10; $token->card->expirationYear = 2018; $token->card->securityCode = 123; $tokenApi->create($token); /** @var ChargeApi $chargeApi */ $chargeApi = $api->create(ChargeApi::class); // find single $charge = $chargeApi->find('charge_id'); echo $charge->id; // find all $charges = $chargeApi->all(); // Create charge $charge = new Charge(); $charge->amount = 10000; $charge->currency = 'thb'; $charge->cardToken = $token->id; $chargeApi->create($charge);
静态使用
<?php use PhpMob\Omise\Facade\Card; use PhpMob\Omise\Facade\Charge; use PhpMob\Omise\Facade\Token; use PhpMob\Omise\OmiseApi; use PhpMob\Omise\Client\GuzzleHttpClient; $client = new GuzzleHttpClient(); $options = [ 'secret_key' => 'secretKey', 'public_key' => 'publicKey', 'sandbox' => true, // livemode? ]; OmiseApi::setupFacade($client, $options); // create token $token = Token::make(); $token->card = Card::make(); $token->card->name = 'Somchai Prasert'; $token->card->number = '4242424242424242'; $token->card->city = 'Bangkok'; $token->card->postalCode = '10320'; $token->card->expirationMonth = 10; $token->card->expirationYear = 2018; $token->card->securityCode = 123; $token->create(); // find single charge $charge = Charge::find('charge_id'); echo $charge->id; // find all $charges = Charge::all(); // Create charge $charge = Charge::make(); $charge->amount = 10000; $charge->currency = 'thb'; $charge->cardToken = $token->id; $charge->create();
错误处理。
phpmob/omise 提供两种类型的错误处理。
- InvalidRequestArgumentException 当您需要在发送请求之前捕获错误时。
- InvalidResponseException 当您需要捕获 API 返回的错误时。
<?php use PhpMob\Omise\Exception\InvalidResponseException; use PhpMob\Omise\Facade\Charge; try { // Create charge $charge = Charge::make(); $charge->amount = 10000; $charge->currency = 'thb'; $charge->cardToken = 'token_id'; $charge->create(); } catch (InvalidResponseException $e) { echo $e->error->message; }
贡献
想帮助我们并构建开发者友好的 PHP 代码?请遵循我们的 编码规范 并测试您的代码——请参阅 测试、规范。
让我们开始分支和 PR 吧!
编码规范
向 PhpMob 贡献代码时,您必须遵循其编码规范。
PhpMob 遵循 PSR-0、PSR-1 和 PSR-2 文档中定义的标准。
待办事项 测试
- 编写规范测试。
- 编写单元测试。
- 添加对 PHP 5.6 的支持?
测试
$ ./bin/phpspec run -fpretty $ ./bin/phpunit