---
title: "Fetch a transaction from the provider (for offramp use)"
method: GET
path: "/payments/transactions/sessions/{sessionId}"
tags: ["Retail Ramp"]
---

# Fetch a transaction from the provider (for offramp use)

`GET /payments/transactions/sessions/{sessionId}`

## Request

- Base URL: `https://api-sb.meld.io`
- URL: `https://api-sb.meld.io/payments/transactions/sessions/{sessionId}`
- Auth: API key in header `Authorization`
- TypeScript: <https://skmtc.dev/meld/apis/bank-linking/docs/payments/transactions/sessions/:sessionId/get.ts> (a function with typed inputs; its response is checked against the schema)

Fetch a transaction from the service provider using the session ID. This endpoint is primarily used for offramp scenarios where the transaction needs to be retrieved from the provider after the user completes their action in the widget.

## Path parameters

- `sessionId` string, required

## Response `200`

Transaction found and retrieved from provider

- PaymentTransactionResponse20250304
  - `transaction` PaymentTransactionOutput20250304
    - `accountId` string: Your account Id
    - `countryCode` string: The ISO 3166 2-digit country code.
    - `createdAt` string, date-time, required: An ISO 8601 DateTime at which the object was created.
    - `cryptoDetails` CryptoDetails20250304
      - `blockchainTransactionId` string: The transaction id on the blockchain
      - `chainId` string: A unique identifier that represents a blockchain network. The chainId of a particular network is standard everywhere.
      - `destinationWalletAddress` string: The wallet address that the crypto is sent to. This is usually the user's wallet address for buy and transfer transactions, and the onramp's wallet address for sell transactions.
      - `institution` string: The institution used to execute the transaction. Only applicable for transfers currently.
      - `networkFee` number: This fee is paid to cryptocurrency miners, which are the systems that process the transactions
      - `networkFeeInUsd` number: This network fee in USD
      - `partnerFee` number: The partner fee amount
      - `partnerFeeInUsd` number: The partner fee in USD
      - `sessionWalletAddress` string: The wallet address passed into the /widget endpoint, typically of the user. This will often be the same as either the sourceWalletAddress or the destinationWalletAddress.
      - `sourceWalletAddress` string: The wallet address that the crypto comes from. This is usually the onramp's wallet address for buy transactions, and the user's wallet address for transfer and sell transactions.
      - `swapFee` number: The swap fee amount charged by the swap provider for ramp+swap transactions
      - `swapFeeInUsd` number: The swap fee in USD
      - `totalFee` number: The total amount of fees that will be charged
      - `totalFeeInUsd` number: The total fee in USD
      - `transactionFee` number: The fee amount charged by the service provider to process your customer's purchase
      - `transactionFeeInUsd` number: The transaction fee in USD
    - `customer` CustomerOutput
      - `accountId` string: Your Account Id
      - `addresses` CustomerAddressOutput[]: Your Customer's addresses, such as billing, shipping, etc.
        - `addressDetails` CustomerAddressDetails
          - `addressDetailsFields` object
          - `city` string: City, district, suburb, town, or village
          - `country` string: Two-letter country code (ISO 3166-1 alpha-2)
          - `firstName` string: The first name on the address
          - `lastName` string: The last name on the address
          - `lineOne` string: Address line 1 (e.g., street, PO Box, or company name)
          - `lineTwo` string: Address line 2 (e.g., apartment, suite, unit, or building)
          - `postalCode` string: ZIP or postal code
          - `region` string: State, county, province, or region
        - `type` 'BILLING' | 'SHIPPING' | 'RESIDENCE': Address type such as BILLING, SHIPPING, RESIDENCE, etc.
      - `email` string: Your Customer's email address
      - `externalId` string: Your optionally supplied Id for your Customer, e.g. a Customer Id in your system
      - `id` string: Meld's internal Id for the Customer
      - `name` CustomerName
        - `firstName` string: Your customer's first name
        - `lastName` string: Your customer's last name
      - `phone` string: Your Customer's phone number
      - `serviceProviders` object: A map of Service Providers and service provider IDs for this Customer
      - `status` string: ACTIVE or INACTIVE, may not be set
    - `description` string: An arbitrary string which you can attach to this transaction. It is displayed when in the web interface alongside the charge.
    - `destinationAmount` number: The destination amount of the transaction, e.g. the amount of crypto currency purchased
    - `destinationCurrencyCode` string: Three-letter ISO currency code. Must be a supported currency
    - `externalCustomerId` string: Your unique identifier for your customer. If maintaining your own customer management system this can also be used for tracking customer activity.
    - `externalReferenceId` string: Your optional reference id provided during transaction creation
    - `externalSessionId` string: The external Id of the session.
    - `externalSubaccountCustomerId` string: Optional external identifier for the sub-account customer this transaction belongs to. Used for tracking when multiple businesses operate under one Meld account. A sub-account customer must be created first before it can be referenced.
    - `fiatAmountInUsd` number: The fiat amount of the transaction in usd
    - `id` string, required: Unique identifier for this transaction
    - `isImported` boolean: Return ***True*** if this transaction was initiated outside Meld
    - `isPassthrough` boolean: Return ***True*** if the passthrough credentials were used
    - `key` string: Pagination key, may be used with the "after" parameter in search requests. Only set and relevant for paginated calls
    - `multiFactorAuthorizationStatus` MultiFactorAuthorizationStatusOutput[]: The transaction required multi-factor authentication methods, and their current status. When required, must be approved for the purchase tobe completed successfully.
      - `method` 'SMS' | 'CARD' | 'EMAIL' | 'THREE_DS': How the card details were authorized
      - `submitted` boolean: Return ***True*** if the information was submitted
      - `successful` boolean: Return ***True*** if the submitted information is a match
      - `url` string: URL used to perform authorization (if applicable)
    - `orderId` string: Unique identifier for the order associated with this transaction, when applicable
    - `parentPaymentTransactionId` string: The Id of the associated object for this line item
    - `passthroughReference` string: The unique reference you use to identify the partner on whose behalf you created this transaction. This might be a String or UUID in your system to identify a merchant or partner. This is needed so that you can associate passthrough transactions to your partners who may not be registered with Meld
    - `paymentDetails` PaymentDetails
      - `authAmount` number: The amount authorized to be charged (must be greater than the amount intended to be collected.) Note that the number of digits with a decimal point varies with the currency. Reference the list of active codes of official ISO 4217 currency names.
      - `captureAmount` number: The amount captured (can be less than the amount intended to be collected.) Note that the number of digits with a decimal point varies with the currency. Reference the list of active codes of official ISO 4217 currency names.
    - `paymentMethodType` string: Payment Method type used for this transaction.
    - `serviceProvider` string, required: The service provider used for this transaction
    - `serviceProviderCreatedAt` string, date-time: The ISO 8601 DateTime when the transaction was created on the service provider's side
    - `serviceProviderDetails` object: The service provider's details
    - `serviceProviderTransactionUrl` string: A link to the resource on the Service Provider, may not be present
    - `serviceTransactionId` string: The service provider's unique identifier for this transaction
    - `sessionClientTags` object: A map of client tags
    - `sessionId` string, required: The Id of the session.
    - `sourceAmount` number: The amount of the transaction
    - `sourceCurrencyCode` string: Three-letter ISO currency code. Must be a supported currency
    - `status` string, required: The current status of the transaction
    - `subaccountCustomerId` string: Optional Meld customer id used to track the business sub-account this transaction belongs to when multiple businesses operate under one Meld account.
    - `transactionType` string, required: The transaction's type
    - `updatedAt` string, date-time, required: Time at which the object was last updated. Measured in seconds since the Unix epoch.

## Other responses

- `400`: Bad Request : check request values and format
- `401`: Invalid credentials
- `403`: Unauthenticated or authenticated with insufficient access
- `404`: Session not found or transaction not yet created with provider
- `500`: Server Error. This applies to all 5xx errors, including but not limited to 500, 501, 502, 503, and 504 errors. You should treat all of these errors the same.

---

[API](https://skmtc.dev/meld/apis/bank-linking.md) - [All operations](https://skmtc.dev/meld/apis/bank-linking/llms.txt) - [OpenAPI document](https://skmtc.dev/meld/apis/bank-linking/revisions/818d6079a611?raw)
