# Transaction builder

Build any valid `POST /payments` payload from user intent, currency pair, and rail availability.

{% hint style="info" %}
This builder is dynamic: it uses `GET /payments/available-products` to discover rails and required fields per identity and currency at runtime.
{% endhint %}

{% hint style="success" %}
Goal of this page: users can assemble a payment request and copy **JSON** or **cURL** from the GitBook API playground, without executing the transaction.
{% endhint %}

## 1. Interactive block (recommended)

If the `ConomyHQ Transaction Builder` integration is installed in your space, use this block to select values and generate payloads.

{% @conomyhq-transaction-builder/transaction-builder-block variant="generate-only" content="generate-only" %}

## 2. Builder inputs

| Input               | Description                                                     |
| ------------------- | --------------------------------------------------------------- |
| User intent         | `TOPUP_ACCOUNT`, `WITHDRAWAL_ACCOUNT`, `REMITTANCE`, `PURCHASE` |
| Amount              | `purchaseAmount`                                                |
| Source currency     | `purchaseCurrency`                                              |
| Settlement currency | `currency`                                                      |
| Identity            | `identityId`                                                    |

## 3. Resolve products and rails (dynamic step)

Use this endpoint first. It defines what the user can build for each currency.

## Get available products

> Returns all payment products available for a given identity, organized by currency. Each currency entry includes available pay-in methods with their products and pay-out (withdrawal) methods with their products. Use this endpoint to discover what payment rails are enabled for an account before building a payment flow.

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"tags":[{"name":"Payment-methods"}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer"}},"schemas":{"available-products":{"type":"object","description":"Available payment products for an identity, organized by currency.","properties":{"supportedPaymentCurrencies":{"type":"array","description":"Currencies for which pay-in products are available.","items":{"$ref":"#/components/schemas/currency"}},"supportedPayoutCurrencies":{"type":"array","description":"Currencies for which pay-out products are available.","items":{"$ref":"#/components/schemas/currency"}},"supportedPaymentMethods":{"type":"array","description":"All pay-in node types available across all currencies.","items":{"$ref":"#/components/schemas/payment-node-type"}},"supportedWithdrawalMethods":{"type":"array","description":"All pay-out node types available across all currencies.","items":{"$ref":"#/components/schemas/payment-node-type"}},"byCurrency":{"type":"array","description":"Per-currency breakdown of available pay-in and pay-out products.","items":{"type":"object","properties":{"currency":{"$ref":"#/components/schemas/currency"},"payin":{"type":"object","description":"Pay-in configuration for this currency.","properties":{"paymentMethods":{"type":"array","description":"Node types available for pay-in.","items":{"$ref":"#/components/schemas/payment-node-type"}},"products":{"type":"array","description":"Full product details for each pay-in method.","items":{"$ref":"#/components/schemas/payment-node-get"}}}},"payout":{"type":"object","description":"Pay-out configuration for this currency.","properties":{"withdrawalMethods":{"type":"array","description":"Node types available for pay-out.","items":{"$ref":"#/components/schemas/payment-node-type"}},"products":{"type":"array","description":"Full product details for each pay-out method.","items":{"$ref":"#/components/schemas/payment-node-get"}}}}}}}},"required":["supportedPaymentCurrencies","supportedPayoutCurrencies","supportedPaymentMethods","supportedWithdrawalMethods","byCurrency"],"title":"available-products"},"currency":{"type":"string","description":"Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., `CLP`, `ARS`, `MXN`). Go to the [currencies page](../home/currencies \"mention\") for the complete list of supported values."},"payment-node-type":{"type":"string","description":"Defines the source or destination type of the payment. This field determines how the funds will be sent or received and which structure is expected in the corresponding `node` object. Only one type is allowed per node.\n\n| Type          | Node          | Country        | Direction        |\n|---------------|---------------|----------------|------------------|\n| `CARD`        | `card`        | Multi          | Pay-in           |\n| `CRYPTO`      | `wallet`      | Multi          | Pay-in / Pay-out |\n| `ACCOUNT`     | `account`     | Multi          | Pay-in / Pay-out |\n| `BANK_ACCOUNT`| `bank`        | Multi          | Pay-out          |\n| `PIX`         | `pix`         | Brazil         | Pay-in / Pay-out |\n| `PCT`         | `pct`         | Argentina      | Pay-in           |\n| `CVU`         | `cvu`         | Argentina      | Pay-in           |\n| `ETPAY`       | `etpay`       | Chile          | Pay-in           |\n| `FINTOC`      | `fintoc`      | Chile          | Pay-in           |\n| `WEBPAY`      | `webpay`      | Chile          | Pay-in           |\n| `SPEI`        | `spei`        | Mexico         | Pay-in / Pay-out |\n| `PSE`         | `pse`         | Colombia       | Pay-in           |\n| `BANCOLOMBIA` | `bancolombia` | Colombia       | Pay-in           |\n| `DAVIVIENDA`  | `davivienda`  | Colombia       | Pay-in           |\n| `DAVIPLATA`   | `daviplata`   | Colombia       | Pay-in / Pay-out |\n| `NEQUI`       | `nequi`       | Colombia       | Pay-in / Pay-out |\n| `BREB`        | `breb`        | Colombia       | Pay-out          |\n| `WOMPI`       | `wompi`       | Colombia       | Pay-in           |\n| `LIGO`        | `ligo`        | Peru           | Pay-in           |\n| `SIP`         | `sip`         | Peru, Bolivia  | Pay-in           |\n| `ACH`         | `ach`         | USA            | Pay-in / Pay-out |\n| `WIRE`        | `wire`        | USA            | Pay-out          |\n| `FEDNOW`      | `fedNow`      | USA            | Pay-in / Pay-out |\n| `RTP`         | `rtp`         | USA            | Pay-in           |\n| `SEPA`        | `sepa`        | Europe         | Pay-out          |\n| `FPE`         | `fpe`         | UK             | Pay-out          |\n| `SWIFT`       | `swift`       | Global         | Pay-out          |","enum":["CARD","CRYPTO","ACCOUNT","BANK_ACCOUNT","PIX","PCT","CVU","ETPAY","FINTOC","WEBPAY","SPEI","PSE","BANCOLOMBIA","DAVIVIENDA","DAVIPLATA","NEQUI","BREB","WOMPI","LIGO","SIP","ACH","WIRE","FEDNOW","RTP","SEPA","FPE","SWIFT"]},"payment-node-get":{"description":"Payment node schema returned by read/list endpoints.","allOf":[{"type":"object","properties":{"name":{"type":"string","description":"The name of the source or destination of the transaction."},"type":{"$ref":"#/components/schemas/payment-node-type"},"currency":{"$ref":"#/components/schemas/currency"},"product":{"type":"string","description":"Product identifier for the payment rail, in the format `CURRENCY:CURRENCY` (e.g., `ARS:ARS`, `USD:COP`)."},"settlement":{"type":"string","description":"Indicates the settlement period."},"fee":{"description":"Details about any fees applied to the transaction.","$ref":"#/components/schemas/fee"},"metadata":{"type":"object","description":"Additional metadata related to the transaction source or destination.","properties":{"image":{"type":"string","description":"An image representing the source or destination."},"description":{"type":"string","description":"A brief description of the source or destination."},"category":{"type":"string","description":"The category or grouping of the source or destination."}},"required":["image","description","category"]},"minAmount":{"type":"string","description":"Minimum transaction amount allowed for this node.","pattern":"^\\d+$"},"maxAmount":{"type":"string","description":"Maximum transaction amount allowed for this node.","pattern":"^\\d+$"},"requiredFields":{"type":"array","description":"Dot-notation paths of fields required when using this node (e.g., `bank.accountNumber`, `pct.customer.email`).","items":{"type":"string"}},"validOrigins":{"type":"array","description":"Node types that are valid as origins when this node is used as a destination.","items":{"$ref":"#/components/schemas/payment-node-type"}},"validDestinations":{"type":"array","description":"Node types that are valid as destinations when this node is used as an origin.","items":{"$ref":"#/components/schemas/payment-node-type"}},"nodeSchema":{"type":"object","description":"Dynamic schema describing the structure of the node-specific object. Each key matches the node key (e.g., `bank`, `pct`, `cvu`) and its value reflects the expected field structure.","additionalProperties":true},"requiredFieldTypes":{"type":"object","description":"Map of dot-notation field paths to their expected types (e.g., `{ \"bank.accountNumber\": \"string\" }`).","additionalProperties":{"type":"string"}}},"title":"payment-node-get","required":["type","currency"]},{"$ref":"#/components/schemas/node-wrapper-get"}],"title":"payment-node-get"},"fee":{"type":"object","description":"Details about any fees applied to the transaction.","properties":{"name":{"type":"string","description":"The name of the fee."},"type":{"description":"The type of fee applied (e.g., FIXED, PERCENTAGE).","$ref":"#/components/schemas/fee-type"},"value":{"type":"string","description":"The value of the fee."},"amount":{"type":"string","description":"The calculated amount of the fee."},"currency":{"$ref":"#/components/schemas/currency"}},"required":["name","type","value","currency","amount"]},"fee-type":{"type":"string","description":"Type of fee","enum":["FIXED","PERCENTAGE"]},"node-wrapper-get":{"description":"Response wrapper used to return a rail-specific payment node.","discriminator":{"propertyName":"type","mapping":{"CARD":"#/components/schemas/card-wrapper1","ACCOUNT":"#/components/schemas/account-wrapper2","CRYPTO":"#/components/schemas/crypto-wrapper-get","BANK_ACCOUNT":"#/components/schemas/bank-account-wrapper4","PIX":"#/components/schemas/pix-wrapper5","PCT":"#/components/schemas/pct-wrapper6","ETPAY":"#/components/schemas/etpay-wrapper","FINTOC":"#/components/schemas/fintoc-wrapper","WEBPAY":"#/components/schemas/webpay-wrapper","WOMPI":"#/components/schemas/wompi-wappe","PSE":"#/components/schemas/pse-wrapper","BANCOLOMBIA":"#/components/schemas/bancolombia-wrapper","DAVIVIENDA":"#/components/schemas/davivienda-wrapper","DAVIPLATA":"#/components/schemas/daviplata-wrapper","NEQUI":"#/components/schemas/nequi-wrapper","BREB":"#/components/schemas/breb-wrapper","CVU":"#/components/schemas/cvu-wrapper","SPEI":"#/components/schemas/spei-wrapper","LIGO":"#/components/schemas/ligo-wrapper","SIP":"#/components/schemas/sip-wrapper","ACH":"#/components/schemas/ach-wrapper","WIRE":"#/components/schemas/wire-wrapper","FEDNOW":"#/components/schemas/fednow-wrapper","RTP":"#/components/schemas/rtp-wrapper","SEPA":"#/components/schemas/sepa-wrapper","FPE":"#/components/schemas/fpe-wrapper","SWIFT":"#/components/schemas/swift-wrapper"}},"oneOf":[{"$ref":"#/components/schemas/card-wrapper1"},{"$ref":"#/components/schemas/account-wrapper2"},{"$ref":"#/components/schemas/bank-account-wrapper4"},{"$ref":"#/components/schemas/crypto-wrapper-get"},{"$ref":"#/components/schemas/pix-wrapper5"},{"$ref":"#/components/schemas/pct-wrapper6"},{"$ref":"#/components/schemas/etpay-wrapper"},{"$ref":"#/components/schemas/fintoc-wrapper"},{"$ref":"#/components/schemas/webpay-wrapper"},{"$ref":"#/components/schemas/wompi-wappe"},{"$ref":"#/components/schemas/pse-wrapper"},{"$ref":"#/components/schemas/bancolombia-wrapper"},{"$ref":"#/components/schemas/davivienda-wrapper"},{"$ref":"#/components/schemas/daviplata-wrapper"},{"$ref":"#/components/schemas/nequi-wrapper"},{"$ref":"#/components/schemas/breb-wrapper"},{"$ref":"#/components/schemas/cvu-wrapper"},{"$ref":"#/components/schemas/spei-wrapper"},{"$ref":"#/components/schemas/ligo-wrapper"},{"$ref":"#/components/schemas/sip-wrapper"},{"$ref":"#/components/schemas/ach-wrapper"},{"$ref":"#/components/schemas/wire-wrapper"},{"$ref":"#/components/schemas/fednow-wrapper"},{"$ref":"#/components/schemas/rtp-wrapper"},{"$ref":"#/components/schemas/sepa-wrapper"},{"$ref":"#/components/schemas/fpe-wrapper"},{"$ref":"#/components/schemas/swift-wrapper"}],"title":"subnode-get"},"card-wrapper1":{"description":"Alternative card node wrapper used in composed schemas.","type":"object","properties":{"card":{"type":"object","properties":{"holder":{"type":"string","description":"Card holder full name"},"scheme":{"type":"string","description":"Card scheme"},"type":{"type":"string","description":"Card type"},"mask":{"type":"string","description":"Last 4 digits"},"country":{"type":"string","description":"Issuing country"},"token":{"type":"string","description":"Card token"}},"required":["token"]}},"required":["card"],"title":"CARD"},"account-wrapper2":{"description":"Alternative account node wrapper used in composed schemas.","type":"object","properties":{"account":{"type":"object","properties":{"identityId":{"type":"string","description":"Identifier linking the internal account to an organization or user."},"type":{"description":"The type of internal account.","$ref":"#/components/schemas/account-type"},"balance":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Total balance available in the internal account."},"availableFunds":{"type":"string","pattern":"^\\d+(\\.\\d+)?$","description":"Amount of funds available for transactions."},"currency":{"description":"The currency in which the internal account operates. Please check \"currencies\" page.","$ref":"#/components/schemas/currency"},"name":{"type":"string","description":"A friendly name assigned to the internal account."},"accountNumber":{"type":"string","description":"Internal reference number for the account."},"accountHolder":{"type":"string","description":"Name of the entity or user owning the internal account."}},"required":["identityId","type","balance","availableFunds","currency","name","accountNumber","accountHolder"]}},"title":"ACCOUNT","required":["account"]},"account-type":{"type":"string","description":"The type of internal account.","enum":["CHECKING","ASSET","SAVINGS","ESCROW","FEE"]},"bank-account-wrapper4":{"description":"Wrapper object exposing the external `bank` node payload.","type":"object","properties":{"bank":{"type":"object","properties":{"accountNumber":{"type":"string","description":"The bank account number."},"bank":{"type":"string","description":"The name of the bank where the account is held."},"currency":{"$ref":"#/components/schemas/currency"},"typeAccount":{"type":"string","description":"The type of bank account. CHECKING_ACOUNT, SAVINGS"},"accountHolder":{"type":"string","description":"The full name of the account holder."},"accountHolderDni":{"type":"string","description":"The national identification number or tax ID of the account holder."},"country":{"$ref":"#/components/schemas/country"}},"required":["accountNumber","bank","currency","accountHolder","accountHolderDni","country"]}},"title":"BANK_ACCOUNT","required":["bank"]},"country":{"type":"string","description":"Country of operations for the entity, specified using the ISO 3166-1 alpha-3 standard (e.g., `CHL`, `USA`, `MEX`). Go to the [countries page](../home/countries \"mention\") for the complete list of supported values."},"crypto-wrapper-get":{"description":"Response wrapper used to return CRYPTO node details.","allOf":[{"$ref":"#/components/schemas/wallet-wrapper3"}],"title":"CRYPTO"},"wallet-wrapper3":{"description":"Wrapper object exposing the `wallet` node payload for crypto transfers.","type":"object","properties":{"wallet":{"type":"object","properties":{"provider":{"type":"string","description":"Optional wallet provider identifier (for routing/integration)."},"referenceId":{"type":"string","description":"Optional external wallet identifier in the provider system."},"token":{"type":"string","description":"Optional token symbol (e.g., `USDC`, `USDT`) when not implied by `currency`."},"network":{"type":"string","description":"Optional blockchain network (e.g., `ETH`, `TRON`, `SOLANA`)."},"address":{"type":"string","description":"Wallet's address"}},"required":["address"]}},"required":["wallet"],"title":"CRYPTO"},"pix-wrapper5":{"description":"Alternative PIX node wrapper used in composed schemas.","type":"object","properties":{"pix":{"type":"object","properties":{"minimumAmount":{"type":"string","description":"Minimum amount allowed.","pattern":"^\\d+$"},"maximumAmount":{"type":"string","description":"Minimum amount allowed.","pattern":"^\\d+$"}}}},"required":["pix"],"title":"PIX"},"pct-wrapper6":{"type":"object","description":"PCT pay-in node for Argentina (ARS). BCRA interoperable QR transfer standard.","properties":{"pct":{"type":"object","properties":{"qrCode":{"type":"string","description":"QR code string to be rendered or scanned for payment."},"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}}}},"required":["pct"],"title":"PCT"},"customer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/_id"},"firstName":{"type":"string","description":"Payer's name"},"email":{"type":"string","description":"Payer's email"},"lastName":{"type":"string","description":"Payer's last name"},"phoneNumber":{"type":"string","description":"Payer's phone number without prefix"},"phoneNumberPrefix":{"type":"string","description":"Phone number prefix (e.g., +57)"},"documentType":{"$ref":"#/components/schemas/document-type"},"documentNumber":{"type":"string","description":"The document number associated with the documentType"},"address":{"$ref":"#/components/schemas/address"}},"description":"Information on who pays the transaction","required":["firstName"]},"_id":{"type":"string","description":"Unique identifier for the internal service."},"document-type":{"type":"string","description":"Documeny type of the entity (e.g., `RUT`, `CURP`, `CURL`). Go to the [Supported Identity document types page](../home/supported-identity-document-types \"mention\") for the complete list of supported values."},"address":{"type":"object","properties":{"administrativeAreaLevel1":{"type":"string","description":"The first-level administrative division."},"administrativeAreaLevel2":{"type":"string","description":"The second-level administrative division."},"administrativeAreaLevel3":{"type":"string","description":"The third-level administrative division."},"street":{"type":"string","description":"The name of the street."},"streetNumber":{"type":"string","description":"The street number."},"optionalAddress":{"type":"string","description":"Additional address details."},"country":{"$ref":"#/components/schemas/country"},"zipcode":{"type":"string","description":"Zipcode f the address"}},"description":"The entity’s address information."},"etpay-wrapper":{"description":"Response wrapper used to return Etpay node details.","type":"object","properties":{"etpay":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"url":{"type":"string"},"token":{"type":"string"},"signatureToken":{"type":"string"}}}},"required":["etpay"],"title":"ETPAY"},"fintoc-wrapper":{"type":"object","description":"FINTOC pay-in node for Chile (CLP). Open banking pay-in via Fintoc widget.","properties":{"fintoc":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}}}},"required":["fintoc"],"title":"FINTOC"},"webpay-wrapper":{"type":"object","description":"WEBPAY pay-in node for Chile (CLP). Card payments via Transbank.","properties":{"webpay":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["webpay"],"title":"WEBPAY"},"wompi-wappe":{"description":"Wrapper object exposing the `wompi` node payload.","type":"object","properties":{"wompi":{"$ref":"#/components/schemas/wompi"}},"title":"WOMPI"},"wompi":{"description":"Wompi gateway payload for Colombia pay-ins.","type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"url":{"type":"string"},"redirectUrl":{"type":"string"},"expiresAt":{"type":"string"},"token":{"type":"string"},"signatureToken":{"type":"string"}}},"pse-wrapper":{"type":"object","description":"PSE pay-in node for Colombia (COP). Online secure bank transfers.","properties":{"pse":{"type":"object","properties":{"bankId":{"type":"string","description":"Bank identifier for PSE transfer."},"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["bankId","customer"]}},"required":["pse"],"title":"PSE"},"bancolombia-wrapper":{"type":"object","description":"BANCOLOMBIA pay-in node for Colombia (COP). Bancolombia direct payment.","properties":{"bancolombia":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["bancolombia"],"title":"BANCOLOMBIA"},"davivienda-wrapper":{"type":"object","description":"DAVIVIENDA pay-in node for Colombia (COP). Davivienda direct payment.","properties":{"davivienda":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["davivienda"],"title":"DAVIVIENDA"},"daviplata-wrapper":{"type":"object","description":"DAVIPLATA pay-in/pay-out node for Colombia (COP). Daviplata mobile wallet.","properties":{"daviplata":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["daviplata"],"title":"DAVIPLATA"},"nequi-wrapper":{"type":"object","description":"NEQUI pay-in/pay-out node for Colombia (COP). Nequi digital wallet.","properties":{"nequi":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["nequi"],"title":"NEQUI"},"breb-wrapper":{"type":"object","description":"BREB pay-out node for Colombia (COP). Bank account transfer payout.","properties":{"breb":{"type":"object","properties":{"bankId":{"type":"string","description":"Bank identifier for the recipient's account."},"accountNumber":{"type":"string","description":"Recipient's bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["bankId","accountNumber","customer"]}},"required":["breb"],"title":"BREB"},"cvu-wrapper":{"type":"object","description":"CVU pay-in node for Argentina (ARS). Virtual account / CBU bank transfers.","properties":{"cvu":{"type":"object","properties":{"code":{"type":"string","description":"Optional CVU/CBU code when pre-assigned by the payer flow."},"customer":{"$ref":"#/components/schemas/customer"}}}},"required":["cvu"],"title":"CVU"},"spei-wrapper":{"type":"object","description":"SPEI pay-in/pay-out node for Mexico (MXN). Electronic Interbank Payment System.","properties":{"spei":{"type":"object","properties":{"clabe":{"type":"string","description":"CLABE (18-digit interbank code) of the recipient. Required for pay-out."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["customer"]}},"required":["spei"],"title":"SPEI"},"ligo-wrapper":{"type":"object","description":"LIGO pay-in node for Peru (PEN). QR-based payment system.","properties":{"ligo":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["ligo"],"title":"LIGO"},"sip-wrapper":{"type":"object","description":"SIP pay-in node for Peru (PEN) and Bolivia (BOB). Interoperable payment system.","properties":{"sip":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["sip"],"title":"SIP"},"ach-wrapper":{"type":"object","description":"ACH pay-in/pay-out node for USA (USD). Automated Clearing House bank transfers.","properties":{"ach":{"type":"object","properties":{"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["routingNumber","accountNumber","customer"]}},"required":["ach"],"title":"ACH"},"wire-wrapper":{"type":"object","description":"WIRE pay-out node for USA (USD). Wire transfer via correspondent banks.","properties":{"wire":{"type":"object","properties":{"swiftCode":{"type":"string","description":"SWIFT/BIC code of the recipient's bank."},"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Recipient's bank account number."},"bankName":{"type":"string","description":"Name of the recipient's bank."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["swiftCode","accountNumber","customer"]}},"required":["wire"],"title":"WIRE"},"fednow-wrapper":{"type":"object","description":"FEDNOW pay-in/pay-out node for USA (USD). FedNow instant payment service.","properties":{"fedNow":{"type":"object","properties":{"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["routingNumber","accountNumber","customer"]}},"required":["fedNow"],"title":"FEDNOW"},"rtp-wrapper":{"type":"object","description":"RTP pay-in node for USA (USD). Real-time payments network.","properties":{"rtp":{"type":"object","properties":{"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["routingNumber","accountNumber","customer"]}},"required":["rtp"],"title":"RTP"},"sepa-wrapper":{"type":"object","description":"SEPA pay-out node for Europe (EUR). Single Euro Payments Area transfers.","properties":{"sepa":{"type":"object","properties":{"iban":{"type":"string","description":"Recipient's IBAN."},"bic":{"type":"string","description":"BIC/SWIFT code of the recipient's bank."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["iban","customer"]}},"required":["sepa"],"title":"SEPA"},"fpe-wrapper":{"type":"object","description":"FPE pay-out node for UK (GBP). Faster Payments — near-instant bank transfers.","properties":{"fpe":{"type":"object","properties":{"accountNumber":{"type":"string","description":"UK bank account number (8 digits)."},"sortCode":{"type":"string","description":"Sort code (6 digits, e.g., \"200415\")."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["accountNumber","sortCode","customer"]}},"required":["fpe"],"title":"FPE"},"swift-wrapper":{"type":"object","description":"SWIFT pay-out node for international transfers. Multi-currency global bank wire.","properties":{"swift":{"type":"object","properties":{"swiftCode":{"type":"string","description":"SWIFT/BIC code of the recipient's bank."},"iban":{"type":"string","description":"Recipient IBAN when destination country requires it (typically SEPA zone)."},"bank":{"type":"object","description":"Recipient bank account details.","properties":{"accountNumber":{"type":"string","description":"Recipient's bank account number."},"name":{"type":"string","description":"Name of the recipient's bank."}},"required":["accountNumber"]},"customer":{"description":"Beneficiary identity data required by correspondent banks.","allOf":[{"$ref":"#/components/schemas/customer"},{"type":"object","required":["firstName","lastName","email","documentNumber","documentType"]}]}},"required":["swiftCode","bank","customer"]}},"required":["swift"],"title":"SWIFT"},"error":{"type":"object","description":"Standard error response payload.","properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"error":{"type":"string","description":"Error category."},"message":{"type":"string","description":"Human-readable error message."}},"required":["statusCode","error","message"]}},"responses":{"Bad request":{"description":"The request is invalid, malformed, or contains unsupported values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"Internal server error":{"description":"The server failed to process the request due to an unexpected condition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/payments/available-products":{"get":{"summary":"Get available products","deprecated":false,"description":"Returns all payment products available for a given identity, organized by currency. Each currency entry includes available pay-in methods with their products and pay-out (withdrawal) methods with their products. Use this endpoint to discover what payment rails are enabled for an account before building a payment flow.","operationId":"get-available-products","tags":["Payment-methods"],"parameters":[{"name":"identityId","in":"query","description":"Identity ID to retrieve available products for.","required":false,"schema":{"type":"string"}},{"name":"currencies","in":"query","description":"Comma-separated list of currency codes to filter results (e.g., `ARS,CLP`).","required":false,"schema":{"type":"string"}},{"name":"x-api-key","in":"header","description":"The API key used for authentication when making requests to the API Gateway.","required":true,"schema":{"type":"string"}},{"name":"User-Agent","in":"header","description":"Identifies the application making the request.","required":true,"schema":{"type":"string"}}],"responses":{"200":{"description":"Request processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/available-products"}}},"headers":{}},"400":{"$ref":"#/components/responses/Bad request","description":"Invalid request parameters or payload."},"500":{"$ref":"#/components/responses/Internal server error","description":"Unexpected internal server error."}}}}}}
```

Use:

* `byCurrency[].payin.paymentMethods` to render origin choices.
* `byCurrency[].payout.withdrawalMethods` to render destination choices.
* `requiredFields` and `requiredFieldTypes` to build and validate node inputs.
* `validOrigins` and `validDestinations` to enforce allowed combinations.

## 4. Route rules by intent

| User intent                    | `type`               | Origin rule                           | Destination rule                          |
| ------------------------------ | -------------------- | ------------------------------------- | ----------------------------------------- |
| Load internal account          | `TOPUP_ACCOUNT`      | Any pay-in rail from `paymentMethods` | `ACCOUNT`                                 |
| Withdraw from internal account | `WITHDRAWAL_ACCOUNT` | `ACCOUNT`                             | Any pay-out rail from `withdrawalMethods` |
| Cross-border transfer          | `REMITTANCE`         | `ACCOUNT` or pay-in rail              | Any valid pay-out rail                    |
| Checkout / customer charge     | `PURCHASE`           | Any pay-in rail                       | `ACCOUNT`                                 |

## 5. Request shape

```json
{
  "identityId": "<IDENTITY_ID>",
  "accountNumber": "<INTERNAL_ACCOUNT_NUMBER>",
  "type": "<TYPE>",
  "product": "<PURCHASE_CURRENCY>:<SETTLEMENT_CURRENCY>",
  "purchaseAmount": "<AMOUNT>",
  "purchaseCurrency": "<PURCHASE_CURRENCY>",
  "currency": "<SETTLEMENT_CURRENCY>",
  "origins": [
    {
      "type": "<ORIGIN_TYPE>",
      "currency": "<ORIGIN_CURRENCY>",
      "<originNodeKey>": {
        "<requiredField1>": "<value>",
        "<requiredField2>": "<value>"
      }
    }
  ],
  "destinations": [
    {
      "type": "<DESTINATION_TYPE>",
      "currency": "<DESTINATION_CURRENCY>",
      "<destinationNodeKey>": {
        "<requiredField1>": "<value>",
        "<requiredField2>": "<value>"
      }
    }
  ]
}
```

{% hint style="warning" %}
Use only one node object matching `type` in each origin/destination. Example: if `type` is `PIX`, send only `pix`.
{% endhint %}

## 6. Generate JSON/cURL in the API playground

Use the `POST /payments` block below to fill the request body and copy the generated request code.

1. Click `Try it` in the block.
2. Complete `type`, currencies, `product`, `origins`, and `destinations`.
3. Use the code preview to copy `cURL` or `JSON`.
4. Do not send the request if you only want request generation.

## Create Payment

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

```json
{"openapi":"3.0.1","info":{"title":"Default module","version":"1.0.0"},"tags":[{"name":"Payments"}],"security":[{"BearerToken":[]}],"components":{"securitySchemes":{"BearerToken":{"type":"http","scheme":"bearer"}},"schemas":{"currency":{"type":"string","description":"Specifies the currency used, following the ISO 4217 standard for fiat currencies (e.g., `CLP`, `ARS`, `MXN`). Go to the [currencies page](../home/currencies \"mention\") for the complete list of supported values."},"payment-type":{"type":"string","description":"Indicates the purpose of the payment.\nThis 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.\nGo to the [payment types page](../payments/payment-types \"mention\") for the complete list of supported values.","enum":["PURCHASE","TOPUP_ACCOUNT","WITHDRAWAL_ACCOUNT","P2P","COLLECT","FEE","REMITTANCE"]},"payment-node":{"description":"Payment node schema used in create/update payment requests.","allOf":[{"type":"object","properties":{"externalId":{"type":"string","description":"External reference identifier for integrations."},"name":{"type":"string","description":"The name of the source or destination of the transaction."},"type":{"$ref":"#/components/schemas/payment-node-type"},"amount":{"type":"string","description":"The amount involved in the transaction."},"currency":{"$ref":"#/components/schemas/currency"},"settlement":{"type":"string","description":"Indicates the settlement period."},"fee":{"description":"Details about any fees applied to the transaction.","$ref":"#/components/schemas/fee"},"identity":{"type":"object","description":"The entity associated with the source or destination.","properties":{}},"metadata":{"type":"object","description":"Additional metadata related to the transaction source or destination.","properties":{"image":{"type":"string","description":"An image representing the source or destination."},"description":{"type":"string","description":"A brief description of the source or destination."},"category":{"type":"string","description":"The category or grouping of the source or destination."}},"required":["image","description","category"]},"amountOut":{"type":"string","description":"Calculated amount - fees"}},"required":["type","currency"],"$ref":"#/components/schemas/payment-node-base"},{"$ref":"#/components/schemas/node-wrapper"}],"title":"payment-node"},"payment-node-type":{"type":"string","description":"Defines the source or destination type of the payment. This field determines how the funds will be sent or received and which structure is expected in the corresponding `node` object. Only one type is allowed per node.\n\n| Type          | Node          | Country        | Direction        |\n|---------------|---------------|----------------|------------------|\n| `CARD`        | `card`        | Multi          | Pay-in           |\n| `CRYPTO`      | `wallet`      | Multi          | Pay-in / Pay-out |\n| `ACCOUNT`     | `account`     | Multi          | Pay-in / Pay-out |\n| `BANK_ACCOUNT`| `bank`        | Multi          | Pay-out          |\n| `PIX`         | `pix`         | Brazil         | Pay-in / Pay-out |\n| `PCT`         | `pct`         | Argentina      | Pay-in           |\n| `CVU`         | `cvu`         | Argentina      | Pay-in           |\n| `ETPAY`       | `etpay`       | Chile          | Pay-in           |\n| `FINTOC`      | `fintoc`      | Chile          | Pay-in           |\n| `WEBPAY`      | `webpay`      | Chile          | Pay-in           |\n| `SPEI`        | `spei`        | Mexico         | Pay-in / Pay-out |\n| `PSE`         | `pse`         | Colombia       | Pay-in           |\n| `BANCOLOMBIA` | `bancolombia` | Colombia       | Pay-in           |\n| `DAVIVIENDA`  | `davivienda`  | Colombia       | Pay-in           |\n| `DAVIPLATA`   | `daviplata`   | Colombia       | Pay-in / Pay-out |\n| `NEQUI`       | `nequi`       | Colombia       | Pay-in / Pay-out |\n| `BREB`        | `breb`        | Colombia       | Pay-out          |\n| `WOMPI`       | `wompi`       | Colombia       | Pay-in           |\n| `LIGO`        | `ligo`        | Peru           | Pay-in           |\n| `SIP`         | `sip`         | Peru, Bolivia  | Pay-in           |\n| `ACH`         | `ach`         | USA            | Pay-in / Pay-out |\n| `WIRE`        | `wire`        | USA            | Pay-out          |\n| `FEDNOW`      | `fedNow`      | USA            | Pay-in / Pay-out |\n| `RTP`         | `rtp`         | USA            | Pay-in           |\n| `SEPA`        | `sepa`        | Europe         | Pay-out          |\n| `FPE`         | `fpe`         | UK             | Pay-out          |\n| `SWIFT`       | `swift`       | Global         | Pay-out          |","enum":["CARD","CRYPTO","ACCOUNT","BANK_ACCOUNT","PIX","PCT","CVU","ETPAY","FINTOC","WEBPAY","SPEI","PSE","BANCOLOMBIA","DAVIVIENDA","DAVIPLATA","NEQUI","BREB","WOMPI","LIGO","SIP","ACH","WIRE","FEDNOW","RTP","SEPA","FPE","SWIFT"]},"fee":{"type":"object","description":"Details about any fees applied to the transaction.","properties":{"name":{"type":"string","description":"The name of the fee."},"type":{"description":"The type of fee applied (e.g., FIXED, PERCENTAGE).","$ref":"#/components/schemas/fee-type"},"value":{"type":"string","description":"The value of the fee."},"amount":{"type":"string","description":"The calculated amount of the fee."},"currency":{"$ref":"#/components/schemas/currency"}},"required":["name","type","value","currency","amount"]},"fee-type":{"type":"string","description":"Type of fee","enum":["FIXED","PERCENTAGE"]},"payment-node-base":{"description":"Shared base fields for payment nodes (`type`, `currency`, `amount`).","type":"object","properties":{"name":{"type":"string","description":"The name of the source or destination of the transaction."},"type":{"$ref":"#/components/schemas/payment-node-type"},"externalId":{"type":"string","description":"External reference identifier for integrations."},"amount":{"type":"string","description":"The amount involved in the transaction."},"amountOut":{"type":"string","description":"Calculated amount - fees"},"currency":{"$ref":"#/components/schemas/currency"},"settlement":{"type":"string","description":"Indicates the settlement period."},"fee":{"description":"Details about any fees applied to the transaction.","$ref":"#/components/schemas/fee"},"identity":{"type":"object","description":"The entity associated with the source or destination.","properties":{"name":{"type":"string","description":" The name of the entity (for users) or the official name (for organizations)."},"documentNumber":{"type":"string","description":"The document number associated with the entity for identification purposes."},"externalId":{"type":"string","description":"External reference ID (client purpose)."},"lastname":{"type":"string","description":"The last name of the user (if applicable)."}}},"metadata":{"type":"object","description":"Additional metadata related to the transaction source or destination.","properties":{"image":{"type":"string","description":"An image representing the source or destination."},"description":{"type":"string","description":"A brief description of the source or destination."},"category":{"type":"string","description":"The category or grouping of the source or destination."}},"required":["image","description","category"]}},"required":["type","currency"]},"node-wrapper":{"description":"Generic wrapper that holds one rail-specific node object.","discriminator":{"propertyName":"type","mapping":{"CARD":"#/components/schemas/card-wrapper","ACCOUNT":"#/components/schemas/account-wrapper","CRYPTO":"#/components/schemas/crypto-wrapper","BANK_ACCOUNT":"#/components/schemas/bank-account-wrapper","PIX":"#/components/schemas/pix-wrapper","PCT":"#/components/schemas/pct-wrapper","ETPAY":"#/components/schemas/etpay-wapper","FINTOC":"#/components/schemas/fintoc-wrapper","WEBPAY":"#/components/schemas/webpay-wrapper","WOMPI":"#/components/schemas/wompi-wapper","PSE":"#/components/schemas/pse-wrapper","BANCOLOMBIA":"#/components/schemas/bancolombia-wrapper","DAVIVIENDA":"#/components/schemas/davivienda-wrapper","DAVIPLATA":"#/components/schemas/daviplata-wrapper","NEQUI":"#/components/schemas/nequi-wrapper","BREB":"#/components/schemas/breb-wrapper","CVU":"#/components/schemas/cvu-wrapper","SPEI":"#/components/schemas/spei-wrapper","LIGO":"#/components/schemas/ligo-wrapper","SIP":"#/components/schemas/sip-wrapper","ACH":"#/components/schemas/ach-wrapper","WIRE":"#/components/schemas/wire-wrapper","FEDNOW":"#/components/schemas/fednow-wrapper","RTP":"#/components/schemas/rtp-wrapper","SEPA":"#/components/schemas/sepa-wrapper","FPE":"#/components/schemas/fpe-wrapper","SWIFT":"#/components/schemas/swift-wrapper"}},"oneOf":[{"$ref":"#/components/schemas/card-wrapper"},{"$ref":"#/components/schemas/account-wrapper"},{"$ref":"#/components/schemas/bank-account-wrapper"},{"$ref":"#/components/schemas/crypto-wrapper"},{"$ref":"#/components/schemas/pix-wrapper"},{"$ref":"#/components/schemas/pct-wrapper"},{"$ref":"#/components/schemas/etpay-wapper"},{"$ref":"#/components/schemas/fintoc-wrapper"},{"$ref":"#/components/schemas/webpay-wrapper"},{"$ref":"#/components/schemas/wompi-wapper"},{"$ref":"#/components/schemas/pse-wrapper"},{"$ref":"#/components/schemas/bancolombia-wrapper"},{"$ref":"#/components/schemas/davivienda-wrapper"},{"$ref":"#/components/schemas/daviplata-wrapper"},{"$ref":"#/components/schemas/nequi-wrapper"},{"$ref":"#/components/schemas/breb-wrapper"},{"$ref":"#/components/schemas/cvu-wrapper"},{"$ref":"#/components/schemas/spei-wrapper"},{"$ref":"#/components/schemas/ligo-wrapper"},{"$ref":"#/components/schemas/sip-wrapper"},{"$ref":"#/components/schemas/ach-wrapper"},{"$ref":"#/components/schemas/wire-wrapper"},{"$ref":"#/components/schemas/fednow-wrapper"},{"$ref":"#/components/schemas/rtp-wrapper"},{"$ref":"#/components/schemas/sepa-wrapper"},{"$ref":"#/components/schemas/fpe-wrapper"},{"$ref":"#/components/schemas/swift-wrapper"}],"title":"subnode"},"card-wrapper":{"description":"Wrapper object exposing the `card` node payload.","type":"object","properties":{"card":{"type":"object","properties":{"holder":{"type":"string","description":"Card holder full name"},"scheme":{"type":"string","description":"Card scheme"},"type":{"type":"string","description":"Card type"},"mask":{"type":"string","description":"Last 4 digits"},"country":{"type":"string","description":"Issuing country"},"token":{"type":"string","description":"Card token"}},"required":["token"]}},"title":"CARD","required":["card"]},"account-wrapper":{"description":"Wrapper object exposing the internal `account` node payload.","type":"object","properties":{"account":{"type":"object","properties":{"type":{"description":"The type of internal account.","$ref":"#/components/schemas/account-type"},"currency":{"description":"The currency in which the internal account operates. Please check \"currencies\" page.","$ref":"#/components/schemas/currency"},"accountNumber":{"type":"string","description":"Internal reference number for the account."},"accountHolder":{"type":"string","description":"Name of the entity or user owning the internal account."}},"required":["type","currency","accountNumber","accountHolder"]}},"title":"ACCOUNT","required":["account"]},"account-type":{"type":"string","description":"The type of internal account.","enum":["CHECKING","ASSET","SAVINGS","ESCROW","FEE"]},"bank-account-wrapper":{"description":"Wrapper object exposing the external `bank` node payload.","type":"object","properties":{"bank":{"type":"object","properties":{"accountNumber":{"type":"string","description":"The bank account number."},"bank":{"type":"string","description":"The name of the bank where the account is held."},"currency":{"$ref":"#/components/schemas/currency"},"typeAccount":{"type":"string","description":"The type of bank account. CHECKING_ACOUNT, SAVINGS"},"accountHolder":{"type":"string","description":"The full name of the account holder."},"accountHolderDni":{"type":"string","description":"The national identification number or tax ID of the account holder."},"country":{"$ref":"#/components/schemas/country"}},"required":["accountNumber","bank","currency","accountHolder","accountHolderDni","country"]}},"title":"BANK_ACCOUNT","required":["bank"]},"country":{"type":"string","description":"Country of operations for the entity, specified using the ISO 3166-1 alpha-3 standard (e.g., `CHL`, `USA`, `MEX`). Go to the [countries page](../home/countries \"mention\") for the complete list of supported values."},"crypto-wrapper":{"description":"Dedicated wrapper for CRYPTO nodes. Holds the `wallet` payload.","allOf":[{"$ref":"#/components/schemas/wallet-wrapper"}],"title":"CRYPTO"},"wallet-wrapper":{"description":"Wrapper object exposing the `wallet` node payload for crypto transfers.","type":"object","properties":{"wallet":{"type":"object","properties":{"provider":{"type":"string","description":"Optional wallet provider identifier (for routing/integration)."},"referenceId":{"type":"string","description":"Optional external wallet identifier in the provider system."},"token":{"type":"string","description":"Optional token symbol (e.g., `USDC`, `USDT`) when not implied by `currency`."},"network":{"type":"string","description":"Optional blockchain network (e.g., `ETH`, `TRON`, `SOLANA`)."},"address":{"type":"string","description":"Wallet's address"}},"required":["address"]}},"required":["wallet"],"title":"CRYPTO"},"pix-wrapper":{"description":"Wrapper object exposing the `pix` node payload.","type":"object","properties":{"pix":{"$ref":"#/components/schemas/pix"}},"required":["pix"],"title":"PIX"},"pix":{"description":"PIX rail payload for Brazil pay-ins and payouts.","type":"object","properties":{"data":{"type":"string","description":"The actual PIX code (EMV-compliant string) that represents the payment. This is what is known as the 'PIX' in Brazil and can be copied and pasted instead of scanning."},"qrCode":{"type":"string","description":"The rendered QR code string that can be scanned for PIX payments."},"expiredAt":{"type":"string","format":"date-time","description":"The expiration date and time of the QR code. UTC format."},"instructions":{"type":"string","description":"Optional instructions displayed to the user for completing the PIX payment."},"customer":{"type":"object","description":"Details of the customer initiating the payment.","properties":{"id":{"$ref":"#/components/schemas/_id"},"firstName":{"type":"string","description":"Payer's name"},"email":{"type":"string","description":"Payer's email"},"lastName":{"type":"string","description":"Payer's last name"},"phoneNumber":{"type":"string","description":"Payer's phone number without prefix"},"phoneNumberPrefix":{"type":"string","description":"Phone number prefix (e.g., +57)"},"documentType":{"$ref":"#/components/schemas/document-type"},"documentNumber":{"type":"string","description":"The document number associated with the documentType"},"address":{"$ref":"#/components/schemas/address"}},"required":["firstName"]},"successUrl":{"type":"string","description":"Redirect url in case of success"},"failedUrl":{"type":"string","description":"Redirect url in case of failure"}},"required":["data","customer"]},"_id":{"type":"string","description":"Unique identifier for the internal service."},"document-type":{"type":"string","description":"Documeny type of the entity (e.g., `RUT`, `CURP`, `CURL`). Go to the [Supported Identity document types page](../home/supported-identity-document-types \"mention\") for the complete list of supported values."},"address":{"type":"object","properties":{"administrativeAreaLevel1":{"type":"string","description":"The first-level administrative division."},"administrativeAreaLevel2":{"type":"string","description":"The second-level administrative division."},"administrativeAreaLevel3":{"type":"string","description":"The third-level administrative division."},"street":{"type":"string","description":"The name of the street."},"streetNumber":{"type":"string","description":"The street number."},"optionalAddress":{"type":"string","description":"Additional address details."},"country":{"$ref":"#/components/schemas/country"},"zipcode":{"type":"string","description":"Zipcode f the address"}},"description":"The entity’s address information."},"pct-wrapper":{"description":"Wrapper object exposing the `pct` node payload.","type":"object","properties":{"pct":{"$ref":"#/components/schemas/pct"}},"required":["pct"],"title":"PCT"},"pct":{"description":"PCT rail payload for Argentina QR pay-ins.","type":"object","properties":{"qrCode":{"type":"string","description":"The QR code string that can be rendered or scanned for interoperable transfer payments in Argentina under the BCRA's PCT (Transfer QR) standard."},"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect url in case of success"},"failedUrl":{"type":"string","description":"Redirect url in case of failure"}},"required":["customer"]},"customer":{"type":"object","properties":{"id":{"$ref":"#/components/schemas/_id"},"firstName":{"type":"string","description":"Payer's name"},"email":{"type":"string","description":"Payer's email"},"lastName":{"type":"string","description":"Payer's last name"},"phoneNumber":{"type":"string","description":"Payer's phone number without prefix"},"phoneNumberPrefix":{"type":"string","description":"Phone number prefix (e.g., +57)"},"documentType":{"$ref":"#/components/schemas/document-type"},"documentNumber":{"type":"string","description":"The document number associated with the documentType"},"address":{"$ref":"#/components/schemas/address"}},"description":"Information on who pays the transaction","required":["firstName"]},"etpay-wapper":{"description":"Wrapper object exposing the `etpay` node payload.","type":"object","properties":{"etpay":{"$ref":"#/components/schemas/etpay"}},"required":["etpay"],"title":"ETPAY"},"etpay":{"description":"Etpay open-banking payload for Chile pay-ins.","type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"url":{"type":"string"},"redirectUrl":{"type":"string","deprecated":true},"expiresAt":{"type":"string","format":"time"},"token":{"type":"string"},"signatureToken":{"type":"string"},"successUrl":{"type":"string","description":"Redirect url in case of success"},"failedUrl":{"type":"string","description":"Redirect url in case of failure"}}},"fintoc-wrapper":{"type":"object","description":"FINTOC pay-in node for Chile (CLP). Open banking pay-in via Fintoc widget.","properties":{"fintoc":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}}}},"required":["fintoc"],"title":"FINTOC"},"webpay-wrapper":{"type":"object","description":"WEBPAY pay-in node for Chile (CLP). Card payments via Transbank.","properties":{"webpay":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["webpay"],"title":"WEBPAY"},"wompi-wapper":{"description":"Wrapper object exposing the `wompi` node payload.","type":"object","properties":{"wompi":{"$ref":"#/components/schemas/wompi"}},"title":"WOMPI"},"wompi":{"description":"Wompi gateway payload for Colombia pay-ins.","type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"url":{"type":"string"},"redirectUrl":{"type":"string"},"expiresAt":{"type":"string"},"token":{"type":"string"},"signatureToken":{"type":"string"}}},"pse-wrapper":{"type":"object","description":"PSE pay-in node for Colombia (COP). Online secure bank transfers.","properties":{"pse":{"type":"object","properties":{"bankId":{"type":"string","description":"Bank identifier for PSE transfer."},"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["bankId","customer"]}},"required":["pse"],"title":"PSE"},"bancolombia-wrapper":{"type":"object","description":"BANCOLOMBIA pay-in node for Colombia (COP). Bancolombia direct payment.","properties":{"bancolombia":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["bancolombia"],"title":"BANCOLOMBIA"},"davivienda-wrapper":{"type":"object","description":"DAVIVIENDA pay-in node for Colombia (COP). Davivienda direct payment.","properties":{"davivienda":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["davivienda"],"title":"DAVIVIENDA"},"daviplata-wrapper":{"type":"object","description":"DAVIPLATA pay-in/pay-out node for Colombia (COP). Daviplata mobile wallet.","properties":{"daviplata":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["daviplata"],"title":"DAVIPLATA"},"nequi-wrapper":{"type":"object","description":"NEQUI pay-in/pay-out node for Colombia (COP). Nequi digital wallet.","properties":{"nequi":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["nequi"],"title":"NEQUI"},"breb-wrapper":{"type":"object","description":"BREB pay-out node for Colombia (COP). Bank account transfer payout.","properties":{"breb":{"type":"object","properties":{"bankId":{"type":"string","description":"Bank identifier for the recipient's account."},"accountNumber":{"type":"string","description":"Recipient's bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["bankId","accountNumber","customer"]}},"required":["breb"],"title":"BREB"},"cvu-wrapper":{"type":"object","description":"CVU pay-in node for Argentina (ARS). Virtual account / CBU bank transfers.","properties":{"cvu":{"type":"object","properties":{"code":{"type":"string","description":"Optional CVU/CBU code when pre-assigned by the payer flow."},"customer":{"$ref":"#/components/schemas/customer"}}}},"required":["cvu"],"title":"CVU"},"spei-wrapper":{"type":"object","description":"SPEI pay-in/pay-out node for Mexico (MXN). Electronic Interbank Payment System.","properties":{"spei":{"type":"object","properties":{"clabe":{"type":"string","description":"CLABE (18-digit interbank code) of the recipient. Required for pay-out."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["customer"]}},"required":["spei"],"title":"SPEI"},"ligo-wrapper":{"type":"object","description":"LIGO pay-in node for Peru (PEN). QR-based payment system.","properties":{"ligo":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["ligo"],"title":"LIGO"},"sip-wrapper":{"type":"object","description":"SIP pay-in node for Peru (PEN) and Bolivia (BOB). Interoperable payment system.","properties":{"sip":{"type":"object","properties":{"customer":{"$ref":"#/components/schemas/customer"},"successUrl":{"type":"string","description":"Redirect URL on successful payment."},"failedUrl":{"type":"string","description":"Redirect URL on failed payment."}},"required":["customer"]}},"required":["sip"],"title":"SIP"},"ach-wrapper":{"type":"object","description":"ACH pay-in/pay-out node for USA (USD). Automated Clearing House bank transfers.","properties":{"ach":{"type":"object","properties":{"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["routingNumber","accountNumber","customer"]}},"required":["ach"],"title":"ACH"},"wire-wrapper":{"type":"object","description":"WIRE pay-out node for USA (USD). Wire transfer via correspondent banks.","properties":{"wire":{"type":"object","properties":{"swiftCode":{"type":"string","description":"SWIFT/BIC code of the recipient's bank."},"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Recipient's bank account number."},"bankName":{"type":"string","description":"Name of the recipient's bank."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["swiftCode","accountNumber","customer"]}},"required":["wire"],"title":"WIRE"},"fednow-wrapper":{"type":"object","description":"FEDNOW pay-in/pay-out node for USA (USD). FedNow instant payment service.","properties":{"fedNow":{"type":"object","properties":{"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["routingNumber","accountNumber","customer"]}},"required":["fedNow"],"title":"FEDNOW"},"rtp-wrapper":{"type":"object","description":"RTP pay-in node for USA (USD). Real-time payments network.","properties":{"rtp":{"type":"object","properties":{"routingNumber":{"type":"string","description":"ABA routing number (9 digits)."},"accountNumber":{"type":"string","description":"Bank account number."},"accountType":{"type":"string","description":"Account type (CHECKING or SAVINGS).","enum":["CHECKING","SAVINGS"]},"customer":{"$ref":"#/components/schemas/customer"}},"required":["routingNumber","accountNumber","customer"]}},"required":["rtp"],"title":"RTP"},"sepa-wrapper":{"type":"object","description":"SEPA pay-out node for Europe (EUR). Single Euro Payments Area transfers.","properties":{"sepa":{"type":"object","properties":{"iban":{"type":"string","description":"Recipient's IBAN."},"bic":{"type":"string","description":"BIC/SWIFT code of the recipient's bank."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["iban","customer"]}},"required":["sepa"],"title":"SEPA"},"fpe-wrapper":{"type":"object","description":"FPE pay-out node for UK (GBP). Faster Payments — near-instant bank transfers.","properties":{"fpe":{"type":"object","properties":{"accountNumber":{"type":"string","description":"UK bank account number (8 digits)."},"sortCode":{"type":"string","description":"Sort code (6 digits, e.g., \"200415\")."},"customer":{"$ref":"#/components/schemas/customer"}},"required":["accountNumber","sortCode","customer"]}},"required":["fpe"],"title":"FPE"},"swift-wrapper":{"type":"object","description":"SWIFT pay-out node for international transfers. Multi-currency global bank wire.","properties":{"swift":{"type":"object","properties":{"swiftCode":{"type":"string","description":"SWIFT/BIC code of the recipient's bank."},"iban":{"type":"string","description":"Recipient IBAN when destination country requires it (typically SEPA zone)."},"bank":{"type":"object","description":"Recipient bank account details.","properties":{"accountNumber":{"type":"string","description":"Recipient's bank account number."},"name":{"type":"string","description":"Name of the recipient's bank."}},"required":["accountNumber"]},"customer":{"description":"Beneficiary identity data required by correspondent banks.","allOf":[{"$ref":"#/components/schemas/customer"},{"type":"object","required":["firstName","lastName","email","documentNumber","documentType"]}]}},"required":["swiftCode","bank","customer"]}},"required":["swift"],"title":"SWIFT"},"payment":{"type":"object","description":"Schema representing a financial transaction, including details about the transaction's origins, destinations, amounts, fees, and status.","properties":{"id":{"$ref":"#/components/schemas/_id"},"externalId":{"type":"string","description":"External reference identifier for integrations."},"identityId":{"type":"string","description":"Identifier linking the transaction to a specific user or organization."},"identityExternalId":{"type":"string","description":"External reference identifier for the identity associated with the transaction."},"accountNumber":{"type":"string","description":"The account number involved in the transaction."},"totalAmount":{"type":"string","description":"The total amount of the transaction."},"currency":{"$ref":"#/components/schemas/currency"},"description":{"type":"string","description":"A brief description of the transaction."},"product":{"type":"string","description":"The product or service related to the transaction. purchaseCurrency:Currency"},"status":{"type":"string","description":"The current status of the transaction (e.g., PENDING, AUTHORIZED, CAPTURED, ATTEMPT, REFUNDED)."},"type":{"$ref":"#/components/schemas/payment-type"},"purchaseAmount":{"type":"string","description":"The amount paid in the transaction."},"purchaseCurrency":{"$ref":"#/components/schemas/currency"},"fees":{"type":"array","description":"A list of fees associated with the transaction.","items":{"$ref":"#/components/schemas/fee"}},"createdAt":{"type":"string","description":"Timestamp indicating when the transaction was created."},"updatedAt":{"type":"string","description":"Timestamp indicating the last update to the transaction."},"expiresAt":{"type":"string","description":"Timestamp indicating when the transaction expires, if applicable."},"capturedAt":{"type":"string","description":"Timestamp indicating when the transaction was captured."},"authorizedAt":{"type":"string","description":"Timestamp indicating when the transaction was authorized."},"refundedAt":{"type":"string","description":"Timestamp indicating when the transaction was refunded, if applicable."},"origins":{"type":"array","description":"A list of sources for the transaction.","items":{"$ref":"#/components/schemas/payment-node"}},"destinations":{"type":"array","description":"A list of destinations for the transaction.","items":{"$ref":"#/components/schemas/payment-node"}},"settlement":{"type":"string","description":"Settlement period for the transaction."}},"required":["id","externalId","identityId","accountNumber","totalAmount","currency","status","type","createdAt","updatedAt"]},"error":{"type":"object","description":"Standard error response payload.","properties":{"statusCode":{"type":"integer","description":"HTTP status code."},"error":{"type":"string","description":"Error category."},"message":{"type":"string","description":"Human-readable error message."}},"required":["statusCode","error","message"]}},"responses":{"Bad request":{"description":"The request is invalid, malformed, or contains unsupported values.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}},"Internal server error":{"description":"The server failed to process the request due to an unexpected condition.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/error"}}}}}},"paths":{"/payments":{"post":{"summary":"Create Payment","deprecated":false,"description":"When creating a transaction, this endpoint provides a payment method and a provider system to process the payment.","operationId":"create-payment","tags":["Payments"],"parameters":[{"name":"x-api-key","in":"header","description":"The API key used for authentication when making requests to the API Gateway.","required":true,"schema":{"type":"string"}},{"name":"User-Agent","in":"header","description":"Identifies the application making the request.","required":true,"schema":{"type":"string"}}],"requestBody":{"content":{"application/json":{"schema":{"type":"object","properties":{"externalId":{"type":"string","description":"External reference identifier for integrations."},"identityId":{"type":"string","description":"Identifier linking the transaction to a specific user or organization."},"identityExternalId":{"type":"string","description":"External reference identifier for the identity associated with the transaction."},"accountNumber":{"type":"string","description":"The account number involved in the transaction."},"totalAmount":{"type":"string","description":"The total amount of the transaction."},"currency":{"$ref":"#/components/schemas/currency"},"description":{"type":"string","description":"A brief description of the transaction."},"type":{"$ref":"#/components/schemas/payment-type"},"purchaseAmount":{"type":"string","description":"The amount paid in the transaction."},"purchaseCurrency":{"$ref":"#/components/schemas/currency"},"expiresAt":{"type":"string","description":"Timestamp indicating when the transaction expires, if applicable."},"origins":{"type":"array","description":"A list of sources for the transaction.","items":{"$ref":"#/components/schemas/payment-node"}},"destinations":{"type":"array","description":"A list of destinations for the transaction.","items":{"$ref":"#/components/schemas/payment-node"}}},"required":["externalId","identityId","accountNumber","totalAmount","currency","type"]}}}},"responses":{"200":{"description":"Request processed successfully.","content":{"application/json":{"schema":{"$ref":"#/components/schemas/payment"}}},"headers":{}},"400":{"$ref":"#/components/responses/Bad request","description":"Invalid request parameters or payload."},"500":{"$ref":"#/components/responses/Internal server error","description":"Unexpected internal server error."}}}}}}
```

## 7. Common route presets

{% tabs %}
{% tab title="Load ARS account with CVU" %}
`type`: `TOPUP_ACCOUNT`\
`product`: `ARS:ARS`\
`origin`: `CVU`\
`destination`: `ACCOUNT`
{% endtab %}

{% tab title="Load ARS account with PCT" %}
`type`: `TOPUP_ACCOUNT`\
`product`: `ARS:ARS`\
`origin`: `PCT`\
`destination`: `ACCOUNT`
{% endtab %}

{% tab title="Pay in BRL (PIX) and settle CLP" %}
`type`: `TOPUP_ACCOUNT`\
`product`: `BRL:CLP`\
`origin`: `PIX`\
`destination`: `ACCOUNT`
{% endtab %}
{% endtabs %}

## 8. Builder validation rules

1. `type` controls which origin/destination families are valid.
2. `product` must match `purchaseCurrency:currency`.
3. For single origin and single destination, `amount` per node is optional.
4. For split flows, each node must include `amount`, and all sums must match the payment amount.
5. Keep only the node object that matches `origins[].type` or `destinations[].type`.

## 9. Builder checklist

* Confirm the user goal (`TOPUP_ACCOUNT`, `WITHDRAWAL_ACCOUNT`, `REMITTANCE`, `PURCHASE`).
* Confirm source currency (`purchaseCurrency`) and settlement currency (`currency`).
* Call `GET /payments/available-products` for the target identity.
* Select a rail that appears in `paymentMethods`/`withdrawalMethods`.
* Render only the fields listed in `requiredFields`.
* Generate and copy `cURL`/`JSON`.

## Related docs

* [Available products](https://github.com/conomyhq/gitbook-docs/blob/main/payments/available-products.md)
* [Origins and Destinations](https://developers.conomyhq.com/payments/origins-and-destinations)
* [Nodes reference](https://developers.conomyhq.com/payments/origins-and-destinations/nodes)
* [Creating payments](https://developers.conomyhq.com/payments/creating-payments)
