Petrol is life in Malaysia. What’s the best way to earn miles?
Overview
When it comes to petrol, it mostly favors cashback cards. We see this clearly with Petronas and Shell co-branded cards that offer cashback, but usually with caps and spend conditions. Are there decent ways to earn miles instead?
In this post, we’ll walk through a few practical ways to earn miles on petrol spending in Malaysia.
What’s the MCC for Petrol transactions?
Petrol transactions in Malaysia are coded as MCC 5542 (Automated Fuel Dispensers – Self Service) or MCC 5541 (Service Stations). Both MCCs are common in Malaysia depending on how you make the payment. Some cashback cards, like HLB Wise, only reward MCC 5542, which makes things tricky. For miles chasers, we don’t really need to worry about which MCC it falls under. That makes life easier, as you’ll see below.
Viable Options
1. Direct Payments
If you prefer the conventional approach of paying directly at the fuel dispenser or the petrol station counter, here are the best cards to earn miles:
| Card | Monthly Limit | MPR |
|---|---|---|
![]() Maybank Platinum Charge |
Uncapped |
0.71 KrisFlyer |
![]() Maybank KrisFlyer AMEX Platinum |
Uncapped |
0.40 KrisFlyer |
The Maybank Platinum Charge and KrisFlyer AMEX Platinum are the two cards that earn the most miles on petrol transactions. That said, some stations do not accept AMEX, so it is always good to have other backup options.
2. Use the Setel App (Or the Shell App)
With the Budi95 subsidy in place, it’s easy use the Setel linked to your Budi95 account. This is easily the most convenient option. You pay from inside your car using just your phone.
In the Setel app, you can either pay directly with a credit card or use your e-wallet balance. Paying directly with a credit card is coded as a petrol transaction, which means cards like the Alliance Visa Virtual and CIMB eCard won’t earn any rewards. So, just be mindful of that.
Here are the viable e-wallet payment options:
| Card | Monthly Limit | MPR |
|---|---|---|
![]() Alliance Bank Visa Virtual |
RM3,000 (E-wallet Only) |
0.53 Enrich |
![]() UOB World Card |
RM900 (E-wallet) |
0.66^ KF / Asia Miles |
For the Alliance Bank Visa Virtual, you can top up your ShopeePay, Grab, or Boost wallet first, then use that to top up your Setel balance.


The Shell app also integrates with Budi95, but it only supports Visa/Master in-app. There aren’t any viable miles cards on Visa/Master that earn rewards this way for Petrol MCC, so you’ll end up having to pay with AMEX offline or use an e-wallet at the counter instead. Because of this, the Shell app is simply not as convenient as Setel.
3. Use SpayLater
If you do not mind walking to the petrol station counter, paying with ShopeePay using the SPayLater option (0% for 1 month) is the easiest way earn miles for Petrol transactions.
SPayLater repayments are coded under MCC 5964 and treated as online transactions, which gives us the following options.
| Card | Monthly Limit | MPR |
|---|---|---|
![]() CIMB eCard |
RM1,667 |
0.96 Enrich 0.80^ Alt Miles |
![]() Maybank Platinum Charge |
Uncapped | 0.71 MPR |
![]() Maybank KrisFlyer AMEX Platinum |
Uncapped | 0.50 MPR |
This can also be useful if you can’t pay with AMEX. It even gives you a better MPR on the KrisFlyer AMEX Platinum, since the transaction is treated as an online payment.
4. Buy Petron Voucher on Lazada
You can also buy Petron fuel vouchers on Lazada (LazMall) in RM10, RM30, and RM50 denominations. These purchases are, of course, coded as online transactions since Lazada is a shopping portal.

This option comes with a few drawbacks though:
- You can only purchase the voucher via the Lazada app, not the web version
- The voucher is valid for just 30 days
- Redemption must be done at the station counter
- It is only valid in West Malaysia
This method gives the same earning rate as SPayLater above, albeit with less convenience. That said, it can still be useful if you cannot use SPayLater, or if you are specifically trying to make use of the Alliance Bank online quota (no e-wallet top up fee) or the UOB Lazada Card. Or it’s the 28th of the month, you’re at lazy home, and but you still want to take advantage of the CIMB eCard.
| Card | Monthly Limit | MPR |
|---|---|---|
![]() CIMB eCard |
RM1,667 |
0.96 Enrich 0.80^ Alt Miles |
![]() Maybank Platinum Charge |
Uncapped | 0.71 MPR |
![]() Maybank KrisFlyer AMEX Platinum |
Uncapped | 0.50 MPR |
![]() Alliance Bank Visa Virtual |
RM3,000 |
0.53 MPR (Online) |
![]() UOB Lazada Card |
RM500 | 0.36 KF / Asia Miles |
Get More Miles with Petrol Loyalty Programs
Most of us are already familiar with BonusLink and Mesra. What many may not realise is that these points can also be converted into Enrich Points. Shell (BonusLink), Petronas (Mesra), and Petron (Petron Miles) all allow conversions to Enrich Points. Here are the conversion rates:
| Loyalty Program |
Points/Litre | MPR (Enrich) |
|---|---|---|
|
3x MRP/Litre (Hero) 2x MRP/Litre (Explorer) 1.5x MRP/Litre (Junior) |
0.17 0.11 0.08 |
|
3x BLP/Litre (Platinum) 2x BLP/Litre (Gold) 1.5x BLP/Litre (Silver) |
0.23 0.15 0.12 |
|
2x PM/Litre | 0.25 |
Earn rates assumes Budi95 discounted fuel price at RM1.99/L
1. Mesra: Rates shown are promotional earn rates on Setel until 30 June 2026
2. BonusLink: For all fuel types except Shell V-Power, which earns more BL
3. Petron:For all fuel types except Blaze 100, which earns more PM
Mesra Rewards Points and BonusLink Points have tiered earn rates. You earn more only as you move up the membership levels. The MPRs are not that great, so if you are using Mesra or Bonuslink, we recommend utilizing their to ‘cash-out’ option instead (for credit/money). The value is simply better, especially for BonusLink.
You can even boost your BonusLink points earning rate further using the Ambank Bonuslink Visa Card, but that is the topic for another day.
That leaves us with Petron Miles with conversion rate of ~0.25 MPR, which is the best among the three in terms of Enrich MPR. If you just want to squeeze out most Enrich Points for fuel payments, then Petron is your friend.
Total Earn Rates with Petron Miles
For ease of reference, here are all the viable card options, together with the Petron Miles loyalty card and their effective MPR rates:
| Card | Payment Method | Base MPR | MPR with Petron Miles |
|---|---|---|---|
![]() CIMB eCard |
SpayLater Petron Voucher |
0.96 Enrich 0.80 Alt Miles |
1.21 Enrich/ 1.05 Mixed |
![]() Maybank Platinum Charge |
SpayLater Petron Voucher |
0.71 KF/ Asia Miles |
0.96 Mixed |
![]() Maybank KrisFlyer AMEX Platinum |
SpayLater Petron Voucher |
0.50 KF | 0.75 Mixed |
![]() Alliance Bank Visa Virtual |
E-wallet (Setel) Petron Voucher |
0.53 Enrich | 0.78 Enrich |
![]() UOB Lazada Card |
Petron Voucher |
0.36 KF/ Asia Miles |
0.61 Mixed |
![]() UOB World Card |
E-wallet (Setel) |
0.66^ KF/ Asia Miles |
0.91^ Mixed |
Conclusion
When it comes to petrol payments, Malaysians still have a number of solid ways to earn miles. If your goal is to squeeze out the maximum amount of miles, Petron is the way to go.
If you care more about overall value, Shell with BonusLink makes more sense. And if you just want pure convenience and just tap a few buttons on your phone to refuel, then Setel is the smart choice.
At the end of the day, many of us are not going to spend more than RM600 a month on petrol anyway, which is the current Budi95 quota from the government. Depending on where you are in life, sometimes it may not make sense to over-optimize for something that is a smaller fraction of your monthly spend. Just pick one setup and you should be good – you won’t miss out too much in terms of miles.
Do you know other ways to earn miles on petrol transactions? Join our BolehMiles Telegram and share it with the community. See you in the next post!





