AkashicPay
繁體中文
繁體中文
  • 簡介
    • 概述
    • 費用結構
    • 交易時間
    • 術語
  • 指南
    • 快速指南
    • 建議整合流程
    • 密鑰對指南
    • 付款流程
    • 支援貨幣
  • 儀表板
    • 儀表板
    • 帳號
    • 轉帳
    • 設置
    • 開發者
  • SDK
    • SDK 入門
    • SDK 與工具套件
    • 函式 (Functions)
      • getDepositAddress
      • getDepositUrl
      • 識別碼 (Identifier) & ReferenceId
      • 要求的金額和貨幣 (Requested amount & currency)
      • 提款/提幣 (payout)
      • getTransfers
      • getBalance
      • getTransactionDetails
  • 參考資料
  • 錯誤訊息
  • SecureAPI
    • SecureAPI 入門
    • 函式 (Functions)
      • 取得存款地址
      • 存款 URL
      • 餘額
      • 交易資訊
      • 提幣/提款
      • 匯率
    • 參考資料
    • 錯誤處理
    • 更新日誌
  • 回調
    • 存款回調
    • 提款/提幣回調
    • 回調安全性
Powered by GitBook
On this page
  • 安裝
  • 註冊
  • 建構
  • 測試
  • 回調

Was this helpful?

  1. SDK

SDK 入門

如何設定 AkashicPay SDK 以便在您的程式碼庫中使用

安裝

安裝套件時使用

npm install @akashicpay/sdk
#or
yarn add @akashicpay/sdk
# Pre-Reqs
# Requires at least PHP 7.0 and either the gmp or bcmath extension

composer require akashic/akashic-pay
# In case of Maven
<dependencies>
    <dependency>
        <groupId>com.akashicpay</groupId>
        <artifactId>AkashicPaySDK</artifactId>
        <version>[version]</version>
    </dependency>
</dependencies>

# In case of Gradle
dependencies {
  implementation 'com.akashicpay:AkashicPaySDK:[version]'
}
$ dotnet add package AkashicPaySDK

註冊

創建一個 AkashicLink 帳號,並在 AkashicPay.com 上完成註冊程序,包括根據需要設置回調 URL,如快速指南中所述。

l2Address - 位於 AkashicLink 的頂部欄位。

privateKey - 登入 AkashicPay -> 密鑰對設置 -> 使用 API/SDK 密鑰對

建構

本範例設定使用許多可選的建立參數,僅供說明之用。

using AkashicPaySDK;
using AkashicPaySDK.Constants;

namespace ApSdkTests;

public class Example
{
    public static async Task Main(string[] args)
    {
        var environment =
            Environment.GetEnvironmentVariable("environment") == "production" ?
                APEnvironment.Production :
                APEnvironment.Development;

        var otk = ApSdkFactory.CreateOtkFromKeyPair("your_private_key", "your_l2Address");
        var sdk = await ApSdkFactory.CreateSdk(environment, otk);
    }

}
<?php

require "vendor/autoload.php";

use Akashic\AkashicPay;
use Akashic\Constants\Environment;
use Akashic\Constants\ACNode;
use Akashic\Constants\ACDevNode;

$akashicPay = new AkashicPay([
    // in development, you will use our testnet and testnet L1 chains
    'environment' => getenv('environment') === 'production' ? Environment::PRODUCTION : Environment::DEVELOPMENT,
    // optional, the SDK will try to find the fastest node if omitted
    'targetNode' => getenv('environment') === 'production' ? ACNode::SINGAPORE_1 : ACDevNode::SINGAPORE_1,
    // use whatever secret management tool you prefer to load the private key
    // from your AkashicLink account. It should be of the form:
    // `"0x2d99270559d7702eadd1c5a483d0a795566dc76c18ad9d426c932de41bfb78b7"`
    // In development, each developer could have their own, or omit this (and
    // the l2Address), in which case the SDK will create and use a new pair.
    // you can instead use your Akashic Link account's 12-word phrase, using the
    // argument `recoveryPhrase`
    'privateKey' => getenv('akashicKey'),
    // this is the address of your AkashicLink account. Of the form "AS1234..."
    'l2Address' => getenv('l2Address'),
]);
import com.akashicpay.constants.APEnvironment;
import com.akashicpay.model.ACOtk;
import com.akashicpay.sdk.IAPSdk;

public class Main {

    public static void main(String[] args) throws Exception {
        ACOtk otk = APSdkFactory.createOtkFromKeyPair("your_private_key", "your_l2_address");

        APEnvironment environment =
                System.getenv("environment").equals("production") ?
                        APEnvironment.Production : APEnvironment.Development;

        IAPSdk sdk = APSdkFactory.createSDK(environment, otk);
    }
}
using AkashicPaySDK;
using AkashicPaySDK.Constants;

namespace ApSdkTests;

public class Example
{
    public static async Task Main(string[] args)
    {
        var environment =
            Environment.GetEnvironmentVariable("environment") == "production" ?
                APEnvironment.Production :
                APEnvironment.Development;

        var otk = ApSdkFactory.CreateOtkFromKeyPair("your_private_key", "your_l2Address");
        var sdk = await ApSdkFactory.CreateSdk(environment, otk);
    }

}

現在您可以使用 AkashicPay 了!要瞭解更多關於不同功能的資訊,請前往下一頁。繼續閱讀以獲得更多關於 AkashicPay 進階設定和測試的詳細資訊。

測試

您也可以在 AkashicChain Testnet & Sepolia (Ethereum) 和 Shasta (Tron) 測試網使用 AkashicPay,這對本地開發和測試環境非常有用。要做到這一點,不遵循上述相同的設置,但使用 AkashicLink 和testnet.akashicpay.com 的測試 (testnet) 版本。SDK 設定幾乎相同,但請注意必須使用 「測試」 環境。

import { AkashicPay, Environment } from "@akashicpay/sdk";

const privateKey = process.env.akashicKey;
const l2Address = process.env.l2Address;

const akashicPay = await AkashicPay.build({
  privateKey,
  l2Address,
  environment: Environment.Development,
});

// Now, e.g. create a wallet on the Tron Shasta testnet
const { address } = await akashicPay.getDepositAddress(
  NetworkSymbol.Tron_Shasta,
  "EndUser123"
);
<?php

require "vendor/autoload.php";

use Akashic\AkashicPay;
use Akashic\Constants\Environment;
use Akashic\Constants\NetworkSymbol;

// production is the default environment.
// And in production, an otk must be specified
$akashicPay = new AkashicPay([
    'environment' => Environment::DEVELOPMENT,
    'privateKey' => getenv('akashicKey'),
    'l2Address' => getenv('l2Address'),
]);

// Now, e.g. create a wallet on the Tron Shasta testnet
$address = $akashicPay->getDepositAddress(NetworkSymbol::TRON_SHASTA, 'user123');
import com.akashicpay.constants.APEnvironment;
import com.akashicpay.model.ACOtk;
import com.akashicpay.model.APDepositAddressResult;
import com.akashicpay.model.APNetworkSymbol;
import com.akashicpay.sdk.IAPSdk;

public class Main {

    public static void main(String[] args) throws Exception {
        String l2Address = "your l2Address";
        String privateKey = "your privateKey";

        ACOtk otk = APSdkFactory.createOtkFromKeyPair(privateKey, l2Address);

        IAPSdk sdk = APSdkFactory.createSDK(APEnvironment.Development, otk);

        APDepositAddressResult trxDepositAddress =
                sdk.getDepositAddress(APNetworkSymbol.TRX_SHASTA, "EndUser123");
    }
}
using AkashicPaySDK;
using AkashicPaySDK.Constants;
using AkashicPaySDK.Model;

namespace ApSdkTests;

public class Example
{
    public static async Task Main(string[] args)
    {
        var l2Address = "your l2Address";
        var privateKey = "your privateKey";
        var otk = ApSdkFactory.CreateOtkFromKeyPair(l2Address,privateKey);

        var sdk = await ApSdkFactory.CreateSdk(APEnvironment.Development, otk);

        var trxDepositAddress = await sdk.GetDepositAddressAsync(TronShastaNetworkSymbol.Value, "test005");
    }
}

回調

要完成整合,請確保您在指定的組態設定中加入您的回調 URL。這些 URL 對於在我們的系統之間實現安全通訊、無縫處理驗證或資料交換至關重要。

如需更深入的技術指導,包括所需的 URL 格式、安全性最佳實務和疑難排解,請參閱我們的回調文件。

Previous開發者NextSDK 與工具套件

Last updated 4 days ago

Was this helpful?