跳到主要内容

Double Payment Issue on “Media Kit” Purchase

JM “cryptotestnet” Morales
支持
payment-kitqa

image.png

image.png

Platform: Blocklet Store Pages/Modules Affected: Payment Kit purchase, Virtual Gift Card purchase, Media Kit dependency flow Device: PC & Mobile Severity: 🔴 High (Billing / Purchase flow / UX)

🧩 Summary

Purchasing Payment Kit or Virtual Gift Card requires (or prompts to purchase) a Media Kit as a prerequisite. The system either forces users to buy a Media Kit even when they already own one, or blocks the purchase if a Media Kit is not present — leading to duplicate purchases, extra cost, or blocked checkout flows.

🪜 Steps to Reproduce

  1. Log in to the app (Blocklet Store).
  2. Ensure you have already purchased a Media Kit (or alternatively, start without one).
  3. Attempt to purchase Payment Kit. Observe whether the flow:
  • Forces you to buy a Media Kit again, OR
  • Blocks purchase and prompts to buy Media Kit first.
  1. Repeat with Virtual Gift Card purchase flow.
  2. Note if the system:
  • Detects existing Media Kit ownership, or
  • Allows/forces an extra Media Kit purchase, or
  • Provides no clear info about the dependency.

✅ Expected Behavior

  • The system should detect if the user already owns a Media Kit and allow the purchase of Payment Kit / Virtual Gift Card without requiring the user to repurchase Media Kit.
  • If Media Kit is a true prerequisite, the UI must:
    • Clearly show the dependency before checkout, and
    • Offer to link/associate the existing Media Kit to the new product (no extra purchase).
  • Prevent duplicate purchases by checking entitlement server-side before charging.

❌ Actual Behavior

  • Users are prompted or forced to purchase a Media Kit during Payment Kit / Virtual Gift Card checkout even if they already have one.
  • In other cases, the purchase is blocked with no clear explanation until Media Kit is bought.
  • No option to associate or reuse existing Media Kit entitlement.
  • Customers can be charged more than once or unable to complete purchase without extra cost.

⚠️ Impact

  • Duplicate billing and financial loss for users.
  • Blocked purchases / poor conversion for products (Payment Kit, Virtual Gift Card).
  • Frustration and distrust — severe UX and business impact.

🔍 Possible Causes

  • Frontend does not check user entitlement for Media Kit before showing purchase flow.
  • Backend accepts purchase requests without verifying existing ownership.
  • Product dependency logic is missing or incorrectly implemented.
  • UI lacks clear messaging about prerequisites and entitlement linking.

🧰 Suggested Fixes

  1. Enforce entitlement checks server-side before showing or enabling purchase:
  • if user.hasMediaKit => allow purchase
  • else => show clear prerequisite message with single-click purchase + auto-link
  1. Prevent duplicate purchases by disabling/hiding the Media Kit Buy button if user.hasMediaKit == true.
  2. Provide an “Associate existing Media Kit” flow so Payment Kit / Virtual Gift Card can reuse the Media Kit without re-purchase.
  3. Improve UI messaging: show dependency up front (e.g., “Media Kit required — you already own Media Kit (linked) / Buy Media Kit”).
  4. Offer bundles or combined purchase (discounted or one-click bundle) to avoid friction.
  5. Add audit logs / billing checks to catch duplicate charges and provide admin refund workflow.

4 条回复

wangshijun13个月前

What each payment purchasing is not the software, all existing software (blocklets) are free now, you are purchasing the space to run the software.

This is by design.

I want to see my real time billing and it's consuming a lot of time

I want real time result so I can easily get the total.

回复