doocacommerce / pagarmehub-php-sdk
通过项目来使用Pagar.me的Hub
Requires
- php: ^7.2 || ^8.0
- ext-json: *
- apimatic/core: ~0.3.10
- apimatic/core-interfaces: ~0.1.5
- apimatic/unirest-php: ^4.0.0
Requires (Dev)
- phan/phan: 5.4.2
- squizlabs/php_codesniffer: ^3.5
This package is not auto-updated.
Last update: 2024-09-25 16:29:37 UTC
README
简介
Pagarme API
构建
生成的代码依赖于外部库,如UniRest和JsonMapper。JsonMapper需要docblock注释,如@var
、@maps
和@factory
来将JSON响应映射到我们的类定义。因此,生成的代码中的docblocks不能通过禁用PHP配置(如opcache.save_comments
)来禁用。这些依赖在随SDK提供的composer.json
文件中定义。要解决这些依赖,我们使用Composer包管理器,它要求在您的系统上安装PHP 7.2或更高版本。访问https://getcomposer.org.cn/download/下载Composer的安装文件,并在您的系统上运行它。打开命令提示符,输入composer --version
。如果安装成功,这将显示已安装的Composer的当前版本。
- 使用命令行,导航到包含生成的文件(包括
composer.json
)的SDK目录。 - 运行命令
composer install
。这将安装所有必要的依赖,并在您的项目目录中创建vendor
目录。
在php.ini中配置CURL证书路径
ℹ️ 注意 这仅适用于Windows用户。
CURL曾经包含一个接受的CA列表,但现在不再捆绑任何CA证书。因此,默认情况下,它将拒绝所有SSL证书,因为无法验证。您将需要获取您CA的证书,并将curl指向它。步骤如下:
- 从https://curl.haxx.se/docs/caextract.html下载证书包(.pem文件)到您的系统。
- 将curl.cainfo = "PATH_TO/cacert.pem"添加到您的php.ini文件中,该文件位于您的PHP安装中。"PATH_TO"必须是包含.pem文件的绝对路径。
[curl]; A default value for the CURLOPT_CAINFO option. This is required to be an
; absolute path.
curl.cainfo = PATH_TO/cacert.pem
安装
以下部分解释了如何在新的项目中使用PagarmeApiSDKLib库。
1. 在IDE中打开项目
打开PHP的IDE,如PhpStorm。这里提供的基本工作流程也适用于您更喜欢使用不同编辑器或IDE的情况。
在PhpStorm中,点击打开
,浏览到您的生成的SDK目录,然后点击确定
。
2. 添加新的测试项目
如以下所示,在解决方案名称上右键单击以创建新目录。
将目录命名为"test"。
向此项目添加PHP文件。
将其命名为"testSDK"。
根据您的项目设置,您可能需要在PHP代码中包含Composer的自动加载器,以启用类的自动加载。
require_once "vendor/autoload.php";
确保require_once中的路径正确指向在依赖安装期间创建的vendor目录中的autoload.php
文件。
之后,您可以添加代码来初始化客户端库并获取Controller类实例。接下来的部分将给出初始化客户端库和使用Controller方法的示例代码。
3. 运行测试项目
要运行您的项目,您必须为项目设置解释器。解释器是安装在您计算机上的PHP引擎。
从文件
菜单中打开设置
。
在 编程语言 & 框架
中选择 PHP
。
在 解释器
选项附近浏览,并选择你的解释器。
选择解释器后,点击 确定
。
要运行你的项目,在测试项目中右键单击你的 PHP 文件,然后点击 运行
。
初始化 API 客户端
注意:客户端的文档可以在这里找到。
以下参数可配置 API 客户端
API 客户端可以按以下方式初始化
$client = PagarmeApiSDKClientBuilder::init() ->basicAuthCredentials( BasicAuthCredentialsBuilder::init( 'BasicAuthUserName', 'BasicAuthPassword' ) ) ->serviceRefererName('ServiceRefererName') ->build();
授权
此 API 使用以下认证方案。
API 错误
以下是 API 可能抛出的错误列表。