# Get a payment

`GET https://app.shuttleglobal.com/c/api/instances/{instance_key}/payments/{payment_id}`

Retrieve details of a specific payment. You can expand additional related objects using the expand parameter.

Available expand options:
* contract
* transaction
* parts
* payment_method

## Authentication

- basicAuth: Basic Authentication using secret key
- bearerAuth: OAuth 2.0 Bearer Token Authentication

## Parameters

| Name | In | Type | Required | Description |
| --- | --- | --- | --- | --- |
| `payment_id` | path | string | yes | The payment's ID (`pay_...`), capture ID (`ca_...`) or transaction ID (`tr_...`), or the `alt_key` you gave it (case-insensitive). An ID must be for a payment, capture or authorisation, otherwise 404 `Payment not found`. An `alt_key` returns the newest record with that key. |
| `expand` | query | string | no | Related objects to include in the response |

## Responses

### 200: Payment details

```json
{
  "payment": {
    "id": "pay_11842_10000",
    "alt_key": "1234",
    "description": "Invoice 1234",
    "source": "MOTO",
    "action": "PAYMENT",
    "status": "SUCCESS",
    "gateway_status": "APPROVED",
    "gateway_reference": "ch_1GVaEEFi2CnH4uN3ouw69fw3",
    "authorisation_code": "pi_1GVaEEFi2CnH4uN355ZdZvk5 (TEST)",
    "reference": "REF-00010000",
    "amount": "100",
    "balance": "100",
    "currency": "GBP",
    "resolved": "2026-01-01T12:00:00Z",
    "sub_status": "CUSTOMER_ACTION_REQUIRED",
    "sub_status_reason": "follow_bank_transfer_instructions",
    "target_date": "2020-04-13T00:00:00.000Z",
    "settle_currency": "GBP",
    "settle_gross_amount": "100",
    "settle_net_amount": "96.9",
    "settle_fee_amount": "3.1",
    "gateway": "gw_11842_10000",
    "account": "acc_11842_10000",
    "payment_method": "pm_11842_10000",
    "contract": "co_11842_10000",
    "channel": "ch_11842_10001",
    "initiative": "in_11842_10000",
    "designation": "des_11842_10000",
    "legal_entity": "le_11842_10000",
    "created": "2020-04-08T09:29:48.000Z",
    "updated": "2020-04-08T09:29:52.000Z",
    "processed": "2020-04-08T09:29:51.000Z",
    "gateway_metadata": {},
    "payment_method_used_token": false,
    "recurring": false,
    "frequency": "MONTHLY",
    "occurrences": 12,
    "browser_ip_address": "212.161.80.4"
  },
  "contract": {
    "id": "co_11842_10000",
    "account": "acc_11842_10000",
    "alt_key": "1234",
    "amount": "100",
    "currency": "GBP",
    "description": "Invoice 1234",
    "status": "COMPLETED",
    "recurring": false,
    "payment_method": "pm_11842_10000",
    "created": "2020-04-08T09:29:48.000Z",
    "updated": "2020-04-08T09:29:52.000Z",
    "initiated": "2020-04-08T09:29:48.000Z",
    "completed": "2020-04-08T09:29:52.000Z",
    "last_transaction": "tr_11842_10000",
    "frequency": "ONEOFF",
    "occurrences": 0,
    "next_charge": "2026-01-01T12:00:00Z",
    "charge_count": 0
  },
  "transaction": {
    "id": "tr_11842_10000",
    "action": "PAYMENT",
    "source": "MOTO",
    "status": "SUCCESS",
    "gateway_status": "APPROVED",
    "sub_status": "CUSTOMER_ACTION_REQUIRED",
    "sub_status_reason": "follow_bank_transfer_instructions",
    "gateway_reference": "ch_1GVaEEFi2CnH4uN3ouw69fw3",
    "authorisation_code": "pi_1GVaEEFi2CnH4uN355ZdZvk5 (TEST)",
    "reference": "REF-00010000",
    "amount": "100",
    "currency": "GBP",
    "created": "2020-04-08T09:29:48.000Z",
    "updated": "2020-04-08T09:29:52.000Z",
    "processed": "2020-04-08T09:29:51.000Z",
    "resolved": "2020-04-08T09:29:51.000Z",
    "target_date": "2020-04-13T00:00:00.000Z"
  },
  "id": "string",
  "alt_key": "string",
  "description": "string",
  "source": "MOTO",
  "action": "PAYMENT",
  "status": "SUCCESS"
}
```

### 400: Bad request - invalid parameters

```json
{
  "code": "string",
  "message": "string"
}
```

### 401: Unauthorised: the API key is missing or not valid

```json
{
  "code": "UNAUTHORIZED",
  "message": "Unauthorised"
}
```

### 404: Payment not found

```json
{
  "code": "string",
  "message": "string"
}
```

## Example request

```sh
curl --request GET \
  --url https://app.shuttleglobal.com/c/api/instances/YOUR_INSTANCE_KEY/payments/PAYMENT_ID \
  --header 'Authorization: Basic <base64 of SECRET_KEY:>'
```

Reference page: https://docs.shuttleglobal.com/merchants/reference/operations/getpayment/