2018-03-22 12:08:49 -05:00
|
|
|
@model PaymentModel
|
|
|
|
|
|
|
|
<div class="top-header">
|
|
|
|
<div class="header">
|
|
|
|
<div class="header__icon">
|
2018-03-28 02:13:00 -05:00
|
|
|
@if (Model.CustomLogoLink != null)
|
2018-03-27 15:14:50 +09:00
|
|
|
{
|
|
|
|
<img class="header__icon__img" src="@Model.CustomLogoLink" height="40">
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
<img class="header__icon__img" src="~/img/logo-white.png" height="40">
|
|
|
|
}
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="timer-row">
|
|
|
|
<div class="timer-row__progress-bar" style="width: 0%;"></div>
|
|
|
|
<div class="timer-row__spinner">
|
2018-05-08 17:57:53 +09:00
|
|
|
<partial name="Checkout-Spinner" />
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
<div class="timer-row__message">
|
2018-03-22 22:48:16 -05:00
|
|
|
<span v-if="srvModel.status === 'expired' || srvModel.status === 'invalid'">
|
|
|
|
{{$t("Invoice expired")}}
|
|
|
|
</span>
|
|
|
|
<span v-else-if="expiringSoon">
|
|
|
|
{{$t("Invoice expiring soon...")}}
|
|
|
|
</span>
|
|
|
|
<span v-else>
|
|
|
|
{{$t("Awaiting Payment...")}}
|
|
|
|
</span>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
<div class="timer-row__time-left">@Model.TimeLeft</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="order-details">
|
2018-08-05 22:45:48 +02:00
|
|
|
<div class="currency-selection">
|
|
|
|
<div class="single-item-order__left">
|
|
|
|
<div style="font-weight: 600;">
|
|
|
|
{{$t("Pay with")}}
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
2018-08-05 22:45:48 +02:00
|
|
|
</div>
|
|
|
|
<div class="single-item-order__right">
|
|
|
|
@if (Model.AvailableCryptos.Count > 1)
|
|
|
|
{
|
|
|
|
<div class="payment__currencies cursorPointer" onclick="openPaymentMethodDialog()">
|
|
|
|
<img v-bind:src="srvModel.cryptoImage" />
|
|
|
|
<span class="clickable_underline">{{srvModel.paymentMethodName}} ({{srvModel.cryptoCode}})</span>
|
|
|
|
<span v-show="srvModel.isLightning">⚡</span>
|
|
|
|
<span class="clickable_indicator fa fa-angle-right"></span>
|
|
|
|
</div>
|
|
|
|
<div id="vexPopupDialog">
|
|
|
|
<ul class="vexmenu">
|
|
|
|
@foreach (var crypto in Model.AvailableCryptos)
|
|
|
|
{
|
|
|
|
<li class="vexmenuitem">
|
|
|
|
<a href="@crypto.Link" onclick="return closePaymentMethodDialog('@crypto.PaymentMethodId');">
|
|
|
|
<img alt="@crypto.PaymentMethodName" src="@crypto.CryptoImage" />
|
|
|
|
@crypto.PaymentMethodName
|
|
|
|
@(crypto.IsLightning ? Html.Raw("⚡") : null)
|
|
|
|
<span>@crypto.CryptoCode</span>
|
|
|
|
</a>
|
|
|
|
</li>
|
|
|
|
}
|
|
|
|
</ul>
|
|
|
|
</div>
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
<div class="payment__currencies">
|
|
|
|
<img v-bind:src="srvModel.cryptoImage" />
|
|
|
|
<span>{{srvModel.paymentMethodName}} ({{srvModel.cryptoCode}})</span>
|
|
|
|
<span v-show="srvModel.isLightning">⚡</span>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
2018-08-05 22:45:48 +02:00
|
|
|
|
|
|
|
}
|
|
|
|
<div class="payment__spinner">
|
|
|
|
<partial name="Checkout-Spinner" />
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-08-05 22:45:48 +02:00
|
|
|
</div>
|
|
|
|
|
2018-03-22 12:08:49 -05:00
|
|
|
<div class="single-item-order buyerTotalLine">
|
|
|
|
<div class="single-item-order__left">
|
|
|
|
<div class="single-item-order__left__name">
|
|
|
|
{{ srvModel.storeName }}
|
|
|
|
</div>
|
|
|
|
<div class="single-item-order__left__description">
|
|
|
|
{{ srvModel.itemDesc }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="single-item-order__right">
|
2018-05-03 16:38:40 -05:00
|
|
|
<div class="single-item-order__right__btc-price" v-if="srvModel.status === 'paid'">
|
|
|
|
<span>{{ srvModel.btcPaid }} {{ srvModel.cryptoCode }}</span>
|
|
|
|
</div>
|
|
|
|
<div class="single-item-order__right__btc-price" v-else>
|
2018-03-22 12:08:49 -05:00
|
|
|
<span>{{ srvModel.btcDue }} {{ srvModel.cryptoCode }}</span>
|
|
|
|
</div>
|
2018-05-03 16:38:40 -05:00
|
|
|
|
2018-05-16 05:46:11 -05:00
|
|
|
<div class="single-item-order__right__ex-rate" v-if="srvModel.orderAmountFiat">
|
2018-03-22 12:08:49 -05:00
|
|
|
1 {{ srvModel.cryptoCode }} = {{ srvModel.rate }}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<span class="fa fa-angle-double-down"></span>
|
|
|
|
<span class="fa fa-angle-double-up"></span>
|
|
|
|
</div>
|
|
|
|
<line-items>
|
|
|
|
<div class="line-items">
|
|
|
|
<div class="line-items__item">
|
|
|
|
<div class="line-items__item__label">{{$t("Order Amount")}}</div>
|
|
|
|
<div class="line-items__item__value">{{srvModel.orderAmount}} {{ srvModel.cryptoCode }}</div>
|
|
|
|
</div>
|
2018-05-15 14:48:23 -05:00
|
|
|
<div class="line-items__item line-items_fiatvalue" v-if="srvModel.orderAmountFiat">
|
2018-05-15 14:38:14 -05:00
|
|
|
<div class="line-items__item__label"> </div>
|
|
|
|
<div class="line-items__item__value single-item-order__right__ex-rate">
|
|
|
|
{{srvModel.orderAmountFiat}}
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-22 12:08:49 -05:00
|
|
|
<div class="line-items__item">
|
|
|
|
<div class="line-items__item__label">
|
|
|
|
<span>{{$t("Network Cost")}}</span>
|
|
|
|
</div>
|
2018-04-13 14:10:06 -05:00
|
|
|
<div class="line-items__item__value">
|
|
|
|
<span v-if="srvModel.IsMultiCurrency">
|
|
|
|
{{ srvModel.networkFee }} {{ srvModel.cryptoCode }}
|
|
|
|
</span>
|
|
|
|
<span v-else>
|
|
|
|
{{$t("txCount", {count: srvModel.txCount})}} x {{ srvModel.networkFee }} {{ srvModel.cryptoCode }}
|
|
|
|
</span>
|
|
|
|
</div>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
<div class="line-items__item">
|
|
|
|
<div class="line-items__item__label">
|
|
|
|
<span>{{$t("Already Paid")}}</span>
|
|
|
|
</div>
|
|
|
|
<div class="line-items__item__value">-{{srvModel.btcPaid }} {{ srvModel.cryptoCode }}</div>
|
|
|
|
</div>
|
|
|
|
<div class="line-items__item line-items__item--total">
|
|
|
|
<div class="line-items__item__label">{{$t("Due")}}</div>
|
|
|
|
<div class="line-items__item__value">{{srvModel.btcDue}} {{ srvModel.cryptoCode }}</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</line-items>
|
|
|
|
<div class="payment-tabs">
|
|
|
|
<div class="payment-tabs__tab active" id="scan-tab">
|
|
|
|
<span>{{$t("Scan")}}</span>
|
|
|
|
</div>
|
|
|
|
<div class="payment-tabs__tab" id="copy-tab">
|
|
|
|
<span>{{$t("Copy")}}</span>
|
|
|
|
</div>
|
2018-03-28 02:13:00 -05:00
|
|
|
@if (Model.AllowCoinConversion)
|
2018-03-22 12:08:49 -05:00
|
|
|
{
|
|
|
|
<div class="payment-tabs__tab" id="altcoins-tab">
|
|
|
|
<span>{{$t("Conversion")}}</span>
|
|
|
|
</div>
|
|
|
|
<div id="tabsSlider" class="payment-tabs__slider three-tabs"></div>
|
|
|
|
}
|
|
|
|
else
|
|
|
|
{
|
|
|
|
<div id="tabsSlider" class="payment-tabs__slider"></div>
|
|
|
|
}
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
2018-05-15 15:06:24 -05:00
|
|
|
<div class="payment-box">
|
2018-03-22 12:08:49 -05:00
|
|
|
<div class="bp-view payment manual-flow enter-contact-email active" id="emailAddressView">
|
|
|
|
<form class="manual__step-one refund-address-form contact-email-form" id="emailAddressForm" name="emailAddressForm" novalidate="">
|
|
|
|
<div class="manual__step-one__header">
|
|
|
|
<span>{{$t("Contact and Refund Email")}}</span>
|
|
|
|
</div>
|
|
|
|
<div class="manual__step-one__instructions">
|
|
|
|
<span class="initial-label">
|
|
|
|
<span>{{$t("Contact_Body")}}</span>
|
|
|
|
</span>
|
|
|
|
<span class="submission-error-label">{{$t("Please enter a valid email address")}}</span>
|
|
|
|
</div>
|
|
|
|
<div class="input-wrapper">
|
2018-03-22 13:26:10 -05:00
|
|
|
<input class="bp-input email-input ng-pristine ng-invalid ng-touched" id="emailAddressFormInput" v-bind:placeholder="$t('Your email')" type="email">
|
2018-03-22 12:08:49 -05:00
|
|
|
<bp-loading-button>
|
|
|
|
<button type="submit" class="action-button" style="margin-top: 15px;">
|
|
|
|
<span class="button-text">{{$t("Continue")}}</span>
|
|
|
|
<div class="loader-wrapper">
|
2018-05-08 17:57:53 +09:00
|
|
|
<partial name="Checkout-Spinner" />
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</button>
|
|
|
|
</bp-loading-button>
|
|
|
|
</div>
|
|
|
|
</form>
|
|
|
|
</div>
|
|
|
|
<div class="bp-view payment scan" id="scan">
|
|
|
|
<div class="payment__scan">
|
2018-03-28 01:09:53 -05:00
|
|
|
<img v-bind:src="srvModel.cryptoImage" class="qr_currency_icon" />
|
2018-03-22 12:08:49 -05:00
|
|
|
<qrcode v-bind:val="srvModel.invoiceBitcoinUrlQR" v-bind:size="256" bg-color="#f5f5f7" fg-color="#000">
|
|
|
|
</qrcode>
|
|
|
|
</div>
|
|
|
|
<div class="payment__details__instruction__open-wallet">
|
|
|
|
<a class="payment__details__instruction__open-wallet__btn action-button" v-bind:href="srvModel.invoiceBitcoinUrl">
|
|
|
|
<span>{{$t("Open in wallet")}}</span>
|
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-29 22:27:05 -05:00
|
|
|
|
2018-03-22 12:08:49 -05:00
|
|
|
<div class="bp-view payment manual-flow" id="copy">
|
|
|
|
<div class="manual__step-two__instructions">
|
|
|
|
<span i18n="">{{$t("CompletePay_Body", srvModel)}}</span>
|
|
|
|
</div>
|
2018-03-30 00:24:28 -05:00
|
|
|
<div class="copyLabelPopup">
|
2018-03-29 22:35:03 -05:00
|
|
|
<span>{{$t("Copied")}}</span>
|
|
|
|
</div>
|
2018-03-29 23:23:39 -05:00
|
|
|
<nav v-if="srvModel.isLightning" class="copyBox">
|
|
|
|
<div class="copySectionBox bottomBorder">
|
|
|
|
<label>{{$t("BOLT 11 Invoice")}}</label>
|
2018-03-30 00:24:28 -05:00
|
|
|
<div class="inputWithIcon _copyInput">
|
2018-03-29 23:23:39 -05:00
|
|
|
<input type="text" class="checkoutTextbox" v-bind:value="srvModel.btcAddress" readonly="readonly" />
|
|
|
|
<img v-bind:src="srvModel.cryptoImage" />
|
2018-03-28 02:13:00 -05:00
|
|
|
</div>
|
2018-03-29 23:23:39 -05:00
|
|
|
</div>
|
|
|
|
<div class="separatorGem"></div>
|
|
|
|
<div class="copySectionBox">
|
2018-03-30 17:34:46 +09:00
|
|
|
<label>{{$t("Node Info")}}</label>
|
2018-03-30 00:24:28 -05:00
|
|
|
<div class="inputWithIcon _copyInput">
|
2018-03-29 23:23:39 -05:00
|
|
|
<input type="text" class="checkoutTextbox" v-bind:value="srvModel.peerInfo" readonly="readonly" />
|
|
|
|
<img v-bind:src="srvModel.cryptoImage" />
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-28 02:13:00 -05:00
|
|
|
</nav>
|
2018-03-29 23:23:39 -05:00
|
|
|
<nav v-else class="copyBox">
|
|
|
|
<div class="copySectionBox bottomBorder">
|
|
|
|
<label>{{$t("Amount")}}</label>
|
2018-03-30 00:24:28 -05:00
|
|
|
<div class="copyAmountText copy-cursor _copySpan">
|
2018-03-29 23:23:39 -05:00
|
|
|
<span>{{srvModel.btcDue}}</span> {{ srvModel.cryptoCode }}
|
2018-03-28 02:13:00 -05:00
|
|
|
</div>
|
2018-03-29 23:23:39 -05:00
|
|
|
</div>
|
|
|
|
<div class="separatorGem"></div>
|
|
|
|
<div class="copySectionBox">
|
|
|
|
<label>{{$t("Address")}}</label>
|
2018-03-30 00:24:28 -05:00
|
|
|
<div class="inputWithIcon _copyInput">
|
2018-03-29 23:23:39 -05:00
|
|
|
<input type="text" class="checkoutTextbox" v-bind:value="srvModel.btcAddress" readonly="readonly" />
|
|
|
|
<img v-bind:src="srvModel.cryptoImage" />
|
2018-03-28 02:13:00 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</nav>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
2018-03-28 02:13:00 -05:00
|
|
|
@if (Model.AllowCoinConversion)
|
2018-03-22 12:08:49 -05:00
|
|
|
{
|
|
|
|
<div id="altcoins" class="bp-view payment manual-flow">
|
2018-03-28 02:13:00 -05:00
|
|
|
<nav v-if="srvModel.isLightning">
|
2018-03-26 15:02:53 -05:00
|
|
|
<div class="manual__step-two__instructions">
|
|
|
|
<span>
|
|
|
|
{{$t("ConversionTab_Lightning")}}
|
|
|
|
</span>
|
|
|
|
</div>
|
2018-03-28 02:13:00 -05:00
|
|
|
</nav>
|
|
|
|
<nav v-else>
|
2018-03-22 12:08:49 -05:00
|
|
|
<div class="manual__step-two__instructions">
|
|
|
|
<span>
|
|
|
|
{{$t("ConversionTab_BodyTop", srvModel)}}
|
|
|
|
<br /><br />
|
|
|
|
{{$t("ConversionTab_BodyDesc", srvModel)}}
|
|
|
|
</span>
|
|
|
|
</div>
|
|
|
|
<center>
|
|
|
|
<script>function shapeshift_click(a, e) { e.preventDefault(); var link = a.href; var shapeshiftWindow = window.open(link, '1418115287605', 'width=700,height=500,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=0,left=0,top=0'); shapeshiftWindow.focus(); return false; }</script>
|
|
|
|
<a onclick="shapeshift_click(this, event);" v-bind:href="srvModel.shapeshiftUrl">
|
|
|
|
<img src="https://shapeshift.io/images/shifty/xs_light_altcoins.png" class="ss-button">
|
|
|
|
</a>
|
|
|
|
|
|
|
|
@*Changelly doesn't have TO_AMOUNT support so we can't include it
|
2018-03-27 15:14:50 +09:00
|
|
|
<script type="text/javascript">function open_widget(a, e) { e.preventDefault(); var link = a.href; var changellyWindow = window.open(link, 'Changelly', 'width=600,height=470,toolbar=0,menubar=0,location=0,status=1,scrollbars=1,resizable=0,left=0,top=0'); changellyWindow.focus(); return false; }</script>
|
|
|
|
<a onclick="open_widget(this, event);" href="https://changelly.com/widget/v1?auth=email&from=DASH&to=BTC&address=&amount=1&merchant_id=&ref_id=">
|
|
|
|
<img src="https://changelly.com/pay_button_pay_with.png" alt="Changelly" />
|
|
|
|
</a>*@
|
2018-03-22 12:08:49 -05:00
|
|
|
</center>
|
2018-03-28 02:13:00 -05:00
|
|
|
</nav>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
}
|
|
|
|
|
|
|
|
<div class="bp-view pad" id="paid">
|
|
|
|
<div class="status-block">
|
|
|
|
<div class="success-block">
|
|
|
|
<div class="status-icon">
|
|
|
|
<div class="status-icon__wrapper">
|
|
|
|
<div class="inner-wrapper">
|
|
|
|
<div class="status-icon__wrapper__icon">
|
|
|
|
<img src="~/imlegacy/checkmark.svg">
|
|
|
|
</div>
|
|
|
|
<div class="status-icon__wrapper__outline"></div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
2018-03-22 12:57:51 -05:00
|
|
|
<div class="success-message">{{$t("This invoice has been paid")}}</div>
|
2018-04-13 14:39:45 -05:00
|
|
|
<a class="action-button" :href="srvModel.merchantRefLink" v-show="srvModel.merchantRefLink">
|
|
|
|
<span>{{$t("Return to StoreName", srvModel)}}</span>
|
|
|
|
</a>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
<div class="button-wrapper refund-address-form-container" id="refund-overpayment-button">
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="bp-view expired" id="archived">
|
|
|
|
<div class="expired-icon">
|
|
|
|
<img src="~/imlegacy/archived.svg">
|
|
|
|
</div>
|
|
|
|
<div class="archived__message">
|
|
|
|
<div class="archived__message__header">
|
2018-03-22 12:57:51 -05:00
|
|
|
<span>{{$t("This invoice has been archived")}}</span>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
<div>
|
2018-03-22 12:57:51 -05:00
|
|
|
<span>{{$t("Archived_Body")}}</span>
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
|
|
|
|
<div class="bp-view expired" id="expired">
|
|
|
|
<div>
|
|
|
|
<div class="expired__body">
|
2018-03-22 12:57:51 -05:00
|
|
|
<div class="expired__header">{{$t("What happened?")}}</div>
|
2018-03-22 12:08:49 -05:00
|
|
|
<div class="expired__text" i18n="">
|
2018-03-22 12:57:51 -05:00
|
|
|
{{$t("InvoiceExpired_Body_1", {storeName: srvModel.storeName, maxTimeMinutes: @Model.MaxTimeMinutes})}}
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
<div class="expired__text">
|
2018-03-22 12:57:51 -05:00
|
|
|
{{$t("InvoiceExpired_Body_2")}}
|
|
|
|
</div>
|
|
|
|
<div class="expired__text">
|
|
|
|
{{$t("InvoiceExpired_Body_3")}}
|
|
|
|
</div>
|
2018-03-23 12:32:00 -05:00
|
|
|
<div class="expired__text expired__text__smaller">
|
2018-03-22 22:48:16 -05:00
|
|
|
<span class="expired__text__bullet">{{$t("Invoice ID")}}</span>:
|
2018-03-22 12:57:51 -05:00
|
|
|
{{srvModel.invoiceId}}
|
|
|
|
<br />
|
|
|
|
<span class="expired__text__bullet">{{$t("Order ID")}}</span>:
|
|
|
|
{{srvModel.orderId}}
|
2018-03-22 12:08:49 -05:00
|
|
|
</div>
|
|
|
|
</div>
|
2018-04-13 14:39:45 -05:00
|
|
|
<a class="action-button" :href="srvModel.merchantRefLink" v-show="srvModel.merchantRefLink"
|
|
|
|
style="margin-top: 20px;">
|
|
|
|
<span>{{$t("Return to StoreName", srvModel)}}</span>
|
2018-03-22 12:08:49 -05:00
|
|
|
</a>
|
|
|
|
</div>
|
|
|
|
</div>
|
|
|
|
</div>
|