From 31a266d77354a1a3a8a583253576f41ba042bcc5 Mon Sep 17 00:00:00 2001 From: Dan Nicole Lyton Fonte Date: Fri, 19 Jul 2024 10:15:06 +0800 Subject: [PATCH] Updated to Fiuu rebranding. --- README.md | 36 +- ...RMS_NORMAL.md => CHANGELOG_FIUU_NORMAL.md} | 4 + ...FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md} | 4 + ..._SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md} | 4 + .../images/Fiuu_Logo.png | Bin 0 -> 65783 bytes .../wc-fiuu.php} | 62 +- .../images/Fiuu_Logo.png | Bin 0 -> 65783 bytes .../wc-fiuu.php} | 64 +- .../README.md | 4 + .../images/ATMVA.png | Bin .../images/Atome.png | Bin .../images/BAY_IB_U.png | Bin .../images/BBL_IB_U.png | Bin .../images/BigC.png | Bin .../images/Crypto_tripleA.png | Bin .../images/Crypto_tripleA2.png | Bin .../images/ESUN-ATM.png | Bin .../images/ESUN-Cash-711.png | Bin .../images/ESUN-Cash-FamilyMart.png | Bin .../images/ESUN-CashHiLife.png | Bin .../images/FPX_B2B_ABB.png | Bin .../images/FPX_B2B_ABBM.png | Bin .../images/FPX_B2B_ABMB.png | Bin .../images/FPX_B2B_AMB.png | Bin .../images/FPX_B2B_BIMB.png | Bin .../images/FPX_B2B_BKRM.png | Bin .../images/FPX_B2B_BMMB.png | Bin .../images/FPX_B2B_BNP.png | Bin .../images/FPX_B2B_CIMB.png | Bin .../images/FPX_B2B_CITIBANK.png | Bin .../images/FPX_B2B_DEUTSCHE.png | Bin .../images/FPX_B2B_HLB.png | Bin .../images/FPX_B2B_HSBC.png | Bin .../images/FPX_B2B_KFH.png | Bin .../images/FPX_B2B_OCBC.png | Bin .../images/FPX_B2B_PBB.png | Bin .../images/FPX_B2B_PBBE.png | Bin .../images/FPX_B2B_RHB.png | Bin .../images/FPX_B2B_SCB.png | Bin .../images/FPX_B2B_UOB.png | Bin .../images/FPX_B2B_UOBR.png | Bin .../images/FPX_M2E.png | Bin .../images/Fiuu_Logo.png | Bin 0 -> 65783 bytes .../images/IOUPay-PW.png | Bin .../images/IOUPay-PW1.gif | Bin .../images/KBANK_PayPlus.png | Bin .../images/KTB_IB_U.png | Bin .../images/NGANLUONG.png | Bin .../images/OMISE_TL.png | Bin .../images/PayNow.png | Bin .../images/Point-BCard.png | Bin .../images/RelyPW.png | Bin .../images/SCB_IB_U.png | Bin .../images/UPOP.png | Bin .../images/WeChatPay.png | Bin .../images/affinonline.png | Bin .../images/alipay.png | Bin .../images/amb.png | Bin .../images/axs.png | Bin .../images/bankislam.png | Bin .../images/boost.png | Bin .../images/cash-711.png | Bin .../images/cimbclicks.png | Bin .../images/credit.png | Bin .../images/dragonpay.png | Bin .../images/enetsD.png | Bin .../images/fpx.png | Bin .../images/fpx_abb.png | Bin .../images/fpx_abmb.png | Bin .../images/fpx_amb.png | Bin .../images/fpx_bimb.png | Bin .../images/fpx_bkrm.png | Bin .../images/fpx_bmmb.png | Bin .../images/fpx_bsn.png | Bin .../images/fpx_cimbclicks.png | Bin .../images/fpx_hlb.png | Bin .../images/fpx_hsbc.png | Bin .../images/fpx_kfh.png | Bin .../images/fpx_mb2u.png | Bin .../images/fpx_ocbc.png | Bin .../images/fpx_pbb.png | Bin .../images/fpx_rhb.png | Bin .../images/fpx_scb.png | Bin .../images/fpx_uob.png | Bin .../images/grabpay.png | Bin .../images/hlb.png | Bin .../images/maybankQR.png | Bin .../images/paysbuy.png | Bin .../images/pbb.png | Bin .../images/razerpay.png | Bin .../images/rhb.png | Bin .../images/shopeepay_2.png | Bin .../images/singpost.png | Bin .../images/touchngo_ewallet.png | Bin .../images/wechatpay_my.png | Bin .../wc-fiuu.php} | 2708 ++++++++--------- .../images/ATMVA.png | Bin .../images/Fiuu_Logo.png | Bin 0 -> 65783 bytes .../images/NGANLUONG.png | Bin .../images/Point-BCard.png | Bin .../images/UPOP.png | Bin .../images/WeChatPay.png | Bin .../images/affinonline.png | Bin .../images/alipay.png | Bin .../images/amb.png | Bin .../images/bankislam.png | Bin .../images/boost.png | Bin .../images/cash-711.png | Bin .../images/cimbclicks.png | Bin .../images/credit.png | Bin .../images/dragonpay.png | Bin .../images/enetsD.png | Bin .../images/fpx.png | Bin .../images/fpx_abb.png | Bin .../images/fpx_abmb.png | Bin .../images/fpx_amb.png | Bin .../images/fpx_bimb.png | Bin .../images/fpx_bkrm.png | Bin .../images/fpx_bmmb.png | Bin .../images/fpx_bsn.png | Bin .../images/fpx_cimbclicks.png | Bin .../images/fpx_hlb.png | Bin .../images/fpx_hsbc.png | Bin .../images/fpx_kfh.png | Bin .../images/fpx_mb2u.png | Bin .../images/fpx_ocbc.png | Bin .../images/fpx_pbb.png | Bin .../images/fpx_rhb.png | Bin .../images/fpx_scb.png | Bin .../images/fpx_uob.png | Bin .../images/grabpay.png | Bin .../images/hlb.png | Bin .../images/maybankQR.png | Bin .../images/paysbuy.png | Bin .../images/pbb.png | Bin .../images/razerpay.png | Bin .../images/rhb.png | Bin .../images/singpost.png | Bin .../images/touchngo_ewallet.png | Bin .../images/wechatpay_my.png | Bin .../wc-fiuu.php} | 70 +- .../images/ATMVA.png | Bin .../images/Fiuu_Logo.png | Bin 0 -> 65783 bytes .../images/NGANLUONG.png | Bin .../images/Point-BCard.png | Bin .../images/UPOP.png | Bin .../images/WeChatPay.png | Bin .../images/affinonline.png | Bin .../images/alipay.png | Bin .../images/amb.png | Bin .../images/bankislam.png | Bin .../images/boost.png | Bin .../images/cash-711.png | Bin .../images/cimbclicks.png | Bin .../images/credit.png | Bin .../images/dragonpay.png | Bin .../images/enetsD.png | Bin .../images/fpx.png | Bin .../images/fpx_abb.png | Bin .../images/fpx_abmb.png | Bin .../images/fpx_amb.png | Bin .../images/fpx_bimb.png | Bin .../images/fpx_bkrm.png | Bin .../images/fpx_bmmb.png | Bin .../images/fpx_bsn.png | Bin .../images/fpx_cimbclicks.png | Bin .../images/fpx_hlb.png | Bin .../images/fpx_hsbc.png | Bin .../images/fpx_kfh.png | Bin .../images/fpx_mb2u.png | Bin .../images/fpx_ocbc.png | Bin .../images/fpx_pbb.png | Bin .../images/fpx_rhb.png | Bin .../images/fpx_scb.png | Bin .../images/fpx_uob.png | Bin .../images/grabpay.png | Bin .../images/hlb.png | Bin .../images/maybankQR.png | Bin .../images/molwallet.png | Bin .../images/paysbuy.png | Bin .../images/pbb.png | Bin .../images/razerpay.png | Bin .../images/rhb.png | Bin .../images/singpost.png | Bin .../images/touchngo_ewallet.png | Bin .../images/wechatpay_my.png | Bin .../wc-fiuu.php} | 70 +- .../README.md | 4 + .../images/ALFA.png | Bin .../images/Artajasa.png | Bin .../images/BCA.png | Bin .../images/BNI.png | Bin .../images/BRI.png | Bin .../images/CIMBClicks.png | Bin .../images/CIMBNiaga.png | Bin .../images/CIMBOctoClicks.png | Bin .../images/CIMB_Rekening_Ponsel.png | Bin .../images/CIMB_VA.png | Bin .../images/DANA.png | Bin .../images/Fiuu_Logo.png | Bin 0 -> 65783 bytes .../images/Indomaret.png | Bin .../images/LINKAJA.png | Bin .../images/NUCash.png | Bin .../images/OVO.png | Bin .../images/Permata.png | Bin .../images/SHOPEEPAY.png | Bin .../images/credit.png | Bin .../images/danamon.png | Bin .../images/doku_maybank.png | Bin .../images/kredivo.png | Bin .../images/mandiri.png | Bin .../images/muamalat.png | Bin .../wc-fiuu.php} | 1696 +++++------ .../images/logo_RazerMerchantServices.png | Bin 6374 -> 0 bytes .../images/logo_RazerMerchantServices.png | Bin 6374 -> 0 bytes .../images/logo_RazerMerchantServices.png | Bin 6374 -> 0 bytes .../images/logo_RazerMerchantServices.png | Bin 6374 -> 0 bytes .../images/logo_RazerMerchantServices.png | Bin 6374 -> 0 bytes .../images/logo_RazerMerchantServices.png | Bin 6374 -> 0 bytes 219 files changed, 2373 insertions(+), 2353 deletions(-) rename WooCommerce/{CHANGELOG_RMS_NORMAL.md => CHANGELOG_FIUU_NORMAL.md} (97%) rename WooCommerce/{CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md => CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md} (95%) rename WooCommerce/{CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md => CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md} (96%) create mode 100644 WooCommerce/woocommerce_fiuu_normal/images/Fiuu_Logo.png rename WooCommerce/{woocommerce_rms_normal/wc-molpay.php => woocommerce_fiuu_normal/wc-fiuu.php} (87%) create mode 100644 WooCommerce/woocommerce_fiuu_normal_id/images/Fiuu_Logo.png rename WooCommerce/{woocommerce_rms_normal_id/wc-molpay.php => woocommerce_fiuu_normal_id/wc-fiuu.php} (85%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/README.md (98%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/ATMVA.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/Atome.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/BAY_IB_U.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/BBL_IB_U.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/BigC.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/Crypto_tripleA.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/Crypto_tripleA2.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/ESUN-ATM.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/ESUN-Cash-711.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/ESUN-Cash-FamilyMart.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/ESUN-CashHiLife.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_ABB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_ABBM.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_ABMB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_AMB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_BIMB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_BKRM.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_BMMB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_BNP.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_CIMB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_CITIBANK.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_DEUTSCHE.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_HLB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_HSBC.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_KFH.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_OCBC.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_PBB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_PBBE.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_RHB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_SCB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_UOB.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_B2B_UOBR.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/FPX_M2E.png (100%) create mode 100644 WooCommerce/woocommerce_fiuu_seamless/images/Fiuu_Logo.png rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/IOUPay-PW.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/IOUPay-PW1.gif (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/KBANK_PayPlus.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/KTB_IB_U.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/NGANLUONG.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/OMISE_TL.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/PayNow.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/Point-BCard.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/RelyPW.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/SCB_IB_U.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/UPOP.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/WeChatPay.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/affinonline.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/alipay.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/amb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/axs.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/bankislam.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/boost.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/cash-711.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/cimbclicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/credit.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/dragonpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/enetsD.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_abb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_abmb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_amb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_bimb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_bkrm.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_bmmb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_bsn.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_cimbclicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_hlb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_hsbc.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_kfh.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_mb2u.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_ocbc.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_pbb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_rhb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_scb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/fpx_uob.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/grabpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/hlb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/maybankQR.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/paysbuy.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/pbb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/razerpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/rhb.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/shopeepay_2.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/singpost.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/touchngo_ewallet.png (100%) rename WooCommerce/{woocommerce_rms_seamless => woocommerce_fiuu_seamless}/images/wechatpay_my.png (100%) rename WooCommerce/{woocommerce_rms_seamless/wc-molpay.php => woocommerce_fiuu_seamless/wc-fiuu.php} (95%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/ATMVA.png (100%) create mode 100644 WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/Fiuu_Logo.png rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/NGANLUONG.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/Point-BCard.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/UPOP.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/WeChatPay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/affinonline.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/alipay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/amb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/bankislam.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/boost.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/cash-711.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/cimbclicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/credit.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/dragonpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/enetsD.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_abb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_abmb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_amb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_bimb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_bkrm.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_bmmb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_bsn.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_cimbclicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_hlb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_hsbc.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_kfh.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_mb2u.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_ocbc.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_pbb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_rhb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_scb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/fpx_uob.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/grabpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/hlb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/maybankQR.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/paysbuy.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/pbb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/razerpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/rhb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/singpost.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/touchngo_ewallet.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers => woocommerce_fiuu_seamless_for_sequential_order_numbers}/images/wechatpay_my.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers/wc-molpay.php => woocommerce_fiuu_seamless_for_sequential_order_numbers/wc-fiuu.php} (93%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/ATMVA.png (100%) create mode 100644 WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/Fiuu_Logo.png rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/NGANLUONG.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/Point-BCard.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/UPOP.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/WeChatPay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/affinonline.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/alipay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/amb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/bankislam.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/boost.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/cash-711.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/cimbclicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/credit.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/dragonpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/enetsD.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_abb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_abmb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_amb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_bimb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_bkrm.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_bmmb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_bsn.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_cimbclicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_hlb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_hsbc.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_kfh.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_mb2u.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_ocbc.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_pbb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_rhb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_scb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/fpx_uob.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/grabpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/hlb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/maybankQR.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/molwallet.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/paysbuy.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/pbb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/razerpay.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/rhb.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/singpost.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/touchngo_ewallet.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro}/images/wechatpay_my.png (100%) rename WooCommerce/{woocommerce_rms_seamless_for_sequential_order_numbers_pro/wc-molpay.php => woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/wc-fiuu.php} (93%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/README.md (98%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/ALFA.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/Artajasa.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/BCA.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/BNI.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/BRI.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/CIMBClicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/CIMBNiaga.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/CIMBOctoClicks.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/CIMB_Rekening_Ponsel.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/CIMB_VA.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/DANA.png (100%) create mode 100644 WooCommerce/woocommerce_fiuu_seamless_id/images/Fiuu_Logo.png rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/Indomaret.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/LINKAJA.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/NUCash.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/OVO.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/Permata.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/SHOPEEPAY.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/credit.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/danamon.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/doku_maybank.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/kredivo.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/mandiri.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id => woocommerce_fiuu_seamless_id}/images/muamalat.png (100%) rename WooCommerce/{woocommerce_rms_seamless_id/wc-molpay.php => woocommerce_fiuu_seamless_id/wc-fiuu.php} (90%) delete mode 100644 WooCommerce/woocommerce_rms_normal/images/logo_RazerMerchantServices.png delete mode 100644 WooCommerce/woocommerce_rms_normal_id/images/logo_RazerMerchantServices.png delete mode 100644 WooCommerce/woocommerce_rms_seamless/images/logo_RazerMerchantServices.png delete mode 100644 WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/logo_RazerMerchantServices.png delete mode 100644 WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/logo_RazerMerchantServices.png delete mode 100644 WooCommerce/woocommerce_rms_seamless_id/images/logo_RazerMerchantServices.png diff --git a/README.md b/README.md index c45ea79..3d97089 100644 --- a/README.md +++ b/README.md @@ -3,19 +3,19 @@ -Razer Merchant Services Plugin for Wordpress developed by RMS technical team. +Fiuu Plugin for Wordpress developed by RMS technical team. Introduction ----- -This is Razer Merchant Services Woocommerce Plugin for Wordpress and ClassicPress Plugin for eCommerce. WooCommerce is an ecommerce plugin for WordPress. It makes creating and managing an online store simple, with reasonable levels of flexibility and several vital features such as inventory and tax management, secure payments and shipping integration +This is Fiuu Woocommerce Plugin for Wordpress and ClassicPress Plugin for eCommerce. WooCommerce is an ecommerce plugin for WordPress. It makes creating and managing an online store simple, with reasonable levels of flexibility and several vital features such as inventory and tax management, secure payments and shipping integration Notes / Prerequisite ----- -Razer Merchant Services is not responsible for any problems that might arise from the use of this module. +Fiuu is not responsible for any problems that might arise from the use of this module. Use at your own risk. Please backup any critical data before proceeding. For any query or -assistance, please email support-sa@razer.com. +assistance, please email support-sa@fiuu.com. Installations Guidance for Wordpress Plugin @@ -39,28 +39,28 @@ You can contribute to this plugin by sending the pull request to this repository ## Resources -- GitHub: https://github.com/RazerMS -- Website: https://merchant.razer.com/ -- Twitter: https://twitter.com/Razer_MS -- YouTube: https://www.youtube.com/c/RazerMerchantServices -- Facebook: https://www.facebook.com/RazerMerchantServices/ -- Instagram: https://www.instagram.com/RazerMerchantServices/ +- GitHub: https://github.com/FiuuPayment +- Website: https://fiuu.com/ +- X: https://x.com/FiuuPayment +- YouTube: https://www.youtube.com/@FiuuPayment +- Facebook: https://www.facebook.com/FiuuPayment +- Instagram: https://www.instagram.com/fiuupayment Issues ------------ -Submit issue to this repository or email to our support-sa@razer.com +Submit issue to this repository or email to our support-sa@fiuu.com Contact Support ------- -Merchant Technical Support / Customer Care : support-sa@razer.com
-Sales/Reseller Enquiry : sales-sa@razer.com
-Marketing Campaign : marketing-sa@razer.com
-Channel/Partner Enquiry : channel-sa@razer.com
-Media Contact : media-sa@razer.com
-R&D and Tech-related Suggestion : technical-sa@razer.com
-Abuse Reporting : abuse-sa@razer.com +Merchant Technical Support / Customer Care : support-sa@fiuu.com
+Sales/Reseller Enquiry : sales-sa@fiuu.com
+Marketing Campaign : marketing-sa@fiuu.com
+Channel/Partner Enquiry : channel-sa@fiuu.com
+Media Contact : media-sa@fiuu.com
+R&D and Tech-related Suggestion : technical-sa@fiuu.com
+Abuse Reporting : abuse-sa@fiuu.com diff --git a/WooCommerce/CHANGELOG_RMS_NORMAL.md b/WooCommerce/CHANGELOG_FIUU_NORMAL.md similarity index 97% rename from WooCommerce/CHANGELOG_RMS_NORMAL.md rename to WooCommerce/CHANGELOG_FIUU_NORMAL.md index f60f825..608a85f 100644 --- a/WooCommerce/CHANGELOG_RMS_NORMAL.md +++ b/WooCommerce/CHANGELOG_FIUU_NORMAL.md @@ -1,5 +1,9 @@ # Change log for WooCommerce Razer Merchant Services Normal Plugin +## Company Rebranding - July 19, 2024 + +- Rebranded to Fiuu + ## v3.0.2 - July 14, 2020 **Bug Fix:** diff --git a/WooCommerce/CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md b/WooCommerce/CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md similarity index 95% rename from WooCommerce/CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md rename to WooCommerce/CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md index 3995aa1..d47c93c 100644 --- a/WooCommerce/CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md +++ b/WooCommerce/CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS.md @@ -1,5 +1,9 @@ # Change log for WooCommerce Razer Merchant Services Seamless Plugin for Sequential Order Numbers +## Company Rebranding - July 19, 2024 + +- Rebranded to Fiuu + ## v3.0.1 - Apr 21, 2020 - Release version 3.0.1 diff --git a/WooCommerce/CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md b/WooCommerce/CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md similarity index 96% rename from WooCommerce/CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md rename to WooCommerce/CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md index 2bbc06f..22ee409 100644 --- a/WooCommerce/CHANGELOG_RMS_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md +++ b/WooCommerce/CHANGELOG_FIUU_SEAMLESS_SEQUENTIAL_ORDER_NUMBERS_PRO.md @@ -1,5 +1,9 @@ # Change log for WooCommerce Razer Merchant Services Seamless Plugin for Sequential Order Numbers Pro +## Company Rebranding - July 19, 2024 + +- Rebranded to Fiuu + ## v3.0.1 - Apr 21, 2020 - Release version 3.0.1 diff --git a/WooCommerce/woocommerce_fiuu_normal/images/Fiuu_Logo.png b/WooCommerce/woocommerce_fiuu_normal/images/Fiuu_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f196e14a579c9fe90aca63eae26790c7ce367858 GIT binary patch literal 65783 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�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 Y3FmOPy48dYJjD+)GudREWylQvA0hrEU;qFB literal 0 HcmV?d00001 diff --git a/WooCommerce/woocommerce_rms_normal/wc-molpay.php b/WooCommerce/woocommerce_fiuu_normal/wc-fiuu.php similarity index 87% rename from WooCommerce/woocommerce_rms_normal/wc-molpay.php rename to WooCommerce/woocommerce_fiuu_normal/wc-fiuu.php index 4d94f29..06702d7 100644 --- a/WooCommerce/woocommerce_rms_normal/wc-molpay.php +++ b/WooCommerce/woocommerce_fiuu_normal/wc-fiuu.php @@ -1,22 +1,22 @@ + * @author Fiuu Technical Team * @version 7.7.0 * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway */ /** - * Plugin Name: WooCommerce Razer Merchant Services Normal + * Plugin Name: WooCommerce Fiuu Normal * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress - * Description: WooCommerce Razer Merchant Services | The leading payment gateway in South East Asia Grow your business with Razer Merchant Services payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce - * Author: Razer Merchant Services Tech Team + * Description: WooCommerce Fiuu | The leading payment gateway in South East Asia Grow your business with Fiuu payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce + * Author: Fiuu Tech Team * Author URI: https://merchant.razer.com/ * Version: 7.7.0 * License: MIT - * Text Domain: wcmolpay + * Text Domain: wc-fiuu * Domain Path: /languages/ * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway @@ -29,7 +29,7 @@ */ function wcmolpay_woocommerce_fallback_notice() { $message = '
'; - $message .= '

' . __( 'WooCommerce Razer Merchant Services Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; + $message .= '

' . __( 'WooCommerce Fiuu Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; $message .= '
'; echo $message; } @@ -38,7 +38,7 @@ function wcmolpay_woocommerce_fallback_notice() { add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); /** - * Load Razer Merchant Services gateway plugin function + * Load Fiuu gateway plugin function * * @return mixed */ @@ -54,7 +54,7 @@ function wcmolpay_gateway_load() { add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); /** - * Add Razer Merchant Services gateway to ensure WooCommerce can load it + * Add Fiuu gateway to ensure WooCommerce can load it * * @param array $methods * @return array @@ -65,13 +65,13 @@ function wcmolpay_add_gateway( $methods ) { } /** - * Define the Razer Merchant Services gateway + * Define the Fiuu gateway * */ class WC_Molpay_Gateway extends WC_Payment_Gateway { /** - * Construct the Razer Merchant Services gateway class + * Construct the Fiuu gateway class * * @global mixed $woocommerce */ @@ -79,10 +79,10 @@ public function __construct() { global $woocommerce; $this->id = 'molpay'; - $this->icon = plugins_url( 'images/logo_RazerMerchantServices.png', __FILE__ ); + $this->icon = plugins_url( 'images/Fiuu_Logo.png', __FILE__ ); $this->has_fields = false; - $this->method_title = __( 'Razer Merchant Services', 'wcmolpay' ); - $this->method_description = __( 'Proceed payment via Razer Merchant Services Normal Integration Plugin', 'woocommerce' ); + $this->method_title = __( 'Fiuu', 'wcmolpay' ); + $this->method_description = __( 'Proceed payment via Fiuu Normal Integration Plugin', 'woocommerce' ); // Load the form fields. $this->init_form_fields(); @@ -191,8 +191,8 @@ public function is_valid_for_use() { */ public function admin_options() { ?> -

-

+

+

generate_settings_html(); ?>
@@ -208,7 +208,7 @@ public function init_form_fields() { 'enabled' => array( 'title' => __( 'Enable/Disable', 'wcmolpay' ), 'type' => 'checkbox', - 'label' => __( 'Enable Razer Merchant Services', 'wcmolpay' ), + 'label' => __( 'Enable Fiuu', 'wcmolpay' ), 'default' => 'yes' ), 'ordering_plugin' => array( @@ -228,7 +228,7 @@ public function init_form_fields() { 'title' => __( 'Title', 'wcmolpay' ), 'type' => 'text', 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ), + 'default' => __( 'Fiuu', 'wcmolpay' ), 'desc_tip' => true, ), 'payment_title' => array( @@ -243,25 +243,25 @@ public function init_form_fields() { 'title' => __( 'Description', 'wcmolpay' ), 'type' => 'textarea', 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Pay with Razer Merchant Services', 'wcmolpay' ), + 'default' => __( 'Pay with Fiuu', 'wcmolpay' ), 'desc_tip' => true, ), 'merchant_id' => array( 'title' => __( 'Merchant ID', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'verify_key' => array( 'title' => __( 'Verify Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'secret_key' => array( 'title' => __( 'Secret Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'account_type' => array( @@ -365,7 +365,7 @@ public function receipt_page( $order ) { } /** - * Check for Razer Merchant Services Response + * Check for Fiuu Response * * @access public * @return void @@ -380,7 +380,7 @@ function check_ipn_response() { } else if ( $_POST['nbcb']=='2' ) { do_action ( "valid_molpay_request_notification", $_POST ); } else { - wp_die( "Razer Merchant Services Request Failure" ); + wp_die( "Fiuu Request Failure" ); } } @@ -461,7 +461,7 @@ function check_molpay_response_callback() { */ public function merchant_id_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -472,7 +472,7 @@ public function merchant_id_missing_message() { */ public function verify_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -483,7 +483,7 @@ public function verify_key_missing_message() { */ public function secret_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -494,7 +494,7 @@ public function secret_key_missing_message() { */ public function account_type_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -542,7 +542,7 @@ public function inquiry_status($tranID, $amount, $domain) { } /** - * Update Cart based on Razer Merchant Services status + * Update Cart based on Fiuu status * * @global mixed $woocommerce * @param int $order_id @@ -602,11 +602,11 @@ public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $refere $getStatus = $order->get_status(); if(!in_array($getStatus,array('processing','completed'))) { - $order->add_order_note('Razer Merchant Services Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); + $order->add_order_note('Fiuu Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); if ($MOLPay_status == "00") { $order->payment_complete(); } else { - $order->update_status($W_status, sprintf(__('Payment %s via Razer Merchant Services.', 'woocommerce'), $tranID ) ); + $order->update_status($W_status, sprintf(__('Payment %s via Fiuu.', 'woocommerce'), $tranID ) ); } if ($this->payment_title == 'yes') { $paytitle = $this->payment_titles[strtolower($channel)]; diff --git a/WooCommerce/woocommerce_fiuu_normal_id/images/Fiuu_Logo.png b/WooCommerce/woocommerce_fiuu_normal_id/images/Fiuu_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f196e14a579c9fe90aca63eae26790c7ce367858 GIT binary patch literal 65783 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�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 Y3FmOPy48dYJjD+)GudREWylQvA0hrEU;qFB literal 0 HcmV?d00001 diff --git a/WooCommerce/woocommerce_rms_normal_id/wc-molpay.php b/WooCommerce/woocommerce_fiuu_normal_id/wc-fiuu.php similarity index 85% rename from WooCommerce/woocommerce_rms_normal_id/wc-molpay.php rename to WooCommerce/woocommerce_fiuu_normal_id/wc-fiuu.php index 84fb699..5576de4 100644 --- a/WooCommerce/woocommerce_rms_normal_id/wc-molpay.php +++ b/WooCommerce/woocommerce_fiuu_normal_id/wc-fiuu.php @@ -1,22 +1,22 @@ + * @author Fiuu Technical Team * @version 3.0.2 * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway */ /** - * Plugin Name: WooCommerce Razer Merchant Services Normal + * Plugin Name: WooCommerce Fiuu Normal * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress - * Description: WooCommerce Razer Merchant Services | The leading payment gateway in South East Asia Grow your business with Razer Merchant Services payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce - * Author: Razer Merchant Services Tech Team + * Description: WooCommerce Fiuu | The leading payment gateway in South East Asia Grow your business with Fiuu payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce + * Author: Fiuu Tech Team * Author URI: https://merchant.razer.com/ * Version: 3.0.2 * License: MIT - * Text Domain: wcmolpay + * Text Domain: wc-fiuu * Domain Path: /languages/ * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway @@ -29,7 +29,7 @@ */ function wcmolpay_woocommerce_fallback_notice() { $message = '
'; - $message .= '

' . __( 'WooCommerce Razer Merchant Services Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; + $message .= '

' . __( 'WooCommerce Fiuu Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; $message .= '
'; echo $message; } @@ -38,7 +38,7 @@ function wcmolpay_woocommerce_fallback_notice() { add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); /** - * Load Razer Merchant Services gateway plugin function + * Load Fiuu gateway plugin function * * @return mixed */ @@ -54,7 +54,7 @@ function wcmolpay_gateway_load() { add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); /** - * Add Razer Merchant Services gateway to ensure WooCommerce can load it + * Add Fiuu gateway to ensure WooCommerce can load it * * @param array $methods * @return array @@ -65,13 +65,13 @@ function wcmolpay_add_gateway( $methods ) { } /** - * Define the Razer Merchant Services gateway + * Define the Fiuu gateway * */ class WC_Molpay_Gateway extends WC_Payment_Gateway { /** - * Construct the Razer Merchant Services gateway class + * Construct the Fiuu gateway class * * @global mixed $woocommerce */ @@ -79,10 +79,10 @@ public function __construct() { global $woocommerce; $this->id = 'molpay'; - $this->icon = plugins_url( 'images/logo_RazerMerchantServices.png', __FILE__ ); + $this->icon = plugins_url( 'images/Fiuu_Logo.png', __FILE__ ); $this->has_fields = false; - $this->method_title = __( 'Razer Merchant Services', 'wcmolpay' ); - $this->method_description = __( 'Proceed payment via Razer Merchant Services Normal Integration Plugin', 'woocommerce' ); + $this->method_title = __( 'Fiuu', 'wcmolpay' ); + $this->method_description = __( 'Proceed payment via Fiuu Normal Integration Plugin', 'woocommerce' ); // Load the form fields. $this->init_form_fields(); @@ -168,8 +168,8 @@ public function is_valid_for_use() { */ public function admin_options() { ?> -

-

+

+

generate_settings_html(); ?>
@@ -185,7 +185,7 @@ public function init_form_fields() { 'enabled' => array( 'title' => __( 'Enable/Disable', 'wcmolpay' ), 'type' => 'checkbox', - 'label' => __( 'Enable Razer Merchant Services', 'wcmolpay' ), + 'label' => __( 'Enable Fiuu', 'wcmolpay' ), 'default' => 'yes' ), 'ordering_plugin' => array( @@ -205,7 +205,7 @@ public function init_form_fields() { 'title' => __( 'Title', 'wcmolpay' ), 'type' => 'text', 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ), + 'default' => __( 'Fiuu', 'wcmolpay' ), 'desc_tip' => true, ), 'payment_title' => array( @@ -220,25 +220,25 @@ public function init_form_fields() { 'title' => __( 'Description', 'wcmolpay' ), 'type' => 'textarea', 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Pay with Razer Merchant Services', 'wcmolpay' ), + 'default' => __( 'Pay with Fiuu', 'wcmolpay' ), 'desc_tip' => true, ), 'merchant_id' => array( 'title' => __( 'Merchant ID', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'verify_key' => array( 'title' => __( 'Verify Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'secret_key' => array( 'title' => __( 'Secret Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'account_type' => array( @@ -301,7 +301,7 @@ public function generate_form( $order_id ) { ." I have read and agree to the Terms & Conditions, Refund Policy and Privacy Policy." ."
" ."
" - . " " + . " " . "".__('Cancel order & restore cart', 'woothemes')."" //. "" . ""; @@ -343,7 +343,7 @@ public function receipt_page( $order ) { } /** - * Check for Razer Merchant Services Response + * Check for Fiuu Response * * @access public * @return void @@ -358,7 +358,7 @@ function check_ipn_response() { } else if ( $_POST['nbcb']=='2' ) { do_action ( "valid_molpay_request_notification", $_POST ); } else { - wp_die( "Razer Merchant Services Request Failure" ); + wp_die( "Fiuu Request Failure" ); } } @@ -439,7 +439,7 @@ function check_molpay_response_callback() { */ public function merchant_id_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -450,7 +450,7 @@ public function merchant_id_missing_message() { */ public function verify_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -461,7 +461,7 @@ public function verify_key_missing_message() { */ public function secret_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -472,7 +472,7 @@ public function secret_key_missing_message() { */ public function account_type_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -520,7 +520,7 @@ public function inquiry_status($tranID, $amount, $domain) { } /** - * Update Cart based on Razer Merchant Services status + * Update Cart based on Fiuu status * * @global mixed $woocommerce * @param int $order_id @@ -552,11 +552,11 @@ public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $refere $getStatus = $order->get_status(); if(!in_array($getStatus,array('processing','completed'))) { - $order->add_order_note('Razer Merchant Services Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); + $order->add_order_note('Fiuu Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); if ($MOLPay_status == "00") { $order->payment_complete(); } else { - $order->update_status($W_status, sprintf(__('Payment %s via Razer Merchant Services.', 'woocommerce'), $tranID ) ); + $order->update_status($W_status, sprintf(__('Payment %s via Fiuu.', 'woocommerce'), $tranID ) ); } if ($this->payment_title == 'yes') { $paytitle = $this->payment_titles[strtolower($channel)]; diff --git a/WooCommerce/woocommerce_rms_seamless/README.md b/WooCommerce/woocommerce_fiuu_seamless/README.md similarity index 98% rename from WooCommerce/woocommerce_rms_seamless/README.md rename to WooCommerce/woocommerce_fiuu_seamless/README.md index 09e1e54..b354ab5 100644 --- a/WooCommerce/woocommerce_rms_seamless/README.md +++ b/WooCommerce/woocommerce_fiuu_seamless/README.md @@ -1,5 +1,9 @@ # Change log for WooCommerce Razer Merchant Services Seamless Plugin +## Company Rebranding - July 19, 2024 + +Rebranded to Fiuu + ## v5.3.1 - Sep 7, 2021 **Updates:** diff --git a/WooCommerce/woocommerce_rms_seamless/images/ATMVA.png b/WooCommerce/woocommerce_fiuu_seamless/images/ATMVA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/ATMVA.png rename to WooCommerce/woocommerce_fiuu_seamless/images/ATMVA.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/Atome.png b/WooCommerce/woocommerce_fiuu_seamless/images/Atome.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/Atome.png rename to WooCommerce/woocommerce_fiuu_seamless/images/Atome.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/BAY_IB_U.png b/WooCommerce/woocommerce_fiuu_seamless/images/BAY_IB_U.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/BAY_IB_U.png rename to WooCommerce/woocommerce_fiuu_seamless/images/BAY_IB_U.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/BBL_IB_U.png b/WooCommerce/woocommerce_fiuu_seamless/images/BBL_IB_U.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/BBL_IB_U.png rename to WooCommerce/woocommerce_fiuu_seamless/images/BBL_IB_U.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/BigC.png b/WooCommerce/woocommerce_fiuu_seamless/images/BigC.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/BigC.png rename to WooCommerce/woocommerce_fiuu_seamless/images/BigC.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/Crypto_tripleA.png b/WooCommerce/woocommerce_fiuu_seamless/images/Crypto_tripleA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/Crypto_tripleA.png rename to WooCommerce/woocommerce_fiuu_seamless/images/Crypto_tripleA.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/Crypto_tripleA2.png b/WooCommerce/woocommerce_fiuu_seamless/images/Crypto_tripleA2.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/Crypto_tripleA2.png rename to WooCommerce/woocommerce_fiuu_seamless/images/Crypto_tripleA2.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/ESUN-ATM.png b/WooCommerce/woocommerce_fiuu_seamless/images/ESUN-ATM.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/ESUN-ATM.png rename to WooCommerce/woocommerce_fiuu_seamless/images/ESUN-ATM.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/ESUN-Cash-711.png b/WooCommerce/woocommerce_fiuu_seamless/images/ESUN-Cash-711.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/ESUN-Cash-711.png rename to WooCommerce/woocommerce_fiuu_seamless/images/ESUN-Cash-711.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/ESUN-Cash-FamilyMart.png b/WooCommerce/woocommerce_fiuu_seamless/images/ESUN-Cash-FamilyMart.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/ESUN-Cash-FamilyMart.png rename to WooCommerce/woocommerce_fiuu_seamless/images/ESUN-Cash-FamilyMart.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/ESUN-CashHiLife.png b/WooCommerce/woocommerce_fiuu_seamless/images/ESUN-CashHiLife.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/ESUN-CashHiLife.png rename to WooCommerce/woocommerce_fiuu_seamless/images/ESUN-CashHiLife.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_ABB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_ABB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_ABB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_ABB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_ABBM.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_ABBM.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_ABBM.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_ABBM.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_ABMB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_ABMB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_ABMB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_ABMB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_AMB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_AMB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_AMB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_AMB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BIMB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BIMB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BIMB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BIMB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BKRM.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BKRM.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BKRM.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BKRM.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BMMB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BMMB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BMMB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BMMB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BNP.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BNP.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_BNP.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_BNP.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_CIMB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_CIMB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_CIMB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_CIMB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_CITIBANK.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_CITIBANK.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_CITIBANK.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_CITIBANK.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_DEUTSCHE.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_DEUTSCHE.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_DEUTSCHE.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_DEUTSCHE.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_HLB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_HLB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_HLB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_HLB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_HSBC.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_HSBC.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_HSBC.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_HSBC.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_KFH.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_KFH.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_KFH.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_KFH.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_OCBC.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_OCBC.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_OCBC.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_OCBC.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_PBB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_PBB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_PBB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_PBB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_PBBE.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_PBBE.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_PBBE.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_PBBE.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_RHB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_RHB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_RHB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_RHB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_SCB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_SCB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_SCB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_SCB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_UOB.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_UOB.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_UOB.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_UOB.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_UOBR.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_UOBR.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_B2B_UOBR.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_B2B_UOBR.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/FPX_M2E.png b/WooCommerce/woocommerce_fiuu_seamless/images/FPX_M2E.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/FPX_M2E.png rename to WooCommerce/woocommerce_fiuu_seamless/images/FPX_M2E.png diff --git a/WooCommerce/woocommerce_fiuu_seamless/images/Fiuu_Logo.png b/WooCommerce/woocommerce_fiuu_seamless/images/Fiuu_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f196e14a579c9fe90aca63eae26790c7ce367858 GIT binary patch literal 65783 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�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 Y3FmOPy48dYJjD+)GudREWylQvA0hrEU;qFB literal 0 HcmV?d00001 diff --git a/WooCommerce/woocommerce_rms_seamless/images/IOUPay-PW.png b/WooCommerce/woocommerce_fiuu_seamless/images/IOUPay-PW.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/IOUPay-PW.png rename to WooCommerce/woocommerce_fiuu_seamless/images/IOUPay-PW.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/IOUPay-PW1.gif b/WooCommerce/woocommerce_fiuu_seamless/images/IOUPay-PW1.gif similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/IOUPay-PW1.gif rename to WooCommerce/woocommerce_fiuu_seamless/images/IOUPay-PW1.gif diff --git a/WooCommerce/woocommerce_rms_seamless/images/KBANK_PayPlus.png b/WooCommerce/woocommerce_fiuu_seamless/images/KBANK_PayPlus.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/KBANK_PayPlus.png rename to WooCommerce/woocommerce_fiuu_seamless/images/KBANK_PayPlus.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/KTB_IB_U.png b/WooCommerce/woocommerce_fiuu_seamless/images/KTB_IB_U.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/KTB_IB_U.png rename to WooCommerce/woocommerce_fiuu_seamless/images/KTB_IB_U.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/NGANLUONG.png b/WooCommerce/woocommerce_fiuu_seamless/images/NGANLUONG.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/NGANLUONG.png rename to WooCommerce/woocommerce_fiuu_seamless/images/NGANLUONG.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/OMISE_TL.png b/WooCommerce/woocommerce_fiuu_seamless/images/OMISE_TL.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/OMISE_TL.png rename to WooCommerce/woocommerce_fiuu_seamless/images/OMISE_TL.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/PayNow.png b/WooCommerce/woocommerce_fiuu_seamless/images/PayNow.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/PayNow.png rename to WooCommerce/woocommerce_fiuu_seamless/images/PayNow.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/Point-BCard.png b/WooCommerce/woocommerce_fiuu_seamless/images/Point-BCard.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/Point-BCard.png rename to WooCommerce/woocommerce_fiuu_seamless/images/Point-BCard.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/RelyPW.png b/WooCommerce/woocommerce_fiuu_seamless/images/RelyPW.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/RelyPW.png rename to WooCommerce/woocommerce_fiuu_seamless/images/RelyPW.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/SCB_IB_U.png b/WooCommerce/woocommerce_fiuu_seamless/images/SCB_IB_U.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/SCB_IB_U.png rename to WooCommerce/woocommerce_fiuu_seamless/images/SCB_IB_U.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/UPOP.png b/WooCommerce/woocommerce_fiuu_seamless/images/UPOP.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/UPOP.png rename to WooCommerce/woocommerce_fiuu_seamless/images/UPOP.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/WeChatPay.png b/WooCommerce/woocommerce_fiuu_seamless/images/WeChatPay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/WeChatPay.png rename to WooCommerce/woocommerce_fiuu_seamless/images/WeChatPay.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/affinonline.png b/WooCommerce/woocommerce_fiuu_seamless/images/affinonline.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/affinonline.png rename to WooCommerce/woocommerce_fiuu_seamless/images/affinonline.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/alipay.png b/WooCommerce/woocommerce_fiuu_seamless/images/alipay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/alipay.png rename to WooCommerce/woocommerce_fiuu_seamless/images/alipay.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/amb.png b/WooCommerce/woocommerce_fiuu_seamless/images/amb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/amb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/amb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/axs.png b/WooCommerce/woocommerce_fiuu_seamless/images/axs.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/axs.png rename to WooCommerce/woocommerce_fiuu_seamless/images/axs.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/bankislam.png b/WooCommerce/woocommerce_fiuu_seamless/images/bankislam.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/bankislam.png rename to WooCommerce/woocommerce_fiuu_seamless/images/bankislam.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/boost.png b/WooCommerce/woocommerce_fiuu_seamless/images/boost.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/boost.png rename to WooCommerce/woocommerce_fiuu_seamless/images/boost.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/cash-711.png b/WooCommerce/woocommerce_fiuu_seamless/images/cash-711.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/cash-711.png rename to WooCommerce/woocommerce_fiuu_seamless/images/cash-711.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/cimbclicks.png b/WooCommerce/woocommerce_fiuu_seamless/images/cimbclicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/cimbclicks.png rename to WooCommerce/woocommerce_fiuu_seamless/images/cimbclicks.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/credit.png b/WooCommerce/woocommerce_fiuu_seamless/images/credit.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/credit.png rename to WooCommerce/woocommerce_fiuu_seamless/images/credit.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/dragonpay.png b/WooCommerce/woocommerce_fiuu_seamless/images/dragonpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/dragonpay.png rename to WooCommerce/woocommerce_fiuu_seamless/images/dragonpay.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/enetsD.png b/WooCommerce/woocommerce_fiuu_seamless/images/enetsD.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/enetsD.png rename to WooCommerce/woocommerce_fiuu_seamless/images/enetsD.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_abb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_abb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_abb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_abb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_abmb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_abmb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_abmb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_abmb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_amb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_amb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_amb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_amb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_bimb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_bimb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_bimb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_bimb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_bkrm.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_bkrm.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_bkrm.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_bkrm.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_bmmb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_bmmb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_bmmb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_bmmb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_bsn.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_bsn.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_bsn.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_bsn.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_cimbclicks.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_cimbclicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_cimbclicks.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_cimbclicks.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_hlb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_hlb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_hlb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_hlb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_hsbc.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_hsbc.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_hsbc.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_hsbc.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_kfh.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_kfh.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_kfh.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_kfh.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_mb2u.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_mb2u.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_mb2u.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_mb2u.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_ocbc.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_ocbc.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_ocbc.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_ocbc.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_pbb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_pbb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_pbb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_pbb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_rhb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_rhb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_rhb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_rhb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_scb.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_scb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_scb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_scb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/fpx_uob.png b/WooCommerce/woocommerce_fiuu_seamless/images/fpx_uob.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/fpx_uob.png rename to WooCommerce/woocommerce_fiuu_seamless/images/fpx_uob.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/grabpay.png b/WooCommerce/woocommerce_fiuu_seamless/images/grabpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/grabpay.png rename to WooCommerce/woocommerce_fiuu_seamless/images/grabpay.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/hlb.png b/WooCommerce/woocommerce_fiuu_seamless/images/hlb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/hlb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/hlb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/maybankQR.png b/WooCommerce/woocommerce_fiuu_seamless/images/maybankQR.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/maybankQR.png rename to WooCommerce/woocommerce_fiuu_seamless/images/maybankQR.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/paysbuy.png b/WooCommerce/woocommerce_fiuu_seamless/images/paysbuy.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/paysbuy.png rename to WooCommerce/woocommerce_fiuu_seamless/images/paysbuy.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/pbb.png b/WooCommerce/woocommerce_fiuu_seamless/images/pbb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/pbb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/pbb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/razerpay.png b/WooCommerce/woocommerce_fiuu_seamless/images/razerpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/razerpay.png rename to WooCommerce/woocommerce_fiuu_seamless/images/razerpay.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/rhb.png b/WooCommerce/woocommerce_fiuu_seamless/images/rhb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/rhb.png rename to WooCommerce/woocommerce_fiuu_seamless/images/rhb.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/shopeepay_2.png b/WooCommerce/woocommerce_fiuu_seamless/images/shopeepay_2.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/shopeepay_2.png rename to WooCommerce/woocommerce_fiuu_seamless/images/shopeepay_2.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/singpost.png b/WooCommerce/woocommerce_fiuu_seamless/images/singpost.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/singpost.png rename to WooCommerce/woocommerce_fiuu_seamless/images/singpost.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/touchngo_ewallet.png b/WooCommerce/woocommerce_fiuu_seamless/images/touchngo_ewallet.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/touchngo_ewallet.png rename to WooCommerce/woocommerce_fiuu_seamless/images/touchngo_ewallet.png diff --git a/WooCommerce/woocommerce_rms_seamless/images/wechatpay_my.png b/WooCommerce/woocommerce_fiuu_seamless/images/wechatpay_my.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless/images/wechatpay_my.png rename to WooCommerce/woocommerce_fiuu_seamless/images/wechatpay_my.png diff --git a/WooCommerce/woocommerce_rms_seamless/wc-molpay.php b/WooCommerce/woocommerce_fiuu_seamless/wc-fiuu.php similarity index 95% rename from WooCommerce/woocommerce_rms_seamless/wc-molpay.php rename to WooCommerce/woocommerce_fiuu_seamless/wc-fiuu.php index 74cfef0..47bf34d 100644 --- a/WooCommerce/woocommerce_rms_seamless/wc-molpay.php +++ b/WooCommerce/woocommerce_fiuu_seamless/wc-fiuu.php @@ -1,1354 +1,1354 @@ - - * @version 7.7.0 - * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - */ - -/** - * Plugin Name: WooCommerce Razer Merchant Services Seamless - * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress - * Description: WooCommerce Razer Merchant Services | The leading payment gateway in South East Asia Grow your business with Razer Merchant Services payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce - * Author: Razer Merchant Services Tech Team - * Author URI: https://merchant.razer.com/ - * Version: 7.7.0 - * License: MIT - * Text Domain: wcmolpay - * Domain Path: /languages/ - * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - * Invalid Transaction maybe is because vkey not found / skey wrong generated - */ - -/** - * If WooCommerce plugin is not available - * - */ -function wcmolpay_woocommerce_fallback_notice() { - $message = '
'; - $message .= '

' . __( 'WooCommerce Razer Merchant Services Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; - $message .= '
'; - echo $message; -} - -//Load the function -add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); - -/** - * Load Razer Merchant Services gateway plugin function - * - * @return mixed - */ -function wcmolpay_gateway_load() { - if ( !class_exists( 'WC_Payment_Gateway' ) ) { - add_action( 'admin_notices', 'wcmolpay_woocommerce_fallback_notice' ); - return; - } - - //Load language - load_plugin_textdomain( 'wcmolpay', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); - - add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); - - /** - * Add Razer Merchant Services gateway to ensure WooCommerce can load it - * - * @param array $methods - * @return array - */ - function wcmolpay_add_gateway( $methods ) { - $methods[] = 'WC_Molpay_Gateway'; - return $methods; - } - - /** - * Define the Razer Merchant Services gateway - * - */ - class WC_Molpay_Gateway extends WC_Payment_Gateway { - - /** - * Construct the Razer Merchant Services gateway class - * - * @global mixed $woocommerce - */ - public function __construct() { - global $woocommerce; - - $this->id = 'molpay'; - $this->icon = plugins_url( 'images/logo_RazerMerchantServices.png', __FILE__ ); - $this->has_fields = false; - $this->method_title = __( 'Razer Merchant Services', 'wcmolpay' ); - $this->method_description = __( 'Proceed payment via Razer Merchant Services Seamless Integration Plugin', 'woocommerce' ); - - // Load the form fields. - $this->init_form_fields(); - - // Load the settings. - $this->init_settings(); - - // Define user setting variables. - $this->title = $this->settings['title']; - $this->ordering_plugin = $this->get_option('ordering_plugin'); - $this->payment_title = $this->settings['payment_title']; - $this->description = $this->settings['description']; - $this->merchant_id = $this->settings['merchant_id']; - $this->verify_key = $this->settings['verify_key']; - $this->secret_key = $this->settings['secret_key']; - $this->account_type = $this->settings['account_type']; - - // Define hostname based on account_type - $this->url = ($this->get_option('account_type')=='1') ? "https://www.onlinepayment.com.my/" : "https://sandbox.merchant.razer.com/" ; - $this->inquiry_url = ($this->get_option('account_type')=='1') ? "https://api.merchant.razer.com/" : "https://sandbox.merchant.razer.com/" ; - - // Define channel setting variables - $this->credit = ($this->get_option('credit')=='yes' ? true : false); - $this->credit7 = ($this->get_option('credit7')=='yes' ? true : false); - $this->fpx_mb2u = ($this->get_option('fpx_mb2u')=='yes' ? true : false); - $this->PayNow = ($this->get_option('PayNow')=='yes' ? true : false); - $this->ESUN_Cash711 = ($this->get_option('ESUN_Cash711')=='yes' ? true : false); - $this->ESUN_CashFamilyMart = ($this->get_option('ESUN_CashFamilyMart')=='yes' ? true : false); - $this->ESUN_ATM = ($this->get_option('ESUN_ATM')=='yes' ? true : false); - $this->ESUN_CashHiLife = ($this->get_option('ESUN_CashHiLife')=='yes' ? true : false); - $this->fpx_cimbclicks = ($this->get_option('fpx_cimbclicks')=='yes' ? true : false); - $this->fpx_hlb = ($this->get_option('fpx_hlb')=='yes' ? true : false); - $this->fpx_rhb = ($this->get_option('fpx_rhb')=='yes' ? true : false); - $this->fpx_amb = ($this->get_option('fpx_amb')=='yes' ? true : false); - $this->fpx_pbb = ($this->get_option('fpx_pbb')=='yes' ? true : false); - $this->fpx_abb = ($this->get_option('fpx_abb')=='yes' ? true : false); - $this->fpx_bimb = ($this->get_option('fpx_bimb')=='yes' ? true : false); - $this->fpx_abmb = ($this->get_option('fpx_abmb')=='yes' ? true : false); - $this->fpx_bkrm = ($this->get_option('fpx_bkrm')=='yes' ? true : false); - $this->fpx_bmmb = ($this->get_option('fpx_bmmb')=='yes' ? true : false); - $this->fpx_bsn = ($this->get_option('fpx_bsn')=='yes' ? true : false); - $this->fpx_hsbc = ($this->get_option('fpx_hsbc')=='yes' ? true : false); - $this->fpx_kfh = ($this->get_option('fpx_kfh')=='yes' ? true : false); - $this->fpx_ocbc = ($this->get_option('fpx_ocbc')=='yes' ? true : false); - $this->fpx_scb = ($this->get_option('fpx_scb')=='yes' ? true : false); - $this->fpx_uob = ($this->get_option('fpx_uob')=='yes' ? true : false); - $this->FPX_M2E = ($this->get_option('FPX_M2E')=='yes' ? true : false); - $this->FPX_B2B_ABB = ($this->get_option('FPX_B2B_ABB')=='yes' ? true : false); - $this->FPX_B2B_ABBM = ($this->get_option('FPX_B2B_ABBM')=='yes' ? true : false); - $this->FPX_B2B_ABMB = ($this->get_option('FPX_B2B_ABMB')=='yes' ? true : false); - $this->FPX_B2B_AMB = ($this->get_option('FPX_B2B_AMB')=='yes' ? true : false); - $this->FPX_B2B_BIMB = ($this->get_option('FPX_B2B_BIMB')=='yes' ? true : false); - $this->FPX_B2B_BKRM = ($this->get_option('FPX_B2B_BKRM')=='yes' ? true : false); - $this->FPX_B2B_BMMB = ($this->get_option('FPX_B2B_BMMB')=='yes' ? true : false); - $this->FPX_B2B_BNP = ($this->get_option('FPX_B2B_BNP')=='yes' ? true : false); - $this->FPX_B2B_CIMB = ($this->get_option('FPX_B2B_CIMB')=='yes' ? true : false); - $this->FPX_B2B_CITIBANK = ($this->get_option('FPX_B2B_CITIBANK')=='yes' ? true : false); - $this->FPX_B2B_DEUTSCHE = ($this->get_option('FPX_B2B_DEUTSCHE')=='yes' ? true : false); - $this->FPX_B2B_HLB = ($this->get_option('FPX_B2B_HLB')=='yes' ? true : false); - $this->FPX_B2B_HSBC = ($this->get_option('FPX_B2B_HSBC')=='yes' ? true : false); - $this->FPX_B2B_KFH = ($this->get_option('FPX_B2B_KFH')=='yes' ? true : false); - $this->FPX_B2B_OCBC = ($this->get_option('FPX_B2B_OCBC')=='yes' ? true : false); - $this->FPX_B2B_PBB = ($this->get_option('FPX_B2B_PBB')=='yes' ? true : false); - $this->FPX_B2B_PBBE = ($this->get_option('FPX_B2B_PBBE')=='yes' ? true : false); - $this->FPX_B2B_RHB = ($this->get_option('FPX_B2B_RHB')=='yes' ? true : false); - $this->FPX_B2B_SCB = ($this->get_option('FPX_B2B_SCB')=='yes' ? true : false); - $this->FPX_B2B_UOB = ($this->get_option('FPX_B2B_UOB')=='yes' ? true : false); - $this->FPX_B2B_UOBR = ($this->get_option('FPX_B2B_UOBR')=='yes' ? true : false); - $this->Point_BCard = ($this->get_option('Point-BCard')=='yes' ? true : false); - $this->dragonpay = ($this->get_option('dragonpay')=='yes' ? true : false); - $this->NGANLUONG = ($this->get_option('NGANLUONG')=='yes' ? true : false); - $this->paysbuy = ($this->get_option('paysbuy')=='yes' ? true : false); - $this->cash_711 = ($this->get_option('cash-711')=='yes' ? true : false); - $this->ATMVA = ($this->get_option('ATMVA')=='yes' ? true : false); - $this->enetsD = ($this->get_option('enetsD')=='yes' ? true : false); - $this->singpost = ($this->get_option('singpost')=='yes' ? true : false); - $this->UPOP = ($this->get_option('UPOP')=='yes' ? true : false); - $this->alipay = ($this->get_option('alipay')=='yes' ? true : false); - $this->WeChatPay = ($this->get_option('WeChatPay')=='yes' ? true : false); - $this->WeChatPayMY = ($this->get_option('WeChatPayMY')=='yes' ? true : false); - $this->BOOST = ($this->get_option('BOOST')=='yes' ? true : false); - $this->MB2U_QRPay_Push = ($this->get_option('MB2U_QRPay-Push')=='yes' ? true : false); - $this->RazerPay = ($this->get_option('RazerPay')=='yes' ? true : false); - $this->ShopeePay = ($this->get_option('ShopeePay')=='yes' ? true : false); - $this->Rely_PW = ($this->get_option('Rely-PW')=='yes' ? true : false); - $this->IOUPay_PW = ($this->get_option('IOUPay-PW')=='yes' ? true : false); - $this->TNG_EWALLET = ($this->get_option('TNG-EWALLET')=='yes' ? true : false); - $this->GrabPay = ($this->get_option('GrabPay')=='yes' ? true : false); - $this->BAY_IB_U = ($this->get_option('BAY_IB_U')=='yes' ? true : false); - $this->BBL_IB_U = ($this->get_option('BBL_IB_U')=='yes' ? true : false); - $this->KBANK_PayPlus = ($this->get_option('KBANK_PayPlus')=='yes' ? true : false); - $this->KTB_IB_U = ($this->get_option('KTB_IB_U')=='yes' ? true : false); - $this->SCB_IB_U = ($this->get_option('SCB_IB_U')=='yes' ? true : false); - $this->BigC = ($this->get_option('BigC')=='yes' ? true : false); - $this->OMISE_TL = ($this->get_option('OMISE_TL')=='yes' ? true : false); - $this->Crypto_tripleA = ($this->get_option('Crypto_tripleA')=='yes' ? true : false); - $this->Atome = ($this->get_option('Atome')=='yes' ? true : false); - - // Transaction Type for Credit Channel - $this->credit_tcctype = ($this->get_option('credit_tcctype')=='SALS' ? 'SALS' : 'AUTH'); - - // Actions. - add_action( 'valid_molpay_request_returnurl', array( &$this, 'check_molpay_response_returnurl' ) ); - add_action( 'valid_molpay_request_callback', array( &$this, 'check_molpay_response_callback' ) ); - add_action( 'valid_molpay_request_notification', array( &$this, 'check_molpay_response_notification' ) ); - add_action( 'woocommerce_receipt_molpay', array( &$this, 'receipt_page' ) ); - - //save setting configuration - add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); - - // Payment listener/API hook - add_action( 'woocommerce_api_wc_molpay_gateway', array( $this, 'check_ipn_response' ) ); - - // Checking if merchant_id is not empty. - $this->merchant_id == '' ? add_action( 'admin_notices', array( &$this, 'merchant_id_missing_message' ) ) : ''; - - // Checking if verify_key is not empty. - $this->verify_key == '' ? add_action( 'admin_notices', array( &$this, 'verify_key_missing_message' ) ) : ''; - - // Checking if secret_key is not empty. - $this->secret_key == '' ? add_action( 'admin_notices', array( &$this, 'secret_key_missing_message' ) ) : ''; - - // Checking if account_type is not empty. - $this->account_type == '' ? add_action( 'admin_notices', array( &$this, 'account_type_missing_message' ) ) : ''; - } - - /** - * Checking if this gateway is enabled and available in the user's country. - * - * @return bool - */ - public function is_valid_for_use() { - if ( !in_array( get_woocommerce_currency() , array( 'MYR' ) ) ) { - return false; - } - return true; - } - - /** - * Admin Panel Options - * - Options for bits like 'title' and availability on a country-by-country basis. - * - */ - public function admin_options() { - ?> -

-

- - generate_settings_html(); ?> -
- form_fields = array( - 'enabled' => array( - 'title' => __( 'Enable/Disable', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( 'Enable Razer Merchant Services', 'wcmolpay' ), - 'default' => 'yes' - ), - 'ordering_plugin' => array( - 'title' => __( '

Installed Ordering Plugins

', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'Sequential Order Numbers', - 'options' => array( - '0' => __( 'Not install any ordering plugin', 'wcmolpay'), - '1' => __( 'Sequential Order Numbers', 'wcmolpay' ), - '2' => __( 'Sequential Order Numbers Pro', 'wcmolpay' ), - '3' => __( 'Advanced Order Numbers', 'wcmolpay' ), - '4' => __( 'Custom Order Numbers', 'wcmolpay' ) - ), - 'description' => __( 'Please select correct ordering plugin as it will affect your order result!!', 'wcmolpay' ), - 'desc_tip' => true, - ), - 'title' => array( - 'title' => __( 'Title', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ), - 'desc_tip' => true, - ), - 'payment_title' => array( - 'title' => __( 'Payment Title', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __( 'Showing channel instead of gateway title after payment.'), - 'description' => __( 'This controls the payment method which the user sees after payment.', 'wcmolpay' ), - 'default' => 'no', - 'desc_tip' => true - ), - 'description' => array( - 'title' => __( 'Description', 'wcmolpay' ), - 'type' => 'textarea', - 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ), - 'desc_tip' => true, - ), - 'merchant_id' => array( - 'title' => __( 'Merchant ID', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), - 'default' => '' - ), - 'verify_key' => array( - 'title' => __( 'Verify Key', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), - 'default' => '' - ), - 'secret_key' => array( - 'title' => __( 'Secret Key', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), - 'default' => '' - ), - 'account_type' => array( - 'title' => __( 'Account Type', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'PRODUCTION', - 'options' => array( - '1' => __('PRODUCTION', 'wcmolpay' ), - '2' => __( 'SANDBOX', 'wcmolpay' ) - ) - ), - 'channel' => array( - 'title' => 'Channel to be Enabled', - 'type' => 'title', - 'description' => '', - ), - 'credit' => array( - 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'credit7' => array( - 'title' => __( 'FIRSTDATA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'PayNow' => array( - 'title' => __( 'PayNow', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'ESUN_Cash711' => array( - 'title' => __( 'ESUN Cash-711', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'ESUN_CashFamilyMart' => array( - 'title' => __( 'ESUN Cash FamilyMart', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'ESUN_ATM' => array( - 'title' => __( 'ESUN ATM', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'ESUN_CashHiLife' => array( - 'title' => __( 'ESUN CashHiLife', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'fpx_mb2u' => array( - 'title' => __( 'FPX Maybank (Maybank2u)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_cimbclicks' => array( - 'title' => __( 'FPX CIMB Bank (CIMB Clicks)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_hlb' => array( - 'title' => __( 'FPX Hong Leong Bank (HLB Connect)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_rhb' => array( - 'title' => __( 'FPX RHB Bank (RHB Now)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_amb' => array( - 'title' => __( 'FPX Am Bank (Am Online)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_pbb' => array( - 'title' => __( 'FPX PublicBank (PBB Online)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_abb' => array( - 'title' => __( 'FPX Affin Bank (Affin Online)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_bimb' => array( - 'title' => __( 'FPX Bank Islam', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_abmb' => array( - 'title' => __( 'FPX Alliance Bank (Alliance Online)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_bkrm' => array( - 'title' => __( 'FPX Bank Kerjasama Rakyat Malaysia', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_bmmb' => array( - 'title' => __( 'FPX Bank Muamalat', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_bsn' => array( - 'title' => __( 'FPX Bank Simpanan Nasional (myBSN)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_hsbc' => array( - 'title' => __( 'FPX Hongkong and Shanghai Banking Corporation', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_kfh' => array( - 'title' => __( 'FPX Kuwait Finance House', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_ocbc' => array( - 'title' => __( 'FPX OCBC Bank', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_scb' => array( - 'title' => __( 'FPX Standard Chartered Bank', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'fpx_uob' => array( - 'title' => __( 'FPX United Overseas Bank (UOB)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'FPX_M2E' => array( - 'title' => __('FPX Maybank2e', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_ABB' => array( - 'title' => __('FPX B2B Affin Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_ABBM' => array( - 'title' => __('FPX B2B AffinMax', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_ABMB' => array( - 'title' => __('FPX B2B Alliance Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_AMB' => array( - 'title' => __('FPX B2B AmBank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_BIMB' => array( - 'title' => __('FPX B2B Bank Islam Malaysia Berhad', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_BKRM' => array( - 'title' => __('FPX B2B i-bizRAKYAT', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_BMMB' => array( - 'title' => __('FPX B2B Bank Muamalat', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_BNP' => array( - 'title' => __('FPX B2B BNP Paribas', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_CIMB' => array( - 'title' => __('FPX B2B BizChannel@CIMB', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_CITIBANK' => array( - 'title' => __('FPX B2B CITIBANK', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_DEUTSCHE' => array( - 'title' => __('FPX B2B Deutsche Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_HLB' => array( - 'title' => __('FPX B2B Hong Leong Connect', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_HSBC' => array( - 'title' => __('FPX B2B HSBC', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_KFH' => array( - 'title' => __('FPX B2B Kuwait Finance House Overseas Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_OCBC' => array( - 'title' => __('FPX B2B OCBC Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_PBB' => array( - 'title' => __('FPX B2B Public Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_PBBE' => array( - 'title' => __('FPX B2B Public Bank Enterprise', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_RHB' => array( - 'title' => __('FPX B2B RHB Reflex', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_SCB' => array( - 'title' => __('FPX B2B Standard Chartered Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_UOB' => array( - 'title' => __('FPX B2B United Overseas Bank', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'FPX_B2B_UOBR' => array( - 'title' => __('FPX B2B UOB Regional', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __(' ', 'wcmolpay'), - 'default' => 'no' - ), - 'Point-BCard' => array( - 'title' => __( 'Point-BCard', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'dragonpay' => array( - 'title' => __( 'Dragonpay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'NGANLUONG' => array( - 'title' => __( 'NGANLUONG', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'paysbuy' => array( - 'title' => __( 'PaysBuy', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'cash-711' => array( - 'title' => __( '7-Eleven (Razer Cash)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'ATMVA' => array( - 'title' => __( 'ATM Transfer via Permata Bank', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'enetsD' => array( - 'title' => __( 'eNETS', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'singpost' => array( - 'title' => __( 'Cash-SAM', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'UPOP' => array( - 'title' => __( 'China Union Pay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'alipay' => array( - 'title' => __( 'Alipay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'WeChatPay' => array( - 'title' => __( 'WeChatPay Cross Border', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'WeChatPayMY' => array( - 'title' => __( 'WeChatPayMY', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'BOOST' => array( - 'title' => __( 'Boost', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'MB2U_QRPay-Push' => array( - 'title' => __( 'Maybank QRPay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'RazerPay' => array( - 'title' => __( 'Razer Pay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'ShopeePay' => array( - 'title' => __( 'Shopee Pay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'Rely-PW' => array( - 'title' => __( 'Rely', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'IOUPay-PW' => array( - 'title' => __( 'IOUPay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'TNG-EWALLET' => array( - 'title' => __( 'Touch `n Go eWallet', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'GrabPay' => array( - 'title' => __( 'Grab Pay', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'BAY_IB_U' => array( - 'title' => __( 'Bank of Ayudhya (Krungsri)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'BBL_IB_U' => array( - 'title' => __( 'Bangkok Bank (Fee on user)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'KBANK_PayPlus' => array( - 'title' => __( 'Kasikornbank K PLUS', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'KTB_IB_U' => array( - 'title' => __( 'Krung Thai Bank (Fee on user)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'SCB_IB_U' => array( - 'title' => __( 'Siam Commercial Bank (Fee on user)', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'BigC' => array( - 'title' => __( 'BigC', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'OMISE_TL' => array( - 'title' => __( 'Tesco Lotus via OMISE', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'Crypto_tripleA' => array( - 'title' => __( 'Crypto tripleA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'Atome' => array( - 'title' => __( 'Atome', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - - ), - 'tcctype' => array( - 'title' => 'Transaction Type for Credit Card / Debit Card Channel', - 'type' => 'title', - 'description' => '', - ), - 'credit_tcctype' => array( - 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'SALS', - 'options' => array( - 'SALS' => __('SALS', 'wcmolpay' ), - 'AUTH' => __( 'AUTH', 'wcmolpay' ) - ), - 's' => array( - 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'SALS', - 'options' => array( - 'SALS' => __('SALS', 'wcmolpay' ), - 'AUTH' => __( 'AUTH', 'wcmolpay' ) - ) - ) - ) - ); - } - - /** - * Generate the form. - * - * @param mixed $order_id - * @return string - */ - public function generate_form( $order_id ) { - $order = new WC_Order( $order_id ); - $pay_url = $this->url.'MOLPay/pay/'.$this->merchant_id; - $total = $order->get_total(); - $order_number = $order->get_order_number(); - $vcode = md5($order->get_total().$this->merchant_id.$order_number.$this->verify_key); - - if ( sizeof( $order->get_items() ) > 0 ) - foreach ( $order->get_items() as $item ) - if ( $item['qty'] ) - $item_names[] = $item['name'] . ' x ' . $item['qty']; - - $desc = sprintf( __( 'Order %s' , 'woocommerce'), $order_number ) . " - " . implode( ', ', $item_names ); - - $molpay_args = array( - 'vcode' => $vcode, - 'orderid' => $order_number, - 'amount' => $total, - 'bill_name' => $order->get_billing_first_name()." ".$order->get_billing_last_name(), - 'bill_mobile' => $order->get_billing_phone(), - 'bill_email' => $order->get_billing_email(), - 'bill_desc' => $desc, - 'country' => $order->get_billing_country(), - 'cur' => get_woocommerce_currency(), - 'returnurl' => add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' ) ) - ); - - $molpay_args_array = array(); - - foreach ($molpay_args as $key => $value) { - $molpay_args_array[] = ""; - } - - $mpsreturn = add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' )); - $latest = ($this->get_option('account_type')=='1') ? "3.28" : "latest" ; - return "
" - . implode('', $molpay_args_array) - ."" - ."" - ."

Pay via:

" - ."
" - ."
" - ." I have read and agree to the Terms & Conditions and Privacy Policy." - ."
" - ."
" - .($this->credit ? "" : '') - .($this->credit7 ? "" : '') - .($this->fpx_mb2u ? "" : '') - .($this->PayNow ? "" : '') - .($this->ESUN_Cash711 ? "" : '') - .($this->ESUN_CashFamilyMart ? "" : '') - .($this->ESUN_ATM ? "" : '') - .($this->ESUN_CashHiLife ? "" : '') - .($this->fpx_cimbclicks ? "" : '') - .($this->Crypto_tripleA ? "" : '') - .($this->Atome ? "" : '') - .($this->fpx_hlb ? "" : '') - .($this->fpx_rhb ? "" : '') - .($this->fpx_amb ? "" : '') - .($this->fpx_pbb ? "" : '') - .($this->fpx_abb ? "" : '') - .($this->fpx_bimb ? "" : '') - .($this->fpx_abmb ? "" : '') - .($this->fpx_bkrm ? "" : '') - .($this->fpx_bmmb ? "" : '') - .($this->fpx_bsn ? "" : '') - .($this->fpx_hsbc ? "" : '') - .($this->fpx_kfh ? "" : '') - .($this->fpx_ocbc ? "" : '') - .($this->fpx_scb ? "" : '') - .($this->fpx_uob ? "" : '') - .($this->Rely_PW ? "" : '') - .($this->IOUPay_PW ? "" : '') - .($this->Point_BCard ? "" : '') - .($this->dragonpay ? "" : '') - .($this->NGANLUONG ? "" : '') - .($this->paysbuy ? "" : '') - .($this->cash_711 ? "" : '') - .($this->ATMVA ? "" : '') - .($this->enetsD ? "" : '') - .($this->singpost ? "" : '') - .($this->UPOP ? "" : '') - .($this->alipay ? "" : '') - .($this->WeChatPay ? "" : '') - .($this->WeChatPayMY ? "" : '') - .($this->BOOST ? "" : '') - .($this->MB2U_QRPay_Push ? "" : '') - .($this->RazerPay ? "" : '') - .($this->ShopeePay ? "" : '') - .($this->TNG_EWALLET ? "" : '') - .($this->GrabPay ? "" : '') - .($this->BAY_IB_U ? "" : '') - .($this->BBL_IB_U ? "" : '') - .($this->KBANK_PayPlus ? "" : '') - .($this->KTB_IB_U ? "" : '') - .($this->SCB_IB_U ? "" : '') - .($this->BigC ? "" : '') - .($this->OMISE_TL ? "" : '') - .($this->FPX_M2E ? "" : '') - .($this->FPX_B2B_ABB ? "" : '') - .($this->FPX_B2B_ABBM ? "" : '') - .($this->FPX_B2B_ABMB ? "" : '') - .($this->FPX_B2B_AMB ? "" : '') - .($this->FPX_B2B_BIMB ? "" : '') - .($this->FPX_B2B_BKRM ? "" : '') - .($this->FPX_B2B_BMMB ? "" : '') - .($this->FPX_B2B_BNP ? "" : '') - .($this->FPX_B2B_CIMB ? "" : '') - .($this->FPX_B2B_CITIBANK ? "" : '') - .($this->FPX_B2B_DEUTSCHE ? "" : '') - .($this->FPX_B2B_HLB ? "" : '') - .($this->FPX_B2B_HSBC ? "" : '') - .($this->FPX_B2B_KFH ? "" : '') - .($this->FPX_B2B_OCBC ? "" : '') - .($this->FPX_B2B_PBB ? "" : '') - .($this->FPX_B2B_PBBE ? "" : '') - .($this->FPX_B2B_RHB ? "" : '') - .($this->FPX_B2B_SCB ? "" : '') - .($this->FPX_B2B_UOB ? "" : '') - .($this->FPX_B2B_UOBR ? "" : '') - . "
"; - } - - - /** - * Order error button. - * - * @param object $order Order data. - * @return string Error message and cancel button. - */ - protected function molpay_order_error( $order ) { - $html = '

' . __( 'An error has occurred while processing your payment, please try again. Or contact us for assistance.', 'wcmolpay' ) . '

'; - $html .='' . __( 'Click to try again', 'wcmolpay' ) . ''; - return $html; - } - - /** - * Process the payment and return the result. - * - * @param int $order_id - * @return array - */ - public function process_payment( $order_id ) { - $order = new WC_Order( $order_id ); - return array( - 'result' => 'success', - 'redirect' => $order->get_checkout_payment_url( true ) - ); - } - - /** - * Output for the order received page. - * - * @param object $order Order data. - */ - public function receipt_page( $order ) { - echo $this->generate_form( $order ); - } - - /** - * Check for Razer Merchant Services Response - * - * @access public - * @return void - */ - function check_ipn_response() { - @ob_clean(); - - if ( !( isset($_POST['nbcb']) )) { - do_action( "valid_molpay_request_returnurl", $_POST ); - } else if ( $_POST['nbcb']=='1' ) { - do_action ( "valid_molpay_request_callback", $_POST ); - } else if ( $_POST['nbcb']=='2' ) { - do_action ( "valid_molpay_request_notification", $_POST ); - } else { - wp_die( "Razer Merchant Services Request Failure" ); - } - } - - /** - * This part is handle return response - * - * @global mixed $woocommerce - */ - function check_molpay_response_returnurl() { - global $woocommerce; - - $verifyresult = $this->verifySkey($_POST); - $status = $_POST['status']; - if( !$verifyresult ) - $status = "-1"; - - $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); - $order = new WC_Order( $WCOrderId ); - - $referer = "
Referer: ReturnURL"; - $getStatus = $order->get_status(); - if(!in_array($getStatus,array('processing','completed'))) { - if ($status == "11") { - $referer .= " (Inquiry)"; - $status = $this->inquiry_status( $_POST['tranID'], $_POST['amount'], $_POST['domain']); - } - $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); - if (in_array($status, array("00","22"))) { - wp_redirect($order->get_checkout_order_received_url()); - } else { - wp_redirect($order->get_cancel_order_url()); - } - } else { - wp_redirect($order->get_checkout_order_received_url()); - } - $this->acknowledgeResponse($_POST); - exit; - } - - /** - * This part is handle notification response - * - * @global mixed $woocommerce - */ - function check_molpay_response_notification() { - global $woocommerce; - $verifyresult = $this->verifySkey($_POST); - $status = $_POST['status']; - if ( !$verifyresult ) - $status = "-1"; - - $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); - $referer = "
Referer: NotificationURL"; - $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); - $this->acknowledgeResponse($_POST); - } - - /** - * This part is handle callback response - * - * @global mixed $woocommerce - */ - function check_molpay_response_callback() { - global $woocommerce; - $verifyresult = $this->verifySkey($_POST); - $status = $_POST['status']; - if ( !$verifyresult ) - $status = "-1"; - - $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); - $referer = "
Referer: CallbackURL"; - $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); - $this->acknowledgeResponse($_POST); - } - - /** - * Adds error message when not configured the merchant_id. - * - */ - public function merchant_id_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Adds error message when not configured the verify_key. - * - */ - public function verify_key_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Adds error message when not configured the secret_key. - * - */ - public function secret_key_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Adds error message when not configured the account_type. - * - */ - public function account_type_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Inquiry transaction status - * - * @param int $tranID - * @param double $amount - * @param string $domain - * @return status - */ - public function inquiry_status($tranID, $amount, $domain) { - $verify_key = $this->verify_key; - $requestUrl = $this->inquiry_url."RMS/q_by_tid.php"; - $request_param = array( - "amount" => number_format($amount,2), - "txID" => intval($tranID), - "domain" => urlencode($domain), - "skey" => urlencode(md5(intval($tranID).$domain.$verify_key.number_format($amount,2))) ); - $post_data = http_build_query($request_param); - $header[] = "Content-Type: application/x-www-form-urlencoded"; - $ch = curl_init(); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); - curl_setopt($ch,CURLOPT_URL, $requestUrl); - curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); - curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); - curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - - $response = curl_exec($ch); - $response = trim($response); - $temp = explode("\n", $response); - foreach ( $temp as $value ) { - $array = explode(':', $value); - $key = trim($array[0], "[]"); - $result[$key] = trim($array[1]); - } - $verify = md5($result['Amount'].$this->secret_key.$result['Domain'].$result['TranID'].$result['StatCode']); - if ($verify != $result['VrfKey']) { - $result['StatCode'] = "99"; - } - return $result['StatCode']; - } - - /** - * Update Cart based on Razer Merchant Services status - * - * @global mixed $woocommerce - * @param int $order_id - * @param int $MOLPay_status - * @param int $tranID - * @param string $referer - */ - public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $referer, $channel) { - global $woocommerce; - - $order = new WC_Order( $orderid ); - - switch ($MOLPay_status) { - case '00': - $M_status = 'SUCCESSFUL'; - break; - case '22': - $M_status = 'PENDING'; - $W_status = 'pending'; - break; - case '11': - $M_status = 'FAILED'; - $W_status = 'failed'; - break; - default: - $M_status = 'PENDING'; - $W_status = 'pending'; - break; - } - - $channel_mappings = array( - 'maybank2u' => 'fpx_mb2u', - 'cimb' => 'fpx_cimbclicks', - 'hlb' => 'fpx_hlb', - 'rhb' => 'fpx_rhb', - 'amb' => 'fpx_amb', - 'publicbank' => 'fpx_pbb', - 'abb' => 'fpx_abb', - 'bankislam' => 'fpx_bimb', - 'alliancebank' => 'fpx_abmb', - 'bkrm' => 'fpx_bkrm', - 'bsn' => 'fpx_bsn', - 'hsbc' => 'fpx_hsbc', - 'kuwait-finace' => 'fpx_kfh', - 'ocbc' => 'fpx_ocbc', - 'scb' => 'fpx_scb', - 'uob' => 'fpx_uob' - ); - - if (isset($channel_mappings[$channel])) { - $channel = $channel_mappings[$channel]; - } - - $getStatus = $order->get_status(); - if(!in_array($getStatus,array('processing','completed'))) { - $order->add_order_note('Razer Merchant Services Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); - if ($MOLPay_status == "00") { - $order->payment_complete(); - } else { - $order->update_status($W_status, sprintf(__('Payment %s via Razer Merchant Services.', 'woocommerce'), $tranID ) ); - } - if ($this->payment_title == 'yes') { - $paytitle = $this->form_fields[strtolower($channel)]['title']; - $order->set_payment_method_title($paytitle); - $order->save(); - } - } - } - - - /** - * Obtain the original order id based using the returned transaction order id - * - * @global mixed $woocommerce - * @param int $orderid - * @return int $real_order_id - */ - public function get_WCOrderIdByOrderId($orderid) { - switch($this->ordering_plugin) { - case '1' : // sequential order number - $WCOrderId = wc_sequential_order_numbers()->find_order_by_order_number( $orderid ); - break; - case '2' : // sequential order number pro - $WCOrderId = wc_seq_order_number_pro()->find_order_by_order_number( $orderid ); - break; - case '3' : // advanced order number - $WCOrderId = $this->find_order_by_advanced_order_number( $orderid, '_oton_number_ordernumber' ); - break; - case '4' : // custom order number - $WCOrderId = $this->find_order_by_custom_order_number($orderid, '_alg_wc_full_custom_order_number'); - break; - case '0' : - default : - $WCOrderId = $orderid; - break; - } - return $WCOrderId; - } - - /** - * Get order id from ordering plugin's order id. - * - * @global mixed $woocommerce - * @param int $orderid - * @param string $metaKey - * - * @return int - */ - private function find_order_by_custom_order_number($orderid, $metaKey) - { - $query_args = array( - 'numberposts' => 1, - 'meta_key' => $metaKey, - 'meta_value' => $orderid, - 'post_type' => 'shop_order', - 'post_status' => 'any', - 'fields' => 'ids', - ); - $post = get_posts( $query_args ); - list( $WCOrderId ) = $post; - - return $WCOrderId; - } - - public function find_order_by_advanced_order_number( $order_number, $metaKey ) { - - $query_args = array( - 'numberposts' => 1, - 'meta_key' => $metaKey, - 'meta_value' => $order_number, - 'post_type' => 'shop_order', - 'post_status' => 'any', - 'fields' => 'ids', - ); - $post = get_posts( $query_args ); - list( $order_number ) = ! empty( $post ) ? $post : null; - - return $order_number; - - } - - - /** - * Acknowledge transaction result - * - * @global mixed $woocommerce - * @param array $response - */ - public function acknowledgeResponse($response) { - if ($response['nbcb'] == '1') { - echo "CBTOKEN:MPSTATOK"; exit; - } else { - $response['treq']= '1'; // Additional parameter for IPN - foreach($response as $k => $v) { - $postData[]= $k."=".$v; - } - $postdata = implode("&",$postData); - $url = $this->url."RMS/API/chkstat/returnipn.php"; - $ch = curl_init(); - curl_setopt($ch, CURLOPT_POST , 1 ); - curl_setopt($ch, CURLOPT_POSTFIELDS , $postdata ); - curl_setopt($ch, CURLOPT_URL , $url ); - curl_setopt($ch, CURLOPT_HEADER , 1 ); - curl_setopt($ch, CURLINFO_HEADER_OUT , TRUE ); - curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 ); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , FALSE); - curl_setopt($ch, CURLOPT_SSLVERSION , CURL_SSLVERSION_TLSv1 ); - $result = curl_exec( $ch ); - curl_close( $ch ); - } - } - - /** - * To verify transaction result using merchant secret key setting. - * - * @global mixed $woocommerce - * @param array $response - * @return boolean verifyresult - */ - public function verifySkey($response) { - - $amount = $response['amount']; - $orderid = $response['orderid']; - $tranID = $response['tranID']; - $status = $response['status']; - $domain = $response['domain']; - $currency = $response['currency']; - $appcode = $response['appcode']; - $paydate = $response['paydate']; - $skey = $response['skey']; - $vkey = $this->verify_key; - - $key0 = md5($tranID.$orderid.$status.$domain.$amount.$currency); - $key1 = md5($paydate.$domain.$key0.$appcode.$vkey); - if ($skey != $key1) - return false; - else - return true; - } - - } -} + + * @version 7.7.0 + * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + */ + +/** + * Plugin Name: WooCommerce Fiuu Seamless + * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress + * Description: WooCommerce Fiuu | The leading payment gateway in South East Asia Grow your business with Fiuu payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce + * Author: Fiuu Tech Team + * Author URI: https://merchant.razer.com/ + * Version: 7.7.0 + * License: MIT + * Text Domain: wc-fiuu + * Domain Path: /languages/ + * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + * Invalid Transaction maybe is because vkey not found / skey wrong generated + */ + +/** + * If WooCommerce plugin is not available + * + */ +function wcmolpay_woocommerce_fallback_notice() { + $message = '
'; + $message .= '

' . __( 'WooCommerce Fiuu Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; + $message .= '
'; + echo $message; +} + +//Load the function +add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); + +/** + * Load Fiuu gateway plugin function + * + * @return mixed + */ +function wcmolpay_gateway_load() { + if ( !class_exists( 'WC_Payment_Gateway' ) ) { + add_action( 'admin_notices', 'wcmolpay_woocommerce_fallback_notice' ); + return; + } + + //Load language + load_plugin_textdomain( 'wcmolpay', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); + + add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); + + /** + * Add Fiuu gateway to ensure WooCommerce can load it + * + * @param array $methods + * @return array + */ + function wcmolpay_add_gateway( $methods ) { + $methods[] = 'WC_Molpay_Gateway'; + return $methods; + } + + /** + * Define the Fiuu gateway + * + */ + class WC_Molpay_Gateway extends WC_Payment_Gateway { + + /** + * Construct the Fiuu gateway class + * + * @global mixed $woocommerce + */ + public function __construct() { + global $woocommerce; + + $this->id = 'molpay'; + $this->icon = plugins_url( 'images/Fiuu_Logo.png', __FILE__ ); + $this->has_fields = false; + $this->method_title = __( 'Fiuu', 'wcmolpay' ); + $this->method_description = __( 'Proceed payment via Fiuu Seamless Integration Plugin', 'woocommerce' ); + + // Load the form fields. + $this->init_form_fields(); + + // Load the settings. + $this->init_settings(); + + // Define user setting variables. + $this->title = $this->settings['title']; + $this->ordering_plugin = $this->get_option('ordering_plugin'); + $this->payment_title = $this->settings['payment_title']; + $this->description = $this->settings['description']; + $this->merchant_id = $this->settings['merchant_id']; + $this->verify_key = $this->settings['verify_key']; + $this->secret_key = $this->settings['secret_key']; + $this->account_type = $this->settings['account_type']; + + // Define hostname based on account_type + $this->url = ($this->get_option('account_type')=='1') ? "https://www.onlinepayment.com.my/" : "https://sandbox.merchant.razer.com/" ; + $this->inquiry_url = ($this->get_option('account_type')=='1') ? "https://api.merchant.razer.com/" : "https://sandbox.merchant.razer.com/" ; + + // Define channel setting variables + $this->credit = ($this->get_option('credit')=='yes' ? true : false); + $this->credit7 = ($this->get_option('credit7')=='yes' ? true : false); + $this->fpx_mb2u = ($this->get_option('fpx_mb2u')=='yes' ? true : false); + $this->PayNow = ($this->get_option('PayNow')=='yes' ? true : false); + $this->ESUN_Cash711 = ($this->get_option('ESUN_Cash711')=='yes' ? true : false); + $this->ESUN_CashFamilyMart = ($this->get_option('ESUN_CashFamilyMart')=='yes' ? true : false); + $this->ESUN_ATM = ($this->get_option('ESUN_ATM')=='yes' ? true : false); + $this->ESUN_CashHiLife = ($this->get_option('ESUN_CashHiLife')=='yes' ? true : false); + $this->fpx_cimbclicks = ($this->get_option('fpx_cimbclicks')=='yes' ? true : false); + $this->fpx_hlb = ($this->get_option('fpx_hlb')=='yes' ? true : false); + $this->fpx_rhb = ($this->get_option('fpx_rhb')=='yes' ? true : false); + $this->fpx_amb = ($this->get_option('fpx_amb')=='yes' ? true : false); + $this->fpx_pbb = ($this->get_option('fpx_pbb')=='yes' ? true : false); + $this->fpx_abb = ($this->get_option('fpx_abb')=='yes' ? true : false); + $this->fpx_bimb = ($this->get_option('fpx_bimb')=='yes' ? true : false); + $this->fpx_abmb = ($this->get_option('fpx_abmb')=='yes' ? true : false); + $this->fpx_bkrm = ($this->get_option('fpx_bkrm')=='yes' ? true : false); + $this->fpx_bmmb = ($this->get_option('fpx_bmmb')=='yes' ? true : false); + $this->fpx_bsn = ($this->get_option('fpx_bsn')=='yes' ? true : false); + $this->fpx_hsbc = ($this->get_option('fpx_hsbc')=='yes' ? true : false); + $this->fpx_kfh = ($this->get_option('fpx_kfh')=='yes' ? true : false); + $this->fpx_ocbc = ($this->get_option('fpx_ocbc')=='yes' ? true : false); + $this->fpx_scb = ($this->get_option('fpx_scb')=='yes' ? true : false); + $this->fpx_uob = ($this->get_option('fpx_uob')=='yes' ? true : false); + $this->FPX_M2E = ($this->get_option('FPX_M2E')=='yes' ? true : false); + $this->FPX_B2B_ABB = ($this->get_option('FPX_B2B_ABB')=='yes' ? true : false); + $this->FPX_B2B_ABBM = ($this->get_option('FPX_B2B_ABBM')=='yes' ? true : false); + $this->FPX_B2B_ABMB = ($this->get_option('FPX_B2B_ABMB')=='yes' ? true : false); + $this->FPX_B2B_AMB = ($this->get_option('FPX_B2B_AMB')=='yes' ? true : false); + $this->FPX_B2B_BIMB = ($this->get_option('FPX_B2B_BIMB')=='yes' ? true : false); + $this->FPX_B2B_BKRM = ($this->get_option('FPX_B2B_BKRM')=='yes' ? true : false); + $this->FPX_B2B_BMMB = ($this->get_option('FPX_B2B_BMMB')=='yes' ? true : false); + $this->FPX_B2B_BNP = ($this->get_option('FPX_B2B_BNP')=='yes' ? true : false); + $this->FPX_B2B_CIMB = ($this->get_option('FPX_B2B_CIMB')=='yes' ? true : false); + $this->FPX_B2B_CITIBANK = ($this->get_option('FPX_B2B_CITIBANK')=='yes' ? true : false); + $this->FPX_B2B_DEUTSCHE = ($this->get_option('FPX_B2B_DEUTSCHE')=='yes' ? true : false); + $this->FPX_B2B_HLB = ($this->get_option('FPX_B2B_HLB')=='yes' ? true : false); + $this->FPX_B2B_HSBC = ($this->get_option('FPX_B2B_HSBC')=='yes' ? true : false); + $this->FPX_B2B_KFH = ($this->get_option('FPX_B2B_KFH')=='yes' ? true : false); + $this->FPX_B2B_OCBC = ($this->get_option('FPX_B2B_OCBC')=='yes' ? true : false); + $this->FPX_B2B_PBB = ($this->get_option('FPX_B2B_PBB')=='yes' ? true : false); + $this->FPX_B2B_PBBE = ($this->get_option('FPX_B2B_PBBE')=='yes' ? true : false); + $this->FPX_B2B_RHB = ($this->get_option('FPX_B2B_RHB')=='yes' ? true : false); + $this->FPX_B2B_SCB = ($this->get_option('FPX_B2B_SCB')=='yes' ? true : false); + $this->FPX_B2B_UOB = ($this->get_option('FPX_B2B_UOB')=='yes' ? true : false); + $this->FPX_B2B_UOBR = ($this->get_option('FPX_B2B_UOBR')=='yes' ? true : false); + $this->Point_BCard = ($this->get_option('Point-BCard')=='yes' ? true : false); + $this->dragonpay = ($this->get_option('dragonpay')=='yes' ? true : false); + $this->NGANLUONG = ($this->get_option('NGANLUONG')=='yes' ? true : false); + $this->paysbuy = ($this->get_option('paysbuy')=='yes' ? true : false); + $this->cash_711 = ($this->get_option('cash-711')=='yes' ? true : false); + $this->ATMVA = ($this->get_option('ATMVA')=='yes' ? true : false); + $this->enetsD = ($this->get_option('enetsD')=='yes' ? true : false); + $this->singpost = ($this->get_option('singpost')=='yes' ? true : false); + $this->UPOP = ($this->get_option('UPOP')=='yes' ? true : false); + $this->alipay = ($this->get_option('alipay')=='yes' ? true : false); + $this->WeChatPay = ($this->get_option('WeChatPay')=='yes' ? true : false); + $this->WeChatPayMY = ($this->get_option('WeChatPayMY')=='yes' ? true : false); + $this->BOOST = ($this->get_option('BOOST')=='yes' ? true : false); + $this->MB2U_QRPay_Push = ($this->get_option('MB2U_QRPay-Push')=='yes' ? true : false); + $this->RazerPay = ($this->get_option('RazerPay')=='yes' ? true : false); + $this->ShopeePay = ($this->get_option('ShopeePay')=='yes' ? true : false); + $this->Rely_PW = ($this->get_option('Rely-PW')=='yes' ? true : false); + $this->IOUPay_PW = ($this->get_option('IOUPay-PW')=='yes' ? true : false); + $this->TNG_EWALLET = ($this->get_option('TNG-EWALLET')=='yes' ? true : false); + $this->GrabPay = ($this->get_option('GrabPay')=='yes' ? true : false); + $this->BAY_IB_U = ($this->get_option('BAY_IB_U')=='yes' ? true : false); + $this->BBL_IB_U = ($this->get_option('BBL_IB_U')=='yes' ? true : false); + $this->KBANK_PayPlus = ($this->get_option('KBANK_PayPlus')=='yes' ? true : false); + $this->KTB_IB_U = ($this->get_option('KTB_IB_U')=='yes' ? true : false); + $this->SCB_IB_U = ($this->get_option('SCB_IB_U')=='yes' ? true : false); + $this->BigC = ($this->get_option('BigC')=='yes' ? true : false); + $this->OMISE_TL = ($this->get_option('OMISE_TL')=='yes' ? true : false); + $this->Crypto_tripleA = ($this->get_option('Crypto_tripleA')=='yes' ? true : false); + $this->Atome = ($this->get_option('Atome')=='yes' ? true : false); + + // Transaction Type for Credit Channel + $this->credit_tcctype = ($this->get_option('credit_tcctype')=='SALS' ? 'SALS' : 'AUTH'); + + // Actions. + add_action( 'valid_molpay_request_returnurl', array( &$this, 'check_molpay_response_returnurl' ) ); + add_action( 'valid_molpay_request_callback', array( &$this, 'check_molpay_response_callback' ) ); + add_action( 'valid_molpay_request_notification', array( &$this, 'check_molpay_response_notification' ) ); + add_action( 'woocommerce_receipt_molpay', array( &$this, 'receipt_page' ) ); + + //save setting configuration + add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); + + // Payment listener/API hook + add_action( 'woocommerce_api_wc_molpay_gateway', array( $this, 'check_ipn_response' ) ); + + // Checking if merchant_id is not empty. + $this->merchant_id == '' ? add_action( 'admin_notices', array( &$this, 'merchant_id_missing_message' ) ) : ''; + + // Checking if verify_key is not empty. + $this->verify_key == '' ? add_action( 'admin_notices', array( &$this, 'verify_key_missing_message' ) ) : ''; + + // Checking if secret_key is not empty. + $this->secret_key == '' ? add_action( 'admin_notices', array( &$this, 'secret_key_missing_message' ) ) : ''; + + // Checking if account_type is not empty. + $this->account_type == '' ? add_action( 'admin_notices', array( &$this, 'account_type_missing_message' ) ) : ''; + } + + /** + * Checking if this gateway is enabled and available in the user's country. + * + * @return bool + */ + public function is_valid_for_use() { + if ( !in_array( get_woocommerce_currency() , array( 'MYR' ) ) ) { + return false; + } + return true; + } + + /** + * Admin Panel Options + * - Options for bits like 'title' and availability on a country-by-country basis. + * + */ + public function admin_options() { + ?> +

+

+ + generate_settings_html(); ?> +
+ form_fields = array( + 'enabled' => array( + 'title' => __( 'Enable/Disable', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( 'Enable Fiuu', 'wcmolpay' ), + 'default' => 'yes' + ), + 'ordering_plugin' => array( + 'title' => __( '

Installed Ordering Plugins

', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'Sequential Order Numbers', + 'options' => array( + '0' => __( 'Not install any ordering plugin', 'wcmolpay'), + '1' => __( 'Sequential Order Numbers', 'wcmolpay' ), + '2' => __( 'Sequential Order Numbers Pro', 'wcmolpay' ), + '3' => __( 'Advanced Order Numbers', 'wcmolpay' ), + '4' => __( 'Custom Order Numbers', 'wcmolpay' ) + ), + 'description' => __( 'Please select correct ordering plugin as it will affect your order result!!', 'wcmolpay' ), + 'desc_tip' => true, + ), + 'title' => array( + 'title' => __( 'Title', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), + 'default' => __( 'Fiuu', 'wcmolpay' ), + 'desc_tip' => true, + ), + 'payment_title' => array( + 'title' => __( 'Payment Title', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __( 'Showing channel instead of gateway title after payment.'), + 'description' => __( 'This controls the payment method which the user sees after payment.', 'wcmolpay' ), + 'default' => 'no', + 'desc_tip' => true + ), + 'description' => array( + 'title' => __( 'Description', 'wcmolpay' ), + 'type' => 'textarea', + 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), + 'default' => __( 'Fiuu', 'wcmolpay' ), + 'desc_tip' => true, + ), + 'merchant_id' => array( + 'title' => __( 'Merchant ID', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'Please enter your Fiuu Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), + 'default' => '' + ), + 'verify_key' => array( + 'title' => __( 'Verify Key', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'Please enter your Fiuu Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), + 'default' => '' + ), + 'secret_key' => array( + 'title' => __( 'Secret Key', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'Please enter your Fiuu Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), + 'default' => '' + ), + 'account_type' => array( + 'title' => __( 'Account Type', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'PRODUCTION', + 'options' => array( + '1' => __('PRODUCTION', 'wcmolpay' ), + '2' => __( 'SANDBOX', 'wcmolpay' ) + ) + ), + 'channel' => array( + 'title' => 'Channel to be Enabled', + 'type' => 'title', + 'description' => '', + ), + 'credit' => array( + 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'credit7' => array( + 'title' => __( 'FIRSTDATA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'PayNow' => array( + 'title' => __( 'PayNow', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'ESUN_Cash711' => array( + 'title' => __( 'ESUN Cash-711', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'ESUN_CashFamilyMart' => array( + 'title' => __( 'ESUN Cash FamilyMart', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'ESUN_ATM' => array( + 'title' => __( 'ESUN ATM', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'ESUN_CashHiLife' => array( + 'title' => __( 'ESUN CashHiLife', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'fpx_mb2u' => array( + 'title' => __( 'FPX Maybank (Maybank2u)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_cimbclicks' => array( + 'title' => __( 'FPX CIMB Bank (CIMB Clicks)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_hlb' => array( + 'title' => __( 'FPX Hong Leong Bank (HLB Connect)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_rhb' => array( + 'title' => __( 'FPX RHB Bank (RHB Now)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_amb' => array( + 'title' => __( 'FPX Am Bank (Am Online)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_pbb' => array( + 'title' => __( 'FPX PublicBank (PBB Online)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_abb' => array( + 'title' => __( 'FPX Affin Bank (Affin Online)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_bimb' => array( + 'title' => __( 'FPX Bank Islam', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_abmb' => array( + 'title' => __( 'FPX Alliance Bank (Alliance Online)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_bkrm' => array( + 'title' => __( 'FPX Bank Kerjasama Rakyat Malaysia', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_bmmb' => array( + 'title' => __( 'FPX Bank Muamalat', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_bsn' => array( + 'title' => __( 'FPX Bank Simpanan Nasional (myBSN)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_hsbc' => array( + 'title' => __( 'FPX Hongkong and Shanghai Banking Corporation', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_kfh' => array( + 'title' => __( 'FPX Kuwait Finance House', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_ocbc' => array( + 'title' => __( 'FPX OCBC Bank', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_scb' => array( + 'title' => __( 'FPX Standard Chartered Bank', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'fpx_uob' => array( + 'title' => __( 'FPX United Overseas Bank (UOB)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'FPX_M2E' => array( + 'title' => __('FPX Maybank2e', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_ABB' => array( + 'title' => __('FPX B2B Affin Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_ABBM' => array( + 'title' => __('FPX B2B AffinMax', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_ABMB' => array( + 'title' => __('FPX B2B Alliance Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_AMB' => array( + 'title' => __('FPX B2B AmBank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_BIMB' => array( + 'title' => __('FPX B2B Bank Islam Malaysia Berhad', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_BKRM' => array( + 'title' => __('FPX B2B i-bizRAKYAT', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_BMMB' => array( + 'title' => __('FPX B2B Bank Muamalat', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_BNP' => array( + 'title' => __('FPX B2B BNP Paribas', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_CIMB' => array( + 'title' => __('FPX B2B BizChannel@CIMB', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_CITIBANK' => array( + 'title' => __('FPX B2B CITIBANK', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_DEUTSCHE' => array( + 'title' => __('FPX B2B Deutsche Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_HLB' => array( + 'title' => __('FPX B2B Hong Leong Connect', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_HSBC' => array( + 'title' => __('FPX B2B HSBC', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_KFH' => array( + 'title' => __('FPX B2B Kuwait Finance House Overseas Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_OCBC' => array( + 'title' => __('FPX B2B OCBC Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_PBB' => array( + 'title' => __('FPX B2B Public Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_PBBE' => array( + 'title' => __('FPX B2B Public Bank Enterprise', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_RHB' => array( + 'title' => __('FPX B2B RHB Reflex', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_SCB' => array( + 'title' => __('FPX B2B Standard Chartered Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_UOB' => array( + 'title' => __('FPX B2B United Overseas Bank', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'FPX_B2B_UOBR' => array( + 'title' => __('FPX B2B UOB Regional', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __(' ', 'wcmolpay'), + 'default' => 'no' + ), + 'Point-BCard' => array( + 'title' => __( 'Point-BCard', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'dragonpay' => array( + 'title' => __( 'Dragonpay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'NGANLUONG' => array( + 'title' => __( 'NGANLUONG', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'paysbuy' => array( + 'title' => __( 'PaysBuy', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'cash-711' => array( + 'title' => __( '7-Eleven (Razer Cash)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'ATMVA' => array( + 'title' => __( 'ATM Transfer via Permata Bank', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'enetsD' => array( + 'title' => __( 'eNETS', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'singpost' => array( + 'title' => __( 'Cash-SAM', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'UPOP' => array( + 'title' => __( 'China Union Pay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'alipay' => array( + 'title' => __( 'Alipay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'WeChatPay' => array( + 'title' => __( 'WeChatPay Cross Border', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'WeChatPayMY' => array( + 'title' => __( 'WeChatPayMY', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'BOOST' => array( + 'title' => __( 'Boost', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'MB2U_QRPay-Push' => array( + 'title' => __( 'Maybank QRPay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'RazerPay' => array( + 'title' => __( 'Razer Pay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'ShopeePay' => array( + 'title' => __( 'Shopee Pay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'Rely-PW' => array( + 'title' => __( 'Rely', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'IOUPay-PW' => array( + 'title' => __( 'IOUPay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'TNG-EWALLET' => array( + 'title' => __( 'Touch `n Go eWallet', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'GrabPay' => array( + 'title' => __( 'Grab Pay', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'BAY_IB_U' => array( + 'title' => __( 'Bank of Ayudhya (Krungsri)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'BBL_IB_U' => array( + 'title' => __( 'Bangkok Bank (Fee on user)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'KBANK_PayPlus' => array( + 'title' => __( 'Kasikornbank K PLUS', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'KTB_IB_U' => array( + 'title' => __( 'Krung Thai Bank (Fee on user)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'SCB_IB_U' => array( + 'title' => __( 'Siam Commercial Bank (Fee on user)', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'BigC' => array( + 'title' => __( 'BigC', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'OMISE_TL' => array( + 'title' => __( 'Tesco Lotus via OMISE', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'Crypto_tripleA' => array( + 'title' => __( 'Crypto tripleA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'Atome' => array( + 'title' => __( 'Atome', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + + ), + 'tcctype' => array( + 'title' => 'Transaction Type for Credit Card / Debit Card Channel', + 'type' => 'title', + 'description' => '', + ), + 'credit_tcctype' => array( + 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'SALS', + 'options' => array( + 'SALS' => __('SALS', 'wcmolpay' ), + 'AUTH' => __( 'AUTH', 'wcmolpay' ) + ), + 's' => array( + 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'SALS', + 'options' => array( + 'SALS' => __('SALS', 'wcmolpay' ), + 'AUTH' => __( 'AUTH', 'wcmolpay' ) + ) + ) + ) + ); + } + + /** + * Generate the form. + * + * @param mixed $order_id + * @return string + */ + public function generate_form( $order_id ) { + $order = new WC_Order( $order_id ); + $pay_url = $this->url.'MOLPay/pay/'.$this->merchant_id; + $total = $order->get_total(); + $order_number = $order->get_order_number(); + $vcode = md5($order->get_total().$this->merchant_id.$order_number.$this->verify_key); + + if ( sizeof( $order->get_items() ) > 0 ) + foreach ( $order->get_items() as $item ) + if ( $item['qty'] ) + $item_names[] = $item['name'] . ' x ' . $item['qty']; + + $desc = sprintf( __( 'Order %s' , 'woocommerce'), $order_number ) . " - " . implode( ', ', $item_names ); + + $molpay_args = array( + 'vcode' => $vcode, + 'orderid' => $order_number, + 'amount' => $total, + 'bill_name' => $order->get_billing_first_name()." ".$order->get_billing_last_name(), + 'bill_mobile' => $order->get_billing_phone(), + 'bill_email' => $order->get_billing_email(), + 'bill_desc' => $desc, + 'country' => $order->get_billing_country(), + 'cur' => get_woocommerce_currency(), + 'returnurl' => add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' ) ) + ); + + $molpay_args_array = array(); + + foreach ($molpay_args as $key => $value) { + $molpay_args_array[] = ""; + } + + $mpsreturn = add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' )); + $latest = ($this->get_option('account_type')=='1') ? "3.28" : "latest" ; + return "
" + . implode('', $molpay_args_array) + ."" + ."" + ."

Pay via:

" + ."
" + ."
" + ." I have read and agree to the Terms & Conditions and Privacy Policy." + ."
" + ."
" + .($this->credit ? "" : '') + .($this->credit7 ? "" : '') + .($this->fpx_mb2u ? "" : '') + .($this->PayNow ? "" : '') + .($this->ESUN_Cash711 ? "" : '') + .($this->ESUN_CashFamilyMart ? "" : '') + .($this->ESUN_ATM ? "" : '') + .($this->ESUN_CashHiLife ? "" : '') + .($this->fpx_cimbclicks ? "" : '') + .($this->Crypto_tripleA ? "" : '') + .($this->Atome ? "" : '') + .($this->fpx_hlb ? "" : '') + .($this->fpx_rhb ? "" : '') + .($this->fpx_amb ? "" : '') + .($this->fpx_pbb ? "" : '') + .($this->fpx_abb ? "" : '') + .($this->fpx_bimb ? "" : '') + .($this->fpx_abmb ? "" : '') + .($this->fpx_bkrm ? "" : '') + .($this->fpx_bmmb ? "" : '') + .($this->fpx_bsn ? "" : '') + .($this->fpx_hsbc ? "" : '') + .($this->fpx_kfh ? "" : '') + .($this->fpx_ocbc ? "" : '') + .($this->fpx_scb ? "" : '') + .($this->fpx_uob ? "" : '') + .($this->Rely_PW ? "" : '') + .($this->IOUPay_PW ? "" : '') + .($this->Point_BCard ? "" : '') + .($this->dragonpay ? "" : '') + .($this->NGANLUONG ? "" : '') + .($this->paysbuy ? "" : '') + .($this->cash_711 ? "" : '') + .($this->ATMVA ? "" : '') + .($this->enetsD ? "" : '') + .($this->singpost ? "" : '') + .($this->UPOP ? "" : '') + .($this->alipay ? "" : '') + .($this->WeChatPay ? "" : '') + .($this->WeChatPayMY ? "" : '') + .($this->BOOST ? "" : '') + .($this->MB2U_QRPay_Push ? "" : '') + .($this->RazerPay ? "" : '') + .($this->ShopeePay ? "" : '') + .($this->TNG_EWALLET ? "" : '') + .($this->GrabPay ? "" : '') + .($this->BAY_IB_U ? "" : '') + .($this->BBL_IB_U ? "" : '') + .($this->KBANK_PayPlus ? "" : '') + .($this->KTB_IB_U ? "" : '') + .($this->SCB_IB_U ? "" : '') + .($this->BigC ? "" : '') + .($this->OMISE_TL ? "" : '') + .($this->FPX_M2E ? "" : '') + .($this->FPX_B2B_ABB ? "" : '') + .($this->FPX_B2B_ABBM ? "" : '') + .($this->FPX_B2B_ABMB ? "" : '') + .($this->FPX_B2B_AMB ? "" : '') + .($this->FPX_B2B_BIMB ? "" : '') + .($this->FPX_B2B_BKRM ? "" : '') + .($this->FPX_B2B_BMMB ? "" : '') + .($this->FPX_B2B_BNP ? "" : '') + .($this->FPX_B2B_CIMB ? "" : '') + .($this->FPX_B2B_CITIBANK ? "" : '') + .($this->FPX_B2B_DEUTSCHE ? "" : '') + .($this->FPX_B2B_HLB ? "" : '') + .($this->FPX_B2B_HSBC ? "" : '') + .($this->FPX_B2B_KFH ? "" : '') + .($this->FPX_B2B_OCBC ? "" : '') + .($this->FPX_B2B_PBB ? "" : '') + .($this->FPX_B2B_PBBE ? "" : '') + .($this->FPX_B2B_RHB ? "" : '') + .($this->FPX_B2B_SCB ? "" : '') + .($this->FPX_B2B_UOB ? "" : '') + .($this->FPX_B2B_UOBR ? "" : '') + . "
"; + } + + + /** + * Order error button. + * + * @param object $order Order data. + * @return string Error message and cancel button. + */ + protected function molpay_order_error( $order ) { + $html = '

' . __( 'An error has occurred while processing your payment, please try again. Or contact us for assistance.', 'wcmolpay' ) . '

'; + $html .='' . __( 'Click to try again', 'wcmolpay' ) . ''; + return $html; + } + + /** + * Process the payment and return the result. + * + * @param int $order_id + * @return array + */ + public function process_payment( $order_id ) { + $order = new WC_Order( $order_id ); + return array( + 'result' => 'success', + 'redirect' => $order->get_checkout_payment_url( true ) + ); + } + + /** + * Output for the order received page. + * + * @param object $order Order data. + */ + public function receipt_page( $order ) { + echo $this->generate_form( $order ); + } + + /** + * Check for Fiuu Response + * + * @access public + * @return void + */ + function check_ipn_response() { + @ob_clean(); + + if ( !( isset($_POST['nbcb']) )) { + do_action( "valid_molpay_request_returnurl", $_POST ); + } else if ( $_POST['nbcb']=='1' ) { + do_action ( "valid_molpay_request_callback", $_POST ); + } else if ( $_POST['nbcb']=='2' ) { + do_action ( "valid_molpay_request_notification", $_POST ); + } else { + wp_die( "Fiuu Request Failure" ); + } + } + + /** + * This part is handle return response + * + * @global mixed $woocommerce + */ + function check_molpay_response_returnurl() { + global $woocommerce; + + $verifyresult = $this->verifySkey($_POST); + $status = $_POST['status']; + if( !$verifyresult ) + $status = "-1"; + + $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); + $order = new WC_Order( $WCOrderId ); + + $referer = "
Referer: ReturnURL"; + $getStatus = $order->get_status(); + if(!in_array($getStatus,array('processing','completed'))) { + if ($status == "11") { + $referer .= " (Inquiry)"; + $status = $this->inquiry_status( $_POST['tranID'], $_POST['amount'], $_POST['domain']); + } + $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); + if (in_array($status, array("00","22"))) { + wp_redirect($order->get_checkout_order_received_url()); + } else { + wp_redirect($order->get_cancel_order_url()); + } + } else { + wp_redirect($order->get_checkout_order_received_url()); + } + $this->acknowledgeResponse($_POST); + exit; + } + + /** + * This part is handle notification response + * + * @global mixed $woocommerce + */ + function check_molpay_response_notification() { + global $woocommerce; + $verifyresult = $this->verifySkey($_POST); + $status = $_POST['status']; + if ( !$verifyresult ) + $status = "-1"; + + $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); + $referer = "
Referer: NotificationURL"; + $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); + $this->acknowledgeResponse($_POST); + } + + /** + * This part is handle callback response + * + * @global mixed $woocommerce + */ + function check_molpay_response_callback() { + global $woocommerce; + $verifyresult = $this->verifySkey($_POST); + $status = $_POST['status']; + if ( !$verifyresult ) + $status = "-1"; + + $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); + $referer = "
Referer: CallbackURL"; + $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); + $this->acknowledgeResponse($_POST); + } + + /** + * Adds error message when not configured the merchant_id. + * + */ + public function merchant_id_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Adds error message when not configured the verify_key. + * + */ + public function verify_key_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Adds error message when not configured the secret_key. + * + */ + public function secret_key_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Adds error message when not configured the account_type. + * + */ + public function account_type_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Inquiry transaction status + * + * @param int $tranID + * @param double $amount + * @param string $domain + * @return status + */ + public function inquiry_status($tranID, $amount, $domain) { + $verify_key = $this->verify_key; + $requestUrl = $this->inquiry_url."RMS/q_by_tid.php"; + $request_param = array( + "amount" => number_format($amount,2), + "txID" => intval($tranID), + "domain" => urlencode($domain), + "skey" => urlencode(md5(intval($tranID).$domain.$verify_key.number_format($amount,2))) ); + $post_data = http_build_query($request_param); + $header[] = "Content-Type: application/x-www-form-urlencoded"; + $ch = curl_init(); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); + curl_setopt($ch,CURLOPT_URL, $requestUrl); + curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); + curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); + curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + $response = curl_exec($ch); + $response = trim($response); + $temp = explode("\n", $response); + foreach ( $temp as $value ) { + $array = explode(':', $value); + $key = trim($array[0], "[]"); + $result[$key] = trim($array[1]); + } + $verify = md5($result['Amount'].$this->secret_key.$result['Domain'].$result['TranID'].$result['StatCode']); + if ($verify != $result['VrfKey']) { + $result['StatCode'] = "99"; + } + return $result['StatCode']; + } + + /** + * Update Cart based on Fiuu status + * + * @global mixed $woocommerce + * @param int $order_id + * @param int $MOLPay_status + * @param int $tranID + * @param string $referer + */ + public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $referer, $channel) { + global $woocommerce; + + $order = new WC_Order( $orderid ); + + switch ($MOLPay_status) { + case '00': + $M_status = 'SUCCESSFUL'; + break; + case '22': + $M_status = 'PENDING'; + $W_status = 'pending'; + break; + case '11': + $M_status = 'FAILED'; + $W_status = 'failed'; + break; + default: + $M_status = 'PENDING'; + $W_status = 'pending'; + break; + } + + $channel_mappings = array( + 'maybank2u' => 'fpx_mb2u', + 'cimb' => 'fpx_cimbclicks', + 'hlb' => 'fpx_hlb', + 'rhb' => 'fpx_rhb', + 'amb' => 'fpx_amb', + 'publicbank' => 'fpx_pbb', + 'abb' => 'fpx_abb', + 'bankislam' => 'fpx_bimb', + 'alliancebank' => 'fpx_abmb', + 'bkrm' => 'fpx_bkrm', + 'bsn' => 'fpx_bsn', + 'hsbc' => 'fpx_hsbc', + 'kuwait-finace' => 'fpx_kfh', + 'ocbc' => 'fpx_ocbc', + 'scb' => 'fpx_scb', + 'uob' => 'fpx_uob' + ); + + if (isset($channel_mappings[$channel])) { + $channel = $channel_mappings[$channel]; + } + + $getStatus = $order->get_status(); + if(!in_array($getStatus,array('processing','completed'))) { + $order->add_order_note('Fiuu Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); + if ($MOLPay_status == "00") { + $order->payment_complete(); + } else { + $order->update_status($W_status, sprintf(__('Payment %s via Fiuu.', 'woocommerce'), $tranID ) ); + } + if ($this->payment_title == 'yes') { + $paytitle = $this->form_fields[strtolower($channel)]['title']; + $order->set_payment_method_title($paytitle); + $order->save(); + } + } + } + + + /** + * Obtain the original order id based using the returned transaction order id + * + * @global mixed $woocommerce + * @param int $orderid + * @return int $real_order_id + */ + public function get_WCOrderIdByOrderId($orderid) { + switch($this->ordering_plugin) { + case '1' : // sequential order number + $WCOrderId = wc_sequential_order_numbers()->find_order_by_order_number( $orderid ); + break; + case '2' : // sequential order number pro + $WCOrderId = wc_seq_order_number_pro()->find_order_by_order_number( $orderid ); + break; + case '3' : // advanced order number + $WCOrderId = $this->find_order_by_advanced_order_number( $orderid, '_oton_number_ordernumber' ); + break; + case '4' : // custom order number + $WCOrderId = $this->find_order_by_custom_order_number($orderid, '_alg_wc_full_custom_order_number'); + break; + case '0' : + default : + $WCOrderId = $orderid; + break; + } + return $WCOrderId; + } + + /** + * Get order id from ordering plugin's order id. + * + * @global mixed $woocommerce + * @param int $orderid + * @param string $metaKey + * + * @return int + */ + private function find_order_by_custom_order_number($orderid, $metaKey) + { + $query_args = array( + 'numberposts' => 1, + 'meta_key' => $metaKey, + 'meta_value' => $orderid, + 'post_type' => 'shop_order', + 'post_status' => 'any', + 'fields' => 'ids', + ); + $post = get_posts( $query_args ); + list( $WCOrderId ) = $post; + + return $WCOrderId; + } + + public function find_order_by_advanced_order_number( $order_number, $metaKey ) { + + $query_args = array( + 'numberposts' => 1, + 'meta_key' => $metaKey, + 'meta_value' => $order_number, + 'post_type' => 'shop_order', + 'post_status' => 'any', + 'fields' => 'ids', + ); + $post = get_posts( $query_args ); + list( $order_number ) = ! empty( $post ) ? $post : null; + + return $order_number; + + } + + + /** + * Acknowledge transaction result + * + * @global mixed $woocommerce + * @param array $response + */ + public function acknowledgeResponse($response) { + if ($response['nbcb'] == '1') { + echo "CBTOKEN:MPSTATOK"; exit; + } else { + $response['treq']= '1'; // Additional parameter for IPN + foreach($response as $k => $v) { + $postData[]= $k."=".$v; + } + $postdata = implode("&",$postData); + $url = $this->url."RMS/API/chkstat/returnipn.php"; + $ch = curl_init(); + curl_setopt($ch, CURLOPT_POST , 1 ); + curl_setopt($ch, CURLOPT_POSTFIELDS , $postdata ); + curl_setopt($ch, CURLOPT_URL , $url ); + curl_setopt($ch, CURLOPT_HEADER , 1 ); + curl_setopt($ch, CURLINFO_HEADER_OUT , TRUE ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 ); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , FALSE); + curl_setopt($ch, CURLOPT_SSLVERSION , CURL_SSLVERSION_TLSv1 ); + $result = curl_exec( $ch ); + curl_close( $ch ); + } + } + + /** + * To verify transaction result using merchant secret key setting. + * + * @global mixed $woocommerce + * @param array $response + * @return boolean verifyresult + */ + public function verifySkey($response) { + + $amount = $response['amount']; + $orderid = $response['orderid']; + $tranID = $response['tranID']; + $status = $response['status']; + $domain = $response['domain']; + $currency = $response['currency']; + $appcode = $response['appcode']; + $paydate = $response['paydate']; + $skey = $response['skey']; + $vkey = $this->verify_key; + + $key0 = md5($tranID.$orderid.$status.$domain.$amount.$currency); + $key1 = md5($paydate.$domain.$key0.$appcode.$vkey); + if ($skey != $key1) + return false; + else + return true; + } + + } +} diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/ATMVA.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/ATMVA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/ATMVA.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/ATMVA.png diff --git a/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/Fiuu_Logo.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/Fiuu_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f196e14a579c9fe90aca63eae26790c7ce367858 GIT binary patch literal 65783 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�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 Y3FmOPy48dYJjD+)GudREWylQvA0hrEU;qFB literal 0 HcmV?d00001 diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/NGANLUONG.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/NGANLUONG.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/NGANLUONG.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/NGANLUONG.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/Point-BCard.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/Point-BCard.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/Point-BCard.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/Point-BCard.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/UPOP.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/UPOP.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/UPOP.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/UPOP.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/WeChatPay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/WeChatPay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/WeChatPay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/WeChatPay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/affinonline.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/affinonline.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/affinonline.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/affinonline.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/alipay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/alipay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/alipay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/alipay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/amb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/amb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/amb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/amb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/bankislam.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/bankislam.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/bankislam.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/bankislam.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/boost.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/boost.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/boost.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/boost.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/cash-711.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/cash-711.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/cash-711.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/cash-711.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/cimbclicks.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/cimbclicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/cimbclicks.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/cimbclicks.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/credit.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/credit.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/credit.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/credit.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/dragonpay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/dragonpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/dragonpay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/dragonpay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/enetsD.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/enetsD.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/enetsD.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/enetsD.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_abb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_abb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_abb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_abb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_abmb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_abmb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_abmb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_abmb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_amb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_amb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_amb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_amb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bimb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bimb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bimb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bimb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bkrm.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bkrm.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bkrm.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bkrm.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bmmb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bmmb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bmmb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bmmb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bsn.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bsn.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_bsn.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_bsn.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_cimbclicks.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_cimbclicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_cimbclicks.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_cimbclicks.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_hlb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_hlb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_hlb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_hlb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_hsbc.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_hsbc.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_hsbc.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_hsbc.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_kfh.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_kfh.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_kfh.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_kfh.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_mb2u.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_mb2u.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_mb2u.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_mb2u.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_ocbc.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_ocbc.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_ocbc.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_ocbc.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_pbb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_pbb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_pbb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_pbb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_rhb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_rhb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_rhb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_rhb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_scb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_scb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_scb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_scb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_uob.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_uob.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/fpx_uob.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/fpx_uob.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/grabpay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/grabpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/grabpay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/grabpay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/hlb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/hlb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/hlb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/hlb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/maybankQR.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/maybankQR.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/maybankQR.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/maybankQR.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/paysbuy.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/paysbuy.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/paysbuy.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/paysbuy.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/pbb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/pbb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/pbb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/pbb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/razerpay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/razerpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/razerpay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/razerpay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/rhb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/rhb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/rhb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/rhb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/singpost.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/singpost.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/singpost.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/singpost.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/touchngo_ewallet.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/touchngo_ewallet.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/touchngo_ewallet.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/touchngo_ewallet.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/wechatpay_my.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/wechatpay_my.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/wechatpay_my.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/images/wechatpay_my.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/wc-molpay.php b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/wc-fiuu.php similarity index 93% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/wc-molpay.php rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/wc-fiuu.php index 405b10e..0e569a7 100644 --- a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/wc-molpay.php +++ b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers/wc-fiuu.php @@ -1,22 +1,22 @@ + * @author Fiuu Technical Team * @version 3.0.0 * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway */ /** - * Plugin Name: WooCommerce Razer Merchant Services Seamless for Sequential Order Numbers + * Plugin Name: WooCommerce Fiuu Seamless for Sequential Order Numbers * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress - * Description: WooCommerce Razer Merchant Services | The leading payment gateway in South East Asia Grow your business with Razer Merchant Services payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce - * Author: Razer Merchant Services Tech Team + * Description: WooCommerce Fiuu | The leading payment gateway in South East Asia Grow your business with Fiuu payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce + * Author: Fiuu Tech Team * Author URI: https://merchant.razer.com/ * Version: 3.0.1 * License: MIT - * Text Domain: wcmolpay + * Text Domain: wc-fiuu * Domain Path: /languages/ * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway @@ -29,7 +29,7 @@ */ function wcmolpay_woocommerce_fallback_notice() { $message = '
'; - $message .= '

' . __( 'WooCommerce Razer Merchant Services Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; + $message .= '

' . __( 'WooCommerce Fiuu Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; $message .= '
'; echo $message; } @@ -38,7 +38,7 @@ function wcmolpay_woocommerce_fallback_notice() { add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); /** - * Load Razer Merchant Services gateway plugin function + * Load Fiuu gateway plugin function * * @return mixed */ @@ -54,7 +54,7 @@ function wcmolpay_gateway_load() { add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); /** - * Add Razer Merchant Services gateway to ensure WooCommerce can load it + * Add Fiuu gateway to ensure WooCommerce can load it * * @param array $methods * @return array @@ -65,13 +65,13 @@ function wcmolpay_add_gateway( $methods ) { } /** - * Define the Razer Merchant Services gateway + * Define the Fiuu gateway * */ class WC_Molpay_Gateway extends WC_Payment_Gateway { /** - * Construct the Razer Merchant Services gateway class + * Construct the Fiuu gateway class * * @global mixed $woocommerce */ @@ -79,10 +79,10 @@ public function __construct() { global $woocommerce; $this->id = 'molpay'; - $this->icon = plugins_url( 'images/logo_RazerMerchantServices.png', __FILE__ ); + $this->icon = plugins_url( 'images/Fiuu_Logo.png', __FILE__ ); $this->has_fields = false; - $this->method_title = __( 'Razer Merchant Services', 'wcmolpay' ); - $this->method_description = __( 'Proceed payment via Razer Merchant Services Seamless Integration Plugin
This is for Sequential Order Numbers', 'woocommerce' ); + $this->method_title = __( 'Fiuu', 'wcmolpay' ); + $this->method_description = __( 'Proceed payment via Fiuu Seamless Integration Plugin
This is for Sequential Order Numbers', 'woocommerce' ); // Load the form fields. $this->init_form_fields(); @@ -186,8 +186,8 @@ public function is_valid_for_use() { */ public function admin_options() { ?> -

-

+

+

generate_settings_html(); ?>
@@ -203,37 +203,37 @@ public function init_form_fields() { 'enabled' => array( 'title' => __( 'Enable/Disable', 'wcmolpay' ), 'type' => 'checkbox', - 'label' => __( 'Enable Razer Merchant Services', 'wcmolpay' ), + 'label' => __( 'Enable Fiuu', 'wcmolpay' ), 'default' => 'yes' ), 'title' => array( 'title' => __( 'Title', 'wcmolpay' ), 'type' => 'text', 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ) + 'default' => __( 'Fiuu', 'wcmolpay' ) ), 'description' => array( 'title' => __( 'Description', 'wcmolpay' ), 'type' => 'textarea', 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Pay with Razer Merchant Services', 'wcmolpay' ) + 'default' => __( 'Pay with Fiuu', 'wcmolpay' ) ), 'merchant_id' => array( 'title' => __( 'Merchant ID', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'verify_key' => array( 'title' => __( 'Verify Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'secret_key' => array( 'title' => __( 'Secret Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'account_type' => array( @@ -604,7 +604,7 @@ public function receipt_page( $order ) { } /** - * Check for Razer Merchant Services Response + * Check for Fiuu Response * * @access public * @return void @@ -619,12 +619,12 @@ function check_ipn_response() { } else if ( $_POST['nbcb']=='2' ) { do_action ( "valid_molpay_request_notification", $_POST ); } else { - wp_die( "Razer Merchant Services Request Failure" ); + wp_die( "Fiuu Request Failure" ); } } /** - * This part is returnurl function for Razer Merchant Services + * This part is returnurl function for Fiuu * * @global mixed $woocommerce */ @@ -693,7 +693,7 @@ function check_molpay_response_returnurl() { } /** - * This part is notification function for Razer Merchant Services + * This part is notification function for Fiuu * * @global mixed $woocommerce */ @@ -743,7 +743,7 @@ function check_molpay_response_notification() { } /** - * This part is callback function for Razer Merchant Services + * This part is callback function for Fiuu * * @global mixed $woocommerce */ @@ -773,7 +773,7 @@ function check_molpay_response_callback() { $this->update_Cart_by_Status($post_id, $status, $tranID, $referer); if ( $nbcb=='1' ) { - //callback IPN feedback to notified Razer Merchant Services + //callback IPN feedback to notified Fiuu echo "CBTOKEN:MPSTATOK"; exit; } } @@ -784,7 +784,7 @@ function check_molpay_response_callback() { */ public function merchant_id_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Merchant ID in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Merchant ID in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -795,7 +795,7 @@ public function merchant_id_missing_message() { */ public function verify_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Verify Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Verify Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -806,7 +806,7 @@ public function verify_key_missing_message() { */ public function secret_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -817,7 +817,7 @@ public function secret_key_missing_message() { */ public function account_type_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -865,7 +865,7 @@ public function inquiry_status($tranID, $amount, $domain) { } /** - * Update Cart based on Razer Merchant Services status + * Update Cart based on Fiuu status * * @global mixed $woocommerce * @param int $order_id @@ -895,11 +895,11 @@ public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $refere break; } - $order->add_order_note('Razer Merchant Services Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); + $order->add_order_note('Fiuu Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); if ($MOLPay_status == "00") { $order->payment_complete(); } else { - $order->update_status($W_status, sprintf(__('Payment %s via Razer Merchant Services.', 'woocommerce'), $tranID ) ); + $order->update_status($W_status, sprintf(__('Payment %s via Fiuu.', 'woocommerce'), $tranID ) ); } } diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/ATMVA.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/ATMVA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/ATMVA.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/ATMVA.png diff --git a/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/Fiuu_Logo.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/Fiuu_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f196e14a579c9fe90aca63eae26790c7ce367858 GIT binary patch literal 65783 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�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 Y3FmOPy48dYJjD+)GudREWylQvA0hrEU;qFB literal 0 HcmV?d00001 diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/NGANLUONG.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/NGANLUONG.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/NGANLUONG.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/NGANLUONG.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/Point-BCard.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/Point-BCard.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/Point-BCard.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/Point-BCard.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/UPOP.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/UPOP.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/UPOP.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/UPOP.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/WeChatPay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/WeChatPay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/WeChatPay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/WeChatPay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/affinonline.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/affinonline.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/affinonline.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/affinonline.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/alipay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/alipay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/alipay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/alipay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/amb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/amb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/amb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/amb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/bankislam.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/bankislam.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/bankislam.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/bankislam.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/boost.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/boost.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/boost.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/boost.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/cash-711.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/cash-711.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/cash-711.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/cash-711.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/cimbclicks.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/cimbclicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/cimbclicks.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/cimbclicks.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/credit.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/credit.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/credit.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/credit.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/dragonpay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/dragonpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/dragonpay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/dragonpay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/enetsD.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/enetsD.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/enetsD.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/enetsD.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_abb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_abb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_abb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_abb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_abmb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_abmb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_abmb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_abmb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_amb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_amb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_amb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_amb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bimb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bimb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bimb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bimb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bkrm.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bkrm.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bkrm.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bkrm.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bmmb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bmmb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bmmb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bmmb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bsn.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bsn.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_bsn.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_bsn.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_cimbclicks.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_cimbclicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_cimbclicks.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_cimbclicks.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_hlb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_hlb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_hlb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_hlb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_hsbc.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_hsbc.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_hsbc.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_hsbc.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_kfh.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_kfh.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_kfh.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_kfh.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_mb2u.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_mb2u.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_mb2u.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_mb2u.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_ocbc.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_ocbc.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_ocbc.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_ocbc.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_pbb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_pbb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_pbb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_pbb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_rhb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_rhb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_rhb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_rhb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_scb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_scb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_scb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_scb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_uob.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_uob.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/fpx_uob.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/fpx_uob.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/grabpay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/grabpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/grabpay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/grabpay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/hlb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/hlb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/hlb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/hlb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/maybankQR.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/maybankQR.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/maybankQR.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/maybankQR.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/molwallet.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/molwallet.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/molwallet.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/molwallet.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/paysbuy.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/paysbuy.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/paysbuy.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/paysbuy.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/pbb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/pbb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/pbb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/pbb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/razerpay.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/razerpay.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/razerpay.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/razerpay.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/rhb.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/rhb.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/rhb.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/rhb.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/singpost.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/singpost.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/singpost.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/singpost.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/touchngo_ewallet.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/touchngo_ewallet.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/touchngo_ewallet.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/touchngo_ewallet.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/wechatpay_my.png b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/wechatpay_my.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/wechatpay_my.png rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/images/wechatpay_my.png diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/wc-molpay.php b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/wc-fiuu.php similarity index 93% rename from WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/wc-molpay.php rename to WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/wc-fiuu.php index be6e90b..31606e3 100644 --- a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/wc-molpay.php +++ b/WooCommerce/woocommerce_fiuu_seamless_for_sequential_order_numbers_pro/wc-fiuu.php @@ -1,22 +1,22 @@ + * @author Fiuu Technical Team * @version 3.0.0 * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway */ /** - * Plugin Name: WooCommerce Razer Merchant Services Seamless for Sequential Order Numbers Pro + * Plugin Name: WooCommerce Fiuu Seamless for Sequential Order Numbers Pro * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress - * Description: WooCommerce Razer Merchant Services | The leading payment gateway in South East Asia Grow your business with Razer Merchant Services payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce - * Author: Razer Merchant Services Tech Team + * Description: WooCommerce Fiuu | The leading payment gateway in South East Asia Grow your business with Fiuu payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce + * Author: Fiuu Tech Team * Author URI: https://merchant.razer.com/ * Version: 3.0.1 * License: MIT - * Text Domain: wcmolpay + * Text Domain: wc-fiuu * Domain Path: /languages/ * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway @@ -29,7 +29,7 @@ */ function wcmolpay_woocommerce_fallback_notice() { $message = '
'; - $message .= '

' . __( 'WooCommerce Razer Merchant Services Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; + $message .= '

' . __( 'WooCommerce Fiuu Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; $message .= '
'; echo $message; } @@ -39,7 +39,7 @@ function wcmolpay_woocommerce_fallback_notice() { add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); /** - * Load Razer Merchant Services gateway plugin function + * Load Fiuu gateway plugin function * * @return mixed */ @@ -55,7 +55,7 @@ function wcmolpay_gateway_load() { add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); /** - * Add Razer Merchant Services gateway to ensure WooCommerce can load it + * Add Fiuu gateway to ensure WooCommerce can load it * * @param array $methods * @return array @@ -66,13 +66,13 @@ function wcmolpay_add_gateway( $methods ) { } /** - * Define the Razer Merchant Services gateway + * Define the Fiuu gateway * */ class WC_Molpay_Gateway extends WC_Payment_Gateway { /** - * Construct the Razer Merchant Services gateway class + * Construct the Fiuu gateway class * * @global mixed $woocommerce */ @@ -80,10 +80,10 @@ public function __construct() { global $woocommerce; $this->id = 'molpay'; - $this->icon = plugins_url( 'images/logo_RazerMerchantServices.png', __FILE__ ); + $this->icon = plugins_url( 'images/Fiuu_Logo.png', __FILE__ ); $this->has_fields = false; - $this->method_title = __( 'Razer Merchant Services', 'wcmolpay' ); - $this->method_description = __( 'Proceed payment via Razer Merchant Services Seamless Integration Plugin for
This is for Sequential Order Numbers Pro', 'woocommerce' ); + $this->method_title = __( 'Fiuu', 'wcmolpay' ); + $this->method_description = __( 'Proceed payment via Fiuu Seamless Integration Plugin for
This is for Sequential Order Numbers Pro', 'woocommerce' ); // Load the form fields. $this->init_form_fields(); @@ -189,8 +189,8 @@ public function is_valid_for_use() { */ public function admin_options() { ?> -

-

+

+

generate_settings_html(); ?>
@@ -206,37 +206,37 @@ public function init_form_fields() { 'enabled' => array( 'title' => __( 'Enable/Disable', 'wcmolpay' ), 'type' => 'checkbox', - 'label' => __( 'Enable Razer Merchant Services', 'wcmolpay' ), + 'label' => __( 'Enable Fiuu', 'wcmolpay' ), 'default' => 'yes' ), 'title' => array( 'title' => __( 'Title', 'wcmolpay' ), 'type' => 'text', 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ) + 'default' => __( 'Fiuu', 'wcmolpay' ) ), 'description' => array( 'title' => __( 'Description', 'wcmolpay' ), 'type' => 'textarea', 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Pay with Razer Merchant Services', 'wcmolpay' ) + 'default' => __( 'Pay with Fiuu', 'wcmolpay' ) ), 'merchant_id' => array( 'title' => __( 'Merchant ID', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'verify_key' => array( 'title' => __( 'Verify Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'secret_key' => array( 'title' => __( 'Secret Key', 'wcmolpay' ), 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), + 'description' => __( 'Please enter your Fiuu Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), 'default' => '' ), 'account_type' => array( @@ -606,7 +606,7 @@ public function receipt_page( $order ) { } /** - * Check for Razer Merchant Services Response + * Check for Fiuu Response * * @access public * @return void @@ -621,12 +621,12 @@ function check_ipn_response() { } else if ( $_POST['nbcb']=='2' ) { do_action ( "valid_molpay_request_notification", $_POST ); } else { - wp_die( "Razer Merchant Services Request Failure" ); + wp_die( "Fiuu Request Failure" ); } } /** - * This part is returnurl function for Razer Merchant Services + * This part is returnurl function for Fiuu * * @global mixed $woocommerce */ @@ -694,7 +694,7 @@ function check_molpay_response_returnurl() { } /** - * This part is notify function for Razer Merchant Services + * This part is notify function for Fiuu * * @global mixed $woocommerce */ @@ -744,7 +744,7 @@ function check_molpay_response_notification() { } /** - * This part is callback function for Razer Merchant Services + * This part is callback function for Fiuu * * @global mixed $woocommerce */ @@ -774,7 +774,7 @@ function check_molpay_response_callback() { $this->update_Cart_by_Status($post_id, $status, $tranID, $referer); if ( $nbcb=='1' ) { - //callback IPN feedback to notified Razer Merchant Services + //callback IPN feedback to notified Fiuu echo "CBTOKEN:MPSTATOK"; exit; } } @@ -785,7 +785,7 @@ function check_molpay_response_callback() { */ public function merchant_id_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Merchant ID in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Merchant ID in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -796,7 +796,7 @@ public function merchant_id_missing_message() { */ public function verify_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Verify Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should inform your Verify Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -807,7 +807,7 @@ public function verify_key_missing_message() { */ public function secret_key_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -818,7 +818,7 @@ public function secret_key_missing_message() { */ public function account_type_missing_message() { $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; $message .= '
'; echo $message; } @@ -866,7 +866,7 @@ public function inquiry_status($tranID, $amount, $domain) { } /** - * Update Cart based on Razer Merchant Services status + * Update Cart based on Fiuu status * * @global mixed $woocommerce * @param int $order_id @@ -896,11 +896,11 @@ public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $refere break; } - $order->add_order_note('Razer Merchant Services Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); + $order->add_order_note('Fiuu Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); if ($MOLPay_status == "00") { $order->payment_complete(); } else { - $order->update_status($W_status, sprintf(__('Payment %s via Razer Merchant Services.', 'woocommerce'), $tranID ) ); + $order->update_status($W_status, sprintf(__('Payment %s via Fiuu.', 'woocommerce'), $tranID ) ); } } diff --git a/WooCommerce/woocommerce_rms_seamless_id/README.md b/WooCommerce/woocommerce_fiuu_seamless_id/README.md similarity index 98% rename from WooCommerce/woocommerce_rms_seamless_id/README.md rename to WooCommerce/woocommerce_fiuu_seamless_id/README.md index 3288b55..8d2eab7 100644 --- a/WooCommerce/woocommerce_rms_seamless_id/README.md +++ b/WooCommerce/woocommerce_fiuu_seamless_id/README.md @@ -1,5 +1,9 @@ # Change log for WooCommerce Razer Merchant Services Seamless Plugin +## Company Rebranding - July 19, 2024 + +- Rebranded to Fiuu + ## v5.3.0 - May 24, 2021 **Updates:** diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/ALFA.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/ALFA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/ALFA.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/ALFA.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/Artajasa.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/Artajasa.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/Artajasa.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/Artajasa.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/BCA.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/BCA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/BCA.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/BCA.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/BNI.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/BNI.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/BNI.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/BNI.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/BRI.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/BRI.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/BRI.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/BRI.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/CIMBClicks.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/CIMBClicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/CIMBClicks.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/CIMBClicks.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/CIMBNiaga.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/CIMBNiaga.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/CIMBNiaga.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/CIMBNiaga.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/CIMBOctoClicks.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/CIMBOctoClicks.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/CIMBOctoClicks.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/CIMBOctoClicks.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/CIMB_Rekening_Ponsel.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/CIMB_Rekening_Ponsel.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/CIMB_Rekening_Ponsel.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/CIMB_Rekening_Ponsel.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/CIMB_VA.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/CIMB_VA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/CIMB_VA.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/CIMB_VA.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/DANA.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/DANA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/DANA.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/DANA.png diff --git a/WooCommerce/woocommerce_fiuu_seamless_id/images/Fiuu_Logo.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/Fiuu_Logo.png new file mode 100644 index 0000000000000000000000000000000000000000..f196e14a579c9fe90aca63eae26790c7ce367858 GIT binary patch literal 65783 zcmeFZi9c2A_XoZYI#kEhpd;Z#lbg9hW@#>zt|;OtMI}?_3`eKXB`TGQI88K~Qf7`2 zrE*Fc5)Klsd5Vm`_3U#_x9{)wC;UG9_4<6eviGysv(|gP*L$sJ-+N(?={DhcOXp!2 zCcI<&W^?$1h+zV)Lh%2X`K#s%_+zfy_5-IeOj#cNkKp^jz#GFT*pAIcfBVMwH10Kx zcf1wa(h=byav8PW^+?FuYvS6)-~Xw@}We6VcVr{LL`47~C8#kk(TRrL2y=pSUv$O3=<#hkhH zKYwIU?8W~4dC>|I-yc8I&Ym;+<40`IB~_t6f1bC1NciJtL!(!eKYqm4Z2#ZOIsW*c z+qt;-AK-Wi^1oE$dg6a1!-K^C=#}S*{}mRlC;nGbd64*@nBaNhe`12`iT{ZS9wh#M zBqkXB+juR`e(SiewpV)FvjkY0*uL$=Vv`MzfYfS1N_h;}_ zjVSmW5ZKfaSd%K~iuYbL$K~9fjdu9!XYVWV4&nl*E`BpFom`RZz6EdBXdC2tx5!T&D)m%5dT1tuQf9H+fUI6)d;!0T5@pORk2eph@m z)2S5jDR}IFfwUf{bJgF*YdTe)nw-*!m~S*o);(`9rX102q*pUk zKEyZ+C%kH#`s6t6Ji_U4eSi0^Dh!iTt0O2*!JT4-WeqEa^}A)aigH}P;+M+^z95EK z`J6hjdWVbLyvHsEZ%)O1E#|uHQZ~<=sw6Py%~1iP?#@{KZpVAu@F&yiZFp{RWF={s zc}VSL8o3rpEkDRM_`RB*I4Rv9+=p3GapGih|f6%dnWrFun}1xh;L`$aG{hQcRPUi-!??rQ)y02*NtMx0v)guj0N5R)%iK)*J0I&pOPqdfliR>3^*kI(=5`DKjF zs(RUi^Ve30;L%~%^8m!Ye0?v=>q=wsKC4r$6#UVIFFyAKIg1;vJayvC4j1`(tyR;m zabE|yzIdwg+ZStUPpq)z{Kx1G_VQq63enHf%~R+$m z;xY>71`YGLuex_B`>TF+axD7Hqcdt-=A+)twBi$APwmr@B0WM5j1Rr%Xjao z6SX^jZtJI2W$((UcAPHZ=G@cYDO0zm@}wfHUcdj!a~?ngmARCgriS?Pn}fJ5^YLVQ z)x>)q%9MX^enp4)oV{UBIFJvx%#8}|A}h)JibL>-i0`>+jTdy@%7>nf>HBlzqWc6; zv?9x0Dcry5=K%vU*Zwcx4|4}@actQ336BjNhOXjG($Z?K?=9>8sKb_ukK)Ysm?wV! zuJ6NEQJQOJbJ9yqZm6H|*pB)21dwKi4mdg_h6@fWy*~}g!42B+l4ur^Jd~y1oyB7y zZ5{(r58d9psMLR>42K11Us{o|0}fwX%Dk@>tk9{nys|7{B(^uW)ip4&Y_(Q%Uf{sA z*A>y}e>;CDXz*d9y1vna=>;nq?0!`S^wnYy*`J_saV6*h1F;qfucAHcsgti&(Hhc7&)+RD@}lXeyG5t@8UgHx zUU*PnQJeO5!>c2NoC>E7w%9+; zTM>I;^Cta`OR$7ub&100U~idxn{k4#O#j4}k4>H8U$P}iiQ{)ript~QB;$kEsq!JC z=1H-K6Uh_J+ctG5&m}P1l$w|HDB6t~NX%mS`B|`E>PYxboB4;0r=ZXUaLdo@$skl& zsPXL)JPQD_kKKP}mRHEEqbTiw!V`rkPFKR0v|sf3s!u7!1G7Mo)|U zuJFj1T!qrCPPKQSRbSwiN}v%rYI8#e~<2i zz{u#`{Rin3J4neTe-;JuE>r|h{wQ8ao2)dH!DjOF6k8e9z-DZP%#sNDlsMnqvxJ%w zQGFJ>`^BR}tNir*1@kX8Pdu&S5xXL8K}h=s+N4;8F*ABh|4q7C3z4z3pMcfa6=|Qi zr};OqY0UR#x+8N}Zuj#-J#LB|2{iBrR}T1AJ~12+^l8ELEp>qLC zHL z+OEzy6}F@t!sszV#&zI@&9l^-dgv}fgkXDQqNV{tzKt8ti zO=^lDLG_|k@gfXfpL z`3VE$>3<(yY}#WK_tof1GsHP0sOxzjzX^_cjn8AKfHQMXhAlbsOJ3lsY+k7Az>k^c zqea>is{SPGg<=VNGWH}93%CdcY~Iai8I0b0kxO%0sMPu%uH1zQ9?-qvDP|c`^Ty>$ zx3{m_tijK|AK906cMXsJiXPQ}Xv8G(38V^y+*aW~CPvw~V8yPp4!ia^&;3V%)^JoQ zeW~bNWn=6sZRw>22Bc+OR8gDpF&I(mvKw5ui(^OIT^ihiIY=`x0 zBW&U4Ln8U%y_C*C7hz2P$6;3L0S7@tGsRa7un<`03jV6KjTVeXu?h=HP?^iJ^(SlB ziuMsAtu&VwM)t0$ppt2t?d|*qmVK3e<38#=@kcpQ?NSL8McR&TnSn;(5d8;+M2$D+WbTI$#x;psoXv;zYXuC}x{o5$!Bq`p1`Xu?X zsJOe7%x-@2#l9idXhUuZ z(wLs7jJSz6N3SIxMUPTFMf;Tx>j+F-TFP%Qw)~}NoZTuPY~Z5#m*?TxQQ>B96fn0v zdA6rAq=?k((j049g2;^{`^Q*)azA53Y~~zx3R1BMY)G**0ha_HT9zLb-kf2Lu?6)V z1xe?4+8sQE8CH2BQz@1qWO^LLs@H$?hBTk5MI)s%W3rq@rWFq7m89O}h8Y_PL7se+ z`@}GBIV<@y*;lGxzV)w{qWAdS4nKITa(MFec%aK%Y$_wKhZZu>?>%nzyoY0>X%#|9 z%vy^ADL$nVy6*0h{s)g;zmC4;55iWPKc3K)OObCq;yoYJtzMal-)ie*;)a_oo&%3I@iKH$=UrOFp)z8!!wT67uOk%4vH z7V$Dct4CW701@@{?@>iLmsgHrSZM#FL#Z;)<%w)Ak}-w~f{gEF95R_C*B@bagN1*O z0!K7Dgkh0e9{u|yd|W<{AB!q|LBZdGC6pnT*zJGpFFv`P7514-PI*#i`vPMx&aGNm z+p=yh)|T;x!$26-3N1gL0x+l(4UuU1OKce(1ZgVkkW&6X;mtAoFt(C&20!ueWdPL+ z?o%A{7?11goy=Q)Npqm2A)91L#}b}R#(OM;Y}2Ha)Y$UMqnp>)i(`S75Ym^H zXKmC4s3Q<%p3uklOy$cJJb_{o`0g1&J8`E))z?u79UsdQFeKlaSTBva$^Fhn5@KJb z(6z_<5z}H$;wgMac1rTC+B$p;*W4=gEPED-nF(8`6`%GZA;(hBB3Es_i*Ld&Tq3kZ z9sXh_>F-gwm-iSb+HNOgIt6VX+|G)w=kR4b;uNN#m+Ply;gIVsEeFVV#~wVcY5;W7 zF!8;QC$!~)s`@b63V05W9UCVI;{7x98GsN&^pP4f-KO-XhZxhri{7y+ppZcQdaDPc zvLNB`2XKO9l*3jJM=#dO;C%~VAaL;96GPRll>pUMPo?ymL#sAoX}^Q+i+19lbVkct zQ(&kjfLsJtIrjQPdvLer7?D`q!+9we`;dd0q%4D+{)gKzJ z!0m7u%0M?td()l5*Bfe>XnutDNC)EW3uR%6xV!XLBWz$<98j+Ryu^)^S6|f7BeXZ` zfd5uK`g_zxC^IsAEN252Tz{w@BgeZe8c7A0ktvqOc0ZKm^p9;b6djkuOQotiIGVZQ z>SO)rX;9emhITn*0n(MdVp#s$Bi>BIQ?Gn<#aiabqZeQ?j^N}-bHu0;gl+}*(Te}Y_YMe+T`GX7F8>{QayAqjLIZ?F^xH9RwxMD}zH0s@0u0l?{~987 z6}GVKqCIQ=i(&75eU9R9ey6B3HE4|`GSH+@)XDiS^O1-8xHAU>#|!*@kD zbGRlO7fTpmg%OO`!AnmJF-#9gLLEi$#w`d#-ux0uQnv;-zk*O5`h-gYiYR;&Gy*j% zB7EEtQa3U(!YH+RbE#~-_@(cwc=xY4)o@G`!xsMi*dN!7li!xoW}IrD02T(G@q#Cn zIBS>sZAozF;eTYl`sq|g;UQtjqBh?2?%$(+Jz<8jr%yuBut4xQR_GuYS=uphXkqo~ z7>;f*3`Q_^g?kUcy%BDUg)picD9cxCgs>(Q?d{(}?Zy6Iw{NS)qo;d`Fc8p078%(( zR^O)qWo_$I(4iM#3#L7%bzC)}1fXjKk1c>Q zWB_iHfPyNgOPM!tJzs6v_AeLD-crQ`Y5VHH2iq5h8tpCtvcRut#1m6t9HDn-53PFe zwHu|uYkW!&TMczDt|v4dtUHyXV%BnABeL1+&&PUr$%tXwA^d;I1yw?gxG)|st-49G z<%C$YFm^prBJ&gO>|sAEcpqkFzw@KoI83~>EL-x3sNWX z(Juc5oR7O=5rK6Ec&5dWeLuG<(gcL5DS`F~xGeIs*XF5pI($vc-)}`aRQ^*zZy;)R zgs4`494zKD^1K6b;AayuQB6N(4({>+W8e!_YNJ$>59nRrhYP6{plz9%pcSG(PD^8| zTYCM!IA})h)p3=r4E(hYoa7QBpZk`hYZ%Rt+Egll?y!Nt5M?#f7oH>*R2_V6DnJRJoK_Unrs7&>5kN)&hJ%TL`o$Gr9ay)-}F?7m!xutiDa{UO*XQ z;>yI^=bjjm>WUit8XUIa�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 Y3FmOPy48dYJjD+)GudREWylQvA0hrEU;qFB literal 0 HcmV?d00001 diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/Indomaret.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/Indomaret.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/Indomaret.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/Indomaret.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/LINKAJA.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/LINKAJA.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/LINKAJA.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/LINKAJA.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/NUCash.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/NUCash.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/NUCash.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/NUCash.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/OVO.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/OVO.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/OVO.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/OVO.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/Permata.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/Permata.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/Permata.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/Permata.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/SHOPEEPAY.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/SHOPEEPAY.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/SHOPEEPAY.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/SHOPEEPAY.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/credit.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/credit.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/credit.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/credit.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/danamon.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/danamon.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/danamon.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/danamon.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/doku_maybank.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/doku_maybank.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/doku_maybank.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/doku_maybank.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/kredivo.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/kredivo.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/kredivo.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/kredivo.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/mandiri.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/mandiri.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/mandiri.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/mandiri.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/muamalat.png b/WooCommerce/woocommerce_fiuu_seamless_id/images/muamalat.png similarity index 100% rename from WooCommerce/woocommerce_rms_seamless_id/images/muamalat.png rename to WooCommerce/woocommerce_fiuu_seamless_id/images/muamalat.png diff --git a/WooCommerce/woocommerce_rms_seamless_id/wc-molpay.php b/WooCommerce/woocommerce_fiuu_seamless_id/wc-fiuu.php similarity index 90% rename from WooCommerce/woocommerce_rms_seamless_id/wc-molpay.php rename to WooCommerce/woocommerce_fiuu_seamless_id/wc-fiuu.php index 51b1b4f..1d85b71 100644 --- a/WooCommerce/woocommerce_rms_seamless_id/wc-molpay.php +++ b/WooCommerce/woocommerce_fiuu_seamless_id/wc-fiuu.php @@ -1,849 +1,849 @@ - - * @version 6.1.4 - * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - */ - -/** - * Plugin Name: WooCommerce Razer Merchant Services Seamless - * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress - * Description: WooCommerce Razer Merchant Services | The leading payment gateway in South East Asia Grow your business with Razer Merchant Services payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce - * Author: Razer Merchant Services Tech Team - * Author URI: https://merchant.razer.com/ - * Version: 6.1.4 - * License: MIT - * Text Domain: wcmolpay - * Domain Path: /languages/ - * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway - * Invalid Transaction maybe is because vkey not found / skey wrong generated - */ - -/** - * If WooCommerce plugin is not available - * - */ -function wcmolpay_woocommerce_fallback_notice() { - $message = '
'; - $message .= '

' . __( 'WooCommerce Razer Merchant Services Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; - $message .= '
'; - echo $message; -} - -//Load the function -add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); - -/** - * Load Razer Merchant Services gateway plugin function - * - * @return mixed - */ -function wcmolpay_gateway_load() { - if ( !class_exists( 'WC_Payment_Gateway' ) ) { - add_action( 'admin_notices', 'wcmolpay_woocommerce_fallback_notice' ); - return; - } - - //Load language - load_plugin_textdomain( 'wcmolpay', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); - - add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); - - /** - * Add Razer Merchant Services gateway to ensure WooCommerce can load it - * - * @param array $methods - * @return array - */ - function wcmolpay_add_gateway( $methods ) { - $methods[] = 'WC_Molpay_Gateway'; - return $methods; - } - - /** - * Define the Razer Merchant Services gateway - * - */ - class WC_Molpay_Gateway extends WC_Payment_Gateway { - - /** - * Construct the Razer Merchant Services gateway class - * - * @global mixed $woocommerce - */ - public function __construct() { - global $woocommerce; - - $this->id = 'molpay'; - $this->icon = plugins_url( 'images/logo_RazerMerchantServices.png', __FILE__ ); - $this->has_fields = false; - $this->method_title = __( 'Razer Merchant Services', 'wcmolpay' ); - $this->method_description = __( 'Proceed payment via Razer Merchant Services Seamless Integration Plugin', 'woocommerce' ); - - // Load the form fields. - $this->init_form_fields(); - - // Load the settings. - $this->init_settings(); - - // Define user setting variables. - $this->title = $this->settings['title']; - $this->ordering_plugin = $this->get_option('ordering_plugin'); - $this->payment_title = $this->settings['payment_title']; - $this->description = $this->settings['description']; - $this->merchant_id = $this->settings['merchant_id']; - $this->verify_key = $this->settings['verify_key']; - $this->secret_key = $this->settings['secret_key']; - $this->account_type = $this->settings['account_type']; - - // Define hostname based on account_type - $this->url = ($this->get_option('account_type')=='1') ? "https://pg.e2pay.co.id/" : "https://pg-uat.e2pay.co.id/" ; - $this->inquiry_url = ($this->get_option('account_type')=='1') ? "https://api.e2pay.co.id/" : "https://api-uat.e2pay.co.id/" ; - - // Define channel setting variables - $this->e2Pay_DANA = ($this->get_option('e2Pay_DANA')=='yes' ? true : false); - $this->e2Pay_LINKAJA_APPLINK = ($this->get_option('e2Pay_LINKAJA_APPLINK')=='yes' ? true : false); - $this->e2Pay_CIMB_OCTO_MOBILE = ($this->get_option('e2Pay_CIMB_OCTO_MOBILE')=='yes' ? true : false); - $this->e2Pay_SHOPEEPAY_JUMPAPP = ($this->get_option('e2Pay_SHOPEEPAY_JUMPAPP')=='yes' ? true : false); - $this->e2Pay_OVO = ($this->get_option('e2Pay_OVO')=='yes' ? true : false); - $this->e2Pay_NUCash = ($this->get_option('e2Pay_NUCash')=='yes' ? true : false); - $this->e2Pay_CIMBOctoClicks_IB = ($this->get_option('e2Pay_CIMBOctoClicks_IB')=='yes' ? true : false); - $this->e2Pay_Kredivo_FN = ($this->get_option('e2Pay_Kredivo_FN')=='yes' ? true : false); - $this->CIMB_NIAGA = ($this->get_option('CIMB_NIAGA')=='yes' ? true : false); - $this->e2Pay_CIMB_Rekening_Ponsel = ($this->get_option('e2Pay_CIMB_Rekening_Ponsel')=='yes' ? true : false); - $this->e2Pay_PERMATA_VA = ($this->get_option('e2Pay_PERMATA_VA')=='yes' ? true : false); - $this->e2Pay_BNI_VA = ($this->get_option('e2Pay_BNI_VA')=='yes' ? true : false); - $this->e2Pay_CIMB_VA = ($this->get_option('e2Pay_CIMB_VA')=='yes' ? true : false); - $this->e2Pay_BCA_VA = ($this->get_option('e2Pay_BCA_VA')=='yes' ? true : false); - $this->e2Pay_BRI_VA = ($this->get_option('e2Pay_BRI_VA')=='yes' ? true : false); - $this->e2Pay_MANDIRI_VA = ($this->get_option('e2Pay_MANDIRI_VA')=='yes' ? true : false); - - // Transaction Type for Credit Channel - $this->credit_tcctype = ($this->get_option('credit_tcctype')=='SALS' ? 'SALS' : 'AUTH'); - - // Actions. - add_action( 'valid_molpay_request_returnurl', array( &$this, 'check_molpay_response_returnurl' ) ); - add_action( 'valid_molpay_request_callback', array( &$this, 'check_molpay_response_callback' ) ); - add_action( 'valid_molpay_request_notification', array( &$this, 'check_molpay_response_notification' ) ); - add_action( 'woocommerce_receipt_molpay', array( &$this, 'receipt_page' ) ); - - //save setting configuration - add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); - - // Payment listener/API hook - add_action( 'woocommerce_api_wc_molpay_gateway', array( $this, 'check_ipn_response' ) ); - - // Checking if merchant_id is not empty. - $this->merchant_id == '' ? add_action( 'admin_notices', array( &$this, 'merchant_id_missing_message' ) ) : ''; - - // Checking if verify_key is not empty. - $this->verify_key == '' ? add_action( 'admin_notices', array( &$this, 'verify_key_missing_message' ) ) : ''; - - // Checking if secret_key is not empty. - $this->secret_key == '' ? add_action( 'admin_notices', array( &$this, 'secret_key_missing_message' ) ) : ''; - - // Checking if account_type is not empty. - $this->account_type == '' ? add_action( 'admin_notices', array( &$this, 'account_type_missing_message' ) ) : ''; - } - - /** - * Checking if this gateway is enabled and available in the user's country. - * - * @return bool - */ - public function is_valid_for_use() { - if ( !in_array( get_woocommerce_currency() , array( 'MYR', 'IDR' ) ) ) { - return false; - } - return true; - } - - /** - * Admin Panel Options - * - Options for bits like 'title' and availability on a country-by-country basis. - * - */ - public function admin_options() { - ?> -

-

- - generate_settings_html(); ?> -
- form_fields = array( - 'enabled' => array( - 'title' => __( 'Enable/Disable', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( 'Enable Razer Merchant Services', 'wcmolpay' ), - 'default' => 'yes' - ), - 'ordering_plugin' => array( - 'title' => __( '

Installed Ordering Plugins

', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'Sequential Order Numbers', - 'options' => array( - '0' => __( 'Not install any ordering plugin', 'wcmolpay'), - '1' => __( 'Sequential Order Numbers', 'wcmolpay' ), - '2' => __( 'Sequential Order Numbers Pro', 'wcmolpay' ), - '3' => __( 'Advanced Order Numbers', 'wcmolpay' ), - '4' => __( 'Custom Order Numbers', 'wcmolpay' ) - ), - 'description' => __( 'Please select correct ordering plugin as it will affect your order result!!', 'wcmolpay' ), - 'desc_tip' => true, - ), - 'title' => array( - 'title' => __( 'Title', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ), - 'desc_tip' => true, - ), - 'payment_title' => array( - 'title' => __( 'Payment Title', 'wcmolpay'), - 'type' => 'checkbox', - 'label' => __( 'Showing channel instead of gateway title after payment.'), - 'description' => __( 'This controls the payment method which the user sees after payment.', 'wcmolpay' ), - 'default' => 'no', - 'desc_tip' => true - ), - 'description' => array( - 'title' => __( 'Description', 'wcmolpay' ), - 'type' => 'textarea', - 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), - 'default' => __( 'Razer Merchant Services', 'wcmolpay' ), - 'desc_tip' => true, - ), - 'merchant_id' => array( - 'title' => __( 'Merchant ID', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), - 'default' => '' - ), - 'verify_key' => array( - 'title' => __( 'Verify Key', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), - 'default' => '' - ), - 'secret_key' => array( - 'title' => __( 'Secret Key', 'wcmolpay' ), - 'type' => 'text', - 'description' => __( 'Please enter your Razer Merchant Services Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sRazer Merchant Services Account%s.', 'wcmolpay' ), '', '' ), - 'default' => '' - ), - 'account_type' => array( - 'title' => __( 'Account Type', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'PRODUCTION', - 'options' => array( - '1' => __('PRODUCTION', 'wcmolpay' ), - '2' => __( 'SANDBOX', 'wcmolpay' ) - ) - ), - 'channel' => array( - 'title' => 'Channel to be Enabled', - 'type' => 'title', - 'description' => '', - ), - 'e2Pay_DANA' => array( - 'title' => __( 'DANA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_LINKAJA_APPLINK' => array( - 'title' => __( 'LINKAJA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_CIMB_OCTO_MOBILE' => array( - 'title' => __( 'CIMB OCTO MOBILE', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_SHOPEEPAY_JUMPAPP' => array( - 'title' => __( 'SHOPEEPAY', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_OVO' => array( - 'title' => __( 'OVO', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_NUCash' => array( - 'title' => __( 'NUCash', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_CIMBOctoClicks_IB' => array( - 'title' => __( 'CIMB Octo Clicks IB', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_Kredivo_FN' => array( - 'title' => __( 'Kredivo', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'CIMB_NIAGA' => array( - 'title' => __( 'CIMB NIAGA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_CIMB_Rekening_Ponsel' => array( - 'title' => __( 'CIMB Rekening Ponsel', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_PERMATA_VA' => array( - 'title' => __( 'PERMATA VA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_BNI_VA' => array( - 'title' => __( 'BNI VA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_CIMB_VA' => array( - 'title' => __( 'CIMB VA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_BCA_VA' => array( - 'title' => __( 'BCA VA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_BRI_VA' => array( - 'title' => __( 'BRI VA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'e2Pay_MANDIRI_VA' => array( - 'title' => __( 'MANDIRI VA', 'wcmolpay' ), - 'type' => 'checkbox', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'no' - ), - 'tcctype' => array( - 'title' => 'Transaction Type for Credit Card / Debit Card Channel', - 'type' => 'title', - 'description' => '', - ), - 'credit_tcctype' => array( - 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'SALS', - 'options' => array( - 'SALS' => __('SALS', 'wcmolpay' ), - 'AUTH' => __( 'AUTH', 'wcmolpay' ) - ), - 's' => array( - 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), - 'type' => 'select', - 'label' => __( ' ', 'wcmolpay' ), - 'default' => 'SALS', - 'options' => array( - 'SALS' => __('SALS', 'wcmolpay' ), - 'AUTH' => __( 'AUTH', 'wcmolpay' ) - ) - ) - ) - ); - } - - /** - * Generate the form. - * - * @param mixed $order_id - * @return string - */ - public function generate_form( $order_id ) { - $order = new WC_Order( $order_id ); - $pay_url = $this->url.'MOLPay/pay/'.$this->merchant_id; - $total = $order->get_total(); - $order_number = $order->get_order_number(); - $vcode = md5($order->get_total().$this->merchant_id.$order_number.$this->verify_key); - - if ( sizeof( $order->get_items() ) > 0 ) - foreach ( $order->get_items() as $item ) - if ( $item['qty'] ) - $item_names[] = $item['name'] . ' x ' . $item['qty']; - - $desc = sprintf( __( 'Order %s' , 'woocommerce'), $order_number ) . " - " . implode( ', ', $item_names ); - - $molpay_args = array( - 'vcode' => $vcode, - 'orderid' => $order_number, - 'amount' => $total, - 'bill_name' => $order->get_billing_first_name()." ".$order->get_billing_last_name(), - 'bill_mobile' => $order->get_billing_phone(), - 'bill_email' => $order->get_billing_email(), - 'bill_desc' => $desc, - 'country' => $order->get_billing_country(), - 'cur' => get_woocommerce_currency(), - 'returnurl' => add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' ) ) - ); - - $molpay_args_array = array(); - - foreach ($molpay_args as $key => $value) { - $molpay_args_array[] = ""; - } - - $mpsreturn = add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' )); - $latest = ($this->get_option('account_type')=='1') ? "3.28" : "latest" ; - return "
" - . implode('', $molpay_args_array) - ."" - ."

Pay via:

" - ."
" - ."
" - ." I have read and agree to the Terms & Conditions, Refund Policy and Privacy Policy." - ."
" - ."
" - .($this->e2Pay_DANA ? "" : '') - .($this->e2Pay_LINKAJA_APPLINK ? "" : '') - .($this->e2Pay_CIMB_OCTO_MOBILE ? "" : '') - .($this->e2Pay_SHOPEEPAY_JUMPAPP ? "" : '') - .($this->e2Pay_OVO ? "" : '') - .($this->e2Pay_NUCash ? "" : '') - .($this->e2Pay_CIMBOctoClicks_IB ? "" : '') - .($this->e2Pay_Kredivo_FN ? "" : '') - .($this->CIMB_NIAGA ? "" : '') - .($this->e2Pay_CIMB_Rekening_Ponsel ? "" : '') - .($this->e2Pay_PERMATA_VA ? "" : '') - .($this->e2Pay_BNI_VA ? "" : '') - .($this->e2Pay_CIMB_VA ? "" : '') - .($this->e2Pay_BCA_VA ? "" : '') - .($this->e2Pay_BRI_VA ? "" : '') - . "
"; - } - - - /** - * Order error button. - * - * @param object $order Order data. - * @return string Error message and cancel button. - */ - protected function molpay_order_error( $order ) { - $html = '

' . __( 'An error has occurred while processing your payment, please try again. Or contact us for assistance.', 'wcmolpay' ) . '

'; - $html .='' . __( 'Click to try again', 'wcmolpay' ) . ''; - return $html; - } - - /** - * Process the payment and return the result. - * - * @param int $order_id - * @return array - */ - public function process_payment( $order_id ) { - $order = new WC_Order( $order_id ); - return array( - 'result' => 'success', - 'redirect' => $order->get_checkout_payment_url( true ) - ); - } - - /** - * Output for the order received page. - * - * @param object $order Order data. - */ - public function receipt_page( $order ) { - echo $this->generate_form( $order ); - } - - /** - * Check for Razer Merchant Services Response - * - * @access public - * @return void - */ - function check_ipn_response() { - @ob_clean(); - - if ( !( isset($_POST['nbcb']) )) { - do_action( "valid_molpay_request_returnurl", $_POST ); - } else if ( $_POST['nbcb']=='1' ) { - do_action ( "valid_molpay_request_callback", $_POST ); - } else if ( $_POST['nbcb']=='2' ) { - do_action ( "valid_molpay_request_notification", $_POST ); - } else { - wp_die( "Razer Merchant Services Request Failure" ); - } - } - - /** - * This part is handle return response - * - * @global mixed $woocommerce - */ - function check_molpay_response_returnurl() { - global $woocommerce; - - $verifyresult = $this->verifySkey($_POST); - $status = $_POST['status']; - if( !$verifyresult ) - $status = "-1"; - - $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); - $order = new WC_Order( $WCOrderId ); - - $referer = "
Referer: ReturnURL"; - $getStatus = $order->get_status(); - if(!in_array($getStatus,array('processing','completed'))) { - if ($status == "11") { - $referer .= " (Inquiry)"; - $status = $this->inquiry_status( $_POST['tranID'], $_POST['amount'], $_POST['domain']); - } - $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); - if (in_array($status, array("00","22"))) { - wp_redirect($order->get_checkout_order_received_url()); - } else { - wp_redirect($order->get_cancel_order_url()); - } - } else { - wp_redirect($order->get_checkout_order_received_url()); - } - $this->acknowledgeResponse($_POST); - exit; - } - - /** - * This part is handle notification response - * - * @global mixed $woocommerce - */ - function check_molpay_response_notification() { - global $woocommerce; - $verifyresult = $this->verifySkey($_POST); - $status = $_POST['status']; - if ( !$verifyresult ) - $status = "-1"; - - $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); - $referer = "
Referer: NotificationURL"; - $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); - $this->acknowledgeResponse($_POST); - } - - /** - * This part is handle callback response - * - * @global mixed $woocommerce - */ - function check_molpay_response_callback() { - global $woocommerce; - $verifyresult = $this->verifySkey($_POST); - $status = $_POST['status']; - if ( !$verifyresult ) - $status = "-1"; - - $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); - $referer = "
Referer: CallbackURL"; - $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); - $this->acknowledgeResponse($_POST); - } - - /** - * Adds error message when not configured the merchant_id. - * - */ - public function merchant_id_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Adds error message when not configured the verify_key. - * - */ - public function verify_key_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Adds error message when not configured the secret_key. - * - */ - public function secret_key_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Adds error message when not configured the account_type. - * - */ - public function account_type_missing_message() { - $message = '
'; - $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Razer Merchant Services. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; - $message .= '
'; - echo $message; - } - - /** - * Inquiry transaction status - * - * @param int $tranID - * @param double $amount - * @param string $domain - * @return status - */ - public function inquiry_status($tranID, $amount, $domain) { - $verify_key = $this->verify_key; - $requestUrl = $this->inquiry_url."RMS/q_by_tid.php"; - $request_param = array( - "amount" => number_format($amount,2), - "txID" => intval($tranID), - "domain" => urlencode($domain), - "skey" => urlencode(md5(intval($tranID).$domain.$verify_key.number_format($amount,2))) ); - $post_data = http_build_query($request_param); - $header[] = "Content-Type: application/x-www-form-urlencoded"; - $ch = curl_init(); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); - curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); - curl_setopt($ch,CURLOPT_URL, $requestUrl); - curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); - curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); - curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); - curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); - - $response = curl_exec($ch); - $response = trim($response); - $temp = explode("\n", $response); - foreach ( $temp as $value ) { - $array = explode(':', $value); - $key = trim($array[0], "[]"); - $result[$key] = trim($array[1]); - } - $verify = md5($result['Amount'].$this->secret_key.$result['Domain'].$result['TranID'].$result['StatCode']); - if ($verify != $result['VrfKey']) { - $result['StatCode'] = "99"; - } - return $result['StatCode']; - } - - /** - * Update Cart based on Razer Merchant Services status - * - * @global mixed $woocommerce - * @param int $order_id - * @param int $MOLPay_status - * @param int $tranID - * @param string $referer - */ - public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $referer, $channel) { - global $woocommerce; - - $order = new WC_Order( $orderid ); - - switch ($MOLPay_status) { - case '00': - $M_status = 'SUCCESSFUL'; - break; - case '22': - $M_status = 'PENDING'; - $W_status = 'pending'; - break; - case '11': - $M_status = 'FAILED'; - $W_status = 'failed'; - break; - default: - $M_status = 'PENDING'; - $W_status = 'pending'; - break; - } - - $getStatus = $order->get_status(); - if(!in_array($getStatus,array('processing','completed'))) { - $order->add_order_note('Razer Merchant Services Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); - if ($MOLPay_status == "00") { - $order->payment_complete(); - } else { - $order->update_status($W_status, sprintf(__('Payment %s via Razer Merchant Services.', 'woocommerce'), $tranID ) ); - } - if ($this->payment_title == 'yes') { - $paytitle = $this->form_fields[strtolower($channel)]['title']; - $order->set_payment_method_title($paytitle); - $order->save(); - } - } - } - - - /** - * Obtain the original order id based using the returned transaction order id - * - * @global mixed $woocommerce - * @param int $orderid - * @return int $real_order_id - */ - public function get_WCOrderIdByOrderId($orderid) { - switch($this->ordering_plugin) { - case '1' : // sequential order number - $WCOrderId = wc_sequential_order_numbers()->find_order_by_order_number( $orderid ); - break; - case '2' : // sequential order number pro - $WCOrderId = wc_seq_order_number_pro()->find_order_by_order_number( $orderid ); - break; - case '3' : // advanced order number - $WCOrderId = $this->find_order_by_advanced_order_number( $orderid, '_oton_number_ordernumber' ); - break; - case '4' : // custom order number - $WCOrderId = $this->find_order_by_custom_order_number($orderid, '_alg_wc_full_custom_order_number'); - break; - case '0' : - default : - $WCOrderId = $orderid; - break; - } - return $WCOrderId; - } - - /** - * Get order id from ordering plugin's order id. - * - * @global mixed $woocommerce - * @param int $orderid - * @param string $metaKey - * - * @return int - */ - private function find_order_by_custom_order_number($orderid, $metaKey) - { - $query_args = array( - 'numberposts' => 1, - 'meta_key' => $metaKey, - 'meta_value' => $orderid, - 'post_type' => 'shop_order', - 'post_status' => 'any', - 'fields' => 'ids', - ); - $post = get_posts( $query_args ); - list( $WCOrderId ) = $post; - - return $WCOrderId; - } - - public function find_order_by_advanced_order_number( $order_number, $metaKey ) { - - $query_args = array( - 'numberposts' => 1, - 'meta_key' => $metaKey, - 'meta_value' => $order_number, - 'post_type' => 'shop_order', - 'post_status' => 'any', - 'fields' => 'ids', - ); - $post = get_posts( $query_args ); - list( $order_number ) = ! empty( $post ) ? $post : null; - - return $order_number; - - } - - - /** - * Acknowledge transaction result - * - * @global mixed $woocommerce - * @param array $response - */ - public function acknowledgeResponse($response) { - if ($response['nbcb'] == '1') { - echo "CBTOKEN:MPSTATOK"; exit; - } else { - $response['treq']= '1'; // Additional parameter for IPN - foreach($response as $k => $v) { - $postData[]= $k."=".$v; - } - $postdata = implode("&",$postData); - $url = $this->url."RMS/API/chkstat/returnipn.php"; - $ch = curl_init(); - curl_setopt($ch, CURLOPT_POST , 1 ); - curl_setopt($ch, CURLOPT_POSTFIELDS , $postdata ); - curl_setopt($ch, CURLOPT_URL , $url ); - curl_setopt($ch, CURLOPT_HEADER , 1 ); - curl_setopt($ch, CURLINFO_HEADER_OUT , TRUE ); - curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 ); - curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , FALSE); - curl_setopt($ch, CURLOPT_SSLVERSION , CURL_SSLVERSION_TLSv1 ); - $result = curl_exec( $ch ); - curl_close( $ch ); - } - } - - /** - * To verify transaction result using merchant secret key setting. - * - * @global mixed $woocommerce - * @param array $response - * @return boolean verifyresult - */ - public function verifySkey($response) { - - $amount = $response['amount']; - $orderid = $response['orderid']; - $tranID = $response['tranID']; - $status = $response['status']; - $domain = $response['domain']; - $currency = $response['currency']; - $appcode = $response['appcode']; - $paydate = $response['paydate']; - $skey = $response['skey']; - $vkey = $this->secret_key; - - $key0 = md5($tranID.$orderid.$status.$domain.$amount.$currency); - $key1 = md5($paydate.$domain.$key0.$appcode.$vkey); - if ($skey != $key1) - return false; - else - return true; - } - - } + + * @version 6.1.4 + * @example For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + * @example For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + */ + +/** + * Plugin Name: WooCommerce Fiuu Seamless + * Plugin URI: https://github.com/RazerMS/WordPress_WooCommerce_WP-eCommerce_ClassiPress + * Description: WooCommerce Fiuu | The leading payment gateway in South East Asia Grow your business with Fiuu payment solutions & free features: Physical Payment at 7-Eleven, Seamless Checkout, Tokenization, Loyalty Program and more for WooCommerce + * Author: Fiuu Tech Team + * Author URI: https://merchant.razer.com/ + * Version: 6.1.4 + * License: MIT + * Text Domain: wc-fiuu + * Domain Path: /languages/ + * For callback : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + * For notification : http://shoppingcarturl/?wc-api=WC_Molpay_Gateway + * Invalid Transaction maybe is because vkey not found / skey wrong generated + */ + +/** + * If WooCommerce plugin is not available + * + */ +function wcmolpay_woocommerce_fallback_notice() { + $message = '
'; + $message .= '

' . __( 'WooCommerce Fiuu Gateway depends on the last version of WooCommerce to work!' , 'wcmolpay' ) . '

'; + $message .= '
'; + echo $message; +} + +//Load the function +add_action( 'plugins_loaded', 'wcmolpay_gateway_load', 0 ); + +/** + * Load Fiuu gateway plugin function + * + * @return mixed + */ +function wcmolpay_gateway_load() { + if ( !class_exists( 'WC_Payment_Gateway' ) ) { + add_action( 'admin_notices', 'wcmolpay_woocommerce_fallback_notice' ); + return; + } + + //Load language + load_plugin_textdomain( 'wcmolpay', false, dirname( plugin_basename( __FILE__ ) ) . '/languages/' ); + + add_filter( 'woocommerce_payment_gateways', 'wcmolpay_add_gateway' ); + + /** + * Add Fiuu gateway to ensure WooCommerce can load it + * + * @param array $methods + * @return array + */ + function wcmolpay_add_gateway( $methods ) { + $methods[] = 'WC_Molpay_Gateway'; + return $methods; + } + + /** + * Define the Fiuu gateway + * + */ + class WC_Molpay_Gateway extends WC_Payment_Gateway { + + /** + * Construct the Fiuu gateway class + * + * @global mixed $woocommerce + */ + public function __construct() { + global $woocommerce; + + $this->id = 'molpay'; + $this->icon = plugins_url( 'images/Fiuu_Logo.png', __FILE__ ); + $this->has_fields = false; + $this->method_title = __( 'Fiuu', 'wcmolpay' ); + $this->method_description = __( 'Proceed payment via Fiuu Seamless Integration Plugin', 'woocommerce' ); + + // Load the form fields. + $this->init_form_fields(); + + // Load the settings. + $this->init_settings(); + + // Define user setting variables. + $this->title = $this->settings['title']; + $this->ordering_plugin = $this->get_option('ordering_plugin'); + $this->payment_title = $this->settings['payment_title']; + $this->description = $this->settings['description']; + $this->merchant_id = $this->settings['merchant_id']; + $this->verify_key = $this->settings['verify_key']; + $this->secret_key = $this->settings['secret_key']; + $this->account_type = $this->settings['account_type']; + + // Define hostname based on account_type + $this->url = ($this->get_option('account_type')=='1') ? "https://pg.e2pay.co.id/" : "https://pg-uat.e2pay.co.id/" ; + $this->inquiry_url = ($this->get_option('account_type')=='1') ? "https://api.e2pay.co.id/" : "https://api-uat.e2pay.co.id/" ; + + // Define channel setting variables + $this->e2Pay_DANA = ($this->get_option('e2Pay_DANA')=='yes' ? true : false); + $this->e2Pay_LINKAJA_APPLINK = ($this->get_option('e2Pay_LINKAJA_APPLINK')=='yes' ? true : false); + $this->e2Pay_CIMB_OCTO_MOBILE = ($this->get_option('e2Pay_CIMB_OCTO_MOBILE')=='yes' ? true : false); + $this->e2Pay_SHOPEEPAY_JUMPAPP = ($this->get_option('e2Pay_SHOPEEPAY_JUMPAPP')=='yes' ? true : false); + $this->e2Pay_OVO = ($this->get_option('e2Pay_OVO')=='yes' ? true : false); + $this->e2Pay_NUCash = ($this->get_option('e2Pay_NUCash')=='yes' ? true : false); + $this->e2Pay_CIMBOctoClicks_IB = ($this->get_option('e2Pay_CIMBOctoClicks_IB')=='yes' ? true : false); + $this->e2Pay_Kredivo_FN = ($this->get_option('e2Pay_Kredivo_FN')=='yes' ? true : false); + $this->CIMB_NIAGA = ($this->get_option('CIMB_NIAGA')=='yes' ? true : false); + $this->e2Pay_CIMB_Rekening_Ponsel = ($this->get_option('e2Pay_CIMB_Rekening_Ponsel')=='yes' ? true : false); + $this->e2Pay_PERMATA_VA = ($this->get_option('e2Pay_PERMATA_VA')=='yes' ? true : false); + $this->e2Pay_BNI_VA = ($this->get_option('e2Pay_BNI_VA')=='yes' ? true : false); + $this->e2Pay_CIMB_VA = ($this->get_option('e2Pay_CIMB_VA')=='yes' ? true : false); + $this->e2Pay_BCA_VA = ($this->get_option('e2Pay_BCA_VA')=='yes' ? true : false); + $this->e2Pay_BRI_VA = ($this->get_option('e2Pay_BRI_VA')=='yes' ? true : false); + $this->e2Pay_MANDIRI_VA = ($this->get_option('e2Pay_MANDIRI_VA')=='yes' ? true : false); + + // Transaction Type for Credit Channel + $this->credit_tcctype = ($this->get_option('credit_tcctype')=='SALS' ? 'SALS' : 'AUTH'); + + // Actions. + add_action( 'valid_molpay_request_returnurl', array( &$this, 'check_molpay_response_returnurl' ) ); + add_action( 'valid_molpay_request_callback', array( &$this, 'check_molpay_response_callback' ) ); + add_action( 'valid_molpay_request_notification', array( &$this, 'check_molpay_response_notification' ) ); + add_action( 'woocommerce_receipt_molpay', array( &$this, 'receipt_page' ) ); + + //save setting configuration + add_action( 'woocommerce_update_options_payment_gateways_' . $this->id, array( $this, 'process_admin_options' ) ); + + // Payment listener/API hook + add_action( 'woocommerce_api_wc_molpay_gateway', array( $this, 'check_ipn_response' ) ); + + // Checking if merchant_id is not empty. + $this->merchant_id == '' ? add_action( 'admin_notices', array( &$this, 'merchant_id_missing_message' ) ) : ''; + + // Checking if verify_key is not empty. + $this->verify_key == '' ? add_action( 'admin_notices', array( &$this, 'verify_key_missing_message' ) ) : ''; + + // Checking if secret_key is not empty. + $this->secret_key == '' ? add_action( 'admin_notices', array( &$this, 'secret_key_missing_message' ) ) : ''; + + // Checking if account_type is not empty. + $this->account_type == '' ? add_action( 'admin_notices', array( &$this, 'account_type_missing_message' ) ) : ''; + } + + /** + * Checking if this gateway is enabled and available in the user's country. + * + * @return bool + */ + public function is_valid_for_use() { + if ( !in_array( get_woocommerce_currency() , array( 'MYR', 'IDR' ) ) ) { + return false; + } + return true; + } + + /** + * Admin Panel Options + * - Options for bits like 'title' and availability on a country-by-country basis. + * + */ + public function admin_options() { + ?> +

+

+ + generate_settings_html(); ?> +
+ form_fields = array( + 'enabled' => array( + 'title' => __( 'Enable/Disable', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( 'Enable Fiuu', 'wcmolpay' ), + 'default' => 'yes' + ), + 'ordering_plugin' => array( + 'title' => __( '

Installed Ordering Plugins

', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'Sequential Order Numbers', + 'options' => array( + '0' => __( 'Not install any ordering plugin', 'wcmolpay'), + '1' => __( 'Sequential Order Numbers', 'wcmolpay' ), + '2' => __( 'Sequential Order Numbers Pro', 'wcmolpay' ), + '3' => __( 'Advanced Order Numbers', 'wcmolpay' ), + '4' => __( 'Custom Order Numbers', 'wcmolpay' ) + ), + 'description' => __( 'Please select correct ordering plugin as it will affect your order result!!', 'wcmolpay' ), + 'desc_tip' => true, + ), + 'title' => array( + 'title' => __( 'Title', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'This controls the title which the user sees during checkout.', 'wcmolpay' ), + 'default' => __( 'Fiuu', 'wcmolpay' ), + 'desc_tip' => true, + ), + 'payment_title' => array( + 'title' => __( 'Payment Title', 'wcmolpay'), + 'type' => 'checkbox', + 'label' => __( 'Showing channel instead of gateway title after payment.'), + 'description' => __( 'This controls the payment method which the user sees after payment.', 'wcmolpay' ), + 'default' => 'no', + 'desc_tip' => true + ), + 'description' => array( + 'title' => __( 'Description', 'wcmolpay' ), + 'type' => 'textarea', + 'description' => __( 'This controls the description which the user sees during checkout.', 'wcmolpay' ), + 'default' => __( 'Fiuu', 'wcmolpay' ), + 'desc_tip' => true, + ), + 'merchant_id' => array( + 'title' => __( 'Merchant ID', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'Please enter your Fiuu Merchant ID.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), + 'default' => '' + ), + 'verify_key' => array( + 'title' => __( 'Verify Key', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'Please enter your Fiuu Verify Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), + 'default' => '' + ), + 'secret_key' => array( + 'title' => __( 'Secret Key', 'wcmolpay' ), + 'type' => 'text', + 'description' => __( 'Please enter your Fiuu Secret Key.', 'wcmolpay' ) . ' ' . sprintf( __( 'You can to get this information in: %sFiuu Account%s.', 'wcmolpay' ), '', '' ), + 'default' => '' + ), + 'account_type' => array( + 'title' => __( 'Account Type', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'PRODUCTION', + 'options' => array( + '1' => __('PRODUCTION', 'wcmolpay' ), + '2' => __( 'SANDBOX', 'wcmolpay' ) + ) + ), + 'channel' => array( + 'title' => 'Channel to be Enabled', + 'type' => 'title', + 'description' => '', + ), + 'e2Pay_DANA' => array( + 'title' => __( 'DANA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_LINKAJA_APPLINK' => array( + 'title' => __( 'LINKAJA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_CIMB_OCTO_MOBILE' => array( + 'title' => __( 'CIMB OCTO MOBILE', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_SHOPEEPAY_JUMPAPP' => array( + 'title' => __( 'SHOPEEPAY', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_OVO' => array( + 'title' => __( 'OVO', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_NUCash' => array( + 'title' => __( 'NUCash', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_CIMBOctoClicks_IB' => array( + 'title' => __( 'CIMB Octo Clicks IB', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_Kredivo_FN' => array( + 'title' => __( 'Kredivo', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'CIMB_NIAGA' => array( + 'title' => __( 'CIMB NIAGA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_CIMB_Rekening_Ponsel' => array( + 'title' => __( 'CIMB Rekening Ponsel', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_PERMATA_VA' => array( + 'title' => __( 'PERMATA VA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_BNI_VA' => array( + 'title' => __( 'BNI VA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_CIMB_VA' => array( + 'title' => __( 'CIMB VA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_BCA_VA' => array( + 'title' => __( 'BCA VA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_BRI_VA' => array( + 'title' => __( 'BRI VA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'e2Pay_MANDIRI_VA' => array( + 'title' => __( 'MANDIRI VA', 'wcmolpay' ), + 'type' => 'checkbox', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'no' + ), + 'tcctype' => array( + 'title' => 'Transaction Type for Credit Card / Debit Card Channel', + 'type' => 'title', + 'description' => '', + ), + 'credit_tcctype' => array( + 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'SALS', + 'options' => array( + 'SALS' => __('SALS', 'wcmolpay' ), + 'AUTH' => __( 'AUTH', 'wcmolpay' ) + ), + 's' => array( + 'title' => __( 'Credit Card/ Debit Card', 'wcmolpay' ), + 'type' => 'select', + 'label' => __( ' ', 'wcmolpay' ), + 'default' => 'SALS', + 'options' => array( + 'SALS' => __('SALS', 'wcmolpay' ), + 'AUTH' => __( 'AUTH', 'wcmolpay' ) + ) + ) + ) + ); + } + + /** + * Generate the form. + * + * @param mixed $order_id + * @return string + */ + public function generate_form( $order_id ) { + $order = new WC_Order( $order_id ); + $pay_url = $this->url.'MOLPay/pay/'.$this->merchant_id; + $total = $order->get_total(); + $order_number = $order->get_order_number(); + $vcode = md5($order->get_total().$this->merchant_id.$order_number.$this->verify_key); + + if ( sizeof( $order->get_items() ) > 0 ) + foreach ( $order->get_items() as $item ) + if ( $item['qty'] ) + $item_names[] = $item['name'] . ' x ' . $item['qty']; + + $desc = sprintf( __( 'Order %s' , 'woocommerce'), $order_number ) . " - " . implode( ', ', $item_names ); + + $molpay_args = array( + 'vcode' => $vcode, + 'orderid' => $order_number, + 'amount' => $total, + 'bill_name' => $order->get_billing_first_name()." ".$order->get_billing_last_name(), + 'bill_mobile' => $order->get_billing_phone(), + 'bill_email' => $order->get_billing_email(), + 'bill_desc' => $desc, + 'country' => $order->get_billing_country(), + 'cur' => get_woocommerce_currency(), + 'returnurl' => add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' ) ) + ); + + $molpay_args_array = array(); + + foreach ($molpay_args as $key => $value) { + $molpay_args_array[] = ""; + } + + $mpsreturn = add_query_arg( 'wc-api', 'WC_Molpay_Gateway', home_url( '/' )); + $latest = ($this->get_option('account_type')=='1') ? "3.28" : "latest" ; + return "
" + . implode('', $molpay_args_array) + ."" + ."

Pay via:

" + ."
" + ."
" + ." I have read and agree to the Terms & Conditions, Refund Policy and Privacy Policy." + ."
" + ."
" + .($this->e2Pay_DANA ? "" : '') + .($this->e2Pay_LINKAJA_APPLINK ? "" : '') + .($this->e2Pay_CIMB_OCTO_MOBILE ? "" : '') + .($this->e2Pay_SHOPEEPAY_JUMPAPP ? "" : '') + .($this->e2Pay_OVO ? "" : '') + .($this->e2Pay_NUCash ? "" : '') + .($this->e2Pay_CIMBOctoClicks_IB ? "" : '') + .($this->e2Pay_Kredivo_FN ? "" : '') + .($this->CIMB_NIAGA ? "" : '') + .($this->e2Pay_CIMB_Rekening_Ponsel ? "" : '') + .($this->e2Pay_PERMATA_VA ? "" : '') + .($this->e2Pay_BNI_VA ? "" : '') + .($this->e2Pay_CIMB_VA ? "" : '') + .($this->e2Pay_BCA_VA ? "" : '') + .($this->e2Pay_BRI_VA ? "" : '') + . "
"; + } + + + /** + * Order error button. + * + * @param object $order Order data. + * @return string Error message and cancel button. + */ + protected function molpay_order_error( $order ) { + $html = '

' . __( 'An error has occurred while processing your payment, please try again. Or contact us for assistance.', 'wcmolpay' ) . '

'; + $html .='' . __( 'Click to try again', 'wcmolpay' ) . ''; + return $html; + } + + /** + * Process the payment and return the result. + * + * @param int $order_id + * @return array + */ + public function process_payment( $order_id ) { + $order = new WC_Order( $order_id ); + return array( + 'result' => 'success', + 'redirect' => $order->get_checkout_payment_url( true ) + ); + } + + /** + * Output for the order received page. + * + * @param object $order Order data. + */ + public function receipt_page( $order ) { + echo $this->generate_form( $order ); + } + + /** + * Check for Fiuu Response + * + * @access public + * @return void + */ + function check_ipn_response() { + @ob_clean(); + + if ( !( isset($_POST['nbcb']) )) { + do_action( "valid_molpay_request_returnurl", $_POST ); + } else if ( $_POST['nbcb']=='1' ) { + do_action ( "valid_molpay_request_callback", $_POST ); + } else if ( $_POST['nbcb']=='2' ) { + do_action ( "valid_molpay_request_notification", $_POST ); + } else { + wp_die( "Fiuu Request Failure" ); + } + } + + /** + * This part is handle return response + * + * @global mixed $woocommerce + */ + function check_molpay_response_returnurl() { + global $woocommerce; + + $verifyresult = $this->verifySkey($_POST); + $status = $_POST['status']; + if( !$verifyresult ) + $status = "-1"; + + $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); + $order = new WC_Order( $WCOrderId ); + + $referer = "
Referer: ReturnURL"; + $getStatus = $order->get_status(); + if(!in_array($getStatus,array('processing','completed'))) { + if ($status == "11") { + $referer .= " (Inquiry)"; + $status = $this->inquiry_status( $_POST['tranID'], $_POST['amount'], $_POST['domain']); + } + $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); + if (in_array($status, array("00","22"))) { + wp_redirect($order->get_checkout_order_received_url()); + } else { + wp_redirect($order->get_cancel_order_url()); + } + } else { + wp_redirect($order->get_checkout_order_received_url()); + } + $this->acknowledgeResponse($_POST); + exit; + } + + /** + * This part is handle notification response + * + * @global mixed $woocommerce + */ + function check_molpay_response_notification() { + global $woocommerce; + $verifyresult = $this->verifySkey($_POST); + $status = $_POST['status']; + if ( !$verifyresult ) + $status = "-1"; + + $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); + $referer = "
Referer: NotificationURL"; + $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); + $this->acknowledgeResponse($_POST); + } + + /** + * This part is handle callback response + * + * @global mixed $woocommerce + */ + function check_molpay_response_callback() { + global $woocommerce; + $verifyresult = $this->verifySkey($_POST); + $status = $_POST['status']; + if ( !$verifyresult ) + $status = "-1"; + + $WCOrderId = $this->get_WCOrderIdByOrderId($_POST['orderid']); + $referer = "
Referer: CallbackURL"; + $this->update_Cart_by_Status($WCOrderId, $status, $_POST['tranID'], $referer, $_POST['channel']); + $this->acknowledgeResponse($_POST); + } + + /** + * Adds error message when not configured the merchant_id. + * + */ + public function merchant_id_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Merchant ID in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Adds error message when not configured the verify_key. + * + */ + public function verify_key_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Verify Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Adds error message when not configured the secret_key. + * + */ + public function secret_key_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled You should fill in your Secret Key in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Adds error message when not configured the account_type. + * + */ + public function account_type_missing_message() { + $message = '
'; + $message .= '

' . sprintf( __( 'Gateway Disabled Select account type in Fiuu. %sClick here to configure!%s' , 'wcmolpay' ), '', '' ) . '

'; + $message .= '
'; + echo $message; + } + + /** + * Inquiry transaction status + * + * @param int $tranID + * @param double $amount + * @param string $domain + * @return status + */ + public function inquiry_status($tranID, $amount, $domain) { + $verify_key = $this->verify_key; + $requestUrl = $this->inquiry_url."RMS/q_by_tid.php"; + $request_param = array( + "amount" => number_format($amount,2), + "txID" => intval($tranID), + "domain" => urlencode($domain), + "skey" => urlencode(md5(intval($tranID).$domain.$verify_key.number_format($amount,2))) ); + $post_data = http_build_query($request_param); + $header[] = "Content-Type: application/x-www-form-urlencoded"; + $ch = curl_init(); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, FALSE); + curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, FALSE); + curl_setopt($ch,CURLOPT_URL, $requestUrl); + curl_setopt($ch,CURLOPT_POSTFIELDS, $post_data); + curl_setopt($ch, CURLOPT_FRESH_CONNECT, 1); + curl_setopt($ch, CURLOPT_IPRESOLVE, CURL_IPRESOLVE_V4 ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER, true); + + $response = curl_exec($ch); + $response = trim($response); + $temp = explode("\n", $response); + foreach ( $temp as $value ) { + $array = explode(':', $value); + $key = trim($array[0], "[]"); + $result[$key] = trim($array[1]); + } + $verify = md5($result['Amount'].$this->secret_key.$result['Domain'].$result['TranID'].$result['StatCode']); + if ($verify != $result['VrfKey']) { + $result['StatCode'] = "99"; + } + return $result['StatCode']; + } + + /** + * Update Cart based on Fiuu status + * + * @global mixed $woocommerce + * @param int $order_id + * @param int $MOLPay_status + * @param int $tranID + * @param string $referer + */ + public function update_Cart_by_Status($orderid, $MOLPay_status, $tranID, $referer, $channel) { + global $woocommerce; + + $order = new WC_Order( $orderid ); + + switch ($MOLPay_status) { + case '00': + $M_status = 'SUCCESSFUL'; + break; + case '22': + $M_status = 'PENDING'; + $W_status = 'pending'; + break; + case '11': + $M_status = 'FAILED'; + $W_status = 'failed'; + break; + default: + $M_status = 'PENDING'; + $W_status = 'pending'; + break; + } + + $getStatus = $order->get_status(); + if(!in_array($getStatus,array('processing','completed'))) { + $order->add_order_note('Fiuu Payment Status: '.$M_status.'
Transaction ID: ' . $tranID . $referer); + if ($MOLPay_status == "00") { + $order->payment_complete(); + } else { + $order->update_status($W_status, sprintf(__('Payment %s via Fiuu.', 'woocommerce'), $tranID ) ); + } + if ($this->payment_title == 'yes') { + $paytitle = $this->form_fields[strtolower($channel)]['title']; + $order->set_payment_method_title($paytitle); + $order->save(); + } + } + } + + + /** + * Obtain the original order id based using the returned transaction order id + * + * @global mixed $woocommerce + * @param int $orderid + * @return int $real_order_id + */ + public function get_WCOrderIdByOrderId($orderid) { + switch($this->ordering_plugin) { + case '1' : // sequential order number + $WCOrderId = wc_sequential_order_numbers()->find_order_by_order_number( $orderid ); + break; + case '2' : // sequential order number pro + $WCOrderId = wc_seq_order_number_pro()->find_order_by_order_number( $orderid ); + break; + case '3' : // advanced order number + $WCOrderId = $this->find_order_by_advanced_order_number( $orderid, '_oton_number_ordernumber' ); + break; + case '4' : // custom order number + $WCOrderId = $this->find_order_by_custom_order_number($orderid, '_alg_wc_full_custom_order_number'); + break; + case '0' : + default : + $WCOrderId = $orderid; + break; + } + return $WCOrderId; + } + + /** + * Get order id from ordering plugin's order id. + * + * @global mixed $woocommerce + * @param int $orderid + * @param string $metaKey + * + * @return int + */ + private function find_order_by_custom_order_number($orderid, $metaKey) + { + $query_args = array( + 'numberposts' => 1, + 'meta_key' => $metaKey, + 'meta_value' => $orderid, + 'post_type' => 'shop_order', + 'post_status' => 'any', + 'fields' => 'ids', + ); + $post = get_posts( $query_args ); + list( $WCOrderId ) = $post; + + return $WCOrderId; + } + + public function find_order_by_advanced_order_number( $order_number, $metaKey ) { + + $query_args = array( + 'numberposts' => 1, + 'meta_key' => $metaKey, + 'meta_value' => $order_number, + 'post_type' => 'shop_order', + 'post_status' => 'any', + 'fields' => 'ids', + ); + $post = get_posts( $query_args ); + list( $order_number ) = ! empty( $post ) ? $post : null; + + return $order_number; + + } + + + /** + * Acknowledge transaction result + * + * @global mixed $woocommerce + * @param array $response + */ + public function acknowledgeResponse($response) { + if ($response['nbcb'] == '1') { + echo "CBTOKEN:MPSTATOK"; exit; + } else { + $response['treq']= '1'; // Additional parameter for IPN + foreach($response as $k => $v) { + $postData[]= $k."=".$v; + } + $postdata = implode("&",$postData); + $url = $this->url."RMS/API/chkstat/returnipn.php"; + $ch = curl_init(); + curl_setopt($ch, CURLOPT_POST , 1 ); + curl_setopt($ch, CURLOPT_POSTFIELDS , $postdata ); + curl_setopt($ch, CURLOPT_URL , $url ); + curl_setopt($ch, CURLOPT_HEADER , 1 ); + curl_setopt($ch, CURLINFO_HEADER_OUT , TRUE ); + curl_setopt($ch, CURLOPT_RETURNTRANSFER , 1 ); + curl_setopt($ch, CURLOPT_SSL_VERIFYPEER , FALSE); + curl_setopt($ch, CURLOPT_SSLVERSION , CURL_SSLVERSION_TLSv1 ); + $result = curl_exec( $ch ); + curl_close( $ch ); + } + } + + /** + * To verify transaction result using merchant secret key setting. + * + * @global mixed $woocommerce + * @param array $response + * @return boolean verifyresult + */ + public function verifySkey($response) { + + $amount = $response['amount']; + $orderid = $response['orderid']; + $tranID = $response['tranID']; + $status = $response['status']; + $domain = $response['domain']; + $currency = $response['currency']; + $appcode = $response['appcode']; + $paydate = $response['paydate']; + $skey = $response['skey']; + $vkey = $this->secret_key; + + $key0 = md5($tranID.$orderid.$status.$domain.$amount.$currency); + $key1 = md5($paydate.$domain.$key0.$appcode.$vkey); + if ($skey != $key1) + return false; + else + return true; + } + + } } \ No newline at end of file diff --git a/WooCommerce/woocommerce_rms_normal/images/logo_RazerMerchantServices.png b/WooCommerce/woocommerce_rms_normal/images/logo_RazerMerchantServices.png deleted file mode 100644 index d79514eda95ee9647455c045a20958eec67177fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 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 MKy*~flq}x<2Un^q82|tP diff --git a/WooCommerce/woocommerce_rms_normal_id/images/logo_RazerMerchantServices.png b/WooCommerce/woocommerce_rms_normal_id/images/logo_RazerMerchantServices.png deleted file mode 100644 index d79514eda95ee9647455c045a20958eec67177fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 zcmcIoXH=6 z8tJ?;8!hESWuu}W8cWP0eJC++khGLDpHsG1G{aHs1a z_t#~}bN>LNg;{fQA0c0|I@w|d2zoiuNR0_knc2@j`!PfW~m4sXyNPz9YI zPFS3EVO#swBT=|Ptu6D&DIXBCobou5Bo^)hR|79P>PyWcME zxa52_vKx6_Cem`|^w<(Uml~8x>Bb%k(qyF*ct7rTK&hyBXf5PQPwBShxV9dEwKqqj zO6L$U184ZnMC-U$9Elawd%4d$D_Yx^bi&qc&rlnv)s}+WoDaIj-MpxRj&jf ziD#tUY91qeddw`9eBEq}C9wktOUxisU4`+6g~Wq3E6 zwaDl_bICO;WuTB?fOx9`QmjL}&2u|ZK02^)XV`aHfnwNiA2sv69tf2+d%=zY>Vop& ziTm1wIQab0+VB=?OCwjvD!#tdhTyi`Cw0_kZL3u@NrM_2L%EM6FzbSr4{}Z$C&7l& zxlteChkCK_f;;#4L%UdObeS%A#2a%T+F4ed7X-0)+Zjp`Cn%DL4-Z#(%D<+Lb=V2d-#k3_j=w{MJ@L4c+ z6~fFQA0LTI+cLYr0Sm3rkl%KD8n&B;!V}LvKewb#iVO=tlzfaH2}-+E&f^Bw#vq1X z*GUUG2dlc&fEzvQXf(d5oSIltAI2Lsx%c4g%ZjCiPeV0^VGvp3#H|-@H=!ARcQYLd zDg=h?AG&qI1=m$BzOHM%bVXQz{f07)R+G^9S|)rnW@A0{3YjmEhmBbH!jw{HvXk}W z>sdS?jPuEZhL5Iu8kQR38HuE1ld3gE01+tNknMXQqTNR7 ze82Z0tPwK}b#x{u^*JMzJkN2S1VHJ-ifq}vDPWuGjOqMNsLaee1EL}Fp6!gVhT)FJ zm%TX8l8?L#cC3eagmbf>=C2t#egi=+9%+9503w%J-fJ#&K$F_CO=Wk2VI zwo&zM48#^LI-)Y+EBXw@WB&H9mz2HWe|ybMxX zKp0cXCCG8onKI`u%eECAMLdWnv9Bva1MFxY{ z1n$c|&Y#LTq@KAIEPy>Jtmx3`>fV6L)yS(pgx-q62`(mhs4&!0Q)gZi*RJ195*858 zt$=YszBKbOLfY1OWqpz&em#*>bk);W2)^i&8CQXRx$?X)4(1qFSOJS#&{yxn$q!ysJC$Sk9Ys z;OI>(3rM#V-2T&1bqsbDx*}yrPFAY;=}-Ag0XjJ}S}7Esr-IrO*ZfS_wyGcF8YEc5 z>kJ%F|ZbKN$=pOk+ntB1X5u-^*9?H-ShOp~S-e zv_=tRWzoW@;=?(9KTV&JS%`YhJI0NpmFy4eamB6yS~*IJ_pH<0B=hLZ%SxxZ6iZP72Z0tQ~Itj9L<;K$BZ{2Jmnt z%xq00dupN7!fYqWy9ju*aWS-qDIu+C6^uUFMWWSGp4M;VX`QHD)BzDw*lxjNDA@~7+AIlaBus_M!4I(b+W@-U{^ioAWS!@25Bv?)nxV7$7L36HcLIb&bitxNdBFa6 z?lmM{qB3SnL6+>4nk9D2_3S04X>4~QQAmLOJZh6QrR$pi4HB0UjW}qf*#JbGcwFg< zcsd?mE+Oi9M_1iyWUnnDj>3icRPUIctfGnbDy_TZLi?rG%rEeTU&NEjxB|zqyekrh zf|kM-=jzPD7v>B2k;B&$YEvc?txORK0MAUf81C zJ4$WFesE@q26^*i{Ah#)>>FU;jnasOYFSl(2qYpf9sbV#hO0Wf`0q=;8@i9s1HB(j zeU*A$nj0a+=pInGb!nT8Fw_|I%Vi|~bz)2%)@StM#| z+1LiIqYG%!K~+rg6z!Gg^16hQ&O5d81}}~E+{0{N8Z+)%EyY34Jz`^@=fKK=Ls^eQ_W_V{sdQ14%=&x;7KfjHFMy@`CEO*v| z+xJv?W~I%RHdPzZ+Fj4h5`oJ}v|5!L5qzB0)8&<1Sv}XWfkryM#W#`Cpirj=;U1d^ z(_jJX{B~nnEvwAf`J^{Hx}sW=Z75PwaVkS?2&ilJ#wH|QJlhl8uaqE8b*r_FQC6gR zNw$fbM-$xI@b6DQOzsQVhDfe-(%wl{ zmqu(pk&J0MM=J)xI01kH?L?xgDI)*?q9T$@fWIujU*dJ$1u}+4l1G18|3&;$_D`jM z%l^B8N6h~jx>g1?0H8PWfR7Bmm%08=Z2!ye{}A}UWKdY)JsFAff&IVOSoF{7_egpw zua>~6!#O8B&ho**0JdlH^dQzLxj98QFmPMT6H4Fg_u{zGmJGR@_BY;5Ps&^a_B(l> zp^ilYHh*R+((!!vPxyZFuH^&q+fI!iDMI{H z%A=jk>&&4uA{%G=`*pxlQbb;ma`#hpEj@}ziHS7iBE`s0S;QH0UdwZMiVPZ$G1l53-`p30O8A}5@; zWG>*Sb1TAsD8ZXsp~WtGrj+7vjq?<16cJzJMJ*yI;MZI3R z_GfQ@BkLtG^vC;EsS4qlpqBeiGu5p8{0NXDYVcjKiZJ5?v~}OX8V>Rjr(lk$`#d;z zYz5?H&3~20q$j$(xa*k5zv|Wpq<$<+^q;jtP0C4>%O21AUvvDvTW2~O$PzQ1Q@Yt& z-Ra1)nSSHL+K9&`dRNwV{QlBO%ca`XY0CWF_l4YcJPuMGX$N#wV#_$lX+>9S3Bd{K z2E#7Jfe~eJI(FI!{CE`J@mi(=d~et9RSxEWpf?p}7DWX5Kf=ml3i)N&a}Z~F*LsU4 zKT%*uo-NLo>6H0NP%WYcBWRyE)}OKEpf(y1#OKly;~(UYJ;5}8=MuiTC`x(OJbl+RjjkzkiuRFj9jpl*qjRP z2eM%#9hA()MwLrfKcx-4rljyG@AfWc=|tOG!f(*cW1H)4yU+IXSy(IPQ&TA)TvtZt z_CHPvaMzszi6IL=!%s+D0V@eSl2+;KBz0$G~dl!A4Ij&DnoCcl~ z35Jetw!$;zgS|*so^i+6q(u%#p1Qj~^?1H0E%8KZ&i1N^8!pNQyiJc*zOeSg)Lu(V z@i+5_TS#i3K$`-aGjL7B2Z`C#`%65a6-Dh&6vOIj_t$C~>#S8;g$o`m2Q~y(@{kQ{~f<&pp2AVubRlqJFQEt2quMe9FS< z3t6mE_}T+n0)9MBi78v{I&$R|NXLtf54Y;N83px1r-A=KvD>!at-JxT|=P4XD(Q%Dsv`y7x;`8`jlyUEK;H@rqqA~z~}5DPuX zgT71}cMb>%lmRn63;)>h?6R$J#EYe`_s!ja#}D?L_bU3RxT@at4!xE4?&YX8_$^)&ru#rgJ9eV5CLxbvn* zFT9^Mam?i-o`*hJ8Xx59^(@155R#tThQ7)$8p*BMcVPfqZl+JEfPlRgPTHSjf8dDv z)SbsDDWQ(gc%7Bm(uB*JejJvVf8kS43Uu^u{YbObjTKQD9KhBQlBqwA9_YCowj9kR zJC=9FeUzW86szeWyc8h5z8o&*c^@C1lbrRzrOYJ(Nhhy}tl>N+|d5wJ%o_E2IA~h35r=gJ5QQ0UvmYHtEk&;$waJw2|rP)&P#-#HNbM zwv<6dV6amsUCl}B)BU8d8K4Q+w5!PuRj*(5@G(jO9fQCJztl7-)=nYL=m{#{TS%;rjNu;o7cRY1 zyX&ye=OLHJkN8&WjdK?j22)ue0YAtKTUbLdW~RbGxaa@%~Z<1ff~GF z-a3`5@Dwnztwhtl+VnT$sKXZTBC#G%p|bLPnXgQvYmYZ{TU*oILX=HOGcShE1@7HO zXz3MirbzDDRvZiXfVZOSj`Zj;=sU$%0oZ|}`V?b(D_IEl8!7HERCxAp8&2oaV35&I z;V|Q>K9f*v%XI2)Qpv{5w>u{R%>vdRuIma}$|MT-+Ym`8lSazYefi>++HH zj`vC*bkgQ;gA-q18+MV}ksB&h1-5Hn`;K6{KAZC5GW&jeZ_-j?rzCDvj$a3hfSSg9 zAKJISMXtR%A};6ICMebdM`lf2;)@h*cPj-wwME(x{o$OXE4%868W6;BOl^4+18H{m zq`6cYkhY8D07Oi9EnF7Fh7!0z;|LA?*Gw=(3+f<*6HIW%mQ2(`0d7B0$w&Ykw#hxTdicU5v* zTbr>dn*MMEyKS2fkZ_MRNvi^zdD7g%n}V_+Kw2MIFR@uuhCT4=uCrkY-f;`VfwKlr z2qcwZea?=MvSmvdtPBNl=~raYxlg1f+~)>+*0_O*iu8mk2YzNdH#W)8!}Mq->P(t( zy zcs`b(lDK@G;i&!S37^Kp3WEY+!KIS?ph!>K=)67^bxVyd)vm;d9=Fh2?xAVeMcq`%P$2%K{$Z|SB@J&0R;n73Cu@acbD@A2eL#OVn7>PjV*tw5S)oiz=X;W z4^{GA_y;d0hpBQqa$T^@@&AtCzr?W*Zf((-2NjYp`TyCD+Z8Xf0ir~jc*Or$R{xc0 MKy*~flq}x<2Un^q82|tP diff --git a/WooCommerce/woocommerce_rms_seamless/images/logo_RazerMerchantServices.png b/WooCommerce/woocommerce_rms_seamless/images/logo_RazerMerchantServices.png deleted file mode 100644 index d79514eda95ee9647455c045a20958eec67177fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 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 MKy*~flq}x<2Un^q82|tP diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/logo_RazerMerchantServices.png b/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers/images/logo_RazerMerchantServices.png deleted file mode 100644 index d79514eda95ee9647455c045a20958eec67177fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 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 MKy*~flq}x<2Un^q82|tP diff --git a/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/logo_RazerMerchantServices.png b/WooCommerce/woocommerce_rms_seamless_for_sequential_order_numbers_pro/images/logo_RazerMerchantServices.png deleted file mode 100644 index d79514eda95ee9647455c045a20958eec67177fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 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 MKy*~flq}x<2Un^q82|tP diff --git a/WooCommerce/woocommerce_rms_seamless_id/images/logo_RazerMerchantServices.png b/WooCommerce/woocommerce_rms_seamless_id/images/logo_RazerMerchantServices.png deleted file mode 100644 index d79514eda95ee9647455c045a20958eec67177fd..0000000000000000000000000000000000000000 GIT binary patch literal 0 HcmV?d00001 literal 6374 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 MKy*~flq}x<2Un^q82|tP