Lux Financial
Guides

Payments

Create domestic payments via ACH, Wire, and SEPA with status tracking and webhook integration.

Payments

Lux Financial supports multiple payment rails for domestic and international transfers.

Supported Rails

RailCurrenciesSettlementCoverage
SWIFT35+1-3 daysGlobal
SEPAEURSame dayEU/EEA
Faster PaymentsGBPInstantUK
ACHUSD1-2 daysUS
WireUSDSame dayUS

Creating a Payment

const payment = await client.payments.create({
  amount: 100000, // $1,000.00
  currency: 'USD',
  destination: {
    type: 'bank_account',
    beneficiaryName: 'Acme Corp',
    accountNumber: '12345678',
    routingNumber: '021000021',
    bankName: 'Chase Bank',
    bankAddress: {
      country: 'US',
      city: 'New York',
    },
  },
  purpose: 'Invoice payment',
  reference: 'INV-2024-001',
})

Payment Status

Payments transition through the following statuses:

pending → processing → completed
                    → failed

Webhooks

Subscribe to payment events:

{
  "event": "payment.completed",
  "data": {
    "id": "pay_abc123",
    "status": "completed",
    "amount": 100000,
    "currency": "USD"
  }
}

Error Handling

try {
  const payment = await client.payments.create(params)
} catch (error) {
  if (error.code === 'insufficient_funds') {
    // Handle insufficient balance
  } else if (error.code === 'invalid_beneficiary') {
    // Handle invalid beneficiary details
  }
}

On this page