{
  "ok": true,
  "scope": "payment_order_transaction_plan_preview",
  "status": "blocked_before_live_payment_transaction",
  "provider": "kacapa_damayi",
  "providerName": "达麦 / kacapa",
  "product": {
    "type": "points_pack",
    "planId": "preview-points-68",
    "amountFen": 6800,
    "currency": "CNY",
    "entitlement": {
      "type": "points",
      "quantity": 680
    }
  },
  "idempotency": {
    "clientOrderId": "client-order-preview-001",
    "internalOrderId": "pay_order_preview_001",
    "providerOutTradeNo": "wfais_preview_20260616_001",
    "callbackIdempotencyKey": "provider:notify:trade_no_or_notify_id",
    "repairIdempotencyKey": "provider:query:out_trade_no"
  },
  "stateMachine": [
    {
      "from": "created",
      "to": "paying",
      "trigger": "provider_wap_pay_created"
    },
    {
      "from": "paying",
      "to": "paid",
      "trigger": "async_notify_verified_trade_success_or_query_success"
    },
    {
      "from": "paying",
      "to": "pay_unknown",
      "trigger": "return_url_without_verified_notify_or_query"
    },
    {
      "from": "pay_unknown",
      "to": "paid",
      "trigger": "repair_query_confirms_success"
    },
    {
      "from": "pay_unknown",
      "to": "pay_failed",
      "trigger": "repair_query_confirms_closed_or_failed"
    },
    {
      "from": "paid",
      "to": "refunding",
      "trigger": "admin_refund_requested"
    },
    {
      "from": "refunding",
      "to": "refunded",
      "trigger": "refund_query_confirms_success"
    },
    {
      "from": "*",
      "to": "abnormal",
      "trigger": "signature_amount_order_or_user_mismatch"
    }
  ],
  "transactionSteps": [
    {
      "code": "lock_internal_order_by_idempotency_key",
      "status": "blocked",
      "requiredEvidence": [
        "unique_client_order_id",
        "unique_provider_out_trade_no"
      ]
    },
    {
      "code": "validate_plan_amount_and_entitlement_server_side",
      "status": "blocked",
      "requiredEvidence": [
        "active_recharge_plan",
        "amount_fen_matches_plan",
        "entitlement_is_configured"
      ]
    },
    {
      "code": "create_provider_payment_request",
      "status": "blocked",
      "providerApi": "POST /api/v1/pay/unifiedOrder",
      "requiredEvidence": [
        "server_side_signature",
        "https_notify_url",
        "return_url"
      ]
    },
    {
      "code": "verify_async_notify_or_query_result",
      "status": "blocked",
      "providerApi": "POST /api/v1/pay/queryOrder",
      "requiredEvidence": [
        "signature_verified",
        "amount_fen_matches",
        "trade_status_success"
      ]
    },
    {
      "code": "grant_entitlement_once",
      "status": "blocked",
      "requiredEvidence": [
        "paid_state_locked",
        "points_ledger_or_membership_grant_unique",
        "audit_event_recorded"
      ]
    },
    {
      "code": "refund_and_reverse_entitlement_when_needed",
      "status": "blocked",
      "providerApi": "manual_refund_review_then_future_provider_refund",
      "requiredEvidence": [
        "admin_audit_reason",
        "refund_order_unique",
        "reversal_policy_confirmed"
      ]
    }
  ],
  "requiredTables": [
    "payment_orders",
    "payment_provider_events",
    "points_ledger_entries",
    "payment_entitlement_grants",
    "payment_refunds",
    "payment_repair_jobs"
  ],
  "repairPlan": {
    "triggers": [
      "notify_missing_after_timeout",
      "return_url_without_paid_state",
      "provider_status_unknown",
      "admin_manual_recheck"
    ],
    "actions": [
      "query_provider_order",
      "compare_amount_user_and_plan",
      "post_entitlement_if_success_once",
      "mark_manual_review_on_mismatch"
    ],
    "schedule": "preview_only_every_5_minutes_until_terminal_state"
  },
  "refundPlan": {
    "states": [
      "paid",
      "refunding",
      "refunded",
      "abnormal"
    ],
    "auditRequired": true,
    "providerApis": [
      "manual_refund_review_then_future_provider_refund",
      "manual_refund_review_or_future_provider_refund_query"
    ],
    "entitlementRule": "do_not_reverse_points_or_membership_without_admin_policy_and_ledger_entry"
  },
  "blockers": [
    "payment_core_migration_not_applied",
    "payment_provider_credentials_missing",
    "https_notify_url_missing",
    "idempotent_entitlement_grant_not_live",
    "refund_reversal_policy_not_approved"
  ],
  "providerReference": {
    "status": "blocked_until_https_callback_t888_success_evidence_and_live_payment_gate_ready",
    "officialApis": [
      "POST /api/v1/pay/unifiedOrder",
      "POST /api/v1/pay/queryOrder",
      "POST /api/v1/merchant/queryBalance"
    ],
    "confirmedInputs": {
      "merchantId": "1080",
      "merchantName": "千浔科技",
      "testLiftCode": "T888",
      "candidateProductionProductId": "2001",
      "requestFormat": "POST JSON UTF-8",
      "amountUnit": "fen",
      "queryPath": "/api/v1/pay/queryOrder",
      "notifySuccessResponse": [
        "SUCCESS",
        "OK"
      ],
      "notifyRetryWindow": "30_minutes_up_to_10_attempts"
    },
    "providerStateMapping": {
      "0": "paying",
      "1": "paid",
      "2": "pay_failed",
      "3": "pay_unknown_no_code",
      "4": "abnormal_manual_review"
    },
    "securityBoundaries": [
      "provider_adapter_required",
      "server_side_signature_only",
      "idempotent_callback_required",
      "no_frontend_secret_exposure",
      "t888_test_lift_code_not_formal_recharge_channel",
      "product_2001_candidate_only_until_production_confirmed",
      "return_url_is_not_payment_proof",
      "notify_or_query_required_before_entitlement",
      "pay_amount_is_server_verified_before_grant",
      "raw_notify_payload_stored_by_reference_or_redacted",
      "refund_and_repair_require_admin_audit"
    ]
  },
  "boundaries": [
    "plan_preview_only",
    "does_not_create_real_payment_order",
    "does_not_call_payment_provider",
    "does_not_grant_points_or_membership",
    "does_not_write_production_database",
    "return_url_is_not_payment_proof"
  ]
}