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

# Detail

> Get full transaction details, including session data, address info and subscription related info



## OpenAPI

````yaml /api-reference/customer-service-api/paysight_customer_service_api.yaml post /detail
openapi: 3.0.0
info:
  title: Paysight Customer Service API
  description: Customer Service API for searching transations, refunding etc
  version: 1.0.0
  contact:
    email: tech@paysight.io
servers:
  - description: Paysight Cards API
    url: https://test.paysight.io/customerapi/
security:
  - ApiKeyAuth: []
paths:
  /detail:
    post:
      summary: Detail
      description: >-
        Get full transaction details, including session data, address info and
        subscription related info
      parameters:
        - $ref: '#/components/parameters/ClientId'
        - $ref: '#/components/parameters/UserEmail'
      requestBody:
        content:
          application/json:
            schema:
              $ref: '#/components/schemas/DetailInfo'
        description: Payload
      responses:
        '200':
          description: Valid Request. More detailed info will be in the JSON body
          content:
            application/json:
              schema:
                $ref: '#/components/schemas/DetailResponseData'
components:
  parameters:
    ClientId:
      name: ClientId
      in: header
      required: true
      description: >-
        Your Paysight Tenant/Client Id. This is the id of the parent company
        listed in https://app.paysight.io/management/companies. Alternatively,
        this will be provided by Paysight
      schema:
        type: string
    UserEmail:
      name: UserEmail
      in: header
      required: true
      description: The email address of the party or group making the request
      schema:
        type: string
  schemas:
    DetailInfo:
      type: object
      required:
        - parentCompanyId
        - userEmail
        - id
      properties:
        parentCompanyId:
          type: integer
          example: 1
          description: Your Paysight tenant id. This will be provided by Paysight.
        userEmail:
          type: string
          format: email
          description: An email associated with the party/agent making the request
          example: care@yourdomain.com
        id:
          type: string
          format: uuid
          example: fd6562a1-e0e7-4b8b-b0d4-f20359482dd1
          description: The unique Paysight transaction id
        getSearchData:
          type: boolean
          description: >-
            If true, then response includes the transaction object, i.e the same
            data that is returned in the /search endpoint (for this
            transaction). Set to false to minimize response payload if not
            needed
          example: true
        getAddressData:
          type: boolean
          description: >-
            If true, response includes addressData array, which contains default
            address and shipping address (if entered)
          example: true
        getSubscription:
          type: boolean
          description: >-
            If true, response includes subcription array of subscription(s)
            related to this transaction
          example: true
        getSessionData:
          type: boolean
          description: >-
            If true, response includes sessionData object, which includes user's
            Paysight sessionid, IP address and device information
          example: true
    DetailResponseData:
      properties:
        success:
          type: boolean
          example: true
          description: >-
            This indicates if this request was processed successfully, no
            validation issues etc.
        message:
          type: string
          example: ''
          description: Debug information
        transaction:
          $ref: '#/components/schemas/Transaction'
        addressData:
          $ref: '#/components/schemas/Address'
        subscriptions:
          type: array
          description: >-
            Array of subscription objects (generally 1 or max 2) that relate to
            this transaction
          items:
            $ref: '#/components/schemas/Subscription'
        sessionData:
          $ref: '#/components/schemas/Session'
        cart:
          type: array
          description: >-
            List of line items associated with this transaction (refund or
            original order).
          items:
            $ref: '#/components/schemas/LineItem'
        shopifyProducts:
          type: array
          description: List of Shopify products related to this transaction.
          items:
            $ref: '#/components/schemas/ShopifyProduct'
    Transaction:
      type: object
      properties:
        gateway:
          type: string
          example: Decline Defense
        messageID:
          type: string
          example: 429b7902-33de-416c-ab98-3d165870bcec
        orderId:
          type: integer
          example: 191582180
        sent:
          type: string
          format: date-time
          example: '2024-09-17T14:08:50.257'
        email:
          type: string
          example: shanec@paysight.io
        application:
          type: string
          example: Sub Start MID Retry
        applicationID:
          type: integer
          example: 209
        customerID:
          type: integer
          example: 38284156
        shortcodeID:
          type: integer
          example: 1533
        billingCode:
          type: string
          example: FlexCharge - CommerceConnect - Grand Med
        data:
          type: string
          example: >-
            19 Day Renewal.Charge FAILED: Do Not Honor - 29.990
            NMITransId:9943005219 FlexCharge rescue attempt
        status:
          type: string
          example: Submitted
        statusID:
          type: integer
          example: 1789
        success:
          type: boolean
          example: false
        completed:
          type: string
          nullable: true
          example: null
        premium:
          type: integer
          example: 1
        currency:
          type: string
          example: USD
        pricePointID:
          type: integer
          example: 31566
        pricePoint:
          type: string
          example: $29.990
        priceVal:
          type: number
          format: double
          example: 29.99
        product:
          type: string
          example: US - RibbedDecor
        productID:
          type: integer
          example: 8324
        campaign:
          type: string
          example: None/Unassigned
        campaignID:
          type: integer
          example: 0
        shopId:
          type: integer
          example: 1300430925
        storeName:
          type: string
          example: Ribbedecor
        storeDomain:
          type: string
          description: Ecom related only- Store domain
          example: www.ribbedecor.com
        storeRootDomain:
          type: string
          description: Ecom related only - Store root domain
          example: ribbedecor.com
        merchantAccountId:
          type: integer
          example: 608
        midName:
          type: string
          example: DeclineDefense - Commerce Connect - Grand Media
        mid:
          type: string
          example: flexComConGrandMedia
        companyId:
          type: integer
          example: 103
        company:
          type: string
          example: Grand Media Inc.
        parentCompanyId:
          type: integer
          example: 100
        parentCompany:
          type: string
          example: Commerce Connect
        bin:
          type: string
          example: '535456'
        last4:
          type: integer
          example: 1742
        sessionId:
          type: string
          example: '20240829140820431062231114683'
        name:
          type: string
          example: Shane Connolly
        refundable:
          type: boolean
          example: false
        refunded:
          type: boolean
          example: false
        hasAlert:
          type: boolean
          example: false
        chargedBack:
          type: boolean
          example: false
        attempt:
          type: integer
          example: 2
        authOnly:
          type: boolean
          example: false
        paymentNumber:
          type: integer
          example: 1
        totalAttempt:
          type: integer
          example: 2
        refundSource:
          type: integer
          example: 0
        alertType:
          type: integer
          example: 0
        alertSource:
          type: integer
          example: 0
        originalMessageId:
          type: string
          nullable: true
          example: null
        originalApplicationId:
          type: integer
          example: 209
        originalApplication:
          type: string
          example: Sub Start MID Retry
        storeCurrency:
          type: string
          example: USD
        blackListing:
          type: integer
          example: 0
        alertSourceName:
          type: string
          example: Unassigned
        alertTypeName:
          type: string
          example: Unassigned
        refundSourceName:
          type: string
          example: Unassigned
        applePay:
          type: boolean
          description: Indicates if the transaction was performed using Apple Pay.
          example: false
        googlePay:
          type: boolean
          description: Indicates if the transaction was performed using Google Pay.
          example: false
        paysightSession:
          type: string
          description: Paysight unique session identifier
          example: '20240829140820431062231114683'
        partnerSession:
          type: string
          description: >-
            Partner unique session/click/visit identifier, if passed in Card
            Submit API
        cardBrandId:
          type: integer
          description: >-
            Card Brand Identifier. 1=Visa, 2=Mastercard, 3=Discover, 4=Amex,
            5=Chase, 6=JCB
        cardBrand:
          type: string
          description: Card Brand, e.g Visa, Mastercard
        childTransactions:
          type: array
          description: >-
            Array of subsequent transactions related to this transaction, e,g
            refund transaction, chargeback transaction, Ethoca related
            transaction
          items:
            $ref: '#/components/schemas/Transaction'
    Address:
      properties:
        addressType:
          type: string
          example: DEFAULT
          description: DEFAULT or SHIPPING address
        email:
          type: string
          format: email
          example: joe@bloggs.com
          description: The email address of the customer
        orderId:
          type: integer
          example: 1095654254
          description: The unique Paysight orderId
        messageId:
          type: string
          format: uuid
          example: fd6562a1-e0e7-4b8b-b0d4-f20359482dd1
          description: The unique Paysight transaction id
        firstName:
          type: string
          example: Joe
          description: First name
        lastName:
          type: string
          example: Bloggs
          description: Last name
        address:
          type: string
          example: Apartment 4a, 387 Central Drive
          description: Last name
        city:
          type: string
          example: Pittsburg
          description: Last name
        postalCode:
          type: string
          example: '90210'
          description: ZIP / Postal Code
        state:
          type: string
          example: CA
          description: US state code or region (for non-US countries)
        countryCode:
          type: string
          example: US
          description: 2 character ISO country code
        phone:
          type: string
          example: 212-918-5634
          description: User phone number
    Subscription:
      properties:
        parentCompanyId:
          type: integer
          example: 1
          description: Paysight tenant id. This is your Paysight account id
        companyId:
          type: integer
          example: 1
          description: CompanyId of company relatd to this subscription / merchant account
        company:
          type: string
          example: ACME corp
          description: Name of company relatd to this subscription / merchant account
        id:
          type: integer
          example: 7990926
          description: Unique subscriber id
        customerID:
          type: integer
          example: 33722514
          description: Unique customer id
        subDate:
          type: string
          format: timestamp
          example: '2024-09-19T15:22:50.973'
          description: Signup date time in GMT
        orderId:
          type: integer
          example: 1095654254
          description: The unique Paysight orderId that initiated this subscription
        active:
          type: boolean
          example: true
          description: >-
            Indicates if a user has unsubscribed (active = false) or is still
            subscribed (active = true)
        unsubDate:
          type: string
          format: timestamp
          example: '2024-09-26T15:22:50.973'
          description: Date time in GMT when user unsubscribed (null if still active)
        subscription:
          type: string
          example: Great Content Service 1
          description: name of the club/subscription
        subscriptionDescription:
          type: string
          example: Great Content Service
          description: Friendly name / description of the service
        realStartDate:
          type: string
          format: timestamp
          example: '2024-09-20T15:22:50.973'
          description: >-
            Date time in GMT when user started subscription proper (after any
            free trial)
        rebillAmount:
          type: number
          example: 29.99
          description: >-
            Amount in pre-configured currency to be charged on anniversary
            (rebill date)
        frequency:
          type: number
          example: 30
          description: The number of days between each billing cycle
        merchantAccountId:
          type: number
          example: 547
          description: >-
            The unique Paysight identifier for the merchant account being used
            for billing this subscription
        midName:
          type: string
          example: US - Awesome Brand - Payarc - Axiom
          description: >-
            Label/description  for the merchant account being used for billing
            this subscription
        mid:
          type: string
          example: '10000051215420'
          description: >-
            Merchant identifer (MID) for the merchant account being used for
            billing this subscription
        frozen:
          type: boolean
          example: false
          description: >-
            false indicates that the subscriber is still being actively billed.
            true indicates the subscriber is frozen and billing is no longer
            being attempted due to failed billing attempts (and retries)
        rebillDate:
          format: timestamp
          example: null
          description: >-
            Date time in GMT when user will next be charged (null if
            inactive/frozen)
    Session:
      properties:
        id:
          type: string
          example: '202409191522153660214662'
          description: Unique identifier for Paysight session
        ip:
          type: string
          example: 232.56.99.102
          description: User IP address
        useragent:
          type: string
          example: >-
            Mozilla/5.0 (Windows NT 6.1; Win64; x64; rv:47.0) Gecko/20100101
            Firefox/47.0
          description: User agent string
        url:
          type: string
          example: https://yoursite.com/youroffer
        timestamp:
          type: string
          format: timestamp
          example: '2024-09-19T15:22:50.973'
          description: Date time in GMT when session was created
        ipCity:
          type: string
          example: Dublin
          description: City identified by IP address lookup
        ipCountryCode:
          type: string
          example: Ireland
          description: Country identified by IP address lookup
    LineItem:
      type: object
      properties:
        Quantity:
          type: integer
          format: int32
          description: Quantity of this line item.
        ShopifyVariantId:
          type: integer
          format: int64
          description: Shopify variant identifier.
        UnitPrice:
          type: number
          description: Unit price for this line item.
        ShopifyProductId:
          type: integer
          format: int64
          description: Shopify product identifier.
        MessageId:
          type: string
          format: uuid
          description: Identifier of the related message.
        ShopId:
          type: integer
          format: int64
          description: Internal shop identifier.
        CurrencyId:
          type: integer
          format: int32
          description: Internal currency identifier.
        UnitCost:
          type: number
          description: Unit cost for this line item.
        DiscountCodeId:
          type: integer
          format: int32
          description: Identifier of the applied discount code.
        DiscountAmount:
          type: number
          description: Discount amount applied to this line item.
        SalesStrategyId:
          type: integer
          format: int32
          description: Identifier of the applied sales strategy.
        CustomDiscountAmount:
          type: number
          description: Additional custom discount amount.
    ShopifyProduct:
      type: object
      properties:
        id:
          type: integer
          format: int64
        shop_id:
          type: integer
          format: int64
        title:
          type: string
        vendor:
          type: string
        product_type:
          type: string
        created_at:
          type: string
          format: date-time
        handle:
          type: string
        updated_at:
          type: string
          format: date-time
        imageid:
          type: integer
          format: int64
        status:
          type: string
        last_refresh:
          type: string
          format: date-time
        options:
          type: array
          items:
            $ref: '#/components/schemas/ProductOption'
        variants:
          type: array
          items:
            $ref: '#/components/schemas/Variant'
        images:
          type: array
          items:
            $ref: '#/components/schemas/ProductImage'
    ProductOption:
      type: object
      properties:
        id:
          type: integer
          format: int64
        product_id:
          type: integer
          format: int64
        name:
          type: string
        position:
          type: integer
          format: int32
        values:
          type: string
          description: Raw values text for this option.
    Variant:
      type: object
      properties:
        id:
          type: integer
          format: int64
        product_id:
          type: integer
          format: int64
        title:
          type: string
        price:
          type: number
        sku:
          type: string
        position:
          type: integer
          format: int32
        compare_at_price:
          type: number
          nullable: true
          description: Original price before discount, if any.
        fulfillment_service:
          type: string
        option1:
          type: string
          nullable: true
        option2:
          type: string
          nullable: true
        option3:
          type: string
          nullable: true
        created_at:
          type: string
          format: date-time
        updated_at:
          type: string
          format: date-time
        requires_shipping:
          type: boolean
        inventory_item_id:
          type: integer
          format: int64
        image_id:
          type: integer
          format: int64
          nullable: true
        cost:
          type: number
    ProductImage:
      type: object
      properties:
        id:
          type: integer
          format: int64
        product_id:
          type: integer
          format: int64
        width:
          type: integer
          format: int32
        height:
          type: integer
          format: int32
        src:
          type: string
          description: Image URL.
        position:
          type: integer
          format: int32
  securitySchemes:
    ApiKeyAuth:
      type: apiKey
      in: header
      name: Authorization
      description: >-
        Your Paysight API key. You can find it in your Paysight account at
        https://app.paysight.io/settings/account

````