mirror of
https://github.com/btcpayserver/btcpayserver.git
synced 2025-02-22 22:25:28 +01:00
* Checkout v2: Clicking QR code copies full payment URI Before it copied only the destination value (Bitcoin address or Lightning BOLT11). This didn't include the BOLT11 in case of the unified QR code. Now it will copy the full payment URI, which is the same as the QR represents: - Unified: `bitcoin:ADDRESS?amount=AMOUNT&lightning=BOLT11` - Bitcoin: `bitcoin:ADDRESS?amount=AMOUNT` - Lightning: `lightning:BOLT11` Fixes #5625. * Test fix
37 lines
2.1 KiB
Text
37 lines
2.1 KiB
Text
@model BTCPayServer.Models.InvoicingModels.PaymentModel
|
|
|
|
<template id="lightning-method-checkout-template">
|
|
<div class="payment-box">
|
|
@await Component.InvokeAsync("UiExtensionPoint" , new { location="checkout-v2-lightning-pre-content", model = Model})
|
|
<div v-if="model.invoiceBitcoinUrlQR" class="qr-container" :data-qr-value="model.invoiceBitcoinUrlQR" :data-clipboard="model.invoiceBitcoinUrl" data-clipboard-confirm-element="#Lightning_@Model.PaymentMethodId [data-clipboard]">
|
|
<div>
|
|
<qrcode :value="model.invoiceBitcoinUrlQR" tag="div" :options="qrOptions" />
|
|
</div>
|
|
<img class="qr-icon" :src="model.cryptoImage" :alt="model.paymentMethodName"/>
|
|
</div>
|
|
<div v-if="model.btcAddress" class="input-group mt-3">
|
|
<div class="form-floating" id="Lightning_@Model.PaymentMethodId">
|
|
<vc:truncate-center text="model.btcAddress" is-vue="true" padding="15" elastic="true" classes="form-control-plaintext" />
|
|
<label v-t="'lightning'"></label>
|
|
</div>
|
|
</div>
|
|
<a v-if="model.invoiceBitcoinUrl && model.showPayInWalletButton" class="btn btn-primary rounded-pill w-100 mt-4" id="PayInWallet" target="_blank"
|
|
:href="model.invoiceBitcoinUrl" v-t="'pay_in_wallet'"></a>
|
|
<div v-if="!model.invoiceBitcoinUrl && !model.btcAddress" class="alert alert-danger">This payment method is not available when using an insecure connection. Please use HTTPS or Tor.</div>
|
|
@await Component.InvokeAsync("UiExtensionPoint", new {location = "checkout-v2-lightning-post-content", model = Model})
|
|
</div>
|
|
</template>
|
|
|
|
<script>
|
|
Vue.component('LightningLikeMethodCheckout', {
|
|
props: ['model', 'nfcSupported', 'nfcScanning', 'nfcErrorMessage'],
|
|
template: "#lightning-method-checkout-template",
|
|
components: {
|
|
qrcode: VueQrcode
|
|
},
|
|
data () {
|
|
// currentTab is needed for backwards-compatibility with old plugin versions
|
|
return { currentTab: undefined };
|
|
}
|
|
});
|
|
</script>
|