wrappedcbdc/cngn-php-library

一个开源库,旨在为您提供最佳体验,以管理您的asc商户账户

v1.0.0 2024-10-02 15:24 UTC

This package is auto-updated.

Last update: 2024-10-02 15:37:23 UTC


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进行测试。要运行测试,请按照以下步骤操作

  1. 运行测试命令

    composer run test

    这将运行__tests__目录中的所有测试。

测试结构

测试位于__tests__目录中。它们涵盖了CNGnManager类的各个方面,包括

  • 不同端点的API调用(GET和POST请求)
  • 数据加密和解密
  • 各种场景的错误处理

返回值

所有响应都以Json字符串返回,您必须使用; $data = json_decode($response)将其解码为对象,或使用; $data = json_decode($response, true)将其解码为数组。

错误处理

该库使用自定义错误处理机制。所有API错误都被捕获并作为具有描述性信息的Error对象抛出。

类型

该库包含所有参数和返回类型的php定义。请参阅源代码中的类型定义以获取更多详细信息。

安全

该库使用AES加密请求有效负载,使用Ed25519解密响应数据。请确保您的encryptionKeyprivateKey是安全的。

贡献

欢迎贡献、问题和功能请求。如果您想贡献,请随意查看问题页面

支持

如果您有任何问题或需要使用库的帮助,请在GitHub存储库中打开一个问题。

许可

MIT