Retrieve a wallet transaction

Get details on a specific wallet transaction.

Read our wallet transactions guide to learn more.

To access this endpoint using an access token you'll need to specify the /accounts/{accountID}/wallets.read scope.

GET
/accounts/{accountID}/wallets/{walletID}/transactions/{transactionID}
cURL Go Python TypeScript Java PHP
1
2
curl -X GET "https://api.moov.io/accounts/{accountID}/wallets/{walletID}/transactions/{transactionID}" \
  -H "Authorization: Bearer {token}" \
1
2
3
4
5
6
7
mc, _ := moov.NewClient()

var accountID string
var walletID string
var transactionID string

mc.GetWalletTransaction(ctx, accountID, walletID, transactionID)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
from  import Moov
from .models import components


with Moov(
    security=components.Security(
        username="",
        password="",
    ),
) as moov:

    res = moov.wallet_transactions.get(account_id="b888f774-3e7c-4135-a18c-6b985523c4bc", wallet_id="e50f7622-81da-484b-9c66-1c8a99c6b71b", transaction_id="ecd62b8f-7112-4aaf-90ab-4e43b4cca371")

    # Handle response
    print(res)
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
import { Moov } from "@moovio/sdk";

const moov = new Moov({
  security: {
    username: "",
    password: "",
  },
});

async function run() {
  const result = await moov.walletTransactions.get({
    accountID: "b888f774-3e7c-4135-a18c-6b985523c4bc",
    walletID: "e50f7622-81da-484b-9c66-1c8a99c6b71b",
    transactionID: "ecd62b8f-7112-4aaf-90ab-4e43b4cca371",
  });

  // Handle the result
  console.log(result);
}

run();
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
package hello.world;

import io.moov.sdk.Moov;
import io.moov.sdk.models.components.Security;
import io.moov.sdk.models.operations.GetWalletTransactionResponse;
import java.lang.Exception;

public class Application {

    public static void main(String[] args) throws Exception {

        Moov sdk = Moov.builder()
                .security(Security.builder()
                    .username("")
                    .password("")
                    .build())
            .build();

        GetWalletTransactionResponse res = sdk.walletTransactions().get()
                .accountID("b888f774-3e7c-4135-a18c-6b985523c4bc")
                .walletID("e50f7622-81da-484b-9c66-1c8a99c6b71b")
                .transactionID("ecd62b8f-7112-4aaf-90ab-4e43b4cca371")
                .call();

        if (res.walletTransaction().isPresent()) {
            // handle response
        }
    }
}
 1
 2
 3
 4
 5
 6
 7
 8
 9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
declare(strict_types=1);

require 'vendor/autoload.php';

use Moov\MoovPhp;
use Moov\MoovPhp\Models\Components;

$sdk = MoovPhp\Moov::builder()
    ->setSecurity(
        new Components\Security(
            username: '',
            password: '',
        )
    )
    ->build();



$response = $sdk->walletTransactions->get(
    accountID: 'b888f774-3e7c-4135-a18c-6b985523c4bc',
    walletID: 'e50f7622-81da-484b-9c66-1c8a99c6b71b',
    transactionID: 'ecd62b8f-7112-4aaf-90ab-4e43b4cca371',
    xMoovVersion: 'v2024.01.00'

);

if ($response->walletTransaction !== null) {
    // handle response
}
200 401 403 404 429 500 504
The request completed successfully.
{
  "availableBalance": 10000,
  "availableBalanceDecimal": "100.00",
  "completedOn": "2024-05-06T12:20:38.184Z",
  "createdOn": "2024-05-06T12:20:38.184Z",
  "currency": "USD",
  "fee": 30,
  "feeDecimal": "0.30",
  "grossAmount": 2000,
  "grossAmountDecimal": "20.00",
  "memo": "An example completed card payment",
  "netAmount": 1970,
  "netAmountDecimal": "19.70",
  "sourceID": "01234567-89ab-cdef-0123-456789abcdef",
  "sourceType": "transfer",
  "status": "completed",
  "transactionID": "01234567-89ab-cdef-0123-456789abcdef",
  "transactionType": "card-payment",
  "walletID": "01234567-89ab-cdef-0123-456789abcdef"
}
{
  "description": "A transaction that funds or deducts from the wallet.",
  "properties": {
    "availableBalance": {
      "description": "The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.",
      "format": "int64",
      "type": "integer"
    },
    "availableBalanceDecimal": {
      "description": "The wallet's total available balance after recording a completed transaction. Same as `availableBalance`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.",
      "pattern": "^\\d+\\.\\d{1,9}$",
      "type": "string"
    },
    "completedOn": {
      "format": "date-time",
      "type": "string"
    },
    "createdOn": {
      "format": "date-time",
      "type": "string"
    },
    "currency": {
      "description": "A 3-letter ISO 4217 currency code.",
      "example": "USD",
      "pattern": "^[A-Za-z]{3}$",
      "type": "string"
    },
    "fee": {
      "description": "Total fees paid for the transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.",
      "format": "int64",
      "type": "integer"
    },
    "feeDecimal": {
      "description": "Total fees paid for the transaction. Same as `fee`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.",
      "pattern": "^\\d+\\.\\d{1,9}$",
      "type": "string"
    },
    "feeIDs": {
      "description": "The IDs of the fees paid for the transaction.",
      "items": {
        "type": "string"
      },
      "type": "array"
    },
    "grossAmount": {
      "description": "The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.",
      "format": "int64",
      "type": "integer"
    },
    "grossAmountDecimal": {
      "description": "The total transaction amount. Same as `grossAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.",
      "pattern": "^\\d+\\.\\d{1,9}$",
      "type": "string"
    },
    "memo": {
      "description": "Detailed description of the transaction.",
      "type": "string"
    },
    "netAmount": {
      "description": "Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.",
      "format": "int64",
      "type": "integer"
    },
    "netAmountDecimal": {
      "description": "Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. Same as `netAmount`, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.",
      "pattern": "^\\d+\\.\\d{1,9}$",
      "type": "string"
    },
    "sourceID": {
      "description": "The ID of the Moov object to which this transaction is related.",
      "format": "uuid",
      "type": "string"
    },
    "sourceType": {
      "enum": [
        "transfer",
        "dispute",
        "issuing-card-transaction",
        "issuing-authorization",
        "sweep",
        "adjustment",
        "fee"
      ],
      "type": "string"
    },
    "status": {
      "enum": [
        "pending",
        "completed",
        "canceled",
        "failed"
      ],
      "type": "string"
    },
    "sweepID": {
      "format": "uuid",
      "type": "string"
    },
    "transactionID": {
      "format": "uuid",
      "type": "string"
    },
    "transactionType": {
      "enum": [
        "account-funding",
        "ach-reversal",
        "auto-sweep",
        "card-payment",
        "card-decline",
        "card-reversal",
        "cash-out",
        "dispute",
        "dispute-reversal",
        "facilitator-fee",
        "issuing-refund",
        "issuing-transaction",
        "issuing-transaction-adjustment",
        "issuing-auth-hold",
        "issuing-auth-release",
        "issuing-decline",
        "moov-fee",
        "payment",
        "payout",
        "refund",
        "refund-failure",
        "rtp-failure",
        "top-up",
        "wallet-transfer",
        "adjustment"
      ],
      "type": "string"
    },
    "walletID": {
      "format": "uuid",
      "type": "string"
    }
  },
  "required": [
    "walletID",
    "transactionID",
    "transactionType",
    "sourceType",
    "sourceID",
    "status",
    "memo",
    "createdOn",
    "currency",
    "grossAmount",
    "grossAmountDecimal",
    "fee",
    "feeDecimal",
    "netAmount",
    "netAmountDecimal"
  ],
  "type": "object"
}

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request contained missing or expired authentication.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The user is not authorized to make the request.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The requested resource was not found.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
Request was refused due to rate limiting.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed due to an unexpected error.

x-request-id

string <uuid> required
A unique identifier used to trace requests.
The request failed because a downstream service failed to respond.

x-request-id

string <uuid> required
A unique identifier used to trace requests.

Headers

x-moov-version

string
API version

Specify an API version.

API versioning follows the format vYYYY.QQ.BB, where

  • YYYY is the year
  • QQ is the two-digit month for the first month of the quarter (e.g., 01, 04, 07, 10)
  • BB is the build number, starting at .01, for subsequent builds in the same quarter.
    • For example, v2024.01.00 is the initial release of the first quarter of 2024.

The latest version represents the most recent development state. It may include breaking changes and should be treated as a beta release.

Default: v2024.01.00

Path parameters

accountID

string <uuid> required

walletID

string <uuid> required

transactionID

string <uuid> required

Response

application/json
A transaction that funds or deducts from the wallet.

createdOn

string<date-time> required

currency

string required Pattern
A 3-letter ISO 4217 currency code.

fee

integer<int64> required
Total fees paid for the transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.

feeDecimal

string required Pattern
Total fees paid for the transaction. Same as fee, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.

grossAmount

integer<int64> required
The total transaction amount. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.

grossAmountDecimal

string required Pattern
The total transaction amount. Same as grossAmount, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.

memo

string required
Detailed description of the transaction.

netAmount

integer<int64> required
Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. The amount is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.

netAmountDecimal

string required Pattern
Net amount is the gross amount less fees paid, and the amount that affects the wallet's balance. Same as netAmount, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.

sourceID

string<uuid> required
The ID of the Moov object to which this transaction is related.

sourceType

string<enum> required
Possible values: transfer, dispute, issuing-card-transaction, issuing-authorization, sweep, adjustment, fee

status

string<enum> required
Possible values: pending, completed, canceled, failed

transactionID

string<uuid> required

transactionType

string<enum> required
Possible values: account-funding, ach-reversal, auto-sweep, card-payment, card-decline, card-reversal, cash-out, dispute, dispute-reversal, facilitator-fee, issuing-refund, issuing-transaction, issuing-transaction-adjustment, issuing-auth-hold, issuing-auth-release, issuing-decline, moov-fee, payment, payout, refund, refund-failure, rtp-failure, top-up, wallet-transfer, adjustment

walletID

string<uuid> required

availableBalance

integer<int64>
The wallet's total available balance after recording a completed transaction. The value is in the smallest unit of the specified currency. In USD this is cents, for example, $12.04 is 1204 and $0.99 is 99.

availableBalanceDecimal

string Pattern
The wallet's total available balance after recording a completed transaction. Same as availableBalance, but a decimal-formatted numerical string that represents up to 9 decimal place precision. In USD for example, 12.987654321 is $12.987654321 and 0.9987634521 is $0.9987634521.

completedOn

string<date-time>

feeIDs

array
The IDs of the fees paid for the transaction.

sweepID

string<uuid>