Skip to main content
Use this flow when your organization takes a payment itself (cash at the counter, a check, a money order, or a card run on your own terminal) and you need it applied to the borrower’s account. Monterey does not move any money. You tell us what you collected, and we post it to the account.
These endpoints record payments you already collected. To charge a borrower’s stored payment method, use the payment-method endpoints instead.

Before you call

  • An API key that can mint an access token
  • The external_payments:write scope to record and reverse payments
  • The external_payments:read scope to read them back
  • curl and jq

Choose the payment method

Send check_number only for the check-type methods, and card_brand only for card. Any other combination returns 422.

Record a payment

Every request needs an Idempotency-Key. Use a new key for each payment you record, and reuse the same key only when you retry that same request.
amount_cents is a positive integer and can’t exceed the account’s payoff amount. Payments always post as of the servicing system’s current business day, so the request has no effective date field. The effective_date in the response tells you which day was used.

Read the result

Retry safely

Retrying with the same Idempotency-Key and the same body returns the original response. It never records the payment a second time, even after the original succeeded.
  • The same key with a different body returns 409 idempotency_conflict.
  • A retry while we still can’t confirm the outcome of the original returns 409 idempotency_in_progress. Keep polling GET /v1/payments/{payment_id}, or contact Monterey. Don’t switch to a new key: a new key is a new payment.

Reverse a payment

You can reverse only payments your organization recorded through this API. Payments from any other source return 404.
Set is_nsf to true when the reversal is for non-sufficient funds.

List your recorded payments

GET /v1/accounts/{account_id}/payments returns only the payments your organization recorded through this API, newest first, paginated with cursor and limit. To see every transaction on the account, including payments from other sources, use the transactions endpoints.