<?php

declare(strict_types=1);

namespace App\Platform\Shopee\Constants;

use Hyperf\Constants\Annotation\Constants;
use Hyperf\Constants\Annotation\Message;
use Hyperf\Constants\EnumConstantsTrait;

#[Constants]
enum PaymentMethod: int
{
    use EnumConstantsTrait;

    #[Message("Credit Card/Debit Card")]
    case CREDIT_CARD_DEBIT_CARD = 1;

    #[Message("Cash on Delivery")]
    case CASH_ON_DELIVERY = 2;

    #[Message("PayNow")]
    case PAYNOW = 3;

    #[Message("ShopeePay")]
    case SHOPEEPAY = 4;

    #[Message("Apple Pay")]
    case APPLE_PAY = 5;

    #[Message("Google Pay")]
    case GOOGLE_PAY = 6;

    #[Message("DBS PayLah!")]
    case DBS_PAYLAH = 7;

    #[Message("JKO Pay")]
    case JKO_PAY = 8;

    #[Message("Bank Transfer")]
    case BANK_TRANSFER = 9;

    #[Message("SPayLater")]
    case SPAYLATER = 10;

    #[Message("Linked Bank Account")]
    case LINKED_BANK_ACCOUNT = 11;

    #[Message("Mari Savings Account")]
    case MARI_SAVINGS_ACCOUNT = 12;

    #[Message("Credit / Debit Card")]
    case CREDIT_DEBIT_CARD = 13;

    #[Message("Online / Offline Payment")]
    case ONLINE_OFFLINE_PAYMENT = 14;

    #[Message("BPI Online")]
    case BPI_ONLINE = 15;

    #[Message("Payment waived")]
    case PAYMENT_WAIVED = 16;

    #[Message("SeaBank")]
    case SEABANK = 17;

    #[Message("Online Payment")]
    case ONLINE_PAYMENT = 18;

    #[Message("Indomaret / i.Saku")]
    case INDOMARET_ISAKU = 19;

    #[Message("Credit Card Installment")]
    case CREDIT_CARD_INSTALLMENT = 20;

    #[Message("SeaBank Bayar Instan")]
    case SEABANK_BAYAR_INSTAN = 21;

    #[Message("Alfamart / Alfamidi / Dan+Dan")]
    case ALFAMART_ALFAMIDI_DANDAN = 22;

    #[Message("BCA OneKlik")]
    case BCA_ONEKLIK = 23;

    #[Message("Mobile Banking")]
    case MOBILE_BANKING = 24;

    #[Message("QR Promptpay")]
    case QR_PROMPTPAY = 25;

    #[Message("ShopeePay Linked Bank Account")]
    case SHOPEEPAY_LINKED_BANK_ACCOUNT = 26;

    #[Message("Online Banking")]
    case ONLINE_BANKING = 27;

    #[Message("Maybank2u")]
    case MAYBANK2U = 28;

    #[Message("Cash Payment at Convenience Stores")]
    case CASH_PAYMENT_CONVENIENCE_STORES = 29;

    #[Message("Mari Credit")]
    case MARI_CREDIT = 30;

    #[Message("Credit Card Points")]
    case CREDIT_CARD_POINTS = 31;

    #[Message("Mari Credit Card Instant Checkout")]
    case MARI_CREDIT_CARD_INSTANT_CHECKOUT = 32;

    #[Message("Shopee Wallet")]
    case SHOPEE_WALLET = 33;

    #[Message("Cash Payment at Physical Stores")]
    case CASH_PAYMENT_PHYSICAL_STORES = 34;

    #[Message("ShopeePay Balance")]
    case SHOPEEPAY_BALANCE = 35;

    #[Message("BPI for Payment")]
    case BPI_FOR_PAYMENT = 36;

    #[Message("MariBank")]
    case MARIBANK = 37;

    #[Message("Domestic NAPAS Card")]
    case DOMESTIC_NAPAS_CARD = 38;

    #[Message("Other - Unknown or new payment method")]
    case OTHER = 255;
}
