> For clean Markdown of any page, append .md to the page URL.
> For a complete documentation index, see https://docs.enigmagenomics.com/llms.txt.
> For AI client integration (Claude Code, Cursor, etc.), connect to the MCP server at https://docs.enigmagenomics.com/_mcp/server.

# Get payment list for an invoice ID

GET https://api.enigmagenomics.com/invoices/{invoiceID}/payments

The **Get Payment List** endpoint retrieves all payment records linked to a specific invoice. By passing a valid `invoiceId`, clients can fetch detailed information about payments made against that invoice, including amounts, dates, methods, and statuses.

This endpoint provides full visibility into the payment history of an invoice, making it useful for reconciliation, auditing, and customer support activities.

**Typical Use Cases:**

- Tracking partial or multiple payments associated with an invoice.
    
- Reviewing payment methods and transaction statuses for financial reporting.
    
- Identifying pending balances for outstanding invoices.
    

**Note:**

- If no payments have been made, the response will return an empty list.
    
- Only authorized users with access to the invoice can query its payment records.

Reference: https://docs.enigmagenomics.com/enigma-lis-integrations/invoices/invoice-id/get-payment-list-for-an-invoice-id

## OpenAPI Specification

```yaml
openapi: 3.1.0
info:
  title: collection
  version: 1.0.0
paths:
  /invoices/{invoiceID}/payments:
    get:
      operationId: Get payment list for an invoice ID
      summary: Get payment list for an invoice ID
      description: >-
        The **Get Payment List** endpoint retrieves all payment records linked
        to a specific invoice. By passing a valid `invoiceId`, clients can fetch
        detailed information about payments made against that invoice, including
        amounts, dates, methods, and statuses.


        This endpoint provides full visibility into the payment history of an
        invoice, making it useful for reconciliation, auditing, and customer
        support activities.


        **Typical Use Cases:**


        - Tracking partial or multiple payments associated with an invoice.
            
        - Reviewing payment methods and transaction statuses for financial
        reporting.
            
        - Identifying pending balances for outstanding invoices.
            

        **Note:**


        - If no payments have been made, the response will return an empty list.
            
        - Only authorized users with access to the invoice can query its payment
        records.
      tags:
        - invoiceId
      parameters:
        - name: invoiceID
          in: path
          required: true
          schema:
            type: string
        - name: x-api-key
          in: header
          required: true
          schema:
            type: string
      responses:
        '200':
          description: OK
          content:
            application/json:
              schema:
                $ref: >-
                  #/components/schemas/invoices_{invoiceID}_Get payment list for
                  an invoice ID_Response_200
servers:
  - url: https://api.enigmagenomics.com
    description: https://api.enigmagenomics.com
components:
  schemas:
    InvoicesInvoiceIdPaymentsGetResponsesContentApplicationJsonSchemaDataItems:
      type: object
      properties:
        amount:
          type: string
        status:
          type: string
        currency:
          type: string
        invoice_id:
          type: string
        card_number:
          type: string
        payment_date:
          type: string
          format: date-time
        customer_email:
          type: string
          format: email
        payment_option:
          type: string
        card_holder_name:
          type: string
        response_message:
          type: string
      required:
        - amount
        - status
        - currency
        - invoice_id
        - card_number
        - payment_date
        - customer_email
        - payment_option
        - card_holder_name
        - response_message
      title: >-
        InvoicesInvoiceIdPaymentsGetResponsesContentApplicationJsonSchemaDataItems
    invoices_{invoiceID}_Get payment list for an invoice ID_Response_200:
      type: object
      properties:
        code:
          type: integer
        data:
          type: array
          items:
            $ref: >-
              #/components/schemas/InvoicesInvoiceIdPaymentsGetResponsesContentApplicationJsonSchemaDataItems
        message:
          type: string
      required:
        - code
        - data
        - message
      title: invoices_{invoiceID}_Get payment list for an invoice ID_Response_200
  securitySchemes:
    apiKeyAuth:
      type: apiKey
      in: header
      name: x-api-key

```

## Examples



**Response**

```json
{
  "code": 200,
  "data": [
    {
      "amount": "3600",
      "status": "14",
      "currency": "SAR",
      "invoice_id": "EG-000201",
      "card_number": "1234******789",
      "payment_date": "2025-07-08T10:15:34.565Z",
      "customer_email": "b2b+4051653000007455005@example.com",
      "payment_option": "MASTERCARD",
      "card_holder_name": "Lorem",
      "response_message": "Success"
    }
  ],
  "message": "Invoice payments fetched successfully"
}
```

**SDK Code**

```python invoices_{invoiceID}_Get payment list for an invoice ID_example
import requests

url = "https://api.enigmagenomics.com/invoices/:invoiceID/payments"

headers = {"x-api-key": "<apiKey>"}

response = requests.get(url, headers=headers)

print(response.json())
```

```javascript invoices_{invoiceID}_Get payment list for an invoice ID_example
const url = 'https://api.enigmagenomics.com/invoices/:invoiceID/payments';
const options = {method: 'GET', headers: {'x-api-key': '<apiKey>'}};

try {
  const response = await fetch(url, options);
  const data = await response.json();
  console.log(data);
} catch (error) {
  console.error(error);
}
```

```go invoices_{invoiceID}_Get payment list for an invoice ID_example
package main

import (
	"fmt"
	"net/http"
	"io"
)

func main() {

	url := "https://api.enigmagenomics.com/invoices/:invoiceID/payments"

	req, _ := http.NewRequest("GET", url, nil)

	req.Header.Add("x-api-key", "<apiKey>")

	res, _ := http.DefaultClient.Do(req)

	defer res.Body.Close()
	body, _ := io.ReadAll(res.Body)

	fmt.Println(res)
	fmt.Println(string(body))

}
```

```ruby invoices_{invoiceID}_Get payment list for an invoice ID_example
require 'uri'
require 'net/http'

url = URI("https://api.enigmagenomics.com/invoices/:invoiceID/payments")

http = Net::HTTP.new(url.host, url.port)
http.use_ssl = true

request = Net::HTTP::Get.new(url)
request["x-api-key"] = '<apiKey>'

response = http.request(request)
puts response.read_body
```

```java invoices_{invoiceID}_Get payment list for an invoice ID_example
import com.mashape.unirest.http.HttpResponse;
import com.mashape.unirest.http.Unirest;

HttpResponse<String> response = Unirest.get("https://api.enigmagenomics.com/invoices/:invoiceID/payments")
  .header("x-api-key", "<apiKey>")
  .asString();
```

```php invoices_{invoiceID}_Get payment list for an invoice ID_example
<?php
require_once('vendor/autoload.php');

$client = new \GuzzleHttp\Client();

$response = $client->request('GET', 'https://api.enigmagenomics.com/invoices/:invoiceID/payments', [
  'headers' => [
    'x-api-key' => '<apiKey>',
  ],
]);

echo $response->getBody();
```

```csharp invoices_{invoiceID}_Get payment list for an invoice ID_example
using RestSharp;

var client = new RestClient("https://api.enigmagenomics.com/invoices/:invoiceID/payments");
var request = new RestRequest(Method.GET);
request.AddHeader("x-api-key", "<apiKey>");
IRestResponse response = client.Execute(request);
```

```swift invoices_{invoiceID}_Get payment list for an invoice ID_example
import Foundation

let headers = ["x-api-key": "<apiKey>"]

let request = NSMutableURLRequest(url: NSURL(string: "https://api.enigmagenomics.com/invoices/:invoiceID/payments")! as URL,
                                        cachePolicy: .useProtocolCachePolicy,
                                    timeoutInterval: 10.0)
request.httpMethod = "GET"
request.allHTTPHeaderFields = headers

let session = URLSession.shared
let dataTask = session.dataTask(with: request as URLRequest, completionHandler: { (data, response, error) -> Void in
  if (error != nil) {
    print(error as Any)
  } else {
    let httpResponse = response as? HTTPURLResponse
    print(httpResponse)
  }
})

dataTask.resume()
```