wrappedcbdc / cngn-php-library
一个开源库,旨在为您提供最佳体验,以管理您的asc商户账户
v1.0.0
2024-10-02 15:24 UTC
Requires
- guzzlehttp/guzzle: ^7.9
Requires (Dev)
- phpunit/phpunit: ^11.3
README
CNGnManager是一个用于与CNGN API交互的PHP库。它提供简单接口,用于各种操作,如检查余额、在不同链之间交换、存款赎回、创建虚拟账户等。
目录
安装
要安装CNGnManager及其依赖项,请运行
composer require wrappedcbdc/cngn-php-library
使用
首先,使用它命名空间ASC\CNGNManager导入CNGnManager类及其所有必要的常量。
<?php declare(strict_types=1); require __DIR__ ."/vendor/autoload.php"; use ASC\CNGnManager; use ASC\constants\{Network, ProviderType};
然后,使用您的密钥创建一个CNGnManager实例
$apiKey = "cngn_live_sk**********"; $encryptionKey = "yourencryptionkey"; $sshPrivateKey = "-----BEGIN OPENSSH PRIVATE KEY----- your ssh key -----END OPENSSH PRIVATE KEY-----"; #NOTE: You can as well get your private key from a file using $sshPrivateKey = file_get_contents("/path/to/sshkey.key"); $manager = new CNGnManager($apiKey, $sshPrivateKey, $encryptionKey); // Example: Get balance $balance = $manager->getBalance(); echo $balance;
可用方法
获取余额
$balance = $manager->getBalance(); echo $balance;
获取交易历史记录
$transactions = $manager->getTransactionHistory(); echo $transaction
在不同链之间交换
$swapParams = [ "amount"=> 100, "address" => '0x1234...', "network" => Network::BSC ]; $swapResult = $manager->swapBetweenChains($swapParams); echo $swapResult;
存款赎回
$depositParams = [ "amount"=> 1000, "bank"=> 'Example Bank', "accountNumber"=> '1234567890' ]; $depositResult = $manager->depositForRedemption($depositParams); echo $depositResult;
创建虚拟账户
$mintParams = [ "provider"=> ProviderType::KORAPAY ]; $virtualAccount = $manager->createVirtualAccount($mintParams); echo $virtualAccount;
白名单地址
$whitelistParams: [ "bscAddress" => '0x1234...', "bankName" => 'Example Bank', "bankAccountNumber" => '1234567890' ]; $whitelistResult = $manager->whitelistAddress(whitelistParams); echo $whitelistResult;
测试
此项目使用Jest进行测试。要运行测试,请按照以下步骤操作
-
运行测试命令
composer run test这将运行
__tests__目录中的所有测试。
测试结构
测试位于__tests__目录中。它们涵盖了CNGnManager类的各个方面,包括
- 不同端点的API调用(GET和POST请求)
- 数据加密和解密
- 各种场景的错误处理
返回值
所有响应都以Json字符串返回,您必须使用; $data = json_decode($response)将其解码为对象,或使用; $data = json_decode($response, true)将其解码为数组。
错误处理
该库使用自定义错误处理机制。所有API错误都被捕获并作为具有描述性信息的Error对象抛出。
类型
该库包含所有参数和返回类型的php定义。请参阅源代码中的类型定义以获取更多详细信息。
安全
该库使用AES加密请求有效负载,使用Ed25519解密响应数据。请确保您的encryptionKey和privateKey是安全的。
贡献
欢迎贡献、问题和功能请求。如果您想贡献,请随意查看问题页面。
支持
如果您有任何问题或需要使用库的帮助,请在GitHub存储库中打开一个问题。