moazam1 / fortisapi
Requires
- php: ^7.2 || ^8.0 || ^8.1
- ext-json: *
- apimatic/core: ~0.3.0
- apimatic/core-interfaces: ~0.1.0
- apimatic/unirest-php: ^4.0.0
Requires (Dev)
- phan/phan: 5.4.2
- phpunit/phpunit: ^7.5 || ^8.5 || ^9.5
- squizlabs/php_codesniffer: ^3.5
README
构建
生成的代码对外部库(如UniRest和JsonMapper)有依赖。JsonMapper需要docblock注释如@var
、@maps
和@factory
来映射JSON响应与我们的类定义。因此,无法通过禁用PHP配置(如opcache.save_comments
)来禁用生成代码中的docblock。这些依赖关系定义在SDK附带的composer.json
文件中。为了解决这些依赖关系,我们使用Composer包管理器,该管理器要求您的系统安装PHP 7.2或更高版本。访问https://getcomposer.org.cn/download/下载Composer安装文件,并在您的系统上运行它。打开命令提示符并输入composer --version
。如果安装成功,应显示已安装的Composer当前版本。
- 使用命令行导航到包含生成的SDK文件(包括
composer.json
)的目录。 - 运行命令
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
安装
以下部分解释了如何在新的项目中使用FortisAPILib库。
1. 在IDE中打开项目
打开PHP IDE如PhpStorm。这里展示的基本工作流程也适用于您更喜欢使用不同编辑器或IDE的情况。
在PhpStorm中点击打开
,浏览到您的生成的SDK目录,然后点击OK
。
2. 添加一个新的测试项目
如下所示,在解决方案名称上右键单击以创建新目录
将目录命名为"test"。
向此项目添加一个PHP文件。
命名为"testSDK"。
根据您的项目设置,您可能需要在PHP代码中包含Composer的自动加载器以启用类的自动加载。
require_once "vendor/autoload.php";
重要的是确保require_once中的路径正确指向依赖安装期间在vendor目录中创建的autoload.php
文件。
在此之后,您可以添加代码来初始化客户端库并获取Controller类的实例。后续部分提供了初始化客户端库和使用Controller方法示例代码。
3. 运行测试项目
要运行您的项目,您必须设置项目的解释器。解释器是安装在您计算机上的PHP引擎。
从文件
菜单中打开设置
。
在语言和框架
中,选择PHP
。
在解释器
选项附近浏览解释器并选择您的解释器。
选择解释器后,点击 确定
。
要运行您的项目,在测试项目中的PHP文件上右键单击,然后单击 运行
。
测试SDK
此SDK中的单元测试可以使用PHPUnit运行。
- 首先使用composer安装依赖项,包括
require-dev
依赖项。 - 从命令行运行
vendor\bin\phpunit --verbose
以执行测试。如果您已全局安装PHPUnit,则使用phpunit --verbose
运行测试。
您可以在phpunit.xml
文件中更改PHPUnit测试配置。
初始化API客户端
注意:客户端文档可在此处找到。
以下参数可配置API客户端
API客户端可按以下方式初始化
$client = FortisAPIClientBuilder::init() ->userId('user-id') ->userApiKey('user-api-key') ->developerId('developer-id') ->environment('sandbox') ->build();
环境
SDK可以配置为使用不同的环境来执行API调用。可用环境包括
字段
授权
此API使用自定义头部签名
。
API列表
- 异步处理
- 设备条款
- 入驻
- 快速发票
- 交易-ACH
- 交易-现金
- 交易-信用卡
- 交易-读取
- 三级数据
- 交易-更新
- 用户验证
- 批处理
- 联系人
- 元素
- 位置
- 支付链接
- 定期
- 签名
- 标签
- 终端
- 票证
- 令牌
- 用户
- Webhooks