index.php 32 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182838485868788899091929394959697989910010110210310410510610710810911011111211311411511611711811912012112212312412512612712812913013113213313413513613713813914014114214314414514614714814915015115215315415515615715815916016116216316416516616716816917017117217317417517617717817918018118218318418518618718818919019119219319419519619719819920020120220320420520620720820921021121221321421521621721821922022122222322422522622722822923023123223323423523623723823924024124224324424524624724824925025125225325425525625725825926026126226326426526626726826927027127227327427527627727827928028128228328428528628728828929029129229329429529629729829930030130230330430530630730830931031131231331431531631731831932032132232332432532632732832933033133233333433533633733833934034134234334434534634734834935035135235335435535635735835936036136236336436536636736836937037137237337437537637737837938038138238338438538638738838939039139239339439539639739839940040140240340440540640740840941041141241341441541641741841942042142242342442542642742842943043143243343443543643743843944044144244344444544644744844945045145245345445545645745845946046146246346446546646746846947047147247347447547647747847948048148248348448548648748848949049149249349449549649749849950050150250350450550650750850951051151251351451551651751851952052152252352452552652752852953053153253353453553653753853954054154254354454554654754854955055155255355455555655755855956056156256356456556656756856957057157257357457557657757857958058158258358458558658758858959059159259359459559659759859960060160260360460560660760860961061161261361461561661761861962062162262362462562662762862963063163263363463563663763863964064164264364464564664764864965065165265365465565665765865966066166266366466566666766866967067167267367467567667767867968068168268368468568668768868969069169269369469569669769869970070170270370470570670770870971071171271371471571671771871972072172272372472572672772872973073173273373473573673773873974074174274374474574674774874975075175275375475575675775875976076176276376476576676776876977077177277377477577677777877978078178278378478578678778878979079179279379479579679779879980080180280380480580680780880981081181281381481581681781881982082182282382482582682782882983083183283383483583683783883984084184284384484584684784884985085185285385485585685785885986086186286386486586686786886987087187287387487587687787887988088188288388488588688788888989089189289389489589689789889990090190290390490590690790890991091191291391491591691791891992092192292392492592692792892993093193293393493593693793893994094194294394494594694794894995095195295395495595695795895996096196296396496596696796896997097197297397497597697797897998098198298398498598698798898999099199299399499599699799899910001001100210031004100510061007100810091010101110121013101410151016101710181019102010211022102310241025102610271028102910301031103210331034103510361037103810391040104110421043104410451046104710481049105010511052105310541055105610571058105910601061106210631064106510661067106810691070107110721073107410751076107710781079108010811082108310841085108610871088108910901091109210931094109510961097109810991100110111021103110411051106110711081109111011111112111311141115111611171118111911201121112211231124112511261127112811291130113111321133113411351136113711381139114011411142114311441145114611471148114911501151115211531154115511561157115811591160116111621163116411651166116711681169117011711172117311741175117611771178117911801181118211831184118511861187118811891190119111921193119411951196119711981199120012011202120312041205120612071208120912101211121212131214121512161217121812191220122112221223122412251226122712281229123012311232123312341235123612371238123912401241124212431244124512461247124812491250125112521253125412551256125712581259126012611262126312641265126612671268126912701271127212731274127512761277127812791280128112821283128412851286
  1. <!DOCTYPE html>
  2. <html class="" lang="zh-cmn-Hans">
  3. <head>
  4. <meta charset="utf-8">
  5. <meta name="keywords" content="">
  6. <meta name="description" content="">
  7. <meta name="HandheldFriendly" content="True">
  8. <meta name="MobileOptimized" content="320">
  9. <meta name="format-detection" content="telephone=no">
  10. <meta http-equiv="cleartype" content="on">
  11. <meta name="referrer" content="always">
  12. <title>您正在向【<?= $this->context->merchant['merchantName'] ?>】付款</title>
  13. <meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
  14. <style>
  15. @charset "UTF-8";
  16. a,body {
  17. color: #333
  18. }
  19. .clearfix,.container .content {
  20. zoom: 1
  21. }
  22. a,abbr,acronym,address,applet,article,aside,audio,b,big,blockquote,body,canvas,caption,center,cite,code,dd,del,details,dfn,div,dl,dt,em,embed,fieldset,figcaption,figure,footer,form,h1,h2,h3,h4,h5,h6,header,hgroup,html,i,iframe,img,ins,kbd,label,legend,li,mark,menu,nav,object,ol,output,p,pre,q,ruby,s,samp,section,small,span,strike,strong,sub,summary,sup,table,tbody,td,tfoot,th,thead,time,tr,tt,u,ul,var,video
  23. {
  24. margin: 0;
  25. padding: 0;
  26. border: 0;
  27. font: inherit;
  28. font-size: 100%;
  29. vertical-align: baseline
  30. }
  31. html {
  32. line-height: 1;
  33. -ms-text-size-adjust: 100%;
  34. -webkit-text-size-adjust: 100%;
  35. font-family: Helvetica, "STHeiti STXihei", "Microsoft YaHei", Tohoma,
  36. Arial
  37. }
  38. ol,ul {
  39. list-style: none
  40. }
  41. table {
  42. border-collapse: collapse;
  43. border-spacing: 0
  44. }
  45. caption,td,th {
  46. font-weight: 400;
  47. vertical-align: middle
  48. }
  49. blockquote,q {
  50. quotes: none
  51. }
  52. blockquote:after,blockquote:before,q:after,q:before {
  53. content: "";
  54. content: none
  55. }
  56. .arrow-right::after,.clearfix:after,.container .content:after {
  57. content: ''
  58. }
  59. a img {
  60. border: none
  61. }
  62. article,aside,details,figcaption,figure,footer,header,hgroup,menu,nav,section,summary
  63. {
  64. display: block
  65. }
  66. body {
  67. background-color: #eee;
  68. -webkit-backface-visibility: hidden
  69. }
  70. body.body-fixed-bottom {
  71. padding-bottom: 50px
  72. }
  73. .container {
  74. background-color: #f8f8f8
  75. }
  76. strong {
  77. font-weight: 700
  78. }
  79. a {
  80. background: 0 0;
  81. text-decoration: none;
  82. -webkit-tap-highlight-color: transparent
  83. }
  84. h1 {
  85. font-size: 2em;
  86. margin: .67em 0
  87. }
  88. h2 {
  89. font-size: 18px;
  90. line-height: 22px
  91. }
  92. h3 {
  93. font-size: 15px;
  94. line-height: 18px
  95. }
  96. button,input[type=number],input[type=text],input[type=password],input[type=email],input[type=search],select,textarea
  97. {
  98. font-family: inherit;
  99. font-size: 100%;
  100. margin: 0;
  101. -webkit-tap-highlight-color: transparent;
  102. -webkit-appearance: none;
  103. -moz-appearance: none
  104. }
  105. .c-orange {
  106. color: #f60 !important
  107. }
  108. .c-orange-dark {
  109. color: #f15a0c !important
  110. }
  111. .c-green {
  112. color: #06bf04 !important
  113. }
  114. .c-wx-green {
  115. color: #4b0 !important
  116. }
  117. .c-red {
  118. color: #ed5050 !important
  119. }
  120. .c-pink {
  121. color: #ee614b !important
  122. }
  123. .c-white {
  124. color: #fff !important
  125. }
  126. .c-gray-light {
  127. color: #e5e5e5 !important
  128. }
  129. .c-gray {
  130. color: #c9c9c9 !important
  131. }
  132. .c-gray-dark {
  133. color: #999 !important
  134. }
  135. .c-gray-darker {
  136. color: #666 !important
  137. }
  138. .c-black {
  139. color: #333 !important
  140. }
  141. .c-yellow {
  142. color: #f09000 !important
  143. }
  144. .c-light-yellow {
  145. color: #fcff00 !important
  146. }
  147. .c-blue {
  148. color: #38f !important
  149. }
  150. hr {
  151. margin: 10px 0;
  152. border: 0;
  153. border-top: 2px solid #e5e5e5
  154. }
  155. @media only screen and (-webkit-min-device-pixel-ratio:1.5) , only screen and
  156. (min--moz-device-pixel-ratio:1.5) , only screen and
  157. (min-device-pixel-ratio:1.5) {
  158. hr {
  159. border-top-width: 1px
  160. }
  161. }
  162. hr.margin-0 {
  163. margin: 0
  164. }
  165. hr.left-10 {
  166. margin-left: 10px
  167. }
  168. .relative {
  169. position: relative
  170. }
  171. .font-size-12 {
  172. font-size: 12px !important
  173. }
  174. .font-size-14 {
  175. font-size: 14px !important
  176. }
  177. .font-size-16 {
  178. font-size: 16px !important
  179. }
  180. .font-size-18 {
  181. font-size: 18px !important
  182. }
  183. .font-size-20 {
  184. font-size: 20px !important
  185. }
  186. .font-size-22 {
  187. font-size: 22px !important
  188. }
  189. .font-size-24 {
  190. font-size: 24px !important
  191. }
  192. .font-size-26 {
  193. font-size: 26px !important
  194. }
  195. .font-size-28 {
  196. font-size: 28px !important
  197. }
  198. .ellipsis {
  199. white-space: nowrap;
  200. overflow: hidden;
  201. text-overflow: ellipsis
  202. }
  203. .border-bottom-none {
  204. border-bottom: 0 !important
  205. }
  206. .border-top-none {
  207. border-top: 0 !important
  208. }
  209. .link,.link:active,.link:hover,.link:link,.link:visited {
  210. color: #07d
  211. }
  212. .clearfix:after {
  213. display: table;
  214. clear: both
  215. }
  216. .pull-left {
  217. float: left
  218. }
  219. .pull-right {
  220. float: right
  221. }
  222. .show {
  223. display: block
  224. }
  225. .hide {
  226. display: none !important;
  227. visibility: hidden
  228. }
  229. .center,.text-center {
  230. text-align: center
  231. }
  232. .text-left {
  233. text-align: left
  234. }
  235. .text-right {
  236. text-align: right
  237. }
  238. #right-icon .icon-txt,.btn,.btn-block,.copyright,.footer,.fullscreen-guide
  239. {
  240. text-align: center
  241. }
  242. .loading {
  243. background-repeat: no-repeat !important;
  244. background-position: center center !important;
  245. background-size: 16px 16px
  246. }
  247. .with-bs-bottom,.with-bs-top {
  248. background-size: 100% 1px
  249. }
  250. .with-bs-bottom {
  251. background-position: left bottom
  252. }
  253. .arrow-right::after {
  254. position: absolute;
  255. width: 7px;
  256. height: 7px;
  257. border-top: 2px solid #cbc9cc;
  258. border-right: 2px solid #cbc9cc;
  259. -webkit-transform: rotate(45deg);
  260. -moz-transform: rotate(45deg);
  261. -ms-transform: rotate(45deg);
  262. transform: rotate(45deg);
  263. top: 50%;
  264. right: 3px;
  265. margin-top: -5px
  266. }
  267. .content,.wrapper {
  268. margin: 0 auto
  269. }
  270. .wrapper {
  271. width: 320px
  272. }
  273. .container .content:after {
  274. display: table;
  275. clear: both
  276. }
  277. .copyright {
  278. background-color: #f8f8f8;
  279. color: #999;
  280. font-size: 12px;
  281. line-height: 16px
  282. }
  283. .copyright .ft-links {
  284. padding: 15px
  285. }
  286. .copyright .ft-links>a {
  287. margin: 0 6px;
  288. color: #333
  289. }
  290. .copyright .ft-links ~.ft-copyright {
  291. border-top: 2px solid #e5e5e5
  292. }
  293. @media only screen and (-webkit-min-device-pixel-ratio:1.5) , only screen and
  294. (min--moz-device-pixel-ratio:1.5) , only screen and
  295. (min-device-pixel-ratio:1.5) {
  296. .copyright .ft-links ~.ft-copyright {
  297. border-top-width: 1px
  298. }
  299. }
  300. .copyright .ft-copyright {
  301. padding: 0 0 20px;
  302. margin: 0 15px;
  303. font-size: 12px;
  304. }
  305. .copyright .ft-copyright>a {
  306. padding-top: 45px;
  307. color: #ccc
  308. }
  309. .copyright .ft-copyright .yz-logo {
  310. padding-left: 14px;
  311. position: relative
  312. }
  313. .copyright .ft-copyright .yz-logo::before {
  314. content: '';
  315. background:
  316. url(data:image/png;base64,iVBORw0KGgoAAAANSUhEUgAAAB4AAAAkCAMAAACpD3pbAAAAb1BMVEUAAADLy8vKysrLy8vLy8vLy8vLy8vLy8vMzMzOzs7Ly8vLy8vMzMzQ0NDLy8vLy8vLy8vLy8vLy8vMzMzOzs7Pz8/S0tLLy8vKysrLy8vKysrLy8vLy8vLy8vMzMzNzc3Nzc3R0dHLy8vMzMzKysrwyZpuAAAAJHRSTlMAoqm+ZfvtjEA4z65xCebgxJmGUjMdGPPm2tW0p5OQSSkQdl8nEAN1AAAAwUlEQVQ4y6XQyRaDIAyF4bQgivNsnbXN+z9jj7CoUsLGf/udLHLhWj2kTAJZj4jeRmmDRxPFgeKQYq54oHhWzCjOFUeEJp3iguAaVSXBseaYYKb5Y9fdO18nm2yNr3XCX6JQHPPyM4do9jIWpTkxjo39fIMuAyWlRfW8TbXCA21lIJlAfMDTygIyRJpzQBe/3SzdXLu5usNe6+QRnOzf4sDFKQc7i7yI1wbgj1M286CFX57mKRt9LncwW7o+KgMg+gJYeFH82wegJQAAAABJRU5ErkJggg==)
  317. no-repeat;
  318. background-size: 10px 12px;
  319. width: 10px;
  320. height: 12px;
  321. position: absolute;
  322. bottom: 1px;
  323. left: 0
  324. }
  325. .copyright .pf-copyright {
  326. display: block;
  327. background-size: 73px 24px
  328. }
  329. .footer {
  330. margin: 0;
  331. padding: 0;
  332. min-height: 1px;
  333. line-height: 16px;
  334. background-color: #f8f8f8
  335. }
  336. .footer .link-icon {
  337. display: inline-block;
  338. width: 16px;
  339. height: 16px;
  340. margin-bottom: -3px;
  341. margin-right: 10px;
  342. background-image:
  343. url(data:image/png;base64,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);
  344. background-repeat: no-repeat;
  345. background-size: 16px
  346. }
  347. .footer .link-title {
  348. font-size: 16px
  349. }
  350. .full-screen .footer {
  351. margin-top: 0
  352. }
  353. .btn {
  354. display: inline-block;
  355. border-radius: 3px;
  356. padding: 5px 4px;
  357. margin: 0;
  358. font-size: 12px;
  359. cursor: pointer;
  360. line-height: 1.5;
  361. -webkit-appearance: none;
  362. background-color: #fff;
  363. border: 1px solid #e5e5e5;
  364. color: #999
  365. }
  366. .fullscreen-guide.hide,.motify {
  367. display: none
  368. }
  369. .btn-disabled,.btn[disabled] {
  370. background-color: #c9c9c9 !important;
  371. background-image: none !important;
  372. border: 1px solid transparent !important;
  373. color: #fff !important
  374. }
  375. .btn-disabled:active,.btn[disabled]:active {
  376. background-color: #c9c9c9 !important;
  377. background-image: none !important;
  378. border: 1px solid #bcbcbc !important
  379. }
  380. .btn-default {
  381. color: #999;
  382. background-color: #fff;
  383. border: 1px solid #e5e5e5
  384. }
  385. .btn-action-secondary {
  386. color: #fff;
  387. background-color: #f85;
  388. border-color: #f85
  389. }
  390. .btn-action-primary {
  391. color: #fff;
  392. background-color: #f44;
  393. border-color: #f44
  394. }
  395. .btn-blue {
  396. color: #fff;
  397. background-color: #38f;
  398. border-color: #38f
  399. }
  400. .btn-gray-dark {
  401. color: #333;
  402. background-color: #999;
  403. border-color: #999
  404. }
  405. .btn-green {
  406. color: #fff;
  407. background-color: #06bf04;
  408. border-color: #03b401
  409. }
  410. .btn-wx-green {
  411. color: #fff;
  412. background-color: #4b0;
  413. border-color: #4b0
  414. }
  415. .btn-red {
  416. color: #fff;
  417. background-color: #ed5050;
  418. border-color: #ed5050
  419. }
  420. .btn-pink {
  421. color: #fff;
  422. background-color: #ee614b;
  423. border-color: #ee614b
  424. }
  425. .btn-white {
  426. color: #333;
  427. background-color: #fff;
  428. border-color: #e5e5e5
  429. }
  430. .btn-yellow {
  431. color: #fff;
  432. background-color: #f09000;
  433. border-color: #f09000
  434. }
  435. .btn-grayeee {
  436. color: #999;
  437. background-color: #eee;
  438. border-color: 1px solid #ebebeb
  439. }
  440. .btn-orange {
  441. color: #fff;
  442. border-color: #f60;
  443. background-color: #f60
  444. }
  445. .btn-orange-dark {
  446. color: #fff;
  447. border-color: #f15a0c;
  448. background-color: #f15a0c
  449. }
  450. .btn-block {
  451. width: 100%;
  452. padding: 11px 10px;
  453. font-size: 16px;
  454. line-height: 16px;
  455. border-radius: 4px;
  456. -webkit-box-sizing: border-box;
  457. -moz-box-sizing: border-box;
  458. box-sizing: border-box
  459. }
  460. .btn-xsmall,.btn-xxsmall {
  461. line-height: 14px;
  462. width: auto;
  463. font-size: 12px
  464. }
  465. .btn-xsmall {
  466. padding: 8px 10px
  467. }
  468. .btn-xxsmall {
  469. padding: 4px 10px
  470. }
  471. .btn-l,.motify {
  472. font-size: 14px
  473. }
  474. .btn-l {
  475. padding: 9px 4px
  476. }
  477. .btn-opt {
  478. min-width: 50px
  479. }
  480. .motify {
  481. position: fixed;
  482. top: 35%;
  483. left: 50%;
  484. width: 220px;
  485. padding: 0;
  486. margin: 0 0 0 -110px;
  487. z-index: 9999;
  488. background: rgba(0, 0, 0, .8);
  489. color: #fff;
  490. line-height: 1.5em;
  491. border-radius: 6px;
  492. -webkit-box-shadow: 0 1px 2px rgba(0, 0, 0, .2);
  493. box-shadow: 0 1px 2px rgba(0, 0, 0, .2)
  494. }
  495. .motify .motify-inner {
  496. padding: 10px;
  497. text-align: center;
  498. word-wrap: break-word
  499. }
  500. .motify p {
  501. margin: 0 0 5px
  502. }
  503. .motify p:last-of-type {
  504. margin-bottom: 0
  505. }
  506. .fullscreen-guide {
  507. z-index: 2000;
  508. position: fixed;
  509. top: 0;
  510. left: 0;
  511. width: 100%;
  512. height: 100%;
  513. background-color: rgba(0, 0, 0, .9)
  514. }
  515. .fullscreen-guide .guide-close {
  516. position: absolute;
  517. top: 0;
  518. left: 10px;
  519. font-size: 40px;
  520. color: #fff;
  521. cursor: pointer
  522. }
  523. .fullscreen-guide .guide-arrow {
  524. position: absolute;
  525. top: 2px;
  526. right: 15px;
  527. width: 47px;
  528. height: 44px
  529. }
  530. .fullscreen-guide .guide-inner {
  531. padding-top: 48px;
  532. width: 320px;
  533. margin: 0 auto
  534. }
  535. .fullscreen-guide .step {
  536. width: 260px;
  537. display: inline-block;
  538. text-align: left;
  539. margin-bottom: 15px
  540. }
  541. .follow-guide .guide-inner-title {
  542. color: #fff;
  543. border-bottom: 1px solid #666;
  544. margin: 10px;
  545. padding-bottom: 20px;
  546. font-size: 18px;
  547. font-weight: 400
  548. }
  549. .follow-guide .wxid {
  550. display: inline-block;
  551. text-align: left;
  552. margin-bottom: 20px;
  553. font-size: 18px
  554. }
  555. .follow-guide .wxid .hasno-mp-weixin {
  556. width: 200px;
  557. height: 200px;
  558. margin-top: 20px;
  559. background-size: cover
  560. }
  561. .follow-guide .wxid strong {
  562. padding: 1px 5px;
  563. background-color: #fff;
  564. color: #000;
  565. border-radius: 4px
  566. }
  567. .follow-guide .guide-text {
  568. color: #fff;
  569. font-size: 16px;
  570. padding-bottom: 20px;
  571. border-bottom: 1px solid #666
  572. }
  573. .follow-guide .guide-text-title {
  574. color: #fff;
  575. margin: 20px 0;
  576. font-size: 20px
  577. }
  578. .follow-guide .guide-text-step {
  579. text-align: left;
  580. padding-left: 56px;
  581. color: #fff;
  582. margin-bottom: 15px;
  583. font-size: 16px
  584. }
  585. .follow-guide .step-1,.follow-guide .step-2,.follow-guide .step-3 {
  586. -webkit-user-select: none;
  587. -moz-user-select: none;
  588. -ms-user-select: none;
  589. user-select: none
  590. }
  591. .follow-guide .step-1 {
  592. height: 29px
  593. }
  594. .follow-guide .step-2 {
  595. margin-bottom: 10px;
  596. height: 64px;
  597. }
  598. .follow-guide .step-3 {
  599. margin-top: 10px;
  600. height: 68px;
  601. }
  602. .follow-guide .quick-subscribe {
  603. margin: 140px 15px 0;
  604. padding: 10px;
  605. background: #fff;
  606. border: 2px solid #f2f2f2;
  607. border-radius: 10px
  608. }
  609. .follow-guide .quick-subscribe h2 {
  610. font-size: 14px;
  611. border-bottom: 1px solid #f2f2f2;
  612. padding-bottom: 20px;
  613. margin: 12px 0
  614. }
  615. .follow-guide .quick-subscribe .btn {
  616. font-size: 14px;
  617. background: #4b0;
  618. color: #fff;
  619. display: inline-block;
  620. line-height: 38px;
  621. padding: 0 26px;
  622. border-radius: 4px
  623. }
  624. #right-icon,.fixed-icon {
  625. border-radius: 26px;
  626. position: fixed;
  627. right: 6px;
  628. z-index: 10;
  629. width: 50px
  630. }
  631. a#global-cart {
  632. z-index: 10
  633. }
  634. a#global-cart .icon-img {
  635. background:
  636. url(/images/pay/icons_sprite_29025c38a6.png)
  637. -202px -4px no-repeat;
  638. background-size: 300px 150px
  639. }
  640. a#global-cart.hide {
  641. display: none
  642. }
  643. a#global-cart.new .icon-img {
  644. background-position: -250px -4px
  645. }
  646. .no-text a#global-cart {
  647. background:
  648. url(/images/pay/icons_sprite_29025c38a6.png)
  649. no-repeat;
  650. background-size: 300px 150px
  651. }
  652. .no-text a#global-cart.s0 {
  653. background-position: -200px -100px
  654. }
  655. .no-text a#global-cart.s1 {
  656. background-position: -150px -100px
  657. }
  658. .no-text a#global-cart.s2 {
  659. background-position: -100px -100px
  660. }
  661. .no-text a#global-cart.s3 {
  662. background-position: -50px -100px
  663. }
  664. @media only screen and (-webkit-min-device-pixel-ratio:1.5) , only screen and
  665. (min--moz-device-pixel-ratio:1.5) , only screen and
  666. (min-device-pixel-ratio:1.5) {
  667. .no-text a#global-cart,a#global-cart .icon-img {
  668. background-image:
  669. url(/images/pay/icons_sprite@2x_29025c38a6.png)
  670. }
  671. a#global-cart .icon-img {
  672. background-position: -200px -7px
  673. }
  674. a#global-cart.new .icon-img {
  675. background-position: -250px -7px
  676. }
  677. }
  678. .fixed-icon {
  679. height: 50px;
  680. bottom: 52px;
  681. cursor: pointer
  682. }
  683. .ds-btn {
  684. bottom: 115px
  685. }
  686. .ds-btn .icon-img {
  687. height: 100%;
  688. background-repeat: no-repeat;
  689. background-size: 300px 150px;
  690. background-position: -250px -100px
  691. }
  692. a#global-wish {
  693. z-index: 10;
  694. display: block
  695. }
  696. #right-icon.no-text .icon-img,#right-icon.no-text .icon-txt,a#global-wish.hide
  697. {
  698. display: none
  699. }
  700. a#global-wish .icon-img {
  701. background:
  702. url(/images/pay/icons_sprite_29025c38a6.png)
  703. -2px -4px no-repeat;
  704. background-size: 300px 150px
  705. }
  706. a#global-wish.new .icon-img {
  707. background-position: -45px -7px
  708. }
  709. .no-text a#global-wish {
  710. background:
  711. url(/images/pay/icons_sprite_29025c38a6.png)
  712. -150px -50px;
  713. background-size: 300px 150px
  714. }
  715. .no-text a#global-wish.new {
  716. background-position: -200px -50px
  717. }
  718. @media only screen and (-webkit-min-device-pixel-ratio:1.5) , only screen and
  719. (min--moz-device-pixel-ratio:1.5) , only screen and
  720. (min-device-pixel-ratio:1.5) {
  721. .no-text a#global-wish,a#global-wish .icon-img {
  722. background-image:
  723. url(/images/pay/icons_sprite@2x_29025c38a6.png)
  724. }
  725. a#global-wish .icon-img {
  726. background-position: 3px -7px
  727. }
  728. }
  729. #right-icon {
  730. height: 50px;
  731. border: 1px solid #e1e1e1;
  732. bottom: 52px;
  733. overflow: hidden;
  734. -webkit-transition: width ease-in-out .3s;
  735. -moz-transition: width ease-in-out .3s;
  736. transition: width ease-in-out .3s;
  737. background-color: #fff;
  738. background-clip: padding-box
  739. }
  740. #right-icon .right-icon-container {
  741. position: absolute;
  742. height: 50px;
  743. right: 0;
  744. top: 0
  745. }
  746. #right-icon .icon {
  747. float: left;
  748. width: 50px;
  749. height: 50px
  750. }
  751. #right-icon .show-more-btn {
  752. background-image:
  753. url(/images/pay/icons_sprite_29025c38a6.png);
  754. background-repeat: no-repeat;
  755. background-size: 300px 150px;
  756. background-position: 1px -50px
  757. }
  758. #right-icon .show-more-btn.new {
  759. background-position: -99px -50px
  760. }
  761. #right-icon .icon-img {
  762. height: 32px
  763. }
  764. #right-icon .icon-txt {
  765. line-height: 18px;
  766. font-size: 12px;
  767. color: #9f9f9f
  768. }
  769. #right-icon.show {
  770. padding-left: 12px
  771. }
  772. #right-icon.show .show-more-btn {
  773. background-position: -49px -50px
  774. }
  775. #right-icon.no-text {
  776. border: 0;
  777. background-color: transparent
  778. }
  779. @media only screen and (-webkit-min-device-pixel-ratio:1.5) , only screen and
  780. (min--moz-device-pixel-ratio:1.5) , only screen and
  781. (min-device-pixel-ratio:1.5) {
  782. #right-icon .show-more-btn {
  783. background-image:
  784. url(/images/pay/icons_sprite@2x_29025c38a6.png)
  785. }
  786. }
  787. </style>
  788. <link rel="stylesheet" href="/css/pay/cashier.css?version=<?= $this->context->version ?>">
  789. <link type="text/css" rel="stylesheet" href="/css/wapmain.css?version=<?= $this->context->version ?>">
  790. </head>
  791. <body style="background:#f8f8f8;">
  792. <div name="payMask" style="position:fixed;left:0;top:0;width:100%;height:100%;z-index:990;background-color:gray;filter:alpha(opacity=10);opacity:0.8;display:none;"><img style="float:right;width:60%;" src="/images/pay/alipay.png" /></div>
  793. <div name="entireSiteBeCenterMask" class="xhMask"></div>
  794. <div name="xhCenterModal" class="xhCenterModal"></div>
  795. <div class="container " style="min-height: 441px;">
  796. <div class="content free-cash ">
  797. <div class="cashier-info-container center">
  798. <div class="avatar cashier-avatar" style="height:auto;">
  799. <a href="/user/logout?account=<?= $this->context->merchant['id'] ?>">
  800. <img class="circular" style="width:60px;height:60px;" src="<?= Yii::$app->params['imgUrl'].$this->context->merchant['logo'] ?>" alt="<?= $this->context->merchant['merchantName'] ?>">
  801. </a>
  802. </div>
  803. <div class="js-cashier-form block cashier-form text-left">
  804. <label for="cashier-price" class="font-size-12 cashier-label">金额(元)</label>
  805. <p class="cashier-field">
  806. <i class="money-text">¥</i>
  807. <span type="text" id="cashier-price" class="cashier-text"></span>
  808. <i id="js-cashier-cursor" class="cursor"></i>
  809. </p>
  810. </div>
  811. <?php if(!empty($coupon)){ ?>
  812. <div style="padding-top:6px;color:#815f5f;">代金劵:
  813. <select name="couponSelect" style="background:white;border:1px solid #e5e5e5;border-radius:4px;padding:0 0 4px 2px;color:#815f5f">
  814. <option value="0">请选择</option>
  815. <?php foreach($coupon as $key => $val){ ?>
  816. <option value="<?= $val['id'] ?>" meetamount="<?= $val['meetAmount'] ?>"><?= $val['amount'] ?>元(消费满<?= $val['meetAmount'] ?>元)</option>
  817. <?php } ?>
  818. </select>
  819. </div>
  820. <?php } ?>
  821. </div>
  822. </div>
  823. <div class="action-container" id="js-cashier-action">
  824. <?php if($this->context->isWeixin){ ?>
  825. <div style="margin-bottom: 13px;"><button type="button" pay-way="weixin" name="toPay" class="btn-pay btn btn-block btn-large btn-wxwappay btn-green">微信支付</button></div>
  826. <div style="margin-bottom: 13px;"><button type="button" pay-way="alipay" name="aliPayInWeixin" class="btn-pay btn btn-block btn-large btn-aliwap btn-blue">支付宝支付</button></div>
  827. <?php }else{ ?>
  828. <div style="margin-bottom: 13px;"><button type="button" pay-way="alipay" name="toPay" class="btn-pay btn btn-block btn-large btn-aliwap btn-blue">支付宝支付</button></div>
  829. <?php } ?>
  830. <?php if(isset($userAsset['balance']) && $userAsset['balance'] > 0){ ?>
  831. <div style="margin-bottom: 13px;"><button type="button" pay-way="balance" name="toPay" class="btn-pay btn btn-block btn-large btn-aliwap btn-blue">余额支付</button></div>
  832. <?php } ?>
  833. <?php if(isset($userAsset['balance']) && $userAsset['balance'] > 0){ ?>
  834. <div style="font-size:14px;color:#999;text-align:center;">余额:<?= $userAsset['balance'] ?>元</div>
  835. <?php } ?>
  836. </div>
  837. <div style="" name="wxPayKeyboard">
  838. <div class="ui-keyboard js-keyboard on">
  839. <ul class="ui-keyboard-numbers js-num" name="keyboardNum">
  840. <li>1</li>
  841. <li>2</li>
  842. <li>3</li>
  843. <li>4</li>
  844. <li>5</li>
  845. <li>6</li>
  846. <li>7</li>
  847. <li>8</li>
  848. <li>9</li>
  849. <li class="zero">0</li>
  850. <li>.</li>
  851. </ul>
  852. <ul class="ui-keyboard-buttons">
  853. <li class="btn-del js-del" name="numDel">&lt;</li>
  854. <li class="btn-ok js-ok" name="fillOk">完成</li>
  855. </ul>
  856. </div>
  857. </div>
  858. </div>
  859. <div class="footer" style="min-height: 86px;">
  860. <div class="copyright">
  861. <div class="ft-copyright ">
  862. </div>
  863. </div>
  864. </div>
  865. <?php if(!empty($userInfo)){ ?>
  866. <div name="payBeCenter" class="xhBeCenterBox">
  867. <div class="lay-body" id="J_MainBody" style="padding-top:0px;">
  868. <div class="reg">
  869. <div style="padding-top:5px;margin-bottom:5px;"><span name="directPaymentClose" style="display:block;float:right;margin-right:10px;color:white;font-size:25px;">×</span></div>
  870. <div class="reg-form">
  871. <div class="m-form reg-phone">
  872. <input type="password" name="directPaymentPassword" class="m-full-txt reg-phone-number J_Phone" placeholder="请输入支付密码">
  873. <input type="hidden" name="balancePayOrderId" value="" />
  874. </div>
  875. <div style="margin:0 5%;font-size:12px;color:red;" name="payMention"></div>
  876. <div class="login-btn clearfix">
  877. <button type="button" name="makeSureToPay">支付</button>
  878. <div style="font-size:12px;padding-top:4px;padding-bottom:4px;margin-top:12px;">
  879. <?php if(!empty($userInfo['payPassword'])){ ?>
  880. <a style="font-size:12px;color:red;" href="javascript:void(0)" name="directPayMention"></a>
  881. <?php }else{ ?>
  882. 您还未设置支付密码哦~<a style="font-size:12px;color:blue;" href="/center/password?account=<?= $_GET['account'] ?>">点此设置</a>
  883. <?php } ?>
  884. </div>
  885. </div>
  886. </div>
  887. </div>
  888. </div>
  889. </div>
  890. <?php } ?>
  891. </body>
  892. <script type="text/javascript" src="/js/jquery-1.10.2.min.js?version=<?= $this->context->version ?>"></script>
  893. <script type="text/javascript" src="/js/util.js?version=<?= $this->context->version ?>"></script>
  894. <script type="text/javascript" src="/js/jweixin-1.0.0.js?version=<?= $this->context->version ?>"></script>
  895. <script>
  896. var payBeCenter = $("div[name=payBeCenter]");
  897. var entireSiteBeCenterMask = $("div[name=entireSiteBeCenterMask]");
  898. var payHeight = payBeCenter.outerHeight();//取div标签的高宽
  899. var payWidth = payBeCenter.outerWidth();
  900. var wWidth = $(window).width();//取浏览器高宽
  901. var wHeight = $(window).height();
  902. var scrollHeight = $(document).scrollTop();//获取当前窗口距离页面顶部高度
  903. var lH = (wHeight - payHeight) / 2 + scrollHeight;
  904. var lW = (wWidth - payWidth) /2;
  905. payBeCenter.css({"z-index":998,"position":"absolute","left":lW,"top":lH,});
  906. $("span[name=directPaymentClose]").click(function(){
  907. entireSiteBeCenterMask.css("display","none");
  908. payBeCenter.css("display","none");
  909. });
  910. $("li[name=fillOk]").click(function(){
  911. $("div[name=wxPayKeyboard]").css('display','none');
  912. $("#js-cashier-cursor").css("display","none");
  913. });
  914. $("ul[name=keyboardNum] li").click(function(){
  915. var preNum = $("#cashier-price").text();
  916. var num = $(this).text();
  917. $("#cashier-price").text(preNum+num);
  918. });
  919. $(".cashier-field").click(function(){
  920. $("#js-cashier-cursor").css("display","inline-block");
  921. $("div[name=wxPayKeyboard]").fadeIn();
  922. });
  923. $("li[name=numDel]").click(function(){
  924. var preNum = $("#cashier-price").text();
  925. var preLen = preNum.length;
  926. newNum = preNum.substring(0,preLen-1);
  927. $("#cashier-price").text(newNum);
  928. });
  929. var appId,nonceStr,package,paySign,signType,timeStamp,orderId;
  930. //调用微信JS api 支付
  931. function jsApiCall()
  932. {
  933. WeixinJSBridge.invoke(
  934. 'getBrandWCPayRequest', {
  935. "appId": appId, //公众号名称,由商户传入
  936. "timeStamp": timeStamp, //时间戳,自1970年以来的秒数
  937. "nonceStr" : nonceStr, //随机串
  938. "package" : package,
  939. "signType" : signType, //微信签名方式:
  940. "paySign" : paySign //微信签名
  941. },
  942. function(res){
  943. WeixinJSBridge.log(res.err_msg);
  944. //alert(res.err_code+'|'+res.err_desc+'|'+res.err_msg);
  945. if(res.err_msg == 'get_brand_wcpay_request:ok'){
  946. window.location.href='/pay/success?account=<?= $this->context->merchant['id'] ?>&orderId='+orderId;
  947. }
  948. }
  949. );
  950. }
  951. $("button[name=makeSureToPay]").click(function(){
  952. var directPaymentPassword = $("input[name=directPaymentPassword]").val();
  953. var balancePayOrderId = $("input[name=balancePayOrderId]").val();
  954. if(directPaymentPassword.length <= 0){
  955. $('a[name=directPayMention]').html('请填写密码');
  956. return;
  957. }
  958. var couponId = 0;
  959. var couponSelect = $("select[name=couponSelect]");
  960. if(couponSelect.length > 0){
  961. couponId = couponSelect.find("option:selected").val();
  962. }
  963. var data = 'orderId='+balancePayOrderId+'&payPassword='+directPaymentPassword+'&_csrf=<?= Yii::$app->request->csrfToken ?>&couponId='+couponId;
  964. $.ajax({
  965. type:"POST",
  966. url:'/pay/balance-pay?account=<?= $this->context->merchant['id'] ?>',
  967. data:data,
  968. dataType:'json',
  969. async:false,
  970. success:function(data){
  971. xhPopMsg(data.msg,1800);
  972. if(data.code == 'A0001'){
  973. var orderId = data.data.orderId;
  974. setTimeout(function(){
  975. window.location.href='/pay/success?account=<?= $this->context->merchant['id'] ?>&orderId='+orderId;
  976. },1000);
  977. }
  978. }
  979. });
  980. });
  981. $("input[name=directPaymentPassword]").focus(function(){
  982. $('a[name=directPayMention]').html('');
  983. });
  984. $("button[name=toPay]").click(function(){
  985. var amount = $("#cashier-price").text();
  986. if(isNaN(amount) || amount.length <= 0){
  987. xhPopMsg('请填写金额',1800);
  988. return;
  989. }
  990. var payWay = $(this).attr('pay-way');
  991. var couponId = 0;
  992. var couponSelect = $("select[name=couponSelect]");
  993. if(couponSelect.length > 0){
  994. couponId = couponSelect.find("option:selected").val();
  995. }
  996. var data = 'prePrice='+amount+'&_csrf=<?= Yii::$app->request->csrfToken ?>&couponId='+couponId+'&payWay='+payWay+'&userId=<?= $userId ?>';
  997. $.ajax({
  998. type:"POST",
  999. url:'/pay/get-params?account=<?= $this->context->merchant['id'] ?>',
  1000. data:data,
  1001. dataType:'json',
  1002. async:false,
  1003. success:function(data){
  1004. if(data.code == 'A0001'){
  1005. orderId = data.data.orderId;//获取orderId
  1006. if(payWay == 'weixin'){//微信支付
  1007. appId = data.data.appId;
  1008. nonceStr = data.data.nonceStr;
  1009. package = data.data.package;
  1010. paySign = data.data.paySign;
  1011. signType = data.data.signType;
  1012. timeStamp = data.data.timeStamp;
  1013. if (typeof WeixinJSBridge == "undefined"){
  1014. if( document.addEventListener ){
  1015. document.addEventListener('WeixinJSBridgeReady', jsApiCall, false);
  1016. }else if (document.attachEvent){
  1017. document.attachEvent('WeixinJSBridgeReady', jsApiCall);
  1018. document.attachEvent('onWeixinJSBridgeReady', jsApiCall);
  1019. }
  1020. }else{
  1021. jsApiCall();
  1022. }
  1023. }else if(payWay == 'alipay'){//支付宝支付
  1024. window.location.href="/pay/exec-alipay?couponId="+couponId+"&orderId="+orderId+"&account=<?= $this->context->merchant['id'] ?>";
  1025. }else{//余额支付
  1026. entireSiteBeCenterMask.css("display","block");
  1027. payBeCenter.css("display","block");
  1028. $('html').addClass('noscroll');//有浮层不允许底部滚动
  1029. $("div[name=wxPayKeyboard]").css('display','none');
  1030. <?php if(!empty($userInfo['payPassword'])){ ?>
  1031. $("input[name=directPaymentPassword]").val('').focus();
  1032. <?php }else{ ?>
  1033. $("input[name=directPaymentPassword]").val('');//没有设置支付密码不自动获得焦点
  1034. <?php } ?>
  1035. $("input[name=balancePayOrderId]").val(orderId);
  1036. }
  1037. }else{
  1038. xhPopMsg(data.msg,1800);
  1039. }
  1040. }
  1041. });
  1042. });
  1043. //微信里的支付宝支付提示
  1044. $("button[name=aliPayInWeixin]").click(function(){
  1045. $("div[name=payMask]").css("display","block");
  1046. });
  1047. $("div[name=payMask]").click(function(){
  1048. $(this).css("display","none");
  1049. });
  1050. <?php if($this->context->isWeixin){ ?>
  1051. //微信分享
  1052. var shareTitle = '您正在向【<?= $this->context->merchant['merchantName'] ?>】付款';
  1053. var descContent = '支持微信支付与支付宝支付';
  1054. var lineLink = '<?= Yii::$app->params['frontUrl'] ?>/pay/index?account=<?= $this->context->merchant['id'] ?>';
  1055. var imgUrl = '<?= Yii::$app->params['frontUrl'] ?>/images/pay/pay.jpg';
  1056. wx.config({
  1057. debug:false,
  1058. appId: '<?= $this->context->signPackage['appId'] ?>',
  1059. timestamp: <?= $this->context->signPackage['timestamp'] ?>,
  1060. nonceStr: '<?= $this->context->signPackage['nonceStr'] ?>',
  1061. signature: '<?= $this->context->signPackage['signature'] ?>',
  1062. jsApiList: [
  1063. 'checkJsApi',
  1064. 'onMenuShareTimeline',
  1065. 'onMenuShareAppMessage',
  1066. 'onMenuShareQQ',
  1067. 'onMenuShareWeibo',
  1068. ]
  1069. });
  1070. wx.ready(function () {
  1071. var shareData = {
  1072. title: shareTitle,
  1073. link: lineLink,
  1074. imgUrl: imgUrl,
  1075. desc:descContent,
  1076. };
  1077. wx.onMenuShareAppMessage(shareData);
  1078. wx.onMenuShareTimeline({
  1079. title: shareTitle,
  1080. link: lineLink,
  1081. imgUrl: imgUrl,
  1082. desc:descContent,
  1083. success: function () {
  1084. //分享成功后的操作
  1085. },
  1086. cancel: function () {
  1087. // 用户取消分享后执行的回调函数
  1088. }
  1089. });
  1090. wx.onMenuShareQQ({
  1091. title: shareTitle,
  1092. link: lineLink,
  1093. imgUrl: imgUrl,
  1094. desc:descContent,
  1095. success: function () {
  1096. //分享成功后的操作
  1097. },
  1098. cancel: function () {
  1099. // 用户取消分享后执行的回调函数
  1100. }
  1101. });
  1102. wx.onMenuShareWeibo(shareData);
  1103. });
  1104. <?php } ?>
  1105. </script>
  1106. </html>