v5

OpenAPI 3.1.0Proprietary2026-08-011476181.4 MB
Transactions

Approve a pending incoming payment

Approve a pending incoming payment that was previously acknowledged with a 202 response. This endpoint allows platforms to asynchronously approve payments after async processing.

post/transactions/{transactionId}/approve

Path parameters

transactionIdstring required

Unique identifier of the transaction to approve

Request body

receiverCustomerInfoobject

Information about the recipient, provided by the platform if requested in the original webhook via requestedReceiverCustomerInfoFields.

Response

Payment approved successfully

idstring required

Unique identifier for the transaction

status'CREATED' | 'PENDING' | 'PENDING_AUTHORIZATION' | 'PROCESSING' | 'COMPLETED' | 'REJECTED' | 'FAILED' | 'REFUNDED' | 'EXPIRED' required

Status of a payment transaction.

StatusDescription
CREATEDInitial lookup has been created
PENDINGQuote has been created
PENDING_AUTHORIZATIONAwaiting Strong Customer Authentication. Only occurs for customers in a region where SCA is required (e.g. EU); authorize the transaction's scaChallenge to proceed.
PROCESSINGFunding has been received and payment initiated
COMPLETEDCross border payment has been received, converted and payment has been sent to the offramp network
REJECTEDReceiving institution or wallet rejected payment, payment has been refunded
FAILEDAn error occurred during payment
REFUNDEDPayment was unable to complete and refunded
EXPIREDQuote has expired
type'INCOMING' required

Type of transaction (incoming payment or outgoing payment)

direction'CREDIT' | 'DEBIT' required

Whether the transaction credits (funds in) or debits (funds out) the customer's account. Independent of type: an incoming transaction is normally a CREDIT, but an inbound ACH pull, for example, is an INCOMING transaction with a DEBIT direction.

customerIdstring required

System ID of the customer this transaction belongs to

platformCustomerIdstring required

Platform-specific ID of the customer this transaction belongs to

settledAtstring date-time

When the payment was or will be settled

createdAtstring date-time

When the transaction was created

updatedAtstring date-time

When the transaction was last updated

receiptDeliveryConfirmedAtstring date-time

The time at which the platform confirmed delivery of the receipt to their customer.

agentIdstring

If this transaction was initiated by an agent, the system-generated ID of that agent. Absent for platform-initiated transactions.

descriptionstring

Optional memo or description for the payment

exchangeRatenumber

Number of sending currency units per receiving currency unit.

quoteIdstring

The ID of the quote that was used to trigger this payment

counterpartyInformationCounterpartyInformation

Additional information about the counterparty, if available and relevant to the transaction and platform.

feesinteger

The total fees available from the receive quote in the smallest unit of the sending currency (eg. cents).

failureReason'LNURLP_FAILED' | 'PAY_REQUEST_FAILED' | 'PAYMENT_APPROVAL_WEBHOOK_ERROR' | 'PAYMENT_APPROVAL_TIMED_OUT' | 'OFFRAMP_FAILED' | 'MISSING_MANDATORY_PAYEE_DATA' | 'QUOTE_EXPIRED' | 'QUOTE_EXECUTION_FAILED'

Reason for failure of an incoming transaction. This is used to provide more context on why a transaction failed. If the transaction is not in a failed state, this field is omitted.

Example response

{
  "id": "Transaction:019542f5-b3e7-1d02-0000-000000000004",
  "destination": {
    "destinationType": "ACCOUNT",
    "currency": "EUR",
    "accountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123",
    "onChainTransaction": {
      "transactionHash": "h82pJGF9p7kpzb6eU326EFZf2cDnimbTFVeJtx1qtBmUNJAEqN76R7PwPfHt3oWb8R6cKvhgyxQdDn53jFrK6wFx",
      "network": "SOLANA"
    }
  },
  "customerId": "Customer:019542f5-b3e7-1d02-0000-000000000001",
  "platformCustomerId": "18d3e5f7b4a9c2",
  "settledAt": "2025-08-15T14:30:00Z",
  "createdAt": "2025-08-15T14:25:18Z",
  "updatedAt": "2025-08-15T14:30:00Z",
  "receiptDeliveryConfirmedAt": "2025-08-15T14:31:00Z",
  "agentId": "Agent:019542f5-b3e7-1d02-0000-000000000042",
  "description": "Payment for invoice #1234",
  "sentAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "exchangeRate": 1.08,
  "quoteId": "Quote:019542f5-b3e7-1d02-0000-000000000006",
  "refund": {
    "reference": "UMA-Q12345-REFUND",
    "initiatedAt": "2025-08-15T14:30:00Z",
    "settledAt": "2025-08-15T14:35:00Z",
    "status": "COMPLETED",
    "reason": "TRANSACTION_FAILED"
  },
  "counterpartyInformation": {
    "FULL_NAME": "John Sender",
    "BIRTH_DATE": "1985-06-15",
    "NATIONALITY": "DE"
  },
  "source": {
    "sourceType": "ACCOUNT",
    "currency": "USD",
    "accountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
    "onChainTransaction": {
      "transactionHash": "h82pJGF9p7kpzb6eU326EFZf2cDnimbTFVeJtx1qtBmUNJAEqN76R7PwPfHt3oWb8R6cKvhgyxQdDn53jFrK6wFx",
      "network": "SOLANA"
    }
  },
  "receivedAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "fees": 10,
  "reconciliationInstructions": {
    "reference": "UMA-Q12345-REF",
    "transactionHash": "0x9f2c6b6f4b6c8f2a8d9e0b1c2d3e4f5061728394a5b6c7d8e9f00112233445566"
  }
}