{
  "title": "Payment Claim Form",
  "description": "Submit evidence of your payment",
  "completedHtml": "<h3>Thank you for submitting your payment information.</h3>",
  "pages": [
    {
      "name": "paymentDetails",
      "elements": [
        {
          "type": "dropdown",
          "name": "payment:paymentMethod",
          "title": "Payment Method",
          "isRequired": true,
          "choices": [
            {
              "value": "stripe",
              "text": "Stripe (Credit Card)"
            },
            {
              "value": "bank_transfer",
              "text": "Bank Transfer"
            },
            {
              "value": "usdc",
              "text": "USDC (Crypto)"
            }
          ]
        },
        {
          "type": "dropdown",
          "name": "payment:paymentType",
          "title": "Type of Payment",
          "isRequired": true,
          "choices": [
            {
              "value": "subscription",
              "text": "Subscription Payment"
            },
            {
              "value": "topup",
              "text": "Points Top-up Payment"
            }
          ]
        },
        {
          "type": "text",
          "name": "schema:amount",
          "title": "Payment Amount",
          "isRequired": true,
          "inputType": "number",
          "placeholder": "Enter the payment amount"
        },
        {
          "type": "dropdown",
          "name": "schema:currency",
          "title": "Currency",
          "isRequired": true,
          "choices": [
            "USD",
            "USDC"
          ],
          "showOtherItem": true
        },
        {
          "type": "text",
          "name": "schema:paymentDate",
          "title": "Payment Date",
          "isRequired": true,
          "inputType": "date"
        },
        {
          "type": "text",
          "name": "payment:bankReference",
          "visibleIf": "{payment:paymentMethod} = 'bank_transfer'",
          "title": "Bank Transfer Reference",
          "description": "Only for bank transfers. Enter the reference or confirmation number."
        },
        {
          "type": "text",
          "name": "crypto:transactionHash",
          "visibleIf": "{payment:paymentMethod} = 'usdc'",
          "title": "Transaction Hash",
          "description": "For crypto transactions only"
        },
        {
          "type": "file",
          "name": "schema:associatedMedia",
          "visibleIf": "{payment:paymentMethod} != 'usdc'",
          "title": "Upload Proof of Payment",
          "maxSize": 5242880,
          "needConfirmRemoveFile": true
        },
        {
          "type": "comment",
          "name": "schema:description",
          "title": "Additional Notes (optional)"
        }
      ]
    }
  ],
  "progressBarShowPageTitles": true,
  "progressBarShowPageNumbers": true
}