Payments

Payments represent the intent and execution of moving funds from one or more origins to one or more destinations. Every payment progresses through a lifecycle of statuses (see Payment status).

Use the Payments API to create payments, list or retrieve them, issue refunds, assign unassigned balances to an account, attach compliance documentation, and resolve the persistent customer record tied to the payment.

Lifecycle endpoints
GET  /payments
GET  /payments/:id
POST /payments
POST /payments/:id/authorized
POST /payments/:id/captured
POST /payments/received
Refunds
POST /payments/:id/refund
GET  /payments/:id/refund
Unassigned balance
POST /payments/:id/assign
Review documents
POST /payments/:id/documents
Customer link
GET  /payments/:id/customer

Lifecycle

Get Payments

get

Lists payments with filtering and pagination options.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Query parameters
identityIdstringOptional

Identity Id

Example: 1234a
typestring · enumOptional

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Example: PURCHASEPossible values:
accountNumberstringOptional

Account Number

Example: 1234
statusstringOptional

Payment status

Example: CREATED
startDatestringOptional

(dd/mm/yyyy) Start date filters created Date min

Example: 01/04/2025
endDatestringOptional

(dd/mm/yyyy) End date filters created Date max

Example: 08/04/2025
sortstringOptional

Sorts the results by param:asc | param:desc

Example: createdAt:desc
limitstringOptional

Specifies the maximum number of items to return in a single request.

Example: 50
offsetstringOptional

Skips the input value from the current view

Example: 0
checkoutSessionIdstringOptional

checkout session Id

Header parameters
conomyhq-api-versionstringOptional

v1: empty ; v2: 24-04-2025

Default: none, is the first API versionExample: 24-04-2025
x-api-keystringRequired

The API key used for authentication when making requests to the API Gateway.

User-AgentstringRequired

Identifies the application making the request.

Responses
chevron-right
200

Request processed successfully.

application/json
get
/payments

Get Payment

get

Retrieves a payment by ID.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Unique identifier for the payment.

Header parameters
x-api-keystringRequired

The API key used for authentication when making requests to the API Gateway.

User-AgentstringRequired

Identifies the application making the request.

Responses
chevron-right
200

Request processed successfully.

application/json

Schema representing a financial transaction, including details about the transaction's origins, destinations, amounts, fees, and status.

idstringRequired

Unique identifier for the internal service.

externalIdstringRequired

External reference identifier for integrations.

identityIdstringRequired

Identifier linking the transaction to a specific user or organization.

identityExternalIdstringOptional

External reference identifier for the identity associated with the transaction.

accountNumberstringRequired

The account number involved in the transaction.

totalAmountstringRequired

The total amount of the transaction.

currencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

descriptionstringOptional

A brief description of the transaction.

productstringOptional

The product or service related to the transaction. purchaseCurrency:Currency

statusstringRequired

The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED).

typestring · enumRequired

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Possible values:
purchaseAmountstringOptional

The amount paid in the transaction.

purchaseCurrencystringOptional

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

createdAtstringRequired

Timestamp indicating when the transaction was created.

updatedAtstringRequired

Timestamp indicating the last update to the transaction.

expiresAtstringOptional

Timestamp indicating when the transaction expires, if applicable.

capturedAtstringOptional

Timestamp indicating when the transaction was captured.

authorizedAtstringOptional

Timestamp indicating when the transaction was authorized.

refundedAtstringOptional

Timestamp indicating when the transaction was refunded, if applicable.

settlementstringOptional

Settlement period for the transaction.

get
/payments/{id}

Create Payment

post

When creating a transaction, this endpoint provides a payment method and a provider system to process the payment.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
x-api-keystringRequired

The API key used for authentication when making requests to the API Gateway.

User-AgentstringRequired

Identifies the application making the request.

Body
externalIdstringRequired

External reference identifier for integrations.

identityIdstringRequired

Identifier linking the transaction to a specific user or organization.

identityExternalIdstringOptional

External reference identifier for the identity associated with the transaction.

accountNumberstringRequired

The account number involved in the transaction.

totalAmountstringRequired

The total amount of the transaction.

currencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

descriptionstringOptional

A brief description of the transaction.

typestring · enumRequired

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Possible values:
purchaseAmountstringOptional

The amount paid in the transaction.

purchaseCurrencystringOptional

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

expiresAtstringOptional

Timestamp indicating when the transaction expires, if applicable.

Responses
chevron-right
200

Request processed successfully.

application/json

Schema representing a financial transaction, including details about the transaction's origins, destinations, amounts, fees, and status.

idstringRequired

Unique identifier for the internal service.

externalIdstringRequired

External reference identifier for integrations.

identityIdstringRequired

Identifier linking the transaction to a specific user or organization.

identityExternalIdstringOptional

External reference identifier for the identity associated with the transaction.

accountNumberstringRequired

The account number involved in the transaction.

totalAmountstringRequired

The total amount of the transaction.

currencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

descriptionstringOptional

A brief description of the transaction.

productstringOptional

The product or service related to the transaction. purchaseCurrency:Currency

statusstringRequired

The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED).

typestring · enumRequired

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Possible values:
purchaseAmountstringOptional

The amount paid in the transaction.

purchaseCurrencystringOptional

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

createdAtstringRequired

Timestamp indicating when the transaction was created.

updatedAtstringRequired

Timestamp indicating the last update to the transaction.

expiresAtstringOptional

Timestamp indicating when the transaction expires, if applicable.

capturedAtstringOptional

Timestamp indicating when the transaction was captured.

authorizedAtstringOptional

Timestamp indicating when the transaction was authorized.

refundedAtstringOptional

Timestamp indicating when the transaction was refunded, if applicable.

settlementstringOptional

Settlement period for the transaction.

post
/payments

Authorize Payment

post

This endpoint authorizes a transaction before it is captured, ensuring that the payment method has sufficient funds or credit availability. Authorization does not finalize the payment but reserves the amount until the capture is completed.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Unique identifier of the payment to authorize.

Header parameters
x-api-keystringRequired

The API key used for authentication when making requests to the API Gateway.

User-AgentstringRequired

Identifies the application making the request.

Responses
chevron-right
200

Request processed successfully.

application/json

Schema representing a financial transaction, including details about the transaction's origins, destinations, amounts, fees, and status.

idstringRequired

Unique identifier for the internal service.

externalIdstringRequired

External reference identifier for integrations.

identityIdstringRequired

Identifier linking the transaction to a specific user or organization.

identityExternalIdstringOptional

External reference identifier for the identity associated with the transaction.

accountNumberstringRequired

The account number involved in the transaction.

totalAmountstringRequired

The total amount of the transaction.

currencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

descriptionstringOptional

A brief description of the transaction.

productstringOptional

The product or service related to the transaction. purchaseCurrency:Currency

statusstringRequired

The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED).

typestring · enumRequired

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Possible values:
purchaseAmountstringOptional

The amount paid in the transaction.

purchaseCurrencystringOptional

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

createdAtstringRequired

Timestamp indicating when the transaction was created.

updatedAtstringRequired

Timestamp indicating the last update to the transaction.

expiresAtstringOptional

Timestamp indicating when the transaction expires, if applicable.

capturedAtstringOptional

Timestamp indicating when the transaction was captured.

authorizedAtstringOptional

Timestamp indicating when the transaction was authorized.

refundedAtstringOptional

Timestamp indicating when the transaction was refunded, if applicable.

settlementstringOptional

Settlement period for the transaction.

post
/payments/{id}/authorized

Capture Payment

post

Indicates that the payment has been successfully captured. At this stage, the transaction has been confirmed, and the funds have been debited from the payment source. However, the funds may still be in transit before being fully received.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Path parameters
idstringRequired

Unique identifier for the payment.

Header parameters
x-api-keystringRequired

The API key used for authentication when making requests to the API Gateway.

User-AgentstringRequired

Identifies the application making the request.

Responses
chevron-right
200

Request processed successfully.

application/json
idstringRequired

Unique identifier for the internal service.

externalIdstringRequired

External reference identifier for integrations.

identityIdstringRequired

Identifier linking the transaction to a specific user or organization.

identityExternalIdstringOptional

External reference identifier for the identity associated with the transaction.

accountNumberstringRequired

The account number involved in the transaction.

totalAmountstringRequired

The total amount of the transaction.

currencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

descriptionstringOptional

A brief description of the transaction.

productstringRequired

The product or service related to the transaction. purchaseCurrency:Currency

statusstringRequired

The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED).

typestring · enumRequired

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Possible values:
purchaseAmountstringRequired

The amount paid in the transaction.

purchaseCurrencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

createdAtstringRequired

Timestamp indicating when the transaction was created.

updatedAtstringRequired

Timestamp indicating the last update to the transaction.

expiresAtstringOptional

Timestamp indicating when the transaction expires, if applicable.

capturedAtstringOptional

Timestamp indicating when the transaction was captured.

authorizedAtstringOptional

Timestamp indicating when the transaction was authorized.

refundedAtstringOptional

Timestamp indicating when the transaction was refunded, if applicable.

post
/payments/{id}/captured

Receive Payment Provider Notification

post

Indicates that the funds have been received and are available in the destination account. This represents the final stage of the payment process, where the funds are no longer in transit. The next step is to validate that the funds have been settled after the reconciliation process with the payment provider.

circle-info

Info hints This endpoint is only available in the sandbox environment to simulate the receipt of funds. In production, this step is triggered by the payment provider through a webhook or callback.

Authorizations
AuthorizationstringRequired
Bearer authentication header of the form Bearer <token>.
Header parameters
x-api-keystringRequired

The API key used for authentication when making requests to the API Gateway.

User-AgentstringRequired

Identifies the application making the request.

Body
transactionIdstringRequired

transaction id

signaturestringRequired

provider signature

Responses
chevron-right
200

Request processed successfully.

application/json

Schema representing a financial transaction, including details about the transaction's origins, destinations, amounts, fees, and status.

idstringRequired

Unique identifier for the internal service.

externalIdstringRequired

External reference identifier for integrations.

identityIdstringRequired

Identifier linking the transaction to a specific user or organization.

identityExternalIdstringOptional

External reference identifier for the identity associated with the transaction.

accountNumberstringRequired

The account number involved in the transaction.

totalAmountstringRequired

The total amount of the transaction.

currencystringRequired

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

descriptionstringOptional

A brief description of the transaction.

productstringOptional

The product or service related to the transaction. purchaseCurrency:Currency

statusstringRequired

The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED).

typestring · enumRequired

Indicates the purpose of the payment. This field defines how the payment should be processed within the system, based on its intent—such as funding an account, withdrawing funds, transferring between users, collecting funds, or applying fees. Go to the payment types page for the complete list of supported values.

Possible values:
purchaseAmountstringOptional

The amount paid in the transaction.

purchaseCurrencystringOptional

Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., CLP, ARS, MXN). Go to the currencies page for the complete list of supported values.

createdAtstringRequired

Timestamp indicating when the transaction was created.

updatedAtstringRequired

Timestamp indicating the last update to the transaction.

expiresAtstringOptional

Timestamp indicating when the transaction expires, if applicable.

capturedAtstringOptional

Timestamp indicating when the transaction was captured.

authorizedAtstringOptional

Timestamp indicating when the transaction was authorized.

refundedAtstringOptional

Timestamp indicating when the transaction was refunded, if applicable.

settlementstringOptional

Settlement period for the transaction.

post
/payments/received

Refunds

Refunds are issued as child transactions linked to the parent via parentPaymentId. See Refunds for the full guide.

POST /payments/{id}/refund

Creates a refund on a SETTLED parent. Supports partial refunds.

Path parameters

Name
Type
Description

id

string

Parent payment id.

Body

Field
Type
Required
Description

amount

string

Positive decimal. When omitted, refunds the full remaining refundable balance (parent total minus active refunds).

reason

string

Free-text. Stored on the refund child's description for audit.

Response 201 Created

Errors

HTTP
Meaning

404

Parent payment not found.

422

Parent is not in SETTLED, or the requested amount exceeds the remaining refundable.

The parent payment stays in SETTLED regardless of how many refunds are issued. Watch your webhooks for payment.refund.created and payment.refund.settled.

GET /payments/{id}/refund

Returns the list of refund children plus an aggregated summary.

Response 200 OK

Bucket
Includes children in status

totalRefunded

SETTLED

totalInProgress

CREATED, AUTHORIZED, CAPTURED, RECEIVED

totalFailed

FAILED, EXPIRED, UNSETTLED

maxRefundable = parentAmount − (totalRefunded + totalInProgress). Use it to size your next refund.


Assign an unassigned balance

When a topup arrives without a destination account (see Unassigned balances), the payment sits in CREATED until an account is assigned. Use this endpoint to reconcile the payment against one of your accounts.

POST /payments/{id}/assign

Path parameters

Name
Type
Description

id

string

Payment id of the unassigned topup.

Body

Field
Type
Required
Description

accountNumber

string

Destination account number. Must belong to the same client.

expectedAmount

string

Expected amount for reconciliation. When supplied, drives amount classification (UNDERPAID / OVERPAID) and spawns a companion child transaction for the difference. When omitted, the topup is treated as PAID.

Response 200 OK

Response 200 OK — underpaid / overpaid case

When expectedAmount does not match the received amount, the response includes a childPaymentId pointing at the companion transaction that captures the difference:

See Amount reconciliation for how the platform classifies the delta.

Errors

HTTP
Meaning

404

Payment not found, or the accountNumber does not belong to the caller's client.

422

Payment is not in CREATED — already assigned, expired, or in another terminal state.

Webhook fired: payment.settled (plus purchase.underpaid / purchase.overpaid when applicable).


Attach a review document

When a payment is in REQUIRES_REVIEW and documentationStatus is PENDING_UPLOAD, attach a document to resume the lifecycle. See Review flow for the end-to-end compliance flow.

POST /payments/{id}/documents

Body

Field
Type
Required
Description

type

string

Document type. See Supported documents.

url

string

Canonical storage URL. When omitted, the document is stored in PENDING_UPLOAD.

contentType

string

MIME type.

Response 201 Created


GET /payments/{id}/customer

Returns the persistent Customer record bound to the payment.

Response 200 OK

attached: false is returned for legacy payments that do not carry a persistent customer reference. In that case, fall back to the payment's embedded customer snapshot.

Last updated