Skip to main content
POST
/
transactions
/
{transactionId}
/
approve
Approve a pending incoming payment
curl --request POST \
  --url https://api.lightspark.com/grid/2025-10-13/transactions/{transactionId}/approve \
  --header 'Authorization: Basic <encoded-value>' \
  --header 'Content-Type: application/json' \
  --data '{
  "receiverCustomerInfo": {}
}'
{
  "id": "Transaction:019542f5-b3e7-1d02-0000-000000000004",
  "status": "CREATED",
  "type": "INCOMING",
  "source": {
    "accountId": "InternalAccount:e85dcbd6-dced-4ec4-b756-3c3a9ea3d965",
    "currency": "USD"
  },
  "destination": {
    "accountId": "ExternalAccount:a12dcbd6-dced-4ec4-b756-3c3a9ea3d123",
    "currency": "EUR"
  },
  "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",
  "description": "Payment for invoice #1234",
  "counterpartyInformation": {
    "FULL_NAME": "John Sender",
    "BIRTH_DATE": "1985-06-15",
    "NATIONALITY": "DE"
  },
  "receivedAmount": {
    "amount": 12550,
    "currency": {
      "code": "USD",
      "name": "United States Dollar",
      "symbol": "$",
      "decimals": 2
    }
  },
  "reconciliationInstructions": {
    "reference": "UMA-Q12345-REF"
  },
  "rateDetails": {
    "gridApiMultiplier": 0.925,
    "gridApiFixedFee": 10,
    "gridApiVariableFeeRate": 0.003,
    "gridApiVariableFeeAmount": 30
  },
  "failureReason": "LNURLP_FAILED"
}

Authorizations

Authorization
string
header
required

API token authentication using format <api token id>:<api client secret>

Path Parameters

transactionId
string
required

Unique identifier of the transaction to approve

Body

application/json
receiverCustomerInfo
object

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

Response

Payment approved successfully

id
string
required

Unique identifier for the transaction

Example:

"Transaction:019542f5-b3e7-1d02-0000-000000000004"

status
enum<string>
required

Status of a payment transaction

Available options:
CREATED,
PENDING,
PROCESSING,
COMPLETED,
REJECTED,
FAILED,
REFUNDED,
EXPIRED
type
enum<string>
required

Type of transaction (incoming payment or outgoing payment)

Available options:
INCOMING,
OUTGOING
source
object
required

Source account details

  • Account Source
  • UMA Address Source
destination
object
required

Destination account details

  • Account Destination
  • UMA Address Destination
customerId
string
required

System ID of the customer (sender for outgoing, recipient for incoming)

Example:

"Customer:019542f5-b3e7-1d02-0000-000000000001"

platformCustomerId
string
required

Platform-specific ID of the customer (sender for outgoing, recipient for incoming)

Example:

"18d3e5f7b4a9c2"

receivedAmount
object
required

Amount received in the recipient's currency

settledAt
string<date-time>

When the payment was or will be settled

Example:

"2025-08-15T14:30:00Z"

createdAt
string<date-time>

When the transaction was created

Example:

"2025-08-15T14:25:18Z"

updatedAt
string<date-time>

When the transaction was last updated

Example:

"2025-08-15T14:30:00Z"

description
string

Optional memo or description for the payment

Example:

"Payment for invoice #1234"

counterpartyInformation
object

Additional information about the counterparty, if available and relevant to the transaction and platform. Only applicable for transactions to/from UMA addresses.

Example:
{
"FULL_NAME": "John Sender",
"BIRTH_DATE": "1985-06-15",
"NATIONALITY": "DE"
}
reconciliationInstructions
object

Included for all transactions except those with "CREATED" status

rateDetails
object

Details about the rate and fees for the transaction.

failureReason
enum<string>

If the transaction failed, this field provides the reason for failure.

Available options:
LNURLP_FAILED,
PAY_REQUEST_FAILED,
PAYMENT_APPROVAL_WEBHOOK_ERROR,
PAYMENT_APPROVAL_TIMED_OUT,
OFFRAMP_FAILED,
MISSING_MANDATORY_PAYEE_DATA,
QUOTE_EXPIRED,
QUOTE_EXECUTION_FAILED
I