# getTransfers

此函式 (function) 使用一組可選參數，以取得更特定的交易子集

* `page` & `limit` 用於分頁。頁面為零索引。允許的限制值有 10、25、50 和 100。
* `layer` 限制結果為[第一層](https://docs.akashicpay.com/traditional-chinese/jian-jie/shu-yu#di-yi-ceng-layer1)或[第二層](https://docs.akashicpay.com/traditional-chinese/jian-jie/shu-yu#di-er-ceng-layer2)交易
* `status` 將結果限制為僅 「待定」、「已確認」 或 「已失敗」 的交易
* `transactionType` 將結果限制為[進/出](https://docs.akashicpay.com/traditional-chinese/jian-jie/shu-yu)交易。「存款 」或 「提款」
* `startDate` 和 `endDate` 依時間限制結果
* `hideSmallTransactions` 設為 true 可排除價值低於 1 美元的交易
* `identifier` 依 `identifier` 篩選結果
* `referenceId` 依 `referenceId` 篩選結果

注意: `l2Txnhash` (「L2-hash」) 應該始終用作交易的唯一識別碼 (identifier)。這是 [AkashicChain](https://docs.akashicpay.com/traditional-chinese/jian-jie/shu-yu#akashicchain) 上任何交易的唯一交易哈希 (transaction-hash)。它存在於已確認的存款和待定/已確認的付款中。這對於[第二層](https://docs.akashicpay.com/traditional-chinese/jian-jie/shu-yu#di-er-ceng-layer2)交易尤其重要，因為第二層交易沒有第一層哈希值 (`txHash`)

注意：`internalFee` 是指在 AkashicChain 上交易的 [L2 相關費用](https://docs.akashicscan.com/traditional-chinese#di-er-ceng-l2-fei-yong)。

## <mark style="color:blue;">範例</mark>

{% tabs %}
{% tab title="TypeScript" %}

```typescript
const transactions = await akashicPay.getTransfers({
  page: 0,
  limit: 10,
  layer: TransactionLayer.L1,
  status: TransactionStatus.CONFIRMED,
  startDate: new Date("2024-01-01"),
  endDate: new Date("2025-01-01"),
  hideSmallTransactions: true,
});
```

{% endtab %}

{% tab title="PHP" %}

```php
$transactions = akashicPay.getTransfers([
    "page" => 0,
    "limit" => 10,
    "layer" => "L1Transaction",
    "status" => "Confirmed",
    "startDate" => date('2024-01-01),
    "endDate" => date('2025-01-01'),
    "hideSmallTransactions" => True
]);
```

{% endtab %}

{% tab title="Java" %}

```java
APTransactionsParam param = APTransactionsParam.builder(0, 10, new Date(2024,1,1), new Date(2025,1,1), APTransactionLayer.L1Transaction, APTransactionStatus.Confirmed, true).build();

APTransfersResult result = akashicPay.getTransfers(l2Address, param);
```

{% endtab %}

{% tab title="C#" %}

```csharp
var param = new ApTransactionsParam(0, 10, new DateTime(2024, 1, 1), new DateTime(2025, 1, 1), APTransactionLayer.L1Transaction, APTransactionStatus.Confirmed, true);

var result = await akashicPay.GetTransfersAsync(param);
```

{% endtab %}

{% tab title="Go" %}

```go
transactions, err := ap.GetTransfers(akashicpay.IGetTransactions{
    Page:                  0,
    Limit:                 10,
    Layer:                 akashicpay.L1,
    Status:                akashicpay.CONFIRMED,
    StartDate:             time.Date(2024, 1, 1, 0, 0, 0, 0, time.UTC),
    EndDate:               time.Date(2025, 1, 1, 0, 0, 0, 0, time.UTC),
    HideSmallTransactions: true,
})
```

{% endtab %}
{% endtabs %}

## <mark style="color:blue;">回調範例</mark>

{% tabs %}
{% tab title="TypeScript" %}

```typescript
[
    {
      "fromAddress": "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      "toAddress": "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      "layer": TransactionLayer.L1,
      "date": "2024-08-19T10:03:58.649Z",
      "amount": "1.000000",
      "coinSymbol": NetworkSymbol.Tron_Shasta,
      "status": TransactionStatus.CONFIRMED,
      "txHash": "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      "internalFee": {
        "deposit": "0.100000"
      },
      "l2TxnHash": "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
    {
      "fromAddress": "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      "toAddress": "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      "layer": TransactionLayer.L1,
      "date": "2024-08-19T10:03:58.649Z",
      "amount": "100.000000",
      "coinSymbol": NetworkSymbol.Tron_Shasta,
      "status": TransactionStatus.CONFIRMED,
      "txHash": "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      "internalFee": {
        "deposit": "0.100000"
      },
      "feesPaid": "14.123456",
      "l2TxnHash": "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
]
```

{% endtab %}

{% tab title="PHP" %}

```php
[
    {
      "fromAddress": "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      "toAddress": "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      "layer": "L1Transaction",
      "date": "2024-08-19T10:03:58.649Z",
      "amount": "1.000000",
      "coinSymbol": NetworkSymbol::TRON_SHASTA,
      "status": "Confirmed",
      "txHash": "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      "internalFee": {
        "deposit": "0.100000"
      },
      "l2TxnHash": "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
    {
      "fromAddress": "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      "toAddress": "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      "layer": "L1Transaction",
      "date": "2024-08-19T10:03:58.649Z",
      "amount": "100.000000",
      "coinSymbol": NetworkSymbol::TRON_SHASTA,
      "status": "Confirmed",
      "txHash": "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      "internalFee": {
        "deposit": "0.100000"
      },
      "feesPaid": "14.123456",
      "l2TxnHash": "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
]
```

{% endtab %}

{% tab title="Java" %}

```java
[
    {
      "fromAddress": "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      "toAddress": "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      "layer": APTransactionLayer.L1Transaction,
      "date": "2024-08-19T10:03:58.649Z",
      "amount": "1.000000",
      "coinSymbol": APNetworkSymbol.TRX_SHASTA,
      "status": APTransactionStatus.Confirmed,
      "txHash": "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      "internalFee": {
        "deposit": "0.100000"
      },
      "l2TxnHash": "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
    {
      "fromAddress": "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      "toAddress": "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      "layer": APTransactionLayer.L1Transaction,
      "date": "2024-08-19T10:03:58.649Z",
      "amount": "100.000000",
      "coinSymbol": APNetworkSymbol.TRX_SHASTA,
      "status": APTransactionStatus.Confirmed,
      "txHash": "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      "internalFee": {
        "deposit": "0.100000"
      },
      "feesPaid": "14.123456",
      "l2TxnHash": "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
]
```

{% endtab %}

{% tab title="C#" %}

```csharp
{
  "TransactionCount": 2841,
  "Transactions": [
    {
      "FromAddress": "TXHGwWiCUgiKjSNC3HtWCmiABAcmQgkQ7P",
      "ToAddress": "TF97xibDz9ba4bGm6SNBYDSXA4mbeBK6JW",
      "Layer": ApTransactionLayer.L1Transaction,
      "Date": "2024-09-12T14:03:57.548Z",
      "Amount": "1.000000",
      "NetworkSymbol": TronShastaNetworkSymbol,
      "Status": ApTransactionStatus.Confirmed,
      "L2TxnHash": "AS7376bfa5e3152ea6a6027e6f0bdf35e013979394448b4516298a54355c3555aa",
      "TokenSymbol": ApTokenSymbol.Usdt,
      "InternalFee": {
        "Deposit": null,
        "Withdraw": "1.000000"
      },
      "Identifier": "testuser",
      "TxHash": "9970322d75146f8c439d943d367e894059b8118453285906b42ea67a61915ac5"
    },
    {
      "FromAddress": "TR6vZK9Nvq2ZBETWGzU5VEgGQ2ZEH2NYcp",
      "ToAddress": "TF97xibDz9ba4bGm6SNBYDSXA4mbeBK6JW",
      "Layer": ApTransactionLayer.L1Transaction,
      "Date": "2024-09-12T14:02:57.652Z",
      "Amount": "1.000000",
      "NetworkSymbol": TronShastaNetworkSymbol,
      "Status": ApTransactionStatus.Confirmed,
      "L2TxnHash": "AS2612edced26e031ab1be08daf062dd195ce306a8d4e4eed9477b1c97c3e12448",
      "TokenSymbol": ApTokenSymbol.Usdt,
      "InternalFee": {
        "Deposit": null,
        "Withdraw": "1.000000"
      },
      "Identifier": "testuser",
      "TxHash": "645a42038b52ccec75b9edcdf7c8bf6ffeadc578975ec886abf9cadf5f350ce1"
    }
  ]
}
```

{% endtab %}

{% tab title="Go" %}

```
[
    {
      FromAddress: "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      ToAddress: "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      Layer: akashicpay.L1,
      InitiatedAt: "2024-08-19T10:03:58.649Z",
      ConfirmedAt: "2024-08-19T10:05:23.231Z",
      Amount: "1.000000",
      CoinSymbol:akashicpay.TRX_SHASTA,
      TokenSymbol: "",
      Status: akashicpay.CONFIRMED,
      TxHash: "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      InternalFee: {
        Deposit: "0.100000"
      },
      DepositRequest: akashicPay.DepositRequest{}, // Populated if deposit requested with referenceId
      ReceiverInfo: akashicPay.UserInfo{Identity: "AS4850e9d8519ebe1f1979096f89b90b6efd0aa62535354965c5fbce94f54422c8"},
      SenderInfo: akashicPay.UserInfo{}, // Populated if a deposit
      L2TxnHash: "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
    {
      FromAddress: "TQH8ygbS8BAnzSQ9uxR9vXHJYMQVRvbgPg",
      ToAddress: "TTVkK6hGoAFhALG9NTkUDHjcFFXKmWcScU",
      Layer: akashicpay.L1,
      InitiatedAt: "2024-08-19T10:03:58.649Z",
      ConfirmedAt: "2024-08-19T10:05:23.231Z",
      Amount: "100.000000",
      CoinSymbol: akashicpay.TRX_SHASTA,
      TokenSymbol: akashicpay.USDT,
      Status: akashicpay.CONFIRMED,
      TxHash: "28a9880ad2ef3b7be1c40763128ec9630ab74e4749a3c81037c3501e4209bfcc",
      InternalFee: {
        Withdraw: "0.100000"
      },
      DepositRequest: akashicPay.DepositRequest{}, // Populated if deposit requested with referenceId
      SenderInfo: akashicPay.UserInfo{Identity: "AS4850e9d8519ebe1f1979096f89b90b6efd0aa62535354965c5fbce94f54422c8"},
      ReceiverInfo: akashicPay.UserInfo{}, // Populated if a deposit
      FeeIsDelegated: false,
      FeesPaid: "14.123456",
      L2TxnHash: "ASe7eb1cb8193787040fcffa02a224a6ced7415ff2205343c0ab661e898e8d6eef",
    },
]
```

{% endtab %}
{% endtabs %}
