---
title: "Create a Payin Intent"
method: POST
path: "/api/payins/payin"
tags: ["Payins"]
---

# Create a Payin Intent

`POST /api/payins/payin`

Creates a new Payin Intent.

## Headers

- `on-behalf-of` string

## Request body

- NewPayinRequest
  - `destinationMuralAccountId` string, uuid, required — The mural account that you will receive the funds in
  - `destinationToken` TokenWithBlockchain, required
    - `blockchain` 'ETHEREUM' | 'POLYGON' | 'BASE' | 'CELO' | 'PLASMA', required — The blockchain of the token
    - `symbol` 'USDC' | 'USDT', required — The symbol of the token
  - `payinDetails` union, required — The details of the payin creation
    - COPPayinCreationDetails
      - `expiresInSeconds` number — Number of seconds until the payment link expires. Defaults to 7 days (604800 seconds) if omitted. Minimum is 60 seconds. Maximum is 7 days (604800 seconds).
      - `fiatAmount` number, required — The fiat amount for the payin.
      - `fiatCurrencyCode` 'COP', required
      - `redirectUrl` string — URL to redirect the user to after successful payment submission. Not used on failure; please handle the failure experience in your application. Defaults to a generic confirmation page on muralpay.com.
      - `type` 'cop', required
    - COPBreBPayinCreationDetails — Details for creating a Bre-B pay-in. Payments must exactly match the requested amount; mismatched payments are declined.
      - `amount` COPBreBPayinAmount, required — COP amount in cents.
        - `currencySymbol` 'COP', required — Must be `COP`.
        - `value` string, required — Amount in cents (e.g. `"1230000"` = 12,300.00 COP).
      - `descriptionToPayee` string, required — Short description recorded on the resulting pay-in in your Mural account.
      - `descriptionToPayer` string, required — Short description shown to the payer in their banking app while they confirm the transfer.
      - `expiresInSeconds` integer — Number of seconds until the Bre-B key expires. Defaults to 300 seconds (5 minutes) if omitted. Minimum is 300 seconds (5 minutes). Maximum is 259200 seconds (3 days).
      - `payerName` string, required — Full legal name of the payer. For individuals this is their full name; for businesses this is the registered business name.
      - `type` 'cop-bre-b', required
    - ARSBankTransferPayinCreationDetails — Create an ARS bank-transfer (CVU) pay-in. The payer must send the exact requested amount from the account matching `accountNumber`.
      - `accountNumber` string, required — The payer's source CBU/CVU. Must match the account the payer sends from.
      - `amount` ARSBankTransferPayinAmount, required — ARS amount in cents.
        - `currencySymbol` 'ARS', required — Must be `ARS`.
        - `value` string, required — Amount in cents (e.g. `"1230000"` = 12,300.00 ARS).
      - `expiresInSeconds` integer — Seconds until the pay-in expires. Default 300 (5 min). Min 300 (5 min). Max 259200 (3 days).
      - `type` 'ars-bank-transfer', required
    - BRLPixPayinCreationDetails — Create a BRL Pix pay-in. The payer must send the exact requested amount; mismatched payments are declined.
      - `amount` BRLPixPayinAmount, required — BRL amount in cents.
        - `currencySymbol` 'BRL', required — Must be `BRL`.
        - `value` string, required — Amount in cents (e.g. `"12345"` = 123.45 BRL).
      - `expiresInSeconds` integer — Seconds until the pay-in expires. Default 86400 (1 day). Min 300 (5 min). Max 259200 (3 days).
      - `type` 'brl-pix', required
    - MXNSpeiPayinCreationDetails — Create an MXN SPEI bank-transfer pay-in.
      - `amount` MXNSpeiPayinAmount, required — MXN amount in cents.
        - `currencySymbol` 'MXN', required — Must be `MXN`.
        - `value` string, required — Amount in cents (e.g. `"12345"` = 123.45 MXN).
      - `expiresInSeconds` integer — Seconds until the pay-in expires. Default 86400 (1 day). Min 300 (5 min). Max 259200 (3 days).
      - `type` 'mxn-spei', required

## Response `201`

Created Payin Intent

- CreatePayinResponse
  - `id` string, uuid, required
  - `destinationAccountId` string, uuid, required — The ID of the mural account that the payin is being sent to.
  - `payinRail` 'ACH' | 'WIRE' | 'SEPA' | 'MXN_SPEI' | 'BRL_PIX' | 'ARS_CVU' | 'COP_PSE' | 'COP_BREB' | 'BLOCKCHAIN', required — The payment rail used for this payin.
  - `payinStatus` union, required — The status of the payin.
    - object
      - `type` 'created', required
    - object
      - `senderMetadata` union, required — Rail-specific sender metadata.
        - PayinAchSenderMetadata — Sender metadata for ACH-originated payins.
          - `achRoutingNumber` string — The ACH routing number of the sender.
          - `description` string — The description of the transaction
          - `senderName` string, required — The name of the sender
          - `type` 'ach', required
        - WireSenderMetadata
          - `bankBeneficiaryName` string, required — The name of the bank beneficiary
          - `bankName` string, required — The name of the bank
          - `imad` string, required — The IMAD number
          - `senderName` string — The name of the sender
          - `type` 'wire', required
          - `wireRoutingNumber` string, required — The wire routing number
        - BlockchainSenderMetadata — Sender metadata for externally-sent blockchain deposits from an allowlisted sender address. Only populated for allowlisted inbound transfers — unsolicited transfers to the wallet address are reflected in the account balance but do not produce a Payin record.
          - `blockchain` 'TRON' | 'SOLANA', required — The blockchain network the inbound transfer was received on.
          - `senderAddress` string, required — The on-chain address the funds were sent from.
          - `transactionHash` string, required — The on-chain transaction signature/hash of the inbound transfer (e.g. base58 for Solana, hex for Tron). Use this to reconcile the Payin against the source-chain explorer.
          - `type` 'blockchain', required
        - COPBreBSenderMetadata — Sender metadata for COP Bre-B pay-ins. Individual fields may be undefined depending on what the originating bank provides.
          - `senderAccountNumber` string — Payer's bank account number (unformatted).
          - `senderAccountType` string — Payer's bank account type. `corriente` (checking), `ahorros` (savings), `deposito` (electronic deposit).
          - `senderBankCode` string — Colombian financial-institution code of the payer's bank (4-digit numeric).
          - `senderId` string — Payer's Colombian identification number. Format matches `senderIdType` (e.g. a 10-digit cédula for `cc`, a NIT with check digit for `nit`).
          - `senderIdType` 'cc' | 'nit' | 'ce' | 'pa' | 'ppt' | 'ti' | 'rc' | 'te' | 'die' — Payer's Colombian identification type. `cc` = cédula de ciudadanía, `nit` = tax ID, `ce` = foreign-resident ID, `pa` = passport, `ppt` = temporary protection permit, `ti` = minor ID, `rc` = birth certificate, `te` = foreign ID, `die` = diplomatic ID.
          - `senderName` string — Payer's full name.
          - `type` 'cop-bre-b', required
        - ARSBankTransferSenderMetadata
          - `senderAccountNumber` string — Payer's account number (CVU/CBU), unformatted.
          - `senderId` string — Payer's tax/document number as reported by the sending bank.
          - `senderIdType` string — The kind of identifier in `senderId` (e.g. `CUIT`, `DNI`).
          - `senderName` string — Payer's full name as reported by the sending bank.
          - `type` 'ars-bank-transfer', required
        - UnknownSenderMetadata — Placeholder variant for payins where rail-specific sender metadata is not available. For example, if a COP_PSE Payin is created but then subsequently canceled before it is fulfilled.
          - `type` 'unknown', required
      - `type` 'canceled', required
    - object
      - `initiatedAt` string, date-time, required — The date and time the payin was initiated.
      - `senderMetadata` union, required — Rail-specific sender metadata.
        - PayinAchSenderMetadata — Sender metadata for ACH-originated payins.
          - `achRoutingNumber` string — The ACH routing number of the sender.
          - `description` string — The description of the transaction
          - `senderName` string, required — The name of the sender
          - `type` 'ach', required
        - WireSenderMetadata
          - `bankBeneficiaryName` string, required — The name of the bank beneficiary
          - `bankName` string, required — The name of the bank
          - `imad` string, required — The IMAD number
          - `senderName` string — The name of the sender
          - `type` 'wire', required
          - `wireRoutingNumber` string, required — The wire routing number
        - BlockchainSenderMetadata — Sender metadata for externally-sent blockchain deposits from an allowlisted sender address. Only populated for allowlisted inbound transfers — unsolicited transfers to the wallet address are reflected in the account balance but do not produce a Payin record.
          - `blockchain` 'TRON' | 'SOLANA', required — The blockchain network the inbound transfer was received on.
          - `senderAddress` string, required — The on-chain address the funds were sent from.
          - `transactionHash` string, required — The on-chain transaction signature/hash of the inbound transfer (e.g. base58 for Solana, hex for Tron). Use this to reconcile the Payin against the source-chain explorer.
          - `type` 'blockchain', required
        - COPBreBSenderMetadata — Sender metadata for COP Bre-B pay-ins. Individual fields may be undefined depending on what the originating bank provides.
          - `senderAccountNumber` string — Payer's bank account number (unformatted).
          - `senderAccountType` string — Payer's bank account type. `corriente` (checking), `ahorros` (savings), `deposito` (electronic deposit).
          - `senderBankCode` string — Colombian financial-institution code of the payer's bank (4-digit numeric).
          - `senderId` string — Payer's Colombian identification number. Format matches `senderIdType` (e.g. a 10-digit cédula for `cc`, a NIT with check digit for `nit`).
          - `senderIdType` 'cc' | 'nit' | 'ce' | 'pa' | 'ppt' | 'ti' | 'rc' | 'te' | 'die' — Payer's Colombian identification type. `cc` = cédula de ciudadanía, `nit` = tax ID, `ce` = foreign-resident ID, `pa` = passport, `ppt` = temporary protection permit, `ti` = minor ID, `rc` = birth certificate, `te` = foreign ID, `die` = diplomatic ID.
          - `senderName` string — Payer's full name.
          - `type` 'cop-bre-b', required
        - ARSBankTransferSenderMetadata
          - `senderAccountNumber` string — Payer's account number (CVU/CBU), unformatted.
          - `senderId` string — Payer's tax/document number as reported by the sending bank.
          - `senderIdType` string — The kind of identifier in `senderId` (e.g. `CUIT`, `DNI`).
          - `senderName` string — Payer's full name as reported by the sending bank.
          - `type` 'ars-bank-transfer', required
        - UnknownSenderMetadata — Placeholder variant for payins where rail-specific sender metadata is not available. For example, if a COP_PSE Payin is created but then subsequently canceled before it is fulfilled.
          - `type` 'unknown', required
      - `type` 'pending', required
    - object
      - `initiatedAt` string, date-time, required — The date and time the payin was initiated.
      - `senderMetadata` union, required — Rail-specific sender metadata.
        - PayinAchSenderMetadata — Sender metadata for ACH-originated payins.
          - `achRoutingNumber` string — The ACH routing number of the sender.
          - `description` string — The description of the transaction
          - `senderName` string, required — The name of the sender
          - `type` 'ach', required
        - WireSenderMetadata
          - `bankBeneficiaryName` string, required — The name of the bank beneficiary
          - `bankName` string, required — The name of the bank
          - `imad` string, required — The IMAD number
          - `senderName` string — The name of the sender
          - `type` 'wire', required
          - `wireRoutingNumber` string, required — The wire routing number
        - BlockchainSenderMetadata — Sender metadata for externally-sent blockchain deposits from an allowlisted sender address. Only populated for allowlisted inbound transfers — unsolicited transfers to the wallet address are reflected in the account balance but do not produce a Payin record.
          - `blockchain` 'TRON' | 'SOLANA', required — The blockchain network the inbound transfer was received on.
          - `senderAddress` string, required — The on-chain address the funds were sent from.
          - `transactionHash` string, required — The on-chain transaction signature/hash of the inbound transfer (e.g. base58 for Solana, hex for Tron). Use this to reconcile the Payin against the source-chain explorer.
          - `type` 'blockchain', required
        - COPBreBSenderMetadata — Sender metadata for COP Bre-B pay-ins. Individual fields may be undefined depending on what the originating bank provides.
          - `senderAccountNumber` string — Payer's bank account number (unformatted).
          - `senderAccountType` string — Payer's bank account type. `corriente` (checking), `ahorros` (savings), `deposito` (electronic deposit).
          - `senderBankCode` string — Colombian financial-institution code of the payer's bank (4-digit numeric).
          - `senderId` string — Payer's Colombian identification number. Format matches `senderIdType` (e.g. a 10-digit cédula for `cc`, a NIT with check digit for `nit`).
          - `senderIdType` 'cc' | 'nit' | 'ce' | 'pa' | 'ppt' | 'ti' | 'rc' | 'te' | 'die' — Payer's Colombian identification type. `cc` = cédula de ciudadanía, `nit` = tax ID, `ce` = foreign-resident ID, `pa` = passport, `ppt` = temporary protection permit, `ti` = minor ID, `rc` = birth certificate, `te` = foreign ID, `die` = diplomatic ID.
          - `senderName` string — Payer's full name.
          - `type` 'cop-bre-b', required
        - ARSBankTransferSenderMetadata
          - `senderAccountNumber` string — Payer's account number (CVU/CBU), unformatted.
          - `senderId` string — Payer's tax/document number as reported by the sending bank.
          - `senderIdType` string — The kind of identifier in `senderId` (e.g. `CUIT`, `DNI`).
          - `senderName` string — Payer's full name as reported by the sending bank.
          - `type` 'ars-bank-transfer', required
        - UnknownSenderMetadata — Placeholder variant for payins where rail-specific sender metadata is not available. For example, if a COP_PSE Payin is created but then subsequently canceled before it is fulfilled.
          - `type` 'unknown', required
      - `type` 'on-hold', required
    - object
      - `completedAt` string, date-time, required — The date and time the payin was completed.
      - `initiatedAt` string, date-time, required — The date and time the payin was initiated.
      - `senderMetadata` union, required — Rail-specific sender metadata.
        - PayinAchSenderMetadata — Sender metadata for ACH-originated payins.
          - `achRoutingNumber` string — The ACH routing number of the sender.
          - `description` string — The description of the transaction
          - `senderName` string, required — The name of the sender
          - `type` 'ach', required
        - WireSenderMetadata
          - `bankBeneficiaryName` string, required — The name of the bank beneficiary
          - `bankName` string, required — The name of the bank
          - `imad` string, required — The IMAD number
          - `senderName` string — The name of the sender
          - `type` 'wire', required
          - `wireRoutingNumber` string, required — The wire routing number
        - BlockchainSenderMetadata — Sender metadata for externally-sent blockchain deposits from an allowlisted sender address. Only populated for allowlisted inbound transfers — unsolicited transfers to the wallet address are reflected in the account balance but do not produce a Payin record.
          - `blockchain` 'TRON' | 'SOLANA', required — The blockchain network the inbound transfer was received on.
          - `senderAddress` string, required — The on-chain address the funds were sent from.
          - `transactionHash` string, required — The on-chain transaction signature/hash of the inbound transfer (e.g. base58 for Solana, hex for Tron). Use this to reconcile the Payin against the source-chain explorer.
          - `type` 'blockchain', required
        - COPBreBSenderMetadata — Sender metadata for COP Bre-B pay-ins. Individual fields may be undefined depending on what the originating bank provides.
          - `senderAccountNumber` string — Payer's bank account number (unformatted).
          - `senderAccountType` string — Payer's bank account type. `corriente` (checking), `ahorros` (savings), `deposito` (electronic deposit).
          - `senderBankCode` string — Colombian financial-institution code of the payer's bank (4-digit numeric).
          - `senderId` string — Payer's Colombian identification number. Format matches `senderIdType` (e.g. a 10-digit cédula for `cc`, a NIT with check digit for `nit`).
          - `senderIdType` 'cc' | 'nit' | 'ce' | 'pa' | 'ppt' | 'ti' | 'rc' | 'te' | 'die' — Payer's Colombian identification type. `cc` = cédula de ciudadanía, `nit` = tax ID, `ce` = foreign-resident ID, `pa` = passport, `ppt` = temporary protection permit, `ti` = minor ID, `rc` = birth certificate, `te` = foreign ID, `die` = diplomatic ID.
          - `senderName` string — Payer's full name.
          - `type` 'cop-bre-b', required
        - ARSBankTransferSenderMetadata
          - `senderAccountNumber` string — Payer's account number (CVU/CBU), unformatted.
          - `senderId` string — Payer's tax/document number as reported by the sending bank.
          - `senderIdType` string — The kind of identifier in `senderId` (e.g. `CUIT`, `DNI`).
          - `senderName` string — Payer's full name as reported by the sending bank.
          - `type` 'ars-bank-transfer', required
        - UnknownSenderMetadata — Placeholder variant for payins where rail-specific sender metadata is not available. For example, if a COP_PSE Payin is created but then subsequently canceled before it is fulfilled.
          - `type` 'unknown', required
      - `type` 'completed', required
    - object
      - `initiatedAt` string, date-time, required — The date and time the payin was initiated.
      - `reason` string, required — The reason the payin failed.
      - `senderMetadata` union, required — Rail-specific sender metadata.
        - PayinAchSenderMetadata — Sender metadata for ACH-originated payins.
          - `achRoutingNumber` string — The ACH routing number of the sender.
          - `description` string — The description of the transaction
          - `senderName` string, required — The name of the sender
          - `type` 'ach', required
        - WireSenderMetadata
          - `bankBeneficiaryName` string, required — The name of the bank beneficiary
          - `bankName` string, required — The name of the bank
          - `imad` string, required — The IMAD number
          - `senderName` string — The name of the sender
          - `type` 'wire', required
          - `wireRoutingNumber` string, required — The wire routing number
        - BlockchainSenderMetadata — Sender metadata for externally-sent blockchain deposits from an allowlisted sender address. Only populated for allowlisted inbound transfers — unsolicited transfers to the wallet address are reflected in the account balance but do not produce a Payin record.
          - `blockchain` 'TRON' | 'SOLANA', required — The blockchain network the inbound transfer was received on.
          - `senderAddress` string, required — The on-chain address the funds were sent from.
          - `transactionHash` string, required — The on-chain transaction signature/hash of the inbound transfer (e.g. base58 for Solana, hex for Tron). Use this to reconcile the Payin against the source-chain explorer.
          - `type` 'blockchain', required
        - COPBreBSenderMetadata — Sender metadata for COP Bre-B pay-ins. Individual fields may be undefined depending on what the originating bank provides.
          - `senderAccountNumber` string — Payer's bank account number (unformatted).
          - `senderAccountType` string — Payer's bank account type. `corriente` (checking), `ahorros` (savings), `deposito` (electronic deposit).
          - `senderBankCode` string — Colombian financial-institution code of the payer's bank (4-digit numeric).
          - `senderId` string — Payer's Colombian identification number. Format matches `senderIdType` (e.g. a 10-digit cédula for `cc`, a NIT with check digit for `nit`).
          - `senderIdType` 'cc' | 'nit' | 'ce' | 'pa' | 'ppt' | 'ti' | 'rc' | 'te' | 'die' — Payer's Colombian identification type. `cc` = cédula de ciudadanía, `nit` = tax ID, `ce` = foreign-resident ID, `pa` = passport, `ppt` = temporary protection permit, `ti` = minor ID, `rc` = birth certificate, `te` = foreign ID, `die` = diplomatic ID.
          - `senderName` string — Payer's full name.
          - `type` 'cop-bre-b', required
        - ARSBankTransferSenderMetadata
          - `senderAccountNumber` string — Payer's account number (CVU/CBU), unformatted.
          - `senderId` string — Payer's tax/document number as reported by the sending bank.
          - `senderIdType` string — The kind of identifier in `senderId` (e.g. `CUIT`, `DNI`).
          - `senderName` string — Payer's full name as reported by the sending bank.
          - `type` 'ars-bank-transfer', required
        - UnknownSenderMetadata — Placeholder variant for payins where rail-specific sender metadata is not available. For example, if a COP_PSE Payin is created but then subsequently canceled before it is fulfilled.
          - `type` 'unknown', required
      - `type` 'failed', required
  - `sourceAmount` union, required — The amount sent by the payer, in the source currency.
    - object
      - `type` 'fiat', required
      - `currencySymbol` 'USD' | 'EUR' | 'MXN' | 'BRL' | 'COP' | 'ARS', required — The ISO 4217 currency code.
      - `exponent` number, required — The number of decimal places used by the smallest unit of the currency.
      - `value` string, required — The amount in the smallest unit of the currency, as a string to preserve precision (e.g., for USD with exponent 2, "2500" represents $25.00).
    - object
      - `type` 'blockchain', required
      - `tokenSymbol` 'USDC' | 'USDT', required — The token symbol.
      - `exponent` number, required — The number of decimal places used by the smallest unit of the token.
      - `value` string, required — The token amount in its smallest unit, as a string to preserve precision.
      - `blockchain` 'TRON' | 'SOLANA', required — The blockchain network the payer sent the token from.
  - `settlementStrategy` union, required — The settlement strategy applied to this payin — whether funds are held as a fiat balance in the account or automatically converted to the Account's destination token on settlement.
    - object — Funds were held as a fiat balance on the destination account with no conversion to the destination token.
      - `type` 'holdInFiat', required
    - object — Funds were automatically converted to the destination token on settlement.
      - `type` 'autoOnramp', required
  - `settlementDetails` union, required — Where the funds are going (pre-settlement) or landed (post-settlement).
    - object — Funds settle as a fiat balance on the destination account.
      - `amount` FiatAmount, required
        - `type` 'fiat', required
        - `currencySymbol` 'USD', required — The ISO 4217 currency code.
        - `exponent` number, required — The number of decimal places used by the smallest unit of the currency.
        - `value` string, required — The amount in the smallest unit of the currency, as a string to preserve precision (e.g., for USD with exponent 2, "2500" represents $25.00).
      - `type` 'fiat', required
    - object — Funds settle via an on-chain transfer to the destination account's wallet.
      - `amount` BlockchainAmount, required
        - `type` 'blockchain', required
        - `tokenSymbol` 'USDC' | 'USDT', required — The token symbol.
        - `exponent` number, required — The number of decimal places used by the smallest unit of the token.
        - `value` string, required — The token amount in its smallest unit, as a string to preserve precision.
        - `blockchain` 'ETHEREUM' | 'POLYGON' | 'BASE' | 'CELO' | 'PLASMA', required — The blockchain network on which the token lives.
      - `transactionHash` string — The on-chain transaction hash of the settlement transfer.
      - `type` 'blockchain', required
  - `fees` PayinFees, required
    - `feeTotal` FiatAmount, required
      - `type` 'fiat', required
      - `currencySymbol` 'USD', required — The ISO 4217 currency code.
      - `exponent` number, required — The number of decimal places used by the smallest unit of the currency.
      - `value` string, required — The amount in the smallest unit of the currency, as a string to preserve precision (e.g., for USD with exponent 2, "2500" represents $25.00).
    - `itemizedFees` PayinFeeItemization, required
      - `developerFee` FiatAmount, required
        - `type` 'fiat', required
        - `currencySymbol` 'USD', required — The ISO 4217 currency code.
        - `exponent` number, required — The number of decimal places used by the smallest unit of the currency.
        - `value` string, required — The amount in the smallest unit of the currency, as a string to preserve precision (e.g., for USD with exponent 2, "2500" represents $25.00).
      - `fixedTransactionFee` FiatAmount, required
        - `type` 'fiat', required
        - `currencySymbol` 'USD', required — The ISO 4217 currency code.
        - `exponent` number, required — The number of decimal places used by the smallest unit of the currency.
        - `value` string, required — The amount in the smallest unit of the currency, as a string to preserve precision (e.g., for USD with exponent 2, "2500" represents $25.00).
      - `variableFee` FiatAmount, required
        - `type` 'fiat', required
        - `currencySymbol` 'USD', required — The ISO 4217 currency code.
        - `exponent` number, required — The number of decimal places used by the smallest unit of the currency.
        - `value` string, required — The amount in the smallest unit of the currency, as a string to preserve precision (e.g., for USD with exponent 2, "2500" represents $25.00).
  - `payinInstructions` union — The instructions for the payin intent.
    - object
      - `depositUrl` string, required — The URL to the COP PSE deposit page.
      - `expiresAt` string, date-time, required — The date and time the deposit URL will expire.
      - `redirectUrl` string, required — URL the user is redirected to after successful payment submission. Not used on failure; please handle the failure experience in your application. Defaults to a generic confirmation page on muralpay.com.
      - `type` 'cop', required
    - object — Instructions for a Colombian Bre-B pay-in intent.
      - `descriptionToPayer` string, required — The description supplied at creation, for displaying alongside the key in your checkout UI.
      - `expiresAt` string, date-time, required — The date and time the key expires. After this, the key can no longer receive payment.
      - `keyValue` string, required — The Bre-B key the payer enters in their Colombian banking app. Single-use, time-bound, and locked to the requested amount.
      - `type` 'cop-bre-b', required
    - object — Instructions for an ARS bank-transfer (CVU) pay-in.
      - `bankName` string, required — Name of the bank holding the CVU.
      - `cvu` string, required — The CVU the payer transfers ARS to.
      - `expiresAt` string, date-time, required — When the pay-in expires.
      - `type` 'ars-bank-transfer', required
    - object — Pay-in instructions for a BRL Pix payment.
      - `brCode` string, required — BR Code (Pix copy-paste string) the payer pastes in their banking app.
      - `expiresAt` string, date-time, required — When the pay-in expires.
      - `type` 'brl-pix', required
    - object — Pay-in instructions for an MXN SPEI bank transfer.
      - `bankAccountNumber` string, required — CLABE the payer sends funds to.
      - `bankName` string, required — Name of the receiving bank.
      - `expiresAt` string, date-time, required — When the pay-in expires.
      - `type` 'mxn-spei', required
  - `exchangeRate` number — The exchange rate used for this payin. Multiply the fiat payin amount by this rate to get the equivalent token amount. Only present for non-USD payins.
  - `createdAt` string, date-time, required — The date and time the payin was created.
  - `updatedAt` string, date-time, required — The date and time the payin was last updated.
  - `payinBatchId` string, uuid, nullable — If this payin was created as part of a batch payin, the ID of the PayinBatch.

## Other responses

- `400` — PayinMinimumNotMetError
- `401` — Unauthorized
- `403` — SignedAgreementRequiredException

---

[API](https://skmtc.net/muralpay/apis/mural-api.md) · [All operations](https://skmtc.net/muralpay/apis/mural-api/llms.txt) · [OpenAPI document](https://skmtc-service-staging.skmtc.workers.dev/v1/apis/muralpay/mural-api/revisions/437d277f5948/schema)
