Skip to main content

Stablecoin Payment Capture

This guide covers how to capture stablecoin payments after initialization. The capture process confirms the blockchain address and network for the payment.

Overview

Ensure you’ve completed payment initialization before attempting capture.

Endpoint

POST /payment-sessions/{payment_id}

Supported Tokens and Networks

USDC Support Matrix
NetworkStatusConfirmation Time
ETH5-30 minutes
MATIC1-5 minutes
AVAXC1-5 minutes
USDT Support Matrix
NetworkStatusConfirmation Time
ETH5-30 minutes
TRX1-3 minutes
Always verify the network matches the token to avoid lost transactions. For example, send USDC only on ETH, MATIC, or AVAXC networks.

Request Parameters

crypto_address
object
required
Crypto payment details

Example Requests

{
  "crypto_address": {
    "chain": "TRX",
    "currency": "USDT"
  }
}

Response Format

data
object

Example Response

{
  "data": {
    "status": "captured",
    "message": "Payment address generated successfully",
    "payment": {
      "id": "pay_123abc456def",
      "currency": "USDT",
      "amount": 100000,
      "description": "Crypto payment",
      "payment_method": {
        "address": "TAd3A1MPNb3xhWrCpmi9x7UdqtwigWcdea",
        "chain": "TRX",
        "currency": "USDT",
        "id": "f1ce6d0f-b30b-4c53-810d-77584f2a36fb",
        "type": "crypto_address"
      },
      "status": "captured",
      "date": "2024-03-15T12:00:00Z",
      "mode": "live",
      "customer": {
        "first_name": "John",
        "last_name": "Doe",
        "email": "john.doe@example.com",
        "billing_address": {
          "line1": "123 Main St",
          "line2": "Apt 4B",
          "city": "New York",
          "state": "NY",
          "zip_code": "10001",
          "country": "US"
        }
      },
      "reference": "crypto_pay_123"
    }
  }
}

Transaction Flow

1

Generate Address

Capture request generates a unique blockchain address
2

Monitor Transaction

Listen for webhook events: * crypto.payment.pending - Transaction detected * crypto.payment.confirmed - Required confirmations reached * crypto.payment.completed - Funds credited
3

Verify Amount

Ensure received amount matches expected payment

Best Practices

  • Use TRX network for lowest fees * Consider ETH during low gas periods * Use MATIC/AVAXC for faster confirmations
  • Validate chain/token compatibility * Handle network congestion gracefully
  • Monitor transaction timeouts
  • Display QR code for address * Show clear network requirements * Provide transaction instructions

Need Help?