payment.blade.php 3.3 KB

12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879
  1. @extends('user.layouts')
  2. @section('content')
  3. <div class="page-content container">
  4. <div class="panel panel-bordered">
  5. <div class="panel-heading">
  6. <h1 class="panel-title cyan-600">
  7. <i class="icon wb-payment"></i>{{sysConfig('website_name').trans('user.shop.pay_online')}}
  8. </h1>
  9. </div>
  10. <div class="panel-body border-primary ml-auto mr-auto w-p75">
  11. <div class="alert alert-info text-center">
  12. {!! trans('user.payment.qrcode_tips', ['software' => $pay_type]) !!}
  13. </div>
  14. <div class="row">
  15. <div class="col-md-6">
  16. <ul class="list-group list-group-dividered">
  17. <li class="list-group-item">{{trans('user.shop.service').':'.$name}}</li>
  18. <li class="list-group-item">{{trans('user.shop.price').':¥'.$payment->amount}}</li>
  19. @if($days !== 0)
  20. <li class="list-group-item">{{trans('common.available_date').':'.$days.trans('validation.attributes.day')}}</li>
  21. @endif
  22. <li class="list-group-item"> {!! trans('user.payment.close_tips', ['minutes' => 15]) !!}</li>
  23. </ul>
  24. </div>
  25. <div class="col-auto mx-auto">
  26. @if($payment->qr_code && $payment->url)
  27. <div id="qrcode" class=" w-p100 h-p100"></div>
  28. @else
  29. <img class="h-250 w-250" src="{{$payment->qr_code}}" alt="{{trans('common.qrcode', ['attribute' => trans('user.pay')])}}">
  30. @endif
  31. </div>
  32. </div>
  33. <div class="alert alert-danger text-center mt-10">
  34. {!! trans('user.payment.mobile_tips') !!}
  35. </div>
  36. </div>
  37. </div>
  38. </div>
  39. @endsection
  40. @section('javascript')
  41. @if($payment->qr_code && $payment->url)
  42. <script src="/assets/custom/easy.qrcode.min.js"></script>
  43. <script>
  44. // Options
  45. const options = {
  46. text: @json($payment->url),
  47. backgroundImage: '{{asset($pay_type_icon)}}',
  48. autoColor: true,
  49. };
  50. // Create QRCode Object
  51. new QRCode(document.getElementById('qrcode'), options);
  52. </script>
  53. @endif
  54. <script>
  55. // 检查支付单状态
  56. const r = window.setInterval(function() {
  57. $.ajax({
  58. method: 'GET',
  59. url: '{{route('orderStatus')}}',
  60. data: {trade_no: '{{$payment->trade_no}}'},
  61. dataType: 'json',
  62. success: function(ret) {
  63. window.clearInterval();
  64. if (ret.status === 'success') {
  65. swal.fire({title: ret.message, icon: 'success', timer: 1500, showConfirmButton: false}).then(() => {
  66. window.location.href = '{{route('invoice')}}';
  67. });
  68. } else if (ret.status === 'error') {
  69. swal.fire({title: ret.message, icon: 'error', timer: 1500, showConfirmButton: false}).then(() => {
  70. window.location.href = '{{route('invoice')}}';
  71. });
  72. }
  73. },
  74. });
  75. }, 3000);
  76. </script>
  77. @endsection