{
  "kind": "collectionType",
  "collectionName": "payment_transactions",
  "info": {
    "singularName": "payment-transaction",
    "pluralName": "payment-transactions",
    "displayName": "Payment Transaction",
    "description": "Payment transactions for orders"
  },
  "options": {
    "draftAndPublish": false
  },
  "pluginOptions": {
    "content-manager": {
      "visible": true
    },
    "content-api": {
      "visible": true
    }
  },
  "attributes": {
    "order": {
      "type": "relation",
      "relation": "manyToOne",
      "target": "plugin::webbycommerce.order",
      "inversedBy": "payment_transactions"
    },
    "transaction_id": {
      "type": "string",
      "required": true,
      "unique": true
    },
    "payment_method": {
      "type": "enumeration",
      "enum": ["Stripe", "PayPal", "Razorpay", "COD"],
      "default": "Stripe",
      "required": true
    },
    "amount": {
      "type": "decimal",
      "required": true,
      "min": 0
    },
    "currency": {
      "type": "string",
      "required": true,
      "default": "USD"
    },
    "status": {
      "type": "enumeration",
      "enum": ["pending", "processing", "completed", "failed", "refunded"],
      "default": "pending",
      "required": true
    },
    "failure_reason": {
      "type": "text",
      "required": false
    },
    "processed_at": {
      "type": "datetime",
      "required": false
    },
    "refunded_at": {
      "type": "datetime",
      "required": false
    },
    "refund_amount": {
      "type": "decimal",
      "required": false,
      "min": 0
    }
  }
}