Maybank2u and MAE

Tested on real notifications v2 By PayPing community

Parser Rules (7)

mae.sent-title.v1
Priority: 400 Money Out
Match Title:
^Maybank2u: Card Transaction$
Extract amount:
(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\$|US\$|S\$|A\$|¥|£|€|\$|[A-Z]{3})\s?(?<amount>[\d,]+\.?\d{0,2})
Extract counterparty:
at (?<counterparty>.+?) with your
mae.transfer-named-account.v1
Priority: 395 Money Out
Match Title:
^Maybank2u: Transfer$
Match Body:
loan account ending|to [A-Z]+'s
Extract amount:
(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\$|US\$|S\$|A\$|¥|£|€|\$|[A-Z]{3})\s?(?<amount>[\d,]+\.?\d{0,2})
Extract counterparty:
(?:You've transferred|Your transfer of|You've paid) [A-Z$¥£€]{1,3}\s?[\d,.]+ to (?:the |)(?<counterparty>.+?)(?:'s .*account ending| account ending)
Extract reference:
REF:\s?(?<reference>[A-Z0-9]+)
mae.transfer.v1
Priority: 390 Money Out
Match Title:
^Maybank2u: Transfer$
Extract amount:
(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\$|US\$|S\$|A\$|¥|£|€|\$|[A-Z]{3})\s?(?<amount>[\d,]+\.?\d{0,2})
Extract counterparty:
(?:You've transferred|Your transfer of|You've paid) [A-Z$¥£€]{1,3}\s?[\d,.]+ to (?:the |)(?<counterparty>.+?)(?: 's |\. | ).*account ending
Extract reference:
REF:\s?(?<reference>[A-Z0-9]+)
mae.scanpay-received.v1
Priority: 380 Money In
Match Title:
^Maybank2u: Scan & Pay$
Match Body:
You've received
Extract amount:
(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\$|US\$|S\$|A\$|¥|£|€|\$|[A-Z]{3})\s?(?<amount>[\d,]+\.?\d{0,2})
Extract counterparty:
from (?<counterparty>.+?):
mae.sent-body.v1
Priority: 370 Money Out
Match Title:
^Maybank2u: Scan & Pay$
Match Body:
Successful payment of|You've transferred|You have successfully paid
Extract amount:
(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\$|US\$|S\$|A\$|¥|£|€|\$|[A-Z]{3})\s?(?<amount>[\d,]+\.?\d{0,2})
Extract counterparty:
(?:Successful payment of|You've transferred|You have successfully paid) [A-Z$¥£€]{1,3}\s?[\d,.]+ to (?<counterparty>.+?)(?:\s?\.\s?REF|:| on \d)
Extract reference:
REF:\s?(?<reference>[A-Z0-9]+)
mae.received-title.v1
Priority: 360 Money In
Match Title:
^Maybank2u: Funds Received$
Match Body:
You.ve just received
Extract amount:
(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\$|US\$|S\$|A\$|¥|£|€|\$|[A-Z]{3})\s?(?<amount>[\d,]+\.?\d{0,2})
mae.unmatched.v1
Priority: -100 Non-financial / Info
Match Title:
.*

Tested Sample Notifications

These real anonymised notification formats were verified against the reference labeller.

real life #3: Maybank2u: Card Transaction
Title: Maybank2u: Card Transaction
Body: You've just spent RM 15.46 at CAFE LANGIT with your Maybank Debit Card Visa ending 7828. View your receipt now.
Direction: out Amount: RM 15.46 Counterparty: CAFE LANGIT
real life #4: Maybank2u: Card Transaction
Title: Maybank2u: Card Transaction
Body: You've just spent RM 7.71 at RESTORAN SELERA with your Maybank Debit Card Visa ending 9136. View your receipt now.
Direction: out Amount: RM 7.71 Counterparty: RESTORAN SELERA
real life #223: Maybank2u: Secure2u
Title: Maybank2u: Secure2u
Body: Your Secure2u will be activated in two hours on a new device Pixel 8 Pro, Pixel8Pro. Not you? Call 03-26158888.
Direction: info

Supported Apps

Android Package:
com.maybank2u.life
iOS App Name:
MAE, Maybank2u
Schema Version:
1

How to Import in App

  1. Click Copy JSON above.
  2. Open PayPing Lite on your phone.
  3. Open the Bank Rules tab.
  4. Tap + Add Bank Rule and paste.

Report an Issue / New Samples

If your bank modified their notification phrasing or if this parser missed a transaction, please share an anonymised sample!

Submit on GitHub

Raw JSON Definition

{
  "schemaVersion": 1,
  "id": "mae",
  "name": "Maybank2u and MAE",
  "version": 2,
  "author": "PayPing community",
  "description": "Real-notification starter for Maybank2u card, transfer, Scan & Pay and funds-received alerts.",
  "androidPackages": ["com.maybank2u.life"],
  "iosAppNames": ["MAE", "Maybank2u"],
  "rules": [
    {
      "id": "mae.sent-title.v1",
      "priority": 400,
      "match": { "title": "^Maybank2u: Card Transaction$" },
      "direction": "out",
      "extract": {
        "amount": "(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\\$|US\\$|S\\$|A\\$|¥|£|€|\\$|[A-Z]{3})\\s?(?<amount>[\\d,]+\\.?\\d{0,2})",
        "counterparty": "at (?<counterparty>.+?) with your"
      }
    },
    {
      "id": "mae.transfer-named-account.v1",
      "priority": 395,
      "match": { "title": "^Maybank2u: Transfer$", "body": "loan account ending|to [A-Z]+'s " },
      "direction": "out",
      "extract": {
        "amount": "(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\\$|US\\$|S\\$|A\\$|¥|£|€|\\$|[A-Z]{3})\\s?(?<amount>[\\d,]+\\.?\\d{0,2})",
        "counterparty": "(?:You've transferred|Your transfer of|You've paid) [A-Z$¥£€]{1,3}\\s?[\\d,.]+ to (?:the |)(?<counterparty>.+?)(?:'s .*account ending| account ending)",
        "reference": "REF:\\s?(?<reference>[A-Z0-9]+)"
      }
    },
    {
      "id": "mae.transfer.v1",
      "priority": 390,
      "match": { "title": "^Maybank2u: Transfer$" },
      "direction": "out",
      "extract": {
        "amount": "(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\\$|US\\$|S\\$|A\\$|¥|£|€|\\$|[A-Z]{3})\\s?(?<amount>[\\d,]+\\.?\\d{0,2})",
        "counterparty": "(?:You've transferred|Your transfer of|You've paid) [A-Z$¥£€]{1,3}\\s?[\\d,.]+ to (?:the |)(?<counterparty>.+?)(?: 's |\\. | ).*account ending",
        "reference": "REF:\\s?(?<reference>[A-Z0-9]+)"
      }
    },
    {
      "id": "mae.scanpay-received.v1",
      "priority": 380,
      "match": { "title": "^Maybank2u: Scan & Pay$", "body": "You've received" },
      "direction": "in",
      "extract": {
        "amount": "(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\\$|US\\$|S\\$|A\\$|¥|£|€|\\$|[A-Z]{3})\\s?(?<amount>[\\d,]+\\.?\\d{0,2})",
        "counterparty": "from (?<counterparty>.+?):"
      }
    },
    {
      "id": "mae.sent-body.v1",
      "priority": 370,
      "match": {
        "title": "^Maybank2u: Scan & Pay$",
        "body": "Successful payment of|You've transferred|You have successfully paid"
      },
      "direction": "out",
      "extract": {
        "amount": "(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\\$|US\\$|S\\$|A\\$|¥|£|€|\\$|[A-Z]{3})\\s?(?<amount>[\\d,]+\\.?\\d{0,2})",
        "counterparty": "(?:Successful payment of|You've transferred|You have successfully paid) [A-Z$¥£€]{1,3}\\s?[\\d,.]+ to (?<counterparty>.+?)(?:\\s?\\.\\s?REF|:| on \\d)",
        "reference": "REF:\\s?(?<reference>[A-Z0-9]+)"
      }
    },
    {
      "id": "mae.received-title.v1",
      "priority": 360,
      "match": { "title": "^Maybank2u: Funds Received$", "body": "You.ve just received" },
      "direction": "in",
      "extract": {
        "amount": "(?<currency>RM|MYR|IDR|NZD|AUD|SGD|USD|JPY|THB|EUR|GBP|JP¥|NZ\\$|US\\$|S\\$|A\\$|¥|£|€|\\$|[A-Z]{3})\\s?(?<amount>[\\d,]+\\.?\\d{0,2})"
      }
    },
    {
      "id": "mae.unmatched.v1",
      "priority": -100,
      "match": { "title": ".*" },
      "direction": "info",
      "confidence": "none"
    }
  ]
}