From 6c4056d04478b79bf7848d4bb77380ca6275e332 Mon Sep 17 00:00:00 2001 From: Yik Teng Hie Date: Fri, 30 Jul 2021 16:35:25 +0800 Subject: [PATCH] add web mobile checkout procedure --- vuejs/hmac-hash.PNG | Bin 0 -> 44871 bytes vuejs/mobile-checkout_localtest.md | 61 +++++++++++++++++++++++++++++ 2 files changed, 61 insertions(+) create mode 100644 vuejs/hmac-hash.PNG create mode 100644 vuejs/mobile-checkout_localtest.md diff --git a/vuejs/hmac-hash.PNG b/vuejs/hmac-hash.PNG new file mode 100644 index 0000000000000000000000000000000000000000..8636755b561aa188df93580309ec7274e4b8fc7a GIT binary patch literal 44871 zcmdSAXH-+c`!0&2U;|V{lu$$vq(~=p5S1>yDOD+aPNn`-`SJNp4n61dFFYdbhK1xZZO@TprD{p zQ+=gJL2(&Cz7(%fkz;m6ApB%=$x~0|1x4i$GnV{t#ZFOEk%FQ+{^sfXtK{eFZmMrR zDJW>W{#}=PTuW>yC@SaGUMU**T5O+fdorlB>|7sK5VmAtfy%$09%h^y5Obmb<4mvk z>ZO|r*z`e+uydb_gXp!EPT8LxbwYrNxkz6d$&tsu?uZy|)l~sFtZ#N-^W|*(mOFZV zf{9izWc2x-Rh3X!1DM8Tdir=C0x~i*GMqB0ubaC3EYSQ;2gM}PFeN2D<=8O&ZT)$1 z@O-ldxttUfzb}I*|5>H0|F3Pn>b&Hln)B}Qc*@+)@Ffb04{SFH>9KR@u~@i^^vM(~ zC{gIhTXxu5SYPP5bFJNYbgfe z{ep#G^$c0$1M=gB6|-DlXS$^r7Y*O&+;8aa; zc4;UXxKxLP`&c$4VRNfLXx4-vnqdXY-#hHzD#6@TAtn}8+4>gNzDPChdajkja0M>- zX5xD7C5lMh2erZ#p^GzBAq~X8`R|R1G4sK-`$*Tz%}SQM+meO&U^<$xSX)=VA9f%1;P)qv8%Hs@w6hsUl1_1kSfuegAdt1bA!k-uux!P6q zM_W$YNqTr}kGo!4i1@O1%8yL~jgLrgwXaf`?in91cUZAwJUz4f30PBQ8f+Tvh~2c< zQ@+YtTw@8(*N%`C{b}3OZi4xPf{Fdr1VEqI3i?$P#UbS0ZgzgDN7StS?%b}Oct0?a zjAWU*mK5j{;$w(Zy%Q`C6{RuJx3Dg5v0s5#w6#^m%$YO=R{G+{=e3Jvwy-J1HkOGE z**@vAGk9L_8u2>1R(benb!>w(GvgHdXT$qH?)o*B$XLECsA=AgjooV zrONb{w*)tgAtRG4hddU|hO(wE<~MKtJ(621y)oNF;*a$sk6Q)x&o02WAM$I$^!(tq zAMT||7V$yr)C5bU6l)l--82r10C$QG6j}HwRC9)w`Q{&II#G%BL70+Pkh z=&j72X1UCZ0EY^n{Mo73!>>%nKfaxX=zJxQP>$c}$}?LFrPM5cIih{8K*lZq?#axG zQ|H6HIGfyOjcr=JY8JEP&e56yJIE~ zcloJJL02p7-#Uvq7z*1s`e%E%b$oRcafyOX@b}wCn`pVKEZ}#%SDN#u=4!p$f^L_s zJX)0tVZY@UZu<~lf_<<{idU8et-M zI`0g5P}4K}(@#}FbA6%4+111*wVd_Gf->zBKGWz=6Z}OIY z3LaYx-{Mobhoj1&F zN#7@0_yz~5?4)Hx1%K@Xzv|efE7qO|7hD&~Jz$gDP{<&uLWAusvHijt(BH4a_@=3B zcr6*z$5e1j#j)!=PB350*ZH_Gk3IS5^X)&<7yPzqk*zMLxbF%NfII`(?QXL)5!FiW zV>=1j%6#KCEW@AboYBPCv-3zj_E`yvr9W$kikV2CF^h<=cmY=u7#g!-p8W~Y?-8t^ zRrKRM{i5ZDfTV}9MAPUk2GZJ+r1G7?@SMi!Ugf$NvGdzap~Hf8RF9mcxF(F3y;Ro| zVuNov7g?5^$+;?Ddz`gkS9E3Iv06X@Px28Leqv+gmoo6iJD`rZx>0DsiFPvB4 zIvWSD=1$D5-$xuVX;j?>is`#lxpDGgXUG-~PyeQ@9vw-w!hM=O><9f0!!s z+m&2g`EYmSG!?`!1Kw-s9Go(V;0B!#_Hyd>WoAiWVA|64+dMJ?92ZfSXuB7aC=RZb zB2)c{w#mbzSN2h7A7BP_x_T3gY$|eNScQjOe%P4repLylC8@c7q}U%^1wBlkqU1tW z8gC+2)}KENU@D{ly+qZ^3tpVDS@>n_qEBqnbKpGMefZn5BE0u12P69Wz|-q-x&*QK zE86=*{Td|0DoG+Xb&W-Es#m#|RW5Xfg2Ea^1cc~P5cl<3s#t8WO z?J0|d_NWkK+n;BXKj!XMe_Kaq8Qk9DZbD0tg70xyXzT(2KsQ#kVmNmYbc>Y5=J#R| zdN)S4RP3r40H7eF(duYN0=-~yg-kqGn(ec$mC`0ptClxV>s_lL-~*}d?yDhp^a!#V zaz(IDV?pj;fU~YXzca`kjCR!y$V#yZ(d6pf4T*U&kg0uR6{7SR4|pKuf!-`H!Tc49 zuL=6&bbRe)q^n**-;2?Ho%SwHTX|2ln-mn`iJ}0C`QWj*aIzEUcB%H#bEAK){fLcx z@4YcVc79hW$#))|EiNvcGz$eq+OL0J3I)ZtlK)e7)fsqxmgz1Xyw7`fcId|>i~r|N zQ?TCUY|w~FeY1N&;n3F)?(KZS!6D%~dW;U%zI{dU_7yqV#AyLx3oEF6IEP>@yNim* zC339dNEcre{w~hk;t`EsI*q&ZgV7IF;STl{A>%;l!^>SVd;7{bFkL(XhIS0F8)|sVX zEphQ3mV%HZ4zC_?#Q*#a-;Nja)B@0?cPOp&n3Uu-WQGrW>rO7yGBr8LpNwuk-mWxP z&x|uKL=+X)5o_<%LOpKaQ^UIB$BTaB>qtMPW}Cr0_1Tg4r&hm{z}~W_?sA4=Y{mW1 z%u=go%KW)ipT|{_jTF*#A-iL+fc1;3W3b&Ds5=VewK#nCFd3;zR}mR>ls|FJ8#R;< z5{S(G>Q`swdZ6S5Es2=ToYMQfTzCi?r=E~Y-nuHGm8wlU_Tz`r!Qyq9pqk7K)497F zMY+OBBlMes)UdpDDg1=o-3j+M*e&^T1fY1o`Xg=6`QOS@boV}t-}`&z)>nN+>DqQq zuXRd9P=@`5CQc$*w~W6!RWE53!h?Y0Ktq8WmX5QotU>Y#O2c7kk>iTrz-N&rE#) z7g+V$Dy0K)&}sexZ#au$T#7i*SOYB>_M1ofGb~R(Lme)WC_2(!Ug!CCq!|mKaG<>J z$>;DpAk3@3RjYQwT`iMll3NXy*0Eb#kgZWVU|^2PKpQ}RUE2=MB&9WLIN$^1CQyPB zdgTUem>o(_aey@R$m{s+v7}`O##3G>A+ULwddq~a!lEtvh;hR}V;r27L@Vs^KHg$t zO9BDNW#6JD^{^XTH*28C?I8r%Gi9W5*vROD)c`D>4dLPMO@)K@U)zp>-4;D-ds$hF)m)-5@4C(1dV9rcNkB3 z$=b-*U%y`2Ic>kv-s-hw#@I*$tlZ5RpR1YJhdCA7FI~2q)v#+w{rC>(G4^plIYa)% z@9-um#CcSmcIv3ssCKxR+Mu$9x)9*1kwXT}8d%?A`ncQSMCWFEA7pYZx~w!0@#!cB zkCkqXR==*vz(*bqgk=_U|*=4AlLEsh~WjhXp)l97az>Qq2^3^xxF{$k@>NT_mD1W*-^Yk zr=d57m6Jw0j(%8%3>n8 zG)@X0-upa-UaqghjwmrTD%a<&t#5$@#rKY9+v!fFS#v{<3*t0`k{Y7FuL!;|z{&=l zlIDGy1Ptb);+CqqhmXgK{42Q^(U%wDu$`ek+OlP9FU!f`xt7U}bl$JtBVWoDVy2v5 zcY_B~+Pp^|%3Nemc>m6+RlMdc>sV)fb^8eCmEt3qsj~L0IPm3dQGjx)f*G=BU`#-y zbOiOJm=CjyIz12T_2xk(+=`DM!H3Y+E3}^3m5DwX2AhdHFBvXSIcE6l)m?&XVr4lS zjUlbl*#j$18u5<~AY9V0q-B5oWqF5=i3rPVmK_g_ywx{Pxk)!RLxHvT$OQ-B zY2ErXA4)%~pj79~uZ=s2E{h5wVQorcnXAJg^RpgoR#B!|?DSVGDNxWcc zMuU9p-{e+di63t?P3rUm9w$+NPE^52mB0fS#_i!wu85EW@KYKKo1)cO6ZB(A54};ZQucb*UU` z)mam0j9y&r*6WNlUX#IAei4);xJ>qNIR2)%yEnR|>P638VX?U_nP^ z%@6U;5}(OkqG-VxyL8ryc|Tb)ZgMU=l^&;uHlg(by;6^NbPIZBnPfm6<(*_SR5Q5U za*xuubGyyzr360RYuhQcrqo2eg1g;g1Oj2`H*zaB)sC%jp0L}AtDQ=>zwG>IR-516 zAwT?0z#u}qnFCD#x|$9sYrt}1{ISCx`Yl_U@t}i-lxGtQg4ox72U6`0f>ozG_v($X zXU?mW zE9BN7^L-<~m-yC-AGrmaHo0gX3<%g1mv>3#eZcZQ+`Ie^MMs#1qm1LKJ!{2|sI9|n z?`Q4D_Ce(_f>z~MYgQ1qTKygtz*uTN z<^5gZZZnsMj^0dByMSC$gRPK{IW4%f4ykDQveVl!xn{`2nX)qI#ahI;@|@EYwC09z zY~qgp_*$up&tDHK^K+fqXXq;#8fJ|vRr~sSC~e6O-tD~mOp#*u%Er6#&nh%hzeRc7C+e%cx(}4 zCi^w{Z8U$A-dZXcXrS`d+1=_@+4&TR&Y(G+MumkNtSui@KubS2WH{TLCi7TOs2rGR z^~$Brc)>yJT>Js_i*7`EAVg}vp5G{&W&CZ(rBUp%vs&i*!4tlc`5RBOy;$}Zns0S6 zP1IQ$-el>sdjLdlB~qGd_NJNYk&Y^7KAsg;)Mm{-FA93B6cD?UWO%JMVbfoK?csy7 zFE7rwIN*|Yr^?M!9O77aS1u)9vF7d zsh#M&R+n7ySnC3$;Gfe$DQ>#`*5tx-{xuMg+57LjOWZJ8`&YlI)!g-*m)*d-iEm4= z={F~Jn~UYg__7$qZI_=B4ItQ?QmU$U-^Zoq5}ERR<{fGen=1-oj*(3-Q%Ir5+G`i{ z!P%(7b3~~i_ab6}q+xFN$)56f`j;nbO#`Y|UWt$ydm;~0A4uvI=o)~I;kExd+=ES- zD`XU$y((lydBqgP(DhzZ(?f6|edA{DoeT%|E@WUMsjK1O9M#_k(P4 zpx(JEq9mV1*P|!dv`am4wqw`D87up>URpXk$(d;7C*BlhSfXMw2y^z@FJ}s;8Q!-` zE$v7Pi|4D(B5wf}_v1$@Mo1j|ZMqr18t5yX7L@hkc1lFXyDA+Go;v8-IV#P<(&yrK zEsH%HpDYZSK>|mmb+-I$IQdqbJ#MV|nQxAUk{!jY{PSD0x0{bsTZTLwDbtBj)V4r9 z3)fuT*~pl;Cj04T8~dY-rhjzpU=5pHok$%i4T$7+)sba};u-;5~{> zaiq~nGZejFM%!;TQT-_qn1`%?YrLsi{XB4sC8hhO-+)z-Y5T*<1e3`BRwE%ZjPUZxz!Mo>YFA4f|G$oaM%(0Cdqp?Bhw~5ZR{+wk&MIv?^?BRI|3+OqNVufyV?)mLIakq`7@+L-V?n%! z8dIoA^TMmvh)Ty|KkqLl#zteGTU0S=uEpIgr`2z@YmS-CQ>|mo3J^xP7Z06Mj$lc| z(v*xT#g^~$yM|1gC74~U3GfEh8>1eYfRD$iUVz(BS-qW8LYnw)&JBw;&Ugg0*Dqav zTZZ%}9;NqNeGw9VpfymwY1Xwx8CaSSaci9NZq>kzosjat2)EgG$A)OcuuOsWy(Nj3%dJCJ5Gv~PrMf(q} zA@<)TIIV%%4IK=p&n`thh42EVZ zf%NYhlMJ@|WjZuPysgGcf~H#3^v@4v(K$dZz2NLT!CYpX_b!7D?4%P)f zhx_ML&D>TaMKO0+IUAqQKG`S5#VHP$)y2A5w3_ce6@qk@Dt}`327E0~8k_qGDfQ3% zPYYJe?8ReStPPop5%oK*HkMbL1*9HjZCtCQQ)KP=+t|_q;0Jaz6#Vnkl1TnW%OAtgQVNsnp&?-bYiE z8guLH<=;_bqmf2|0uQ)rxns?yM!d33fQW#9oGqV>{ZbK$*t>{m`n=lyz=(}u$1Ya+ zv8|BA!F>z6fV)a_u6vEEnyd_{o|K47tFo^}IP6Y)Cj_;g({;@3dBvOikGaa;Q-pNS zuop?qL+IOX@>K0qd9um-X)Tn_=bUa}3ns=X%g*&yHOCn8GsamJsBN7&9L<$}mW*^g z60c*)Ip-}~JvOVU=;-}6f$~;g;5on-Eh3rH4{jyxaShdN%Q^cYT`>jEnqC}EIWiZjXzvNv_p<7T` zSc!h`QW>orY=#u$J=BTZ&04k9r4PF1}1tPrAd3`S&#kRz8MoNe{uWp`C&c~@V_8Xk+NLL z+n!JJ_E+lE&ZPhR7u0l(@d2`SkLkS0;_P5!4KZj?4LlERji?@|J^M>qqe~qd_-#(N zn`xYz_Y_y}mEeOy3ZgCk17FP&-w%eC+=kodtPE;jITzV-yqa{--0g2AIQx^9}g%O zEn!a0I?|sJ0hCc4^Mny3KD>q68feyWK-l9wEsv)c0n|KOgG+IxY=`mT$Vkt=Y}tv> zAJp7LeCuF-cgHgAH{TnLoe@fOzrZEv$P5+3-JHDrh*O451(#Z3{{$+nxDnW{vVAXp zD`IGvMe(S$e4?>512kl=4OPfMX|xV>Kc%6|%G*LO6mD@-J4l+`pFswM5`{Bq@a5Tz zP2bvU3{9UkBioV(!$maT!1v$b-7;baPb!6hrE-}kIsVsb{(LC_(A&`vw z$HtY#MAg>$Ux0bkzw7tb6MVi$^KTgf&=|Qm~?PMByN~gJ}oqAxf_E@ zf&THs6!yFEw9m|IbQwL88t>fxfRohUG(PyFNyn+h;M;@SyT<*W=Xe(z@|_43=mItn>)*jUPv}=uBE`>T8$PXzH&o zif2p=y{Z=D{w|`{MC)k|cgMV<#*}`F`#8{JxcL=Wzvg?wB!&Ks>IQAfpk9`*O=AXq z3R}fSkmx@iEI`xbZX4Lxjafgh%V@Pt>zX6L*B1^1qW$J$606*MGrT_~cxKl^yd-yg8tNJT$u zzTb3fvbya^fDnzRYv!4cDUP*~FfoUM~pg=~$O z4C$XzH~v)kwI-i4m2$J0f79XkxkSaAy3ZzbeMgG37mK{!w7IfDkk2ONCy&b=^A>m& zvf=>NS2L47A8QdnDl|_#9zI)&D<^|9yf9vCsZ?pWaQ`)B#`ZqHvZWR=bkzP5Ds%x}0asIqNJZMmDGacUH!{?ccym8F|{LEoL@0pA=Nv z0^+AE$MzR&vx{hKjSf#je&$~-dWi`%9JEv{&z!SAR&!XI8K9zWdNwAINLeG0scy1o zVyn{-@gJb(4AG5BAXw>~0nsk;J~FM7joFQcBj;Rd5 zi$RrLZ|3S|zYR%XY{_U(De!$fV5 z&~F(mA>P}p9zYlHHLD=L54BPA$pBBf?|7c(O1l~+c2*JdjoCi;hD)?-&{Ky2?_X=J z7tZE%7CAdT&5Z%jmkFrqw^$LJ{TVCcg$LzZOy=fx- z(Y8&_-Tf_7bJ*`S?WVA`&*%zbMtNOkd_FJ#SgskytERi_0^t>&bzBy|Ew$mkY1)rQ zd(Df*6yQd80bi)>AfP2?jI+J z)T)4|3*7tT?k~;e?~w?N5Ehcl&PHfW6qQ3h^PuwIlPKG4SAe>JMDa{otGtMG(jd6t z3opRMbJUxT4ETO-gzwxO;xBf%SBp-sU)c8<-sWwRA2^nv*;Gg#c>3JarjETJ>N`pZ zm1twS7GBXr-#5v(pDpo4{YgJ25UYoG&8X4r2asu-8E@|O9;aw}g4UbnW5CUm zw#UZ2EDni}HtR8~P>b^~q$^IF#`rsdxG|{a#r75xdZ5G~KlE&t3NMUoyw!amQuV3d z=4~Uc?^}Vq8v27D%7u8!jW_oXZi_EconzWIlz3g~BwW#ET^Sc6S-9Ei|=Vk+`&RgeQBa-eX?f z2e}=Y7zT1tmy|#Vfw%_Rw`6M)M1r}g5zNX!E8EOEIW#cY%;gVGh(#Lm<Rr?qzw zb5moT^Df*&HMUPu{a&<6KnRP`O$@ddNPn72T<=Je z2;;eU-e8YooX&wkbZ})E)YSH|a%T(eFI82O$)mvh(*Ax433@_Yg&C2?8`?B05v^(c ziIHFLufFAYOMI2)+i$Jlcg)V?8e|aUcGg{Z*K25E;RIoL1d{%NRS{gy#1fp}5OB9uchnqt*sSJ|(zCr2B?Md0Agu+jf*d z>r$=1@cxzC8nTL0yFv9wc4N1^b?C}Znh`_!QCUt5k3{ovKJL#@c~KRJBZ##RlWGZ2 zUxbf?f6WG*v)B|-++Kj}fH;~LB95T0S>f^~+J;sWQfd4puDLtx7)Ge($r%%}Eiv2(wk1JJ=eHMXCt5@>7g z#@uA@qb<6u0WDM7mX6<%S>7n|D1en%_l6pyyvw5E zEwC%i%Cs-lVHdYhYfuRQmNe(P_&Uo;`bDD|nm$H%@OTCRIN zTxfmCn~)dDd5;H7KA$ibNwD3&Kv;-%Lu9$7OJp0G1f4(B+`InNv5c$b{JEEw(GoS^ z%DBXj7vjAi&q`WHPXhBEi28+Delm*zMc3Xk;AR+bB`$B*2(XjMqN)!$&p(Sqt>|^y{}6);X$x*dVWK@c@Wi! z^tGd08sz8p9zS&42d-`#cSai34r@)jC}AEasiEx=;R)Gxl3rga_OYns2MN;~Z3Vpwy#e`}PE^6T{-Pxqa@$t50DsUyLv5p4m@ z7PfOxmsiboTa0l!qOSTkGf!*!ICNegj-nzDKUIBkG>ISCiY;JSDV6M7R0CqBZwS8*u@-_y~m0qKU1JujE7za7N%YAt;$xY&W7DDW9)%zbn1 zZ^M{IY>m2%S6jgfH-^s%fXv&<>9gu{bes-|tL%q$_bSbHs2T0pZHz!|cOU615Se7^ zPY?^XnN{Z7kWv#C%j!au>v7kav;QX<06+X@5?NBBMtNXZL3*V>8ATJ!RJ0 zdSZsL;naWVS?5p=t7YU_SufTnH6& zc*jt~K?z1aXneY;by^(FDLBvA8(_|fKCp?(NgZ9Ob9h4CAEZy=c-XU*bRq*8+%I5x z6D>8quCU)S&;{P`$rjrFtu6~fo=>Gq2){{;+j_rLcD{2msmOx)Ui|w&&S&{p^bkrY zsT&BlH_N_m(HR>Lhzbq!G*?;m!$whmjw06)s)C+n)BTBS<#%x5s=kC9>Ntg?-k6u9 zE)R07Wp9yEt?(u`yTJcCX2gGFb`zj+I~|~|v$|tRQ6p%~`il3Oq_nMNI?^*M{MZGE zBWBc;;p_C}E;~A$GS`zZwlGh7nP7;nTz!u0-SlpC=^zh8O?~cPreaYT-e8C&R2tr# zQkRFjhqq-aJ4&etdrjJKlCDjt1P}VScA%6Up35P5bA&yDn4eCx(#rP9&@I*?Kg?PE z4rgTo8Uk8rCqsL0!4R+WTc(^&#yB{tKeZRt4mSyjNSptW8`}iqnxQ?DXw{BCmd1&V zzk<5lp>6=zdbF|Cy#>qwfv?0JzG5yrD*uADWA&^Qm{aK79bf$!h&P2j1jq}+aslxP zz58a)pHjFkqEKre2g6wj9HdZZ_VQ>%TiqdtLEhCoUuu11v~4uo^# zyTm(TQ#MmDcb^rt#ovq&z04CU|A0Kf9;D*&zDlsos0A4L?y|aZ`1M4b=8d*bUt|Sc z@84|Q&(4Y88v3a1c$e4FO0PkbP>~BpRhz&QZ0t34+yLQYhE0P`waND=^eoxX?k!@d zpXOS2+d9t>n*0}$W2{|9v+@p)N!cY66Iom9f+}m{=(64QJD3A0pAf?q(8~LyMrC&Q zSB3YUKxh|b&tCE~*tE-BW31Hu7@-rz!9`G4h)QU(=;FWk+61mEEwYth=6Vn4B=*@a zu5lHm#n?FdoIh>r>fimIDmD-IfUl|c3}@@RDv#4*)gHG$Eg2*jb?QyQ)RxO~N#Cr} zW8MAQ8{4ABPFW^DxtLV@wqF>{=zVQJ>daApAg3ZTN#xjJ`|M}zI*bnx6+TwR4n+9J zj{ZVtnC2ypvUpiur61@n_~J)t8Q!dTE#r`PwzoT8t%mkxht(V_3!mxO3zdUYmUyv5 z^dDXLenZ@|Ee_zBxcex>mBPCN-8MQ1oX2gkhaY{+Bui`B)a|q^474Hhu6;~j`Y~Fi z+*Ud{I_y`-pbQys(b2v7e;Y{oaF}_Hy#J&Pf16AZ%9se9`JnzBf+hATZj#*E&xHkL z*>5S{HqZ;5@zv2225%r(_J!LmYXOUaCnusop!Y}XUF53HRwCGH5YWYxI$E%+&F4s?-jNWMhL*;{N<`mXlaFq6y z&In~H2fJ~TMU-9{0ZQ#nC-qvdyAAY|5huF*AE2r5Nm?v*(e<=gQMQstl|ekBhy7V? zf&{`6@AY|=5?5F1cI;VJ)s5x+x?oD`BjdHf4^seEsg3fS_cFmYhB3&|9 zN?lV3K=(Rd?0XQ60bJ!lTsw{AbkNq%M>OWRB6_de4TIfl@x~(qN@Us(oru|X5ijjw z?mHGg*ddvDH6t`JzT-r6eezK5ohZG?H4yPJ4v0hIpM~XK&Ej>Paz)q-JB54bDj2(_ zKOs}LN;nPtK`&`YjV0_S2TGHU8^Pnb(PBGvU4T9vD8|2Rf2_hxdz+H*s?>90h~y|K z_5wwH;?h=@h+H?)Q-a>yR$xn4zfA@>&IX-IL&sA(%8Ku0VZpKg#XAWuLbFF^(466B za}#KvL?}k4(Hsx^^bEe{trhn9XoN#o-^mye_UtX!aJ1Yi9nPluM>*qaS04b!jGQ;( ztAe+36`3A9C_uD7Gw6aWAL#!G8u`!Z{Ii0ZGOpPL`1rQnimot(-LMVf7^;x;ozjZn zG--fHjHTT5{LeGajjVpGLd(ccHJuuIaOZyC)SRCIUT-7LE2P^`k^)c(@! zZ^CYG97Ko|{s@tPv+2CH15Rigs>G*sgWaB6{#fT}6R^qyStk>xYOpIc&9)6qs{`fw zD_%vO3@QIM^K`FE?y{3^ISao_d$EsLGVR=*!X7Z6ac`lyzd^~WisF{-D z142rm**^~8H$C0!>9NV<)Lhqw2A<1)QsPSOc~j$iUE(8{{Iqd{k@jO^qJPainOvH;d? ze@hZ&MCO3HoO#y*nR09%KzqL$ry87RK81&nYvs`fqMYpUwxQoY8_a4=k9!q1ILV6l zLKayQ!^r#XZj@2vkhkvOGDDr`i(Lm*2jC7Ye@Y2ga@u~PI5GS2I{e}ODj65Xv|-&Qhia;906)=(K8P9NrLQY)<0#RgyV{9e@E!38KY@bkVNk9cwWN=gCQ zW9-%Ea-4=rp+hWLie<?-N@Z$GehZ}rs9ooCCZIxlf34M|K+$y0fN(0>| z>9qL6{(-W=2`K+Tdr0(D-q1bJ%HlPAMJl%^ufuPW%45=vMfyZ(xIk&D|Fc3^>OVYO zQAh1Re$U^>-Vzl{?}ilhs{ftyEJM~Ls7vcBMUpFv2&zPOQrcK1%_!LiBKtI%k9JRR z`lnXdkE~E}S8DUDAK{BX#9j?_r_-wV=g=L78W)l?CX>V@kMkWQIjMLf+FCxMQeOV2 zK8C@*EfC|1j;5qR*%B|cXt7o2l!Vr;Yn_=g+$Fo+4yQ7>;HTOSVU+)t8v_$w^IF~8 z*rm02c}cfeo9D-tkZu+GlOLd;+5`XImmRbUqU5DXFU|jte`NOc`1^D6Hzkp$%m3w+ zK*`Y1aMSX?n5;JhhV9Ac3;#%{*LX|7`RwH7>fb}jyU$ECcLu2b@n;pU>Q30d8~m@Z ze&XnDIicG9<8cg@wA&%^U+E1}`s`J|r>5;5Tz2T~2WNHorYO6BPM_TR_vTQpW|4<9 z3BUaR!=epu8|dx`7Ol*Rv$@Q{{I7I}ZfaJozkL5MbX-MR0WwebF;40q!Pi&v3z@(x z&z8?lW&r<-pb#PRkICjk-sS&~+r*rirn6@YC!0lKt_xUhDP#H4LPopcBF0SWtQ^K$ zJdJ|k8@NSwCV|l!58});& z%XW=MDm5yHZ}y}N-GB{;SCy*HTBwFYYIFSt__zm?)3-Kog5;ms!7XtSuRRTp@qlTe=8z|?*44Y@+CLH2c~Dzjl0+8UVJIf_WlS|S>+soy z=HA2Oo*t>B>EVqO^xtotaLpFMQ~f9VVo2J-O7)jiT$tFC z8N2sDZeda`3!RVlXr1#>hKSVB%9}<+K~m|qL{S?j-9K&G4tvWTVNMBRqwc~@g?yeG zOQ5iAhlNTG?Lys{jX)|GJ#1j{J`c3Q1T`t`koXiY!JKI#rI76%wnGT(`pIpsi8q`5-BplV z5Mh`)7ELiutD4z6mV>geL}!JZ zu9bZGKN7F2A&)5JenN837q%H?0zIqO--$g{F4C3U=BqIeZGuDukU+QpUKB>Vd_)Y( zR)1*N*(n~5w{)Xj;MTl(GABjHa$YUD;fGm@RV^6O|5zKin9aWQsI|a_8tNa4d(g6V z@l_s?fxuGs*0oVGDj~@FS!`*r0WDj

!m?zr&cF&oX) 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 AlK=n! literal 0 HcmV?d00001 diff --git a/vuejs/mobile-checkout_localtest.md b/vuejs/mobile-checkout_localtest.md new file mode 100644 index 0000000..920271e --- /dev/null +++ b/vuejs/mobile-checkout_localtest.md @@ -0,0 +1,61 @@ +# Mobile Web Checkout Local Test + +## Repos + +* razer-pay-mobile-web (vuejs) +* razer-pay-wallet-api (nodejs) +* razer-pay-backend-api (Java) + +## Environment + +* VUE_APP_BACKEND_URL=http://localhost:5001/v3 + + ```sh + PS> $env:VUE_APP_BACKEND_URL="http://localhost:5001/v3" + ``` + + + +* At Chrome Browser, enter this url payload + + ```text + https://mobile-checkout-uat-my.pay.razer.com/#/?headers={"signature":"54192c90738c3d2df95de0383568d0778c6ae027c2a03295e5fddfeb491d356a"}&body={"amount":8.47,"currency":"MYR","merchant_code":8,"description":"Payment","return_url":"https://www.google.com","reference_no":"12121122"} + ``` + + + +* To calculate the hash signature, find the `rms secret` and used this site to calculate [hash](https://www.devglan.com/online-tools/hmac-sha256-online) + + ![](./hmac-hash.PNG) + +* Rms secret can be found under the `wallet-api/config/default.json` + + ```json + "rms": { + "rmsInitUrl": "https://www.onlinepayment.com.my/MOLPay/API/RazerPay/payment_miniapp.php", + "rmsSuccessUrl": "https://www.onlinepayment.com.my//MOLPay/RazerPay/notification.php", + "rmsSecret": "2d150dc8ca3eb40bd38124266d0a8e7867ca5f9e94db85d832497b7351a703a3", + "rmsApiSecret": "f3a25b8e58a2a222d042eeaa700ad3e58036f862469432eb15dc4ab604d060ce", + "visaConfirmUrl": "https://visa-backend-sg.pay.razer.com/visa/v1/card/auth/update", + "visaSecretKey": "a11d7c9d70e3703acc3017cdcb8d3d917fbac1b0db87d24623558da2e4e12c2a" + }, + ``` + +* UAT RMS Secret + + ```text + c7bfa7ef55d23c93e4903129d4d157096bf968b14f839abdd2ac4cf284ba6406 + ``` + + + +* Process flow + + * Login Page + * Enter mobile and password + * Payment Page + * Select Razer Pay + * Confirm + * Enter PIN + * Success Page + * OK \ No newline at end of file