> For the complete documentation index, see [llms.txt](https://dev.ucommerce.net/llms.txt). Markdown versions of documentation pages are available by appending `.md` to page URLs; this page is available as [Markdown](https://dev.ucommerce.net/readme/headless/reference/payment-methods.md).

# Payment Methods

## Prerequisites

* `access_token` from [Headless API Authentication](/readme/headless/headless-api-authentication.md)
* `cultureCode`, e.g. `en-US` (string)
* `countryId` from [Countries](/readme/headless/reference/countries.md)

## Get Payment Methods

### Optional Parameters

* `maxItems`, limits the number of results returned. in [Pagination](/readme/headless/pagination.md)
* `nextPagingToken`, required to fetch the next page. Read more in [Pagination](/readme/headless/pagination.md)
* `priceGroupId`, limits the results to Payment Methods available for a Price Group. From [Price Groups](/readme/headless/reference/price-groups.md)

### Request

```bash
curl -D- -X POST <base_url>/api/v1/payment-methods?countryId=<countryId>&cultureCode=<cultureCode>&priceGroupId=<priceGroupId>&maxItems=<maxItems>&nextPagingToken=<nextPagingToken> \
    -H 'Authorization: Bearer <ACCESS_TOKEN>'
    -H 'Content-Type: application/json'
```

### Response

```json
{
    "nextPagingToken": "{nextPagingToken | null}",
    "paymentMethods": [
        {
            "description": "{description}",
            "displayName": "{displayName}",
            "feePercent": "{feePercent}",
            "fees": [
                {
                    "amount": "{amount}",
                    "priceGroupId": "{priceGroupId}"
                }
            ],
            "id": "{id}",
            "imageUrl": "{imageUrl}",
            "name": "{paymentName}"
        },
        {
            "displayName": "{displayName}",
            "feePercent": "{feePercent}",
            "fees": [
                {
                    "amount": "{amount}",
                    "priceGroupId": "{priceGroupId}"
                }
            ],
            "id": "{id}",
            "imageId": "{imageId}",
            "imageUrl": "{imageUrl}",
            "name": "{name}"
        }
    ]
}
```

## Error Handling

| Error              | Description                                             |
| ------------------ | ------------------------------------------------------- |
| BadRequest (400)   | PriceGroup does not exist; Country does not exist; etc. |
| Unauthorized (401) | The token is expired.                                   |
| Forbidden (403)    | The token does not have access to this endpoint.        |

Error Response Example

```json
{
"errors":
    [
        {
            "error-description": "Invalid cultureCode.",
            "error": "BadRequest"
        }
    ]
}
```

## Related Articles

{% content-ref url="/pages/OKRcu1Dp3gn5Y38w55HD" %}
[Error Handling](/readme/headless/error-handling.md)
{% endcontent-ref %}
