Payments

The Payments API enables you to simulate, initiate, and manage the lifecycle of a payment—from defining the flow to receiving real-time updates.

It provides a structured way to move funds from one or more origins to one or more destinations using a chosen method. The flow begins with defining the source (payment-origins) and destination (payment-destinations), optionally proceeds with a payment-attempt for simulation or validation, and then transitions to a payment for actual execution.

Payments can follow multi-step flows including authorization, capture, and receipt confirmation depending on the provider and method. Each stage is explicitly controlled via the API. Once the payment is confirmed by the provider, final reconciliation is handled separately in a settlement layer.

To support real-time processing, the client-url webhook endpoint allows your system to receive updates when a payment transitions between states, such as being authorized, captured, received, or failed.

Use this section to:

  • Define where money is coming from and going to.

  • Simulate and validate a payment attempt before execution.

  • Create, authorize, capture, and track payments.

  • Handle asynchronous provider notifications through webhooks.

Endpoints
GET /payment-origins
GET /payment-destinations
POST /payment-attempts
GET /payment-attempts
GET /payment-attempts/:id
GET /payments
GET /payments/:id
POST /payments
POST /payments/:id/authorized
POST /payments/:id/captured
POST /payments/:id/received
Webhooks
POST client-url

The payment object

Attributes

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.

The payment object

{
  "id": "text",
  "externalId": "text",
  "identityId": "text",
  "identityExternalId": "text",
  "accountNumber": "text",
  "totalAmount": "text",
  "currency": "text",
  "description": "text",
  "product": "text",
  "status": "text",
  "type": "PURCHASE",
  "purchaseAmount": "text",
  "purchaseCurrency": "text",
  "fees": [
    {
      "name": "text",
      "type": "FIXED",
      "value": "text",
      "amount": "text",
      "currency": "text"
    }
  ],
  "createdAt": "text",
  "updatedAt": "text",
  "expiresAt": "text",
  "capturedAt": "text",
  "authorizedAt": "text",
  "refundedAt": "text",
  "origins": [
    {
      "externalId": "text",
      "name": "text",
      "type": "PAYMENT_LINK",
      "amount": "text",
      "currency": "text",
      "settlement": "text",
      "fee": {
        "name": "text",
        "type": "FIXED",
        "value": "text",
        "amount": "text",
        "currency": "text"
      },
      "identity": {},
      "metadata": {
        "image": "text",
        "description": "text",
        "category": "text"
      },
      "amountOut": "text",
      "card": {
        "holder": "text",
        "scheme": "text",
        "type": "text",
        "mask": "text",
        "country": "text",
        "tokenized": "text"
      }
    }
  ],
  "destinations": [
    {
      "externalId": "text",
      "name": "text",
      "type": "PAYMENT_LINK",
      "amount": "text",
      "currency": "text",
      "settlement": "text",
      "fee": {
        "name": "text",
        "type": "FIXED",
        "value": "text",
        "amount": "text",
        "currency": "text"
      },
      "identity": {},
      "metadata": {
        "image": "text",
        "description": "text",
        "category": "text"
      },
      "amountOut": "text",
      "card": {
        "holder": "text",
        "scheme": "text",
        "type": "text",
        "mask": "text",
        "country": "text",
        "tokenized": "text"
      }
    }
  ],
  "settlement": "text"
}

The fee object

Attributes

Details about any fees applied to the transaction.

namestringRequired

The name of the fee.

typestring · enumRequired

The type of fee applied (e.g., FIXED, PERCENTAGE).

Possible values:
valuestringRequired

The value of the fee.

amountstringRequired

The calculated amount of the fee.

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.

The fee object

{
  "name": "text",
  "type": "FIXED",
  "value": "text",
  "amount": "text",
  "currency": "text"
}

Last updated