---
title: "Create Card Payment"
method: POST
path: "/v2/payment-cards/{payment_card_id}/payments/"
tags: ["repayments"]
---

# Create Card Payment

`POST /v2/payment-cards/{payment_card_id}/payments/`

Pays down the outstanding balance of a payment card. The repayment is settled synchronously against the card's loan application and returns `status: posted` on success. Autopay must be disabled on the card unless your partner configuration settles from a partner FBO account. Omit `account_id` to debit the DDA account attached to the card.

## Path parameters

- `payment_card_id` string, uuid, required

## Headers

- `Authorization` string, required

## Request body

- CreateCardPaymentRequest — Request body for paying down a payment card's outstanding balance.
  - `amount` number, double, required — Repayment amount in USD. Must be at least 0.01 and no greater than the card's current outstanding balance. Limited to 2 decimal places and 10 total digits.
  - `rail` 'book_transfer' | 'ach' | 'instant' — Settlement rail. Defaults to `book_transfer`, the only rail currently implemented. `ach` and `instant` are reserved for future use — sending either records the repayment with `status: error` and returns a 400 `payment_error`.
  - `account_id` string, uuid — External ID of the account to debit. Must be active and owned by the cardholder. When omitted, the DDA account attached to the card is used, which must itself be active.

## Response `201`

Repayment created and settled

- CreateCardPaymentResponse — Response returned when a card repayment is created.
  - `id` string, uuid, required — Unique identifier for this repayment. Use it to retrieve the repayment later.
  - `amount` string, decimal, required — Repayment amount in USD, returned as a decimal string with 2 decimal places.
  - `rail` 'book_transfer' | 'ach' | 'instant', required — Settlement rail used for this repayment.
  - `account_id` string, uuid, required — External ID of the account that was debited.
  - `status` 'posted', required — Always `posted` on a 201 response — the repayment is settled before the response is returned. Attempts that fail to settle return an error status code instead.

## Other responses

- `400` — The request failed validation or the repayment could not be settled. See `error` for the specific cause: `autopay_enabled`, `validation_error`, or `payment_error`.
- `403` — The payment card belongs to a consumer outside the authenticated partner's network.
- `404` — No payment card matches the given `payment_card_id`.
- `422` — Unexpected error while processing the repayment.

---

[API](https://skmtc.net/upwardli/apis/api-reference.md) · [All operations](https://skmtc.net/upwardli/apis/api-reference/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/upwardli/api-reference/revisions/8a237f1f704f/schema)
