mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2024-09-20 16:31:33 +02:00
Ensure we register domains for on stripe connect for apple pay
This commit is contained in:
parent
b261e9fa95
commit
c6fd68b591
@ -205,7 +205,7 @@ class BrowserPay implements MethodInterface
|
|||||||
|
|
||||||
$response = ApplePayDomain::create([
|
$response = ApplePayDomain::create([
|
||||||
'domain_name' => $domain,
|
'domain_name' => $domain,
|
||||||
]);
|
], $this->stripe->stripe_connect_auth);
|
||||||
|
|
||||||
$config->apple_pay_domain_id = $response->id;
|
$config->apple_pay_domain_id = $response->id;
|
||||||
|
|
||||||
|
2
public/css/app.css
vendored
2
public/css/app.css
vendored
File diff suppressed because one or more lines are too long
@ -1,2 +1,2 @@
|
|||||||
/*! For license information please see stripe-browserpay.js.LICENSE.txt */
|
/*! For license information please see stripe-browserpay.js.LICENSE.txt */
|
||||||
(()=>{function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(new(function(){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.clientSecret=null===(e=document.querySelector("meta[name=stripe-pi-client-secret]"))||void 0===e?void 0:e.content}var n,r,o;return n=t,(r=[{key:"init",value:function(){var e,t,n={};return document.querySelector("meta[name=stripe-account-id]")&&(n.apiVersion="2020-08-27",n.stripeAccount=null===(t=document.querySelector("meta[name=stripe-account-id]"))||void 0===t?void 0:t.content),this.stripe=Stripe(null===(e=document.querySelector("meta[name=stripe-publishable-key]"))||void 0===e?void 0:e.content,n),this.elements=this.stripe.elements(),this}},{key:"createPaymentRequest",value:function(){return this.paymentRequest=this.stripe.paymentRequest(JSON.parse(document.querySelector("meta[name=payment-request-data").content)),this}},{key:"createPaymentRequestButton",value:function(){this.paymentRequestButton=this.elements.create("paymentRequestButton",{paymentRequest:this.paymentRequest})}},{key:"handlePaymentRequestEvents",value:function(e,t){document.querySelector("#errors").hidden=!0,this.paymentRequest.on("paymentmethod",(function(n){e.confirmCardPayment(t,{payment_method:n.paymentMethod.id},{handleActions:!1}).then((function(r){r.error?(n.complete("fail"),document.querySelector("#errors").innerText=r.error.message,document.querySelector("#errors").hidden=!1):(n.complete("success"),"requires_action"===r.paymentIntent.status?e.confirmCardPayment(t).then((function(e){e.error?(n.complete("fail"),document.querySelector("#errors").innerText=e.error.message,document.querySelector("#errors").hidden=!1):(document.querySelector('input[name="gateway_response"]').value=JSON.stringify(e.paymentIntent),document.getElementById("server-response").submit())})):(document.querySelector('input[name="gateway_response"]').value=JSON.stringify(r.paymentIntent),document.getElementById("server-response").submit()))}))}))}},{key:"handle",value:function(){var e=this;this.init().createPaymentRequest().createPaymentRequestButton(),this.paymentRequest.canMakePayment().then((function(t){var n;if(t)return e.paymentRequestButton.mount("#payment-request-button");document.querySelector("#errors").innerHTML=JSON.parse(null===(n=document.querySelector("meta[name=no-available-methods]"))||void 0===n?void 0:n.content),document.querySelector("#errors").hidden=!1})),this.handlePaymentRequestEvents(this.stripe,this.clientSecret)}}])&&e(n.prototype,r),o&&e(n,o),t}())).handle()})();
|
(()=>{function e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,r.key,r)}}(new(function(){function t(){var e;!function(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}(this,t),this.clientSecret=null===(e=document.querySelector("meta[name=stripe-pi-client-secret]"))||void 0===e?void 0:e.content}var n,r,o;return n=t,(r=[{key:"init",value:function(){var e,t,n={};return document.querySelector("meta[name=stripe-account-id]")&&(n.apiVersion="2020-08-27",n.stripeAccount=null===(t=document.querySelector("meta[name=stripe-account-id]"))||void 0===t?void 0:t.content),this.stripe=Stripe(null===(e=document.querySelector("meta[name=stripe-publishable-key]"))||void 0===e?void 0:e.content,n),this.elements=this.stripe.elements(),this}},{key:"createPaymentRequest",value:function(){return this.paymentRequest=this.stripe.paymentRequest(JSON.parse(document.querySelector("meta[name=payment-request-data").content)),this}},{key:"createPaymentRequestButton",value:function(){this.paymentRequestButton=this.elements.create("paymentRequestButton",{paymentRequest:this.paymentRequest})}},{key:"handlePaymentRequestEvents",value:function(e,t){document.querySelector("#errors").hidden=!0,this.paymentRequest.on("paymentmethod",(function(n){e.confirmCardPayment(t,{payment_method:n.paymentMethod.id},{handleActions:!1}).then((function(r){r.error?(document.querySelector("#errors").innerText=r.error.message,document.querySelector("#errors").hidden=!1,n.complete("fail")):(n.complete("success"),"requires_action"===r.paymentIntent.status?e.confirmCardPayment(t).then((function(e){e.error?(n.complete("fail"),document.querySelector("#errors").innerText=e.error.message,document.querySelector("#errors").hidden=!1):(document.querySelector('input[name="gateway_response"]').value=JSON.stringify(e.paymentIntent),document.getElementById("server-response").submit())})):(document.querySelector('input[name="gateway_response"]').value=JSON.stringify(r.paymentIntent),document.getElementById("server-response").submit()))}))}))}},{key:"handle",value:function(){var e=this;this.init().createPaymentRequest().createPaymentRequestButton(),this.paymentRequest.canMakePayment().then((function(t){var n;if(t)return e.paymentRequestButton.mount("#payment-request-button");document.querySelector("#errors").innerHTML=JSON.parse(null===(n=document.querySelector("meta[name=no-available-methods]"))||void 0===n?void 0:n.content),document.querySelector("#errors").hidden=!1})),this.handlePaymentRequestEvents(this.stripe,this.clientSecret)}}])&&e(n.prototype,r),o&&e(n,o),t}())).handle()})();
|
@ -36,9 +36,9 @@
|
|||||||
"/js/clients/payments/stripe-eps.js": "/js/clients/payments/stripe-eps.js?id=6bed81ba3f73a695de95",
|
"/js/clients/payments/stripe-eps.js": "/js/clients/payments/stripe-eps.js?id=6bed81ba3f73a695de95",
|
||||||
"/js/clients/payments/stripe-ideal.js": "/js/clients/payments/stripe-ideal.js?id=188426574f27660936e2",
|
"/js/clients/payments/stripe-ideal.js": "/js/clients/payments/stripe-ideal.js?id=188426574f27660936e2",
|
||||||
"/js/clients/payments/stripe-przelewy24.js": "/js/clients/payments/stripe-przelewy24.js?id=e240b907ad163cac04c0",
|
"/js/clients/payments/stripe-przelewy24.js": "/js/clients/payments/stripe-przelewy24.js?id=e240b907ad163cac04c0",
|
||||||
"/js/clients/payments/stripe-browserpay.js": "/js/clients/payments/stripe-browserpay.js?id=71e49866d66a6d85b88a",
|
"/js/clients/payments/stripe-browserpay.js": "/js/clients/payments/stripe-browserpay.js?id=1e6e12709a43473e4406",
|
||||||
"/js/clients/payments/stripe-fpx.js": "/js/clients/payments/stripe-fpx.js?id=765874308d4374726b25",
|
"/js/clients/payments/stripe-fpx.js": "/js/clients/payments/stripe-fpx.js?id=765874308d4374726b25",
|
||||||
"/css/app.css": "/css/app.css?id=3e08340d820da80e900b",
|
"/css/app.css": "/css/app.css?id=1347051cc03a8dd2a17c",
|
||||||
"/css/card-js.min.css": "/css/card-js.min.css?id=62afeb675235451543ad",
|
"/css/card-js.min.css": "/css/card-js.min.css?id=62afeb675235451543ad",
|
||||||
"/vendor/clipboard.min.js": "/vendor/clipboard.min.js?id=ad98572d415d2f245284"
|
"/vendor/clipboard.min.js": "/vendor/clipboard.min.js?id=ad98572d415d2f245284"
|
||||||
}
|
}
|
||||||
|
@ -68,12 +68,12 @@ class StripeBrowserPay {
|
|||||||
)
|
)
|
||||||
.then(function (confirmResult) {
|
.then(function (confirmResult) {
|
||||||
if (confirmResult.error) {
|
if (confirmResult.error) {
|
||||||
ev.complete('fail');
|
|
||||||
|
|
||||||
document.querySelector('#errors').innerText =
|
document.querySelector('#errors').innerText =
|
||||||
confirmResult.error.message;
|
confirmResult.error.message;
|
||||||
|
|
||||||
document.querySelector('#errors').hidden = false;
|
document.querySelector('#errors').hidden = false;
|
||||||
|
|
||||||
|
ev.complete('fail');
|
||||||
} else {
|
} else {
|
||||||
ev.complete('success');
|
ev.complete('success');
|
||||||
|
|
||||||
|
@ -2,7 +2,6 @@
|
|||||||
$primary_color = isset($settings) ? $settings->primary_color : '#4caf50';
|
$primary_color = isset($settings) ? $settings->primary_color : '#4caf50';
|
||||||
@endphp
|
@endphp
|
||||||
|
|
||||||
|
|
||||||
<!DOCTYPE html
|
<!DOCTYPE html
|
||||||
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
|
||||||
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
<html xmlns="http://www.w3.org/1999/xhtml" lang="en-US">
|
||||||
@ -23,41 +22,7 @@
|
|||||||
supported-color-schemes: light dark;
|
supported-color-schemes: light dark;
|
||||||
}
|
}
|
||||||
|
|
||||||
@if(isset($settings) && $settings->email_style === 'dark')
|
@media screen and (prefers-color-scheme: light ) {
|
||||||
body {
|
|
||||||
background-color: #1a1a1a !important;
|
|
||||||
color: #ffffff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
div, tr, td {
|
|
||||||
border-color: #222222 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
h1, h2, h3, p, td {
|
|
||||||
color: #ffffff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
p {
|
|
||||||
color: #bbbbbc !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark-bg-base {
|
|
||||||
background-color: #222222 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark-bg {
|
|
||||||
background-color: #3a3a3c !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
.dark-text-white p {
|
|
||||||
color: #ffffff !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
hr {
|
|
||||||
border-color: #474849 !important;
|
|
||||||
}
|
|
||||||
|
|
||||||
@endif
|
|
||||||
|
|
||||||
/** Content-specific styles. **/
|
/** Content-specific styles. **/
|
||||||
#content .button {
|
#content .button {
|
||||||
@ -94,42 +59,169 @@
|
|||||||
#content .left {
|
#content .left {
|
||||||
text-align: left !important;
|
text-align: left !important;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
.body_style {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: 'roboto', Arial, Helvetica, sans-serif;
|
||||||
|
color: #3b3b3b;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-container {
|
||||||
|
border: 1px solid #c2c2c2;
|
||||||
|
border-bottom: none;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
border-top-left-radius: 3px;
|
||||||
|
border-top-right-radius: 3px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.logo-style {
|
||||||
|
margin-top: 40px;
|
||||||
|
height: 40px;
|
||||||
|
display: block;
|
||||||
|
margin-left: auto;
|
||||||
|
margin-right: auto;
|
||||||
|
}
|
||||||
|
|
||||||
|
.buffer {
|
||||||
|
text-align: center;
|
||||||
|
margin-top: 25px;
|
||||||
|
margin-bottom: 10px;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content {
|
||||||
|
border: 1px solid #c2c2c2;
|
||||||
|
border-top: none;
|
||||||
|
border-bottom: none;
|
||||||
|
padding: 20px;
|
||||||
|
text-align: center;
|
||||||
|
}
|
||||||
|
|
||||||
|
.link-button {
|
||||||
|
display: inline-block;
|
||||||
|
background-color: {{ $primary_color }};
|
||||||
|
color: #ffffff;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 13px;
|
||||||
|
font-weight: 600;
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature_container {
|
||||||
|
text-align: center;
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 25px;
|
||||||
|
background-color: #f9f9f9;
|
||||||
|
border: 1px solid #c2c2c2;
|
||||||
|
border-top: none;
|
||||||
|
border-bottom-color: #f9f9f9;
|
||||||
|
}
|
||||||
|
|
||||||
|
.signature {
|
||||||
|
font-size: 15px;
|
||||||
|
color: #2e2e2e;
|
||||||
|
font-family: 'roboto', Arial, Helvetica, sans-serif;
|
||||||
|
font-weight: 400;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
.footer {
|
||||||
|
padding-top: 10px;
|
||||||
|
padding-bottom: 10px;
|
||||||
|
background-color: #242424;
|
||||||
|
border: 1px solid #c2c2c2;
|
||||||
|
border-top-color: #242424;
|
||||||
|
border-bottom-color: #242424;
|
||||||
|
}
|
||||||
|
|
||||||
|
.copyright {
|
||||||
|
text-align: center;
|
||||||
|
color: #ffffff;
|
||||||
|
font-size: 10px;
|
||||||
|
font-family: Verdana, Geneva, Tahoma, sans-serif;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark-bg-base {
|
||||||
|
background-color: #242424 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark-bg {
|
||||||
|
background-color: #242424 !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
|
@media screen and (prefers-color-scheme: dark ) {
|
||||||
|
|
||||||
|
:root {
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.body-style {
|
||||||
|
margin: 0;
|
||||||
|
padding: 0;
|
||||||
|
font-family: 'roboto', Arial, Helvetica, sans-serif;
|
||||||
|
color: #3b3b3b;
|
||||||
|
-webkit-font-smoothing: antialiased;
|
||||||
|
-moz-osx-font-smoothing: grayscale;
|
||||||
|
background-color: #fff;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark-bg-base {
|
||||||
|
background-color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
.dark-bg {
|
||||||
|
background-color: #fff !important;
|
||||||
|
}
|
||||||
|
|
||||||
|
#content .button {
|
||||||
|
display: inline-block;
|
||||||
|
background-color: {{ $primary_color }};
|
||||||
|
color: #ffffff;
|
||||||
|
text-transform: uppercase;
|
||||||
|
letter-spacing: 2px;
|
||||||
|
text-decoration: none;
|
||||||
|
font-size: 13px;
|
||||||
|
padding: 15px 50px;
|
||||||
|
font-weight: 600;
|
||||||
|
margin-bottom: 30px;
|
||||||
|
}
|
||||||
|
|
||||||
|
}
|
||||||
|
|
||||||
</style>
|
</style>
|
||||||
</head>
|
</head>
|
||||||
|
|
||||||
<body
|
<body class="body-style">
|
||||||
style="margin: 0; padding: 0; font-family: 'roboto', Arial, Helvetica, sans-serif; color: #3b3b3b;-webkit-font-smoothing: antialiased; -moz-osx-font-smoothing: grayscale;">
|
|
||||||
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
|
<table role="presentation" border="0" cellpadding="0" cellspacing="0" width="100%">
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570"
|
<table align="center" border="0" cellpadding="0" cellspacing="0" width="570" style="border-collapse: collapse;" class="dark-bg-base">
|
||||||
style="border-collapse: collapse;" class="dark-bg-base">
|
|
||||||
<tr>
|
<tr>
|
||||||
<div style="text-align: center;margin-top: 25px; margin-bottom: 10px;"></div>
|
<div class="buffer"></div>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div
|
<div class="logo-container">
|
||||||
style="border: 1px solid #c2c2c2; border-bottom: none; padding-bottom: 10px; border-top-left-radius: 3px; border-top-right-radius: 3px;">
|
|
||||||
|
|
||||||
<img
|
<img class="logo-style" alt="" src="{{ $logo ?? '' }}"/>
|
||||||
style="margin-top: 40px; height: 40px; display: block; margin-left: auto; margin-right: auto;"
|
|
||||||
alt=""
|
|
||||||
src="{{ $logo ?? '' }}"/>
|
|
||||||
</div>
|
</div>
|
||||||
</td>
|
</td>
|
||||||
</tr>
|
</tr>
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div style="border: 1px solid #c2c2c2; border-top: none; border-bottom: none; padding: 20px; text-align: center" id="content">
|
<div id="content">
|
||||||
<div style="padding-top: 10px;"></div>
|
<div style="padding-top: 10px;"></div>
|
||||||
|
|
||||||
{{ $slot ?? '' }}
|
{{ $slot ?? '' }}
|
||||||
{!! $body ?? '' !!}
|
{!! $body ?? '' !!}
|
||||||
|
|
||||||
<div>
|
<div>
|
||||||
<a href="#"
|
<a href="#" class="link-button">
|
||||||
style="display: inline-block;background-color: {{ $primary_color }}; color: #ffffff; text-transform: uppercase;letter-spacing: 2px; text-decoration: none; font-size: 13px; font-weight: 600;">
|
|
||||||
</a>
|
</a>
|
||||||
</div>
|
</div>
|
||||||
</div>
|
</div>
|
||||||
@ -138,18 +230,17 @@
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="dark-bg dark-text-white"
|
<div class="dark-bg dark-text-white signature_container" >
|
||||||
style="text-align: center; padding-top: 10px; padding-bottom: 25px; background-color: #f9f9f9; border: 1px solid #c2c2c2; border-top: none; border-bottom-color: #f9f9f9;">
|
|
||||||
@isset($signature)
|
@isset($signature)
|
||||||
<p style="font-size: 15px; color: #2e2e2e; font-family: 'roboto', Arial, Helvetica, sans-serif; font-weight: 400; margin-bottom: 30px;">
|
<p class="signature">
|
||||||
{!! nl2br($signature) !!}
|
{!! nl2br($signature) !!}
|
||||||
</p>
|
</p>
|
||||||
@endisset
|
@endisset
|
||||||
|
|
||||||
@if(isset($company) && $company instanceof \App\Models\Company)
|
@if(isset($company) && $company instanceof \App\Models\Company)
|
||||||
<p style="font-size: 15px; color: #2e2e2e; font-family: 'roboto', Arial, Helvetica, sans-serif; font-weight: 500; margin-bottom:0;">
|
<p class="signature" style="margin-bottom:0;">
|
||||||
{{ $company->present()->name() }}</p>
|
{{ $company->present()->name() }}</p>
|
||||||
<p style="font-size: 15px; color: #2e2e2e; font-family: 'roboto', Arial, Helvetica, sans-serif; font-weight: 400; margin-top: 5px;">
|
<p class="signature" style="margin-top: 5px;">
|
||||||
<span>{{ $company->settings->phone }}</span>
|
<span>{{ $company->settings->phone }}</span>
|
||||||
<span style="font-weight: 500"> {{ $company->settings->website }}</span>
|
<span style="font-weight: 500"> {{ $company->settings->website }}</span>
|
||||||
</p>
|
</p>
|
||||||
@ -160,19 +251,17 @@
|
|||||||
|
|
||||||
<tr>
|
<tr>
|
||||||
<td>
|
<td>
|
||||||
<div class="dark-bg-base"
|
<div class="dark-bg-base footer">
|
||||||
style="padding-top: 10px;padding-bottom: 10px; background-color: #242424; border: 1px solid #c2c2c2; border-top-color: #242424; border-bottom-color: #242424;">
|
|
||||||
@if(isset($company))
|
@if(isset($company))
|
||||||
@if($company->account->isPaid())
|
@if($company->account->isPaid())
|
||||||
<p style="text-align: center; color: #ffffff; font-size: 10px;
|
<p class="copyright">© {{ date('Y') }} {{ $company->present()->name() }}, All Rights Reserved</p>
|
||||||
font-family: Verdana, Geneva, Tahoma, sans-serif;">© {{ date('Y') }} {{ $company->present()->name() }}, All Rights Reserved</p>
|
|
||||||
@else
|
@else
|
||||||
<p style="text-align: center; color: #ffffff; font-size: 10px; font-family: Verdana, Geneva, Tahoma, sans-serif;">
|
<p class="copyright">
|
||||||
© {{ date('Y') }} Invoice Ninja, All Rights Reserved
|
© {{ date('Y') }} Invoice Ninja, All Rights Reserved
|
||||||
</p>
|
</p>
|
||||||
@endif
|
@endif
|
||||||
@else
|
@else
|
||||||
<p style="text-align: center; color: #ffffff; font-size: 10px; font-family: Verdana, Geneva, Tahoma, sans-serif;">
|
<p class="copyright">
|
||||||
© {{ date('Y') }} Invoice Ninja, All Rights Reserved
|
© {{ date('Y') }} Invoice Ninja, All Rights Reserved
|
||||||
</p>
|
</p>
|
||||||
@endif
|
@endif
|
||||||
@ -184,5 +273,4 @@
|
|||||||
</tr>
|
</tr>
|
||||||
</table>
|
</table>
|
||||||
</body>
|
</body>
|
||||||
|
|
||||||
</html>
|
</html>
|
||||||
|
Loading…
Reference in New Issue
Block a user