paylike / php-api
此包已被废弃,不再维护。未建议替代包。
用于与 Paylike HTTP API 通信的 PHP SDK
2.0.0
2023-02-15 10:07 UTC
Requires
- php: >=5.6.0
- ext-curl: *
Requires (Dev)
- phpunit/phpunit: ^9.6.3
README
Paylike 客户端(PHP)
您可以在 https://paylike.io 上注册 Paylike 账户。
获取 API 密钥
通过在 Paylike 控制台 中创建商家并添加应用程序来获取 API 密钥。
要求
PHP 5.3.3 及更高版本。
安装
您可以通过 Composer 安装此包。运行以下命令
composer require paylike/php-api
如果您不使用 Composer,您可以下载 最新版本 并包含 init.php
文件。
require_once('/path/to/php-api/init.php');
依赖项
绑定需要以下扩展才能正常工作
如果您使用 Composer,这些依赖项应该会自动处理。如果您手动安装,请确保这些扩展可用。
如果您不想使用 curl,您可以根据 HttpClientInterface
创建自己的客户端并作为参数传递给实例化 Paylike
类。
示例
$paylike = new \Paylike\Paylike($private_api_key); // fetch a card $cards = $paylike->cards(); $card = $cards->fetch($card_id); // capture a transaction $transactions = $paylike->transactions(); $transaction = $transactions->capture($transaction_id, array( 'amount' => 100, 'currency' => 'EUR' ));
方法
$paylike = new \Paylike\Paylike($private_api_key); $apps = $paylike->apps(); $apps->create($args); $apps->fetch(); $merchants = $paylike->merchants(); $merchants->create($args); $merchants->fetch($merchant_id); $merchants->update($merchant_id, $args); $all_merchants = $merchants->find($app_id,$args); $some_merchants = $merchants->before($app_id,$before); $some_merchants = $merchants->after($app_id,$before); $all_lines = $merchants->lines()->find($merchant_id,$args); $some_lines = $merchants->lines()->before($merchant_id,$before); $some_lines = $merchants->lines()->after($merchant_id, $after); $all_apps = $merchants->apps()->find($merchant_id,$args); $merchants->lines()->add($merchant_id,$app_id); $merchants->lines()->revoke($merchant_id,$app_id); $cards = $paylike->cards(); $cards->create($merchant_id, $args); $cards->fetch($card_id); $transactions = $paylike->transactions(); $transactions->create($merchant_id, $args); $transactions->fetch($transaction_id); $transactions->capture($transaction_id, $args); $transactions->void($transaction_id, $args); $transactions->refund($transaction_id, $args); $all_transactions = $transactions->find($merchant_id,$args); $some_transactions = $transactions->before($merchant_id,$before); $some_transactions = $transactions->after($merchant_id,$before); // explicit args $limit = 10; $after = '5b8e839d7cc76f04ecd3f733'; $before = '5b98deef882cf804f6108700'; $api_transactions = $transactions->find($merchant_id, array( 'limit' => $limit, 'after' => $after, 'before' => $before, 'filter' => array( 'successful' => true ) ));
分页
返回多个商家/交易的(find、after、before)方法使用游标,因此您无需担心分页,您可以访问任何索引,或迭代所有项目,这将在后台处理。
错误处理
当事情不顺利时,API 包装器将抛出错误。所有错误都继承自 ApiException
。捕获所有类型错误的非常详尽的示例
$paylike = new \Paylike\Paylike($private_api_key); try { $transactions = $paylike->transactions(); $transactions->capture($transaction_id, array( 'amount' => 100, 'currency' => 'EUR' )); } catch (\Paylike\Exception\NotFound $e) { // The transaction was not found } catch (\Paylike\Exception\InvalidRequest $e) { // Bad (invalid) request - see $e->getJsonBody() for the error } catch (\Paylike\Exception\Forbidden $e) { // You are correctly authenticated but do not have access. } catch (\Paylike\Exception\Unauthorized $e) { // You need to provide credentials (an app's API key) } catch (\Paylike\Exception\Conflict $e) { // Everything you submitted was fine at the time of validation, but something changed in the meantime and came into conflict with this (e.g. double-capture). } catch (\Paylike\Exception\ApiConnection $e) { // Network error on connecting via cURL } catch (\Paylike\Exception\ApiException $e) { // Unknown api error }
在大多数情况下,捕获 NotFound
和 InvalidRequest
作为客户端错误并记录 ApiException
就足够了。
开发
安装依赖项
composer install
测试
按照上述说明安装依赖项(这将解决 PHPUnit),然后您可以运行测试套件
./vendor/bin/phpunit