getDepositAddress
取得指定網路的地址,供使用者存款至此。
注意!!在創建錢包之前,您必須在 AkashicPay.com 上註冊。否則它們將無法被識別,儘管您可能會得到一個地址作為回報。
給定一個網路和一個使用者識別碼 (user-identifier),這個函式 (function) 會透過 AkashicChain 在指定的網路中建立一個錢包,讓使用者存入錢包。要閱讀更多關於識別碼的用途,請參閱下一頁。
referenceId在存款申請中是可選的。如果您需要對存款進行更詳細的控制,它允許您識別個別交易。更多資訊請參閱下一頁。
requestedAmount 和 requestedCurrency 在存款請求中是可選的。它允許您根據這些來識別個別交易。更多資訊請參閱。
注意:存款地址在 AkashicPay 上是永久分配的。這意味著,任何以相同參數(網路和識別碼)隨後呼叫 getDepositAddress 將返回相同的地址。這意味著很容易跟蹤識別碼 (identifier) 和地址之間的一對一映射,而且 - 如果識別碼 (identifier) 代表一個用戶 - 用戶不可能搞不清楚該把錢存到哪裡。
範例
為 user123 建立 Tron-wallet
const { address, identifier } = await akashicPay.getDepositAddress(
NetworkSymbol.Tron, // Network
'user123', // identifier
'order1' // optional referenceId
);
// with requestedAmount, requestedCurrency and markupPercentage
const { address, identifier } = await akashicPay.getDepositAddressWithRequestedValue(
NetworkSymbol.Tron, // Network
'user123', // identifier
'orderId', // referenceId
Currency.USD, // requested currency
"1000", // requested amount
TokenSymbol, // optional token symbol, omit if native coin
1, // optional mark up percentage on exchange rate
);$depositAddress = $akashicPay->getDepositAddress(
NetworkSymbol::Tron, // Network
'user123', // identifier
'order1' // optional referenceId
);
// with requestedAmount, requestedCurrency and markupPercentage
$depositAddress = $akashicPay->getDepositAddressWithRequestedValue(
NetworkSymbol::Tron, // Network
'user123', // identifier
'order1', // referenceId
Currency::USD, // requested currency
'1000', // requested amount
TokenSymbol::USDT, // optional token symbol, omit if native coin
1, // optional mark up percentage on exchange rate
);APDepositAddressResult depositAddress = akashicPay.getDepositAddress(
APNetworkSymbol.TRX, // Network
'user123', // identifier
'order1' // optional referenceId
);
// with requestedAmount, requestedCurrency and markupPercentage
APDepositAddressWithRequestedValueRequest request = APDepositAddressWithRequestedValueRequest.builder()
.network(APNetworkSymbol.TRX) // Network
.identifier("user123") // identifier
.referenceId("order1") // referenceId
.requestedCurrency(APCurrencySymbol.USD) // requested currency
.requestedAmount(1000.0) // requested amount
.token(APTokenSymbol.USDT) // optional token symbol, omit if native coin
.markupPercentage(1.0) // optional mark up percentage on exchange rate
.build();
APExtendedDepositAddressResult depositAddress = sdk.getDepositAddressWithRequestedValue(request);var trxDepositAddress = await akashicPay.GetDepositAddressAsync(
TronShastaNetworkSymbol.Value, // Network
"user123", // identifier
"order1" // optional referenceId
);
// with requestedAmount, requestedCurrency and markupPercentage
var request = new ApDepositAddressWithRequestedValueRequest.Builder()
.SetNetwork(TronShastaNetworkSymbol.Value)
.SetIdentifier("user123") //identifier
.SetReferenceId("order1") //referenceId
.SetRequestedCurrency(ApCurrencySymbol.USD) // requested currency
.SetRequestedAmount(1000.0) // requested amount
.SetToken(ApTokenSymbol.Usdt) // optional token symbol, omit if native coin
.SetMarkupPercentage(10.0) // optional mark up percentage on exchange rate
.Build();
var result = await sdk.GetDepositAddressWithRequestedValueAsync(request);dA, err = ap.getDepositAddress(
akashicpay.Tron, // Network
"user123", // identifier
"order1" // optional referenceId
)
// with requestedAmount, requestedCurrency and markupPercentage
dA, err = ap.GetDepositAddressWithRequestedValue(
akashicpay.Tron, // Network
"user123", // identifier
"order1", // referenceId
akashicpay.CurrencyUSD, // requested currency
"1000", // requested amount
"", // optional token symbol, omit if native coin
0 // optional mark up percentage on exchange rate
)回調範例
{
address: 'TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU',
identifier: 'user123'
// with requestedAmount and requestedCurrency
referenceId: 'order1',
requestedAmount: '1000',
requestedCurrency: 'USD',
network: 'TRX-SHASTA',
token: undefined, // or TokenSymbol
exchangeRate: '264.23123',
amount: '3.78',
expires: '2025-07-01T00:00:00.000Z',
markupPercentage: undefined // or string
}[
"address" => "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
"identifier" => "user123",
// with requestedAmount and requestedCurrency
"referenceId" => "order1",
"requestedAmount" => "1000",
"requestedCurrency" => "USD",
"network" => "TRX-SHASTA",
"exchangeRate" => "264.23123",
"amount" => "3.78"
]{
address: 'TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU',
identifier: 'user123'
// with requestedAmount and requestedCurrency
referenceId: 'order1',
requestedAmount: '1000',
requestedCurrency: 'USD',
network: 'TRX-SHASTA',
exchangeRate: '264.23123',
amount: '3.78'
}{
Address: "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
Identifier: "user123"
// with requestedAmount and requestedCurrency
referenceId: "order1",
requestedAmount: "1000",
requestedCurrency: "USD",
network: "TRX-SHASTA",
exchangeRate: "264.23123",
amount: "3.78"
}{
Address: "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
Identifier: "user123"
// below if with requestedAmount and requestedCurrency (otherwise zero-valued)
ReferenceId: "order1",
RequestedAmount: "1000",
RequestedCurrency: "USD",
Network: "TRX-SHASTA",
Token: "USDT",
ExchangeRate: "264.23123",
Amount: "3.78",
Expires: "2025-07-01T00:00:00.000Z"
MarkupPercentage: "0"
}錯誤訊息
錯誤訊息
說明
AkashicError.KeyCreationFailure - '產生新錢包失敗。請再試一次'。
AkashicChain 出現問題,無法產生所要求的錢包。通常應很快解決
AkashicError.UnHealthyKey - '新錢包未安全建立,請重新建立
已建立錢包,但未驗證是否 100% 健康。例如,其中一個節點可能無法正確寫入其部分資料。馬上再試一次
Last updated
Was this helpful?