> ## Documentation Index
> Fetch the complete documentation index at: https://docs.meld.io/llms.txt
> Use this file to discover all available pages before exploring further.

# Import an external payment transaction

> This is the endpoint to import a transaction on any of the supported providers. Use this endpoint if you have performed transactions on one or more providers outside of Meld, and want to import those transactions into Meld's system. Note that when performing an [external refund](https://docs.meld.io/docs/crypto-supported-service-providers-assets), the initial transaction is automatically imported into Meld's system.



## OpenAPI

````yaml /openapi/payments-20260203.json post /payments/external/import
openapi: 3.1.0
info:
  title: PAYMENTS
  termsOfService: urn:tos
  license:
    name: Apache 2.0
    url: https://springdoc.org
  version: '2026-02-03'
  description: ''
servers:
  - url: https://api-sb.meld.io
    description: Meld API sandbox
  - url: https://api.meld.io
    description: Meld API production
security: []
tags:
  - name: Payment
    description: ''
paths:
  /payments/external/import:
    post:
      tags:
        - External Transactions
      summary: Import an external payment transaction
      description: >-
        This is the endpoint to import a transaction on any of the supported
        providers. Use this endpoint if you have performed transactions on one
        or more providers outside of Meld, and want to import those transactions
        into Meld's system. Note that when performing an [external
        refund](https://docs.meld.io/docs/crypto-supported-service-providers-assets),
        the initial transaction is automatically imported into Meld's system.
      operationId: /payments-external-transactions-import
      parameters:
        - name: X-Idempotency-Key
          in: header
          required: false
          schema:
            type: string
            format: uuid
        - name: Meld-Passthrough-Reference
          in: header
          required: false
          schema:
            type: string
        - name: Meld-Passthrough-Key-Id
          in: header
          required: false
          schema:
            type: string
        - name: Meld-Passthrough-Key-Public
          in: header
          required: false
          schema:
            type: string
        - name: Meld-Passthrough-Key-Private
          in: header
          required: false
          schema:
            type: string
        - name: Meld-Passthrough-Oauth
          in: header
          required: false
          schema:
            type: string
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/ExternalImportRequest'
            example:
              serviceProvider: AUTHORIZENET
        required: true
      responses:
        '200':
          description: Payment successfully imported
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentTransactionResponse'
        '400':
          description: 'Bad Request : check request values and format'
        '401':
          description: Invalid credentials
        '403':
          description: Unauthenticated or authenticated with insufficient access
        '425':
          description: It is too early for a retry
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/PaymentTransactionResponse'
        '500':
          description: Internal Error
          content:
            '*/*':
              schema:
                $ref: '#/components/schemas/ErrorResponse'
      security:
        - ApiKeyAuth: []
components:
  schemas:
    ExternalImportRequest:
      type: object
      properties:
        serviceProvider:
          type: string
          description: The service provider from where the transaction will be imported
          enum:
            - AUTHORIZENET
            - BRAINTREE
            - CHECKOUT
            - CIRCLE
            - NMI
            - STRIPE
        serviceTransactionId:
          type: string
          description: The id of the transaction to be imported
          minLength: 1
      required:
        - serviceProvider
        - serviceTransactionId
    PaymentTransactionResponse:
      type: object
      properties:
        transaction:
          description: Payment transaction information
          allOf:
            - $ref: '#/components/schemas/PaymentTransactionOutput'
    ErrorResponse:
      type: object
      properties:
        code:
          type: string
        displayMessage:
          type: string
        errors:
          type: array
          items:
            type: string
        message:
          type: string
        requestId:
          type: string
        serviceProviderDetails:
          type: object
          additionalProperties: {}
        timestamp:
          type: string
          format: date-time
    PaymentTransactionOutput:
      type: object
      properties:
        accountId:
          type: string
          description: Your account Id
        authAmount:
          type: number
          description: >-
            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:
          type: number
          description: >-
            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.
        countryCode:
          type: string
          description: The ISO 3166 2-digit country code.
        createdAt:
          type: string
          format: date-time
          description: An ISO 8601 DateTime at which the object was created.
        cryptoPurchaseDetails:
          description: Details of the crypto currency purchase
          allOf:
            - $ref: '#/components/schemas/CryptoPurchaseDetails'
        customer:
          description: Your customer's details
          allOf:
            - $ref: '#/components/schemas/CustomerOutput'
        description:
          type: string
          description: >-
            An arbitrary string which you can attach to this transaction. It is
            displayed when in the web interface alongside the charge.
        destinationAmount:
          type: number
          description: >-
            The destination amount of the transaction, e.g. the amount of crypto
            currency purchased
        destinationCurrencyCode:
          type: string
          description: Three-letter ISO currency code. Must be a supported currency
        destinationWalletAddress:
          type: string
          description: The wallet the crypto currency is being deposited in, if known
        externalCustomerId:
          type: string
          description: >-
            Your unique identifier for your customer. If maintaining your own
            customer management system this can also be used for tracking
            customer activity.
        externalReferenceId:
          type: string
          description: Your optional reference id provided during transaction creation
        externalSessionId:
          type: string
          description: The external Id of the session.
        externalSubaccountCustomerId:
          type: string
          description: >-
            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.
        id:
          type: string
          description: Unique identifier for this transaction
        isImported:
          type: boolean
          description: Return ***True*** if this transaction was initiated outside Meld
        isPassthrough:
          type: boolean
          description: Return ***True*** if the passthrough credentials were used
        key:
          type: string
          description: >-
            Pagination key, may be used with the "after" parameter in search
            requests.  Only set and relevant for paginated calls
        multiFactorAuthorizationStatus:
          type: array
          description: >-
            The transaction required multi-factor authentication methods, and
            their current status. When required, must be approved for the
            purchase tobe completed successfully.
          items:
            $ref: '#/components/schemas/MultiFactorAuthorizationStatusOutput'
          uniqueItems: true
        parentPaymentTransactionId:
          type: string
          description: The Id of the associated object for this line item
        passthroughReference:
          type: string
          description: >-
            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
        paymentMethod:
          description: PaymentMethod objects represent your customer's payment instruments.
          allOf:
            - $ref: '#/components/schemas/PaymentMethodOutput'
        paymentMethodType:
          type: string
          description: Payment Method type used for this transaction.
        serviceProvider:
          type: string
          description: The service provider used for this transaction
        serviceProviderCreatedAt:
          type: string
          format: date-time
          description: >-
            The ISO 8601 DateTime when the transaction was created on the
            service provider's side
        serviceProviderDetails:
          type: object
          additionalProperties: {}
          description: The service provider's details
        serviceProviderTransactionUrl:
          type: string
          description: A link to the resource on the Service Provider, may not be present
        serviceTransactionId:
          type: string
          description: The service provider's unique identifier for this transaction
        sessionId:
          type: string
          description: The Id of the session.
        sourceAmount:
          type: number
          description: The amount of the transaction
        sourceAmountInUsd:
          type: number
          description: The amount of the transaction in usd
        sourceCurrencyCode:
          type: string
          description: Three-letter ISO currency code. Must be a supported currency
        sourceWalletAddress:
          type: string
          description: The wallet the crypto currency is being withdrawn from, if known
        status:
          type: string
          description: The current status of the transaction
        subaccountCustomerId:
          type: string
          description: >-
            Optional Meld customer id used to track the business sub-account
            this transaction belongs to when multiple businesses operate under
            one Meld account.
        transactionType:
          type: string
          description: The transaction's type
        updatedAt:
          type: string
          format: date-time
          description: >-
            Time at which the object was last updated. Measured in seconds since
            the Unix epoch.
        wallet:
          type: string
          description: The wallet used for a crypto currency transaction, if known
    CryptoPurchaseDetails:
      type: object
      properties:
        blockchainTransactionId:
          type: string
          description: The transaction id on the blockchain
        destinationAmount:
          type: number
          description: >-
            The amount of the destination currency your customer received in
            their wallet
        destinationCurrencyCode:
          type: string
          description: >-
            The destination currency symbol your customer received in their
            wallet(e.g., BTC, ETH)
        institution:
          type: string
          description: >-
            The institution used to execute the transaction. Only applicable for
            transfers currently.
        networkFee:
          type: number
          description: >-
            This fee is paid to cryptocurrency miners, which are the systems
            that process the transactions
        networkFeeInUsd:
          type: number
          description: This network fee in USD
        partnerFee:
          type: number
          description: The partner fee amount
        partnerFeeInUsd:
          type: number
          description: The partner fee in USD
        totalFee:
          type: number
          description: The total amount of fees that will be charged
        totalFeeInUsd:
          type: number
          description: The total fee in USD
        transactionFee:
          type: number
          description: >-
            The fee amount charged by the service provider to process your
            customer's purchase
        transactionFeeInUsd:
          type: number
          description: The transaction fee in USD
        walletAddress:
          type: string
          description: Your customer's crypto wallet
    CustomerOutput:
      type: object
      properties:
        accountId:
          type: string
          description: Your Account Id
        addresses:
          type: array
          description: Your Customer's addresses, such as billing, shipping, etc.
          items:
            $ref: '#/components/schemas/CustomerAddressOutput'
        email:
          type: string
          description: Your Customer's email address
        externalId:
          type: string
          description: >-
            Your optionally supplied Id for your Customer, e.g. a Customer Id in
            your system
        id:
          type: string
          description: Meld's internal Id for the Customer
        name:
          description: Your Customer's name
          allOf:
            - $ref: '#/components/schemas/CustomerName'
        phone:
          type: string
          description: Your Customer's phone number
        serviceProviders:
          type: object
          additionalProperties:
            type: string
          description: >-
            A map of Service Providers and service provider IDs for this
            Customer
        status:
          type: string
          description: ACTIVE or INACTIVE, may not be set
    MultiFactorAuthorizationStatusOutput:
      type: object
      properties:
        method:
          type: string
          description: How the card details were authorized
          enum:
            - SMS
            - CARD
            - EMAIL
            - THREE_DS
        submitted:
          type: boolean
          description: Return ***True*** if the information was submitted
        successful:
          type: boolean
          description: Return ***True*** if the submitted information is a match
        url:
          type: string
          description: URL used to perform authorization (if applicable)
    PaymentMethodOutput:
      type: object
      properties:
        accountId:
          type: string
          description: Your Account Id
        id:
          type: string
          description: The Payment Method's Meld Id
        serviceProvider:
          type: string
          description: The Service Provider on which this payment method is specified
        token:
          type: string
          description: The ID the Service Provider uses for this Payment Method
    CustomerAddressOutput:
      type: object
      properties:
        addressDetails:
          description: Address details
          allOf:
            - $ref: '#/components/schemas/CustomerAddressDetails'
        type:
          type: string
          description: Address type such as BILLING, SHIPPING, RESIDENCE, etc.
          enum:
            - BILLING
            - SHIPPING
            - RESIDENCE
    CustomerName:
      type: object
      properties:
        firstName:
          type: string
          description: Your customer's first name
        lastName:
          type: string
          description: Your customer's last name
    CustomerAddressDetails:
      type: object
      properties:
        addressDetailsFields:
          type: object
          writeOnly: true
        city:
          type: string
          description: City, district, suburb, town, or village
        country:
          type: string
          description: Two-letter country code (ISO 3166-1 alpha-2)
        firstName:
          type: string
          description: The first name on the address
        lastName:
          type: string
          description: The last name on the address
        lineOne:
          type: string
          description: Address line 1 (e.g., street, PO Box, or company name)
        lineTwo:
          type: string
          description: Address line 2 (e.g., apartment, suite, unit, or building)
        postalCode:
          type: string
          description: ZIP or postal code
        region:
          type: string
          description: State, county, province, or region
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      x-default: BASIC <Meld API Key>

````