Postclic premium unlimited: promotional offer at RM 4.19 for 48h, then RM 228.34 per month without commitment

Cancellation service #1 in Malaysia
Heroku is a cloud application platform that lets developers deploy, run, and manage apps without handling server setup manually. It launched in 2007 and is now part of Salesforce, with headquarters linked to San Francisco in the United States.
In simple terms, people pay Heroku for convenience. Instead of managing raw infrastructure, they pay for dynos, databases, add-ons, and app operations features. That model is why some users forget they still have active paid resources even after a project is abandoned for months.
The main paid items are dyno plans, which are the app containers used to run workloads. Based on published pricing support information, examples include Eco Dynos at about RM22.50 per month, Basic Dynos at about RM31.50 per month, Standard-1X at about RM112.50 per month, Standard-2X at about RM225.00 per month, and Performance-M at about RM1,125.00 per month.
Users also pay for uptime, scaling, SSL support, app metrics, preboot, and stronger performance tiers. A small test project may sit on Eco or Basic, but once an app is set to stay online all the time, monthly billing becomes more serious quite fast.
For users in Malaysia, the service is available online and support is mainly through the Help Portal and community channels. There is no public cancellation phone line, no live chat, and no Malaysia-specific cancellation desk, which can feel quite leceh when you just want to stop charges quickly.
Pricing is published in US dollars on Heroku materials, but in this guide all working estimates are shown in MYR for local clarity. Using the exchange reference in the research, $5.00 is about RM22.50, $7.00 is about RM31.50, $25.00 is about RM112.50, $50.00 is about RM225.00, and $250.00 is about RM1,125.00.
Heroku generally bills services monthly, and the available data does not show a minimum commitment period in the Terms. The Terms also do not clearly spell out a consumer-style cooling-off period, so the safest habit is to cancel before the next billing date and remove payment details after all billable resources are gone.
Many users get frustrated because cancellation is not just a single button press. Heroku's own help says you must transfer or delete all applications and then remove your credit card information to close a personal account, which is more involved than a typical streaming subscription cancellation "fact" (help.heroku.com).
If you are already annoyed because the steps are not obvious, that reaction is fair. Heroku account closure can fail if paid apps or resources are still attached, so do a quick pre-check before touching billing settings.
Start by backing up app code, config vars, databases, and logs that matter to you. Heroku states that account deletion permanently removes associated data, so do not assume you can restore it later if you change your mind.
The official cancellation route is through your account on the web. Heroku's help article says you must transfer or delete all applications and remove your credit card information to close a personal account "fact" (help.heroku.com).
In practice, the flow usually looks like this: sign in to your Heroku Dashboard, open each app, review resources, scale down or remove paid dynos and add-ons, then delete or transfer the app if you no longer need it. After that, go into account and billing settings, remove the card, and complete account closure if the dashboard allows it.
If something blocks the closure, open the account management help area here: Heroku account management. That page is one of the few official starting points for account issues.
Heroku does not publish a direct phone number for cancellation. The verified support data says phone support is not available, live chat is not available, email is not specified, and support is mainly through the Help Portal during business hours of Monday to Friday, 9am to 9pm EST.
For a Malaysia-based user, that time window is overnight to morning in local terms depending on daylight savings in the United States. If you want a proper paper trail, submit through the Help Portal and save screenshots of the ticket number, date, and exact wording of your request.
No specific cancellation mailing address for Malaysia was found in official Heroku resources. If you still want formal written proof, a registered letter is an option, but it is slower and there is no confirmed dedicated cancellation address in the verified sources.
Some users prefer a digital registered-letter service such as Postclic because it creates timestamped proof of sending, receipt, and opening. That can be useful if you are documenting a billing dispute, though for Heroku the web account route is still the normal path.
The research found no clear dark-pattern trap like a fake cancel button, but there is a practical obstacle: no direct phone line and heavy reliance on online support. That means users sometimes think they have cancelled when they have only stopped using the app and left billable resources active.
The common local complaint is unexpected charges after users believed the account was already inactive. So do not stop at deleting code from GitHub or logging out of the dashboard. On Heroku, billing stops only when the billable resources are gone and the account setup is properly cleared.
If you cancel a plan during the month, Heroku says the service remains active until the end of the current billing cycle, but no refund is issued for unused time "fact" (help.heroku.com). So if your billing renews on the 28th and you cancel on the 10th, access normally continues until the 27th.
This is where many people get confused. Continued access until the billing period ends does not mean the cancellation failed. It usually means the current paid period is still running.
The Terms data does not clearly set out an auto-renewal clause in a consumer-style format, but Heroku services are typically billed monthly. In real-world use, that means active paid resources continue generating charges unless you remove or downgrade them before the next billing date.
If your account still has a paid dyno or add-on attached, the next invoice can still appear. That is why a cancellation screenshot alone is not enough if the app itself still exists with billable resources.
Heroku's Terms data says that upon account deletion, all data associated with the account is permanently removed and cannot be recovered. That is a hard stop, not a recycle bin situation.
Before closing, export anything you may need later, including database dumps, app settings, logs, and deployment details. If the app is business-related, keep one offline backup in a secure local drive or cloud storage outside Heroku.
If you are worried about paying after cancellation, here is the blunt answer: Heroku says it does not provide refunds for unused services or partial billing periods "fact" (help.heroku.com). That means cancelling halfway through a month usually stops future billing, not the current month's charge.
There was also no cancellation fee found in the Terms of Service, and no early termination fee was identified. So the pain point is not an exit penalty, but the lack of pro-rated refunds once the billing period has started.
In Malaysia, the Consumer Protection Act 1999 gives general consumer protections, but it does not create a universal cooling-off period for all online software subscriptions. The Direct Sales Act 1993 gives a 10 working day cooling-off period for certain direct sales, door-to-door, and mail order contracts, but that does not neatly fit a normal self-service Heroku sign-up.
So for most Heroku users in Malaysia, the practical position is this: you likely cannot rely on an automatic cooling-off cancellation right just because you changed your mind after subscribing online. If there was misleading billing or an unauthorised charge, that becomes a complaint issue instead.
Even with a strict no-refund policy, you can still file a refund request if the charge looks wrong. Use the Help Portal, include the invoice date, transaction amount, the app name, and a clear sentence explaining whether the charge happened after deletion or after a support request.
Success is likely low for simple unused time claims. Success is better when you can show an unexpected post-cancellation charge, duplicate billing, or a failure in account closure.
If Heroku ignores you or rejects a clearly unauthorised recurring charge, you can dispute it with your card-issuing bank in Malaysia. Locally, this is usually called a chargeback or a dispute for an unauthorised or recurring card transaction, and banks commonly work within about 60 to 120 days from the transaction date or from when you discovered the problem.
This sits under Bank Negara Malaysia's financial consumer protection framework, including complaint-handling rules under the Financial Services Act 2013 or Islamic Financial Services Act 2013. Use this only after collecting proof such as the cancellation screenshot, support ticket, invoice copy, and bank statement entry.
The Terms data available for Heroku does not show a minimum commitment duration. Services are typically billed monthly, and the same data does not present a clearly worded auto-renewal clause, so users need to actively monitor billing settings and live resources.
Heroku has also offered free tiers for certain services, though those offers can change over time. That matters because some users assume an old free setup is still free, then discover that a changed plan structure or active paid resource is what triggered billing.
The Terms data says Heroku's Terms are governed by the laws of California in the United States. It also says disputes are subject to binding arbitration in San Francisco under American Arbitration Association rules.
For a user in Malaysia, that is not a practical small-claim path for modest subscription disputes. In real life, local escalation through your bank, KPDN, or TTPM is usually more realistic when the issue is a small billing dispute affecting a Malaysian consumer.
The Terms data states that once an account is deleted, all associated data is permanently removed and cannot be recovered. This is one of the most important conditions because it affects not just billing but your operational history and app content.
If you have an old side project, demo app, or client database, backup comes before cancellation. Once the account is gone, support may not be able to restore anything for you.
The table below converts the published pricing references into MYR using the research estimate of 1 USD to about RM4.50. Heroku's actual checkout amount can move a bit with exchange rate changes and card issuer conversion.
Plan | Price (USD / MYR) | Billing period | Main features |
|---|---|---|---|
Eco Dynos | $5.00 (RM22.50) | Monthly | 1000 shared dyno hours, sleeps after 30 minutes |
Basic Dynos | $7.00 (RM31.50) | Monthly | Always on, free SSL, 10 process types |
Standard-1X Dynos | $25.00 (RM112.50) | Monthly | Scaling, metrics, preboot, zero-downtime deploys |
Standard-2X Dynos | $50.00 (RM225.00) | Monthly | 1 GB RAM, stronger compute, Standard features |
Performance-M Dynos | $250.00 (RM1,125.00) | Monthly | 2.5 GB RAM, high traffic performance |
The cheapest paid plan in the research set is Eco Dynos at $5.00 (RM22.50) monthly. The most expensive listed plan is Performance-M at $250.00 (RM1,125.00) monthly, which is a serious recurring cost if you leave it running by mistake for two or three months.
For many personal users, the danger zone is not the top-tier plan but the forgotten low-cost plan. RM22.50 or RM31.50 may look small, so people ignore it, then notice only after six or twelve billing cycles.
The pricing data provided here is monthly only, and no annual discount data was supplied in the verified research. No cancellation fee was found, but the no-refund rule for unused time is the main cost issue after cancellation.
If you are overpaying, compare whether a test app really needs an always-on Basic or Standard dyno. Downgrading before full closure can be a useful short-term step if you need a few days to migrate the app elsewhere.
In Malaysia, the main consumer law is the Consumer Protection Act 1999. It does not give a blanket cooling-off period for every software subscription, but it does support action against unfair practices and gives consumers a route to seek redress when charges or service representations are disputed.
The Direct Sales Act 1993 provides a 10 working day cooling-off period for direct sales, including certain door-to-door and mail order contracts. For a normal Heroku online account sign-up, that rule is usually not the cleanest fit, so do not rely on it unless your purchase structure clearly falls into that category.
Heroku's available Terms data does not mention a specific cooling-off period and does not clearly grant a withdrawal right for ordinary subscriptions. That means Malaysian users should focus more on billing accuracy, service description, and proof of cancellation than on expecting an automatic change-of-mind refund.
If you were charged after properly removing paid resources or after support confirmed closure, the issue becomes stronger from a consumer complaint angle. That is where local agencies become useful, especially if the amount is small and you need a formal pressure channel.
If Heroku does not resolve a billing dispute, start with KPDN, the Ministry of Domestic Trade and Cost of Living. For a money claim, TTPM, the Tribunal for Consumer Claims Malaysia, may also be relevant if your case fits its scope and claim limit.
KPDN is the practical name most consumers know for domestic trade and consumer matters in Malaysia. TTPM is the tribunal channel for consumer claims, and Bank Negara Malaysia is relevant if the issue turns into a card dispute or failed complaint handling by a financial institution.
The research block also mentioned MCMC, but for an ordinary Heroku subscription cancellation dispute, KPDN, TTPM, and your bank are usually the more direct routes. Use MCMC only if your issue has a communications or digital service regulatory angle beyond straightforward billing.
Based on the review set provided, cancellation sentiment is poor: 0 positive and 4 negative out of 4 unique reviews. The pattern is clear enough to say that cancellation is generally perceived as difficult, mostly because billing continues unexpectedly or because users struggle to find a clean account closure path.
That said, Heroku still has real strengths as a deployment platform. Developers often like the fast deploy workflow and simple app operations, but those positives do not erase the cancellation complaints in the review sample.
Theme | Frequency | Typical example |
|---|---|---|
Unexpected charges | 2 reviews | Billed after inactive use |
Hard cancellation | 1 review | Unclear unsubscribe path |
Poor deletion support | 1 review | Account not deleted |
Source | Rating | Number of reviews |
|---|---|---|
TrustPilot | 1/5 | 3 |
Sitejabber | 1/5 | 1 |
The local issue data also lines up with these reviews. Users in Malaysia may especially feel the friction because support is mainly in English and there is no easy phone escalation path.
If you want a smooth exit, documentation is half the job. Save a screenshot of each active app, the billing page, the current dyno type, and the date of your next invoice before you remove anything.
Also keep a backup of operational data. If a client later asks for an old config file or database export, your Heroku account closure will not help because deleted data may be unrecoverable.
For any refund request, have the transaction date, original currency amount, MYR equivalent on your bank statement, and invoice identifier ready. A vague complaint like "I was charged wrongly" is weaker than a ticket saying "Charged $25.00 (RM112.50) on 12 May after app deletion on 8 May".
After cancellation, keep the confirmation screen, confirmation email if any, and a fresh screenshot showing no active paid resources. That evidence becomes very useful if a charge appears one billing cycle later.
This is the most common mistake. A user stops pushing code, forgets the dyno is still active, and months later finds recurring charges on the card.
Solution: open every app and remove the billable dynos and add-ons before assuming the account is inactive. Not using the service is not the same as cancelling it.
Many users cancel halfway through the cycle and expect money back for unused days. Heroku's policy says no refunds for unused services or partial billing periods, so that expectation usually ends in frustration.
Solution: cancel before the next billing date if you want to avoid another full charge. If you already crossed into a new cycle, focus on stopping the next invoice rather than expecting a partial reversal.
Another mistake is assuming the process completed because a page looked done. If a support issue pops up later, no screenshot means no easy proof of what happened and when.
Solution: save the cancellation confirmation screen, the support request number, and the final account state showing no paid services. It takes 30 seconds and can save you hours later.
Support is mainly through the Help Portal, not live chat or phone. If you submit a ticket close to your billing date and wait passively, the next invoice may land before the issue is handled.
Solution: file early, ideally several days before billing. If the amount is substantial, monitor the card statement and be ready to dispute quickly with your bank if a clearly unauthorised recurring charge appears.
No verified Malaysia cancellation address was found. Users sometimes waste time looking for a local branch or local hotline that simply does not exist.
Solution: use the web account workflow, the Help Portal, and documented evidence. If written notice matters for your records, use a registered letter or a certified digital letter service, but do not treat that as the normal cancellation channel.
Method | Notice period | Fee | Difficulty |
|---|---|---|---|
Web/account | Before next billing | No cancellation fee found | Easy |
App Store (iOS) | Before next billing | No cancellation fee found | Medium |
Google Play (Android) | Before next billing | No cancellation fee found | Medium |
Registered mail | 5-10 business days | No cancellation fee found | Higher but best proof |
For Heroku specifically, the account dashboard is the practical route because official help points users there. The store methods appear in the comparison table only as generic subscription channels, but Heroku is normally managed directly through the web account rather than as a mobile app store subscription.
Registered mail gives stronger formal proof but is slower. If your problem is an active billing cycle that is about to renew, speed matters more than ceremony.
Right after cancellation, confirm that no paid dynos or paid add-ons remain. Then set a calendar reminder for 3 days before your next expected billing date so you can do one last review.
Also take one final screenshot of the account state. If support later says the resource was still active, you have a timestamped image showing what your dashboard displayed.
Watch your card statement through at least one full billing cycle after cancellation. If your previous invoice was on the 15th, keep checking until after the next 15th passes with no new Heroku charge.
If an unauthorised recurring charge appears, contact your bank quickly and say you want to dispute a recurring or unauthorised card transaction. In Malaysia, chargeback timing is commonly around 60 to 120 days, depending on bank and card-network rules.
If you are leaving because of cost or billing hassle, there are workable alternatives. Railway has a free tier and paid plans from $5.00 (RM22.50), Render starts from $7.00 (RM31.50), and DigitalOcean App Platform starts from $5.00 (RM22.50).
For frontend-heavy projects, Vercel starts from $20.00 (RM90.00) on paid plans, while Fly.io uses usage-based pricing with a free tier in some cases. If your app is simple, migrating to a lower-cost platform can be quite senang once you have exported the app config and data.
No official Heroku cancellation address for Malaysia was identified in the verified resources. That means most users should treat Heroku as an online-only cancellation process handled through the account dashboard and Help Portal.
This is not unusual for a SaaS platform, but it does mean you must create your own evidence trail. Screenshot every major step because there is no local counter or hotline where someone can stamp your request.
If a bank dispute, company compliance process, or internal audit requires written notice, send a registered letter to the relevant corporate contact you have on file from your billing documents or Salesforce-related records. Since no verified dedicated cancellation address was found in the approved sources, do not assume a random office address will speed things up.
For most Malaysian consumers, the better route is still online closure plus a documented support ticket, followed by KPDN, TTPM, or a bank chargeback if billing continues unfairly. That is usually faster and more effective, lah.
Already sent a letter? Enter its tracking number to see its proof of dispatch and certified timestamp.