---
title: "Get details of a Domestic Payment"
method: GET
path: "/domestic-payments/{DomesticPaymentId}/payment-details"
tags: ["Domestic Payments"]
---

# Get details of a Domestic Payment

`GET /domestic-payments/{DomesticPaymentId}/payment-details`

## Request

- Base URL: `/open-banking/v4.0/pisp` (relative, and the document was published on a file host, not at the API’s origin)
- URL: `/open-banking/v4.0/pisp/domestic-payments/{DomesticPaymentId}/payment-details`
- Auth: OAuth 2
  - Client credentials
  - Token URL: `https://authserver.example/token` scopes: `payments`

Enables a PISP to retrieve detailed information on the status of a Domestic Payment.

## Path parameters

- `DomesticPaymentId` string, required

## Headers

- `x-fapi-auth-date` string
- `x-fapi-customer-ip-address` string
- `x-fapi-interaction-id` string
- `Authorization` string, required
- `x-customer-user-agent` string
- `x-client-id` string

## Response `200`

Payment Details Read

- OBWritePaymentDetailsResponse1
  - `Data` object, required
    - `PaymentStatus` OBWritePaymentDetails1[]
      - `PaymentTransactionId` string, required: Unique identifier for the transaction within a servicing institution. This identifier is both unique and immutable.
      - `Status` 'CANC' | 'RCVD' | 'ACTC' | 'PATC' | 'PDNG' | 'RJCT' | 'INFA' | 'INCO' | 'ACCP' | 'ACFC' | 'ACSP' | 'ACWC' | 'ACSC' | 'BLCK' | 'ACCC' | 'ACWP', required: The current status of the payment resource. For a full list of values see `ExternalPaymentTransactionStatus1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
      - `StatusUpdateDateTime` string, date-time, required: Date and time at which the status was assigned to the transfer.
      - `StatusDetail` object: Payment status details as per underlying Payment Rail.
        - `LocalInstrument` string: User community specific instrument. Usage: This element is used to specify a local instrument, local clearing option and/or further qualify the service or service level. For a full list of values refer to `OBInternalLocalInstrument1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
        - `Status` 'CANC' | 'RCVD' | 'ACTC' | 'PATC' | 'PDNG' | 'RJCT' | 'INFA' | 'INCO' | 'ACCP' | 'ACFC' | 'ACSP' | 'ACWC' | 'ACSC' | 'BLCK' | 'ACCC' | 'ACWP', required: The current status of the payment resource. For a full list of values see `ExternalPaymentTransactionStatus1Code` in *OB_Internal_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
        - `StatusReason` string: Reason Code provided for the status of a transfer. For a full list of values see code values for `OBExternalStatusReason1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets)
        - `StatusReasonDescription` string: Reason provided for the status of a transfer. For a full list of values see the code name entries for `OBExternalStatusReason1Code` in *ISO_External_CodeSet* [here](https://github.com/OpenBankingUK/External_Internal_CodeSets).
  - `Links` Links: Links relevant to the payload
    - `Self` string, uri, required
    - `First` string, uri
    - `Prev` string, uri
    - `Next` string, uri
    - `Last` string, uri
  - `Meta` Meta: Meta Data relevant to the payload
    - `TotalPages` integer
    - `FirstAvailableDateTime` string, date-time: All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00
    - `LastAvailableDateTime` string, date-time: All dates in the JSON payloads are represented in ISO 8601 date-time format. All date-time fields in responses must include the timezone. An example is below: 2017-04-05T10:43:07+00:00

## Other responses

- `400`: Bad request
- `401`: Unauthorized
- `403`: Forbidden
- `404`: Not found
- `405`: Method Not Allowed
- `406`: Not Acceptable
- `429`: Too Many Requests
- `500`: Internal Server Error

## Changes

- **2026-02-19** `3bce3f3a4836`: 2 info
  - api tag `Domestic Payments` added
  - api tag `Payment Details` removed
- **2025-11-20** `5dbf59c53db8`: 1 info
  - added the new optional `header` request parameter `x-client-id`
- **2025-11-19** `896620f429f9`: 6 breaking, 21 warning
  - the `Data/PaymentStatus/items/StatusDetail/Status` response property's maxLength was unset from `4` for the response status `200` (media type: application/json; charset=utf-8)
  - the `Data/PaymentStatus/items/StatusDetail/Status` response property's maxLength was unset from `4` for the response status `200` (media type: application/json)
  - the `Data/PaymentStatus/items/StatusDetail/Status` response property's maxLength was unset from `4` for the response status `200` (media type: application/jose+jwe)
  - the `Data/PaymentStatus/items/StatusDetail/Status` response property's minLength was decreased from `1` to `0` for the response status `200` (media type: application/json; charset=utf-8)
  - …23 more
- …earlier changes not shown

[Operation history](https://skmtc.dev/openbankinguk/apis/payment-initiation-api/changes/domestic-payments/:DomesticPaymentId/payment-details/get.md)

---

[API](https://skmtc.dev/openbankinguk/apis/payment-initiation-api.md) - [All operations](https://skmtc.dev/openbankinguk/apis/payment-initiation-api/llms.txt) - [OpenAPI document](https://skmtc.dev/openbankinguk/apis/payment-initiation-api/revisions/01d3ec5eb703?raw)
