app/Plugin/UnivaPay/Resource/template/mypage_history.twig line 1

Open in your IDE?
  1. {% if Order.Payment.getMethodClass == 'Plugin\\UnivaPay\\Service\\Method\\Subscription' %}
  2.     {% set config = repository('Plugin\\UnivaPay\\Entity\\Config').findOneById(1) %}
  3.     <script src="{{ config.getWidgetUrl() }}/client/checkout.js"></script>
  4.     <div id="univapay-subscription">
  5.         <div class="ec-rectHeading">
  6.             <h2>サブスクリプション</h2>
  7.         </div>
  8.         <ul class="list-inline">
  9.             <li class="list-inline-item">
  10.                 <button id="univapay-action__cancel" type="button"
  11.                         class="btn btn-ec-regular px-5" disabled>
  12.                     {{ 'univa_pay.subscription.cancel'|trans }}
  13.                 </button>
  14.             </li>
  15.             <li class="list-inline-item">
  16.                 <button id="univapay-action__change" type="button"
  17.                         class="btn btn-ec-regular px-5" disabled>
  18.                     {{ 'univa_pay.subscription.change'|trans }}
  19.                 </button>
  20.             </li>
  21.         </ul>
  22.     </div>
  23.     <script>
  24.         $(function () {
  25.             // 支払情報の下にセクションを移動
  26.             document.querySelector(".ec-orderPayment").after(document.querySelector("#univapay-subscription"));
  27.             // 決済状況取得
  28.             $.ajax({
  29.                 type: 'GET',
  30.                 url: '{{ url('univa_pay_get_subscription', { id: Order.id }) }}',
  31.             }).always(function(e) {
  32.                 if(e.status.name !== 'CANCELED') {
  33.                     $('#univapay-subscription button').prop('disabled', false);
  34.                 }
  35.             });
  36.             $('#univapay-action__cancel').on('click', function () {
  37.                 $('#univapay-subscription button').prop('disabled', true);
  38.                 $.ajax({
  39.                     type: 'POST',
  40.                     url: '{{ url('univa_pay_cancel_subscription', { id: Order.id }) }}'
  41.                 }).always(function () {
  42.                     location.href = location.href;
  43.                 });
  44.             });
  45.             checkout = UnivapayCheckout.create({
  46.                 appId: "{{ config.getAppId() }}",
  47.                 checkout: "token",
  48.                 tokenType: "subscription",
  49.                 subscriptionPeriod: "daily",
  50.                 email: "{{ Order.email }}",
  51.                 onSuccess: (result) => {
  52.                     $.ajax({
  53.                         type: 'POST',
  54.                         url: '{{ url('univa_pay_update_subscription', { id: Order.id }) }}',
  55.                         data: result.response.id
  56.                     }).always(function () {
  57.                         location.href = location.href;
  58.                     });
  59.                 },
  60.                 onError: () => {
  61.                     alert("エラーが発生しました。サイト管理者にお問い合わせください。");
  62.                     location.href = location.href;
  63.                 },
  64.                 closed: () => {
  65.                     alert("決済が中断されました");
  66.                     location.href = location.href;
  67.                 }
  68.             });
  69.             $('#univapay-action__change').on('click', function () {
  70.                 $('#univapay-subscription button').prop('disabled', true);
  71.                 checkout.open();
  72.             });
  73.         });
  74.     </script>
  75. {% endif %}