---
title: "Get status of a closed loop transaction"
method: GET
path: "/programs/{programCode}/payments/{paymentInstrumentIdentifier}/status/{retrievalReferenceNumber}"
tags: ["Payment"]
---

# Get status of a closed loop transaction

`GET /programs/{programCode}/payments/{paymentInstrumentIdentifier}/status/{retrievalReferenceNumber}`

Retrieves the status of a closed loop transaction using the payment instrument identifier and retrieval reference number.

## Path parameters

- `programCode` string, required
- `paymentInstrumentIdentifier` string, required
- `retrievalReferenceNumber` string, required

## Headers

- `X-GD-RequestId` string, required

## Response `200`

OK

- GetPurchaseStatusResponse — Represents the response returned after retrieving the status of purchase transactions. Contains a list of payment status details for each transaction. Inherits standard response metadata from Gd.Bos.DataTransfer.Response.ResponseBase.
  - `paymentStatus` PaymentStatusDetail[], nullable — The list of payment status details for each purchase transaction. Each Gd.Bos.DataTransfer.Response.PaymentStatusDetail includes transaction identifiers, amounts, approval codes, and related metadata.
    - `messageType` string, nullable — The type of message returned for the payment status (e.g., "Authorization", "Advice").
    - `paymentInstrumentIdentifier` string, nullable — The identifier of the payment instrument used for the transaction (e.g., card or account number).
    - `transactionIdentifier` string, nullable — The unique identifier for the payment transaction.
    - `systemTraceNumber` string, nullable — The system trace number for the transaction, used for tracking and reconciliation.
    - `retrievalReferenceNumber` string, nullable — The retrieval reference number for the transaction, used for audit and dispute purposes.
    - `transactionAmount` number, double, nullable — The authorized transaction amount.
    - `transactionCurrency` string, nullable — The currency code for the transaction (e.g., "USD", "EUR").
    - `approvalCode` string, nullable — The approval code returned by the payment network or processor.
    - `actionCode` string, nullable — The action code indicating the result of the transaction (e.g., "00" for approved, "05" for declined).
    - `actionReason` string, nullable — The reason for the action code, providing additional context for the transaction result.
    - `additionalAmount` number, double, nullable — Any additional amount authorized or related to the transaction (e.g., cashback).
  - `responseDetails` ResponseDetail[], nullable — Required: A list of response details providing status codes, descriptions, and additional information about the result of the operation.
    - `code` integer — The primary status or error code for the response (e.g., 200 for success, 400 for validation error).
    - `subCode` integer, nullable — An optional subcode providing more granular detail about the response or error.
    - `description` string, nullable — A human-readable description of the response, error, or status.
    - `url` string, nullable — A URL linking to documentation or a web page with more information about the response code.

## Other responses

- `401` — Unauthorized
- `403` — Forbidden
- `500` — Internal Server Error
- `503` — Service Unavailable

---

[API](https://skmtc.net/greendot/apis/baas-apis.md) · [All operations](https://skmtc.net/greendot/apis/baas-apis/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/greendot/baas-apis/revisions/666553766b78/schema)
