Skip to main content

Update Payment

Update payment details.

Endpoint

PUT /payments/{transaction_id}/

Description

This endpoint is NOT IMPLEMENTED in the current version of the API.

Payments are immutable once created. You cannot update:

  • Payment amount
  • Currency
  • Destination address
  • Expiry time
  • Order details

Alternative Approaches

Instead of updating a payment:

1. Create a New Payment

If you need different payment parameters:

POST /payments/
{
"amount": 150.00, # New amount
"currency": "USDTTRC20",
"order_id": "order_12345_v2"
}

2. Use Order ID for Tracking

Link multiple payment attempts to the same order:

// First attempt
const payment1 = await createPayment({
order_id: "order_12345",
amount: 100.00
});

// If expired, create new payment for same order
const payment2 = await createPayment({
order_id: "order_12345",
amount: 100.00
});

3. Handle Status Changes via Webhooks

Monitor payment status changes through webhooks instead of updates:

{
"event": "payment_status_update",
"status": "completed",
"transaction_id": "550e8400-e29b-41d3-a456-426614174000"
}

Why Payments Are Immutable

  1. Blockchain Security - Once a payment address is generated, it cannot be changed
  2. Audit Trail - Immutable payments provide clear transaction history
  3. Rate Locking - Fixed rates are locked at creation time
  4. Customer Trust - Prevents confusion from changing payment details