mirror of
https://github.com/invoiceninja/invoiceninja.git
synced 2025-07-09 03:14:30 -04:00
Minor annotations for Stripe SEPA
This commit is contained in:
parent
8268dc332b
commit
59bcd30b77
@ -162,6 +162,22 @@ class SEPA implements LivewireMethodInterface
|
|||||||
$data['country'] = $this->stripe->client->country->iso_3166_2;
|
$data['country'] = $this->stripe->client->country->iso_3166_2;
|
||||||
$data['payment_hash'] = $this->stripe->payment_hash->hash;
|
$data['payment_hash'] = $this->stripe->payment_hash->hash;
|
||||||
|
|
||||||
|
|
||||||
|
/** if the iban and client country don't match (OR UK IBAN) - need to inject billing details also */
|
||||||
|
// $data['billing_details'] = [
|
||||||
|
// 'name' => $this->stripe->client->present()->name(),
|
||||||
|
// 'email' => $this->stripe->client->present()->email(),
|
||||||
|
// 'address' => [
|
||||||
|
// 'line1' => $this->stripe->client->address1 ?? '',
|
||||||
|
// 'line2' => $this->stripe->client->address2 ?? '',
|
||||||
|
// 'city' => $this->stripe->client->city ?? '',
|
||||||
|
// 'state' => $this->stripe->client->state ?? '',
|
||||||
|
// 'postal_code' => $this->stripe->client->postal_code ?? '',
|
||||||
|
// 'country' => $this->stripe->client->country->iso_3166_2 ?? 'DE',
|
||||||
|
// ]
|
||||||
|
// ];
|
||||||
|
|
||||||
|
|
||||||
$intent_data = [
|
$intent_data = [
|
||||||
'amount' => $data['stripe_amount'],
|
'amount' => $data['stripe_amount'],
|
||||||
'currency' => 'eur',
|
'currency' => 'eur',
|
||||||
|
@ -126,8 +126,8 @@ class StripePaymentDriver extends BaseDriver
|
|||||||
);
|
);
|
||||||
|
|
||||||
Stripe::setApiKey($this->company_gateway->getConfigField('apiKey'));
|
Stripe::setApiKey($this->company_gateway->getConfigField('apiKey'));
|
||||||
Stripe::setApiVersion('2022-11-15');
|
// Stripe::setApiVersion('2022-11-15');
|
||||||
// Stripe::setAPiVersion('2023-08-16');
|
Stripe::setAPiVersion('2023-08-16');
|
||||||
}
|
}
|
||||||
|
|
||||||
return $this;
|
return $this;
|
||||||
|
109
public/build/assets/app-234e3402.js
vendored
109
public/build/assets/app-234e3402.js
vendored
File diff suppressed because one or more lines are too long
1
public/build/assets/app-4e969b65.css
vendored
1
public/build/assets/app-4e969b65.css
vendored
File diff suppressed because one or more lines are too long
@ -1,9 +0,0 @@
|
|||||||
var o=Object.defineProperty;var l=(n,e,t)=>e in n?o(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var d=(n,e,t)=>(l(n,typeof e!="symbol"?e+"":e,t),t);/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://opensource.org/licenses/AAL
|
|
||||||
*/class c{constructor(e){d(this,"handleAuthorization",()=>{var e=$("#my-card"),t={api_login_id:this.apiLoginId,card_number:e.CardJs("cardNumber").replace(/[^\d]/g,""),expire_year:e.CardJs("expiryYear").replace(/[^\d]/g,""),expire_month:e.CardJs("expiryMonth").replace(/[^\d]/g,""),cvv:document.getElementById("cvv").value.replace(/[^\d]/g,"")};return document.getElementById("pay-now")&&(document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden")),forte.createToken(t).success(this.successResponseHandler).error(this.failedResponseHandler),!1});d(this,"successResponseHandler",e=>{document.getElementById("payment_token").value=e.onetime_token,document.getElementById("card_brand").value=e.card_brand,document.getElementById("expire_year").value=e.expire_year,document.getElementById("expire_month").value=e.expire_month,document.getElementById("last_4").value=e.last_4;let t=document.querySelector("input[name=token-billing-checkbox]:checked");return t&&(document.getElementById("store_card").value=t.value),document.getElementById("server_response").submit(),!1});d(this,"failedResponseHandler",e=>{var t='<div class="alert alert-failure mb-4"><ul><li>'+e.response_description+"</li></ul></div>";return document.getElementById("forte_errors").innerHTML=t,document.getElementById("pay-now").disabled=!1,document.querySelector("#pay-now > svg").classList.add("hidden"),document.querySelector("#pay-now > span").classList.remove("hidden"),!1});d(this,"handle",()=>{Array.from(document.getElementsByClassName("toggle-payment-with-token")).forEach(r=>r.addEventListener("click",a=>{document.getElementById("save-card--container").style.display="none",document.getElementById("forte--credit-card-container").style.display="none",document.getElementById("token").value=a.target.dataset.token}));let e=document.getElementById("toggle-payment-with-credit-card");e&&e.addEventListener("click",()=>{document.getElementById("save-card--container").style.display="grid",document.getElementById("forte--credit-card-container").style.display="flex",document.getElementById("token").value=null});let t=document.getElementById("pay-now");return t&&t.addEventListener("click",r=>{let a=document.getElementById("token");a.value?this.handlePayNowAction(a.value):this.handleAuthorization()}),this});this.apiLoginId=e,this.cardHolderName=document.getElementById("cardholder_name")}handlePayNowAction(e){document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden"),document.getElementById("token").value=e,document.getElementById("server_response").submit()}}const i=document.querySelector('meta[name="forte-api-login-id"]').content;new c(i).handle();
|
|
@ -1,9 +0,0 @@
|
|||||||
var c=Object.defineProperty;var l=(n,e,t)=>e in n?c(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var a=(n,e,t)=>(l(n,typeof e!="symbol"?e+"":e,t),t);import{i as u,w as m}from"./wait-8f4ae121.js";/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://opensource.org/licenses/AAL
|
|
||||||
*/class p{constructor(e){a(this,"handleAuthorization",()=>{var r,d,o,s;const e={api_login_id:this.apiLoginId,card_number:(r=this.sc.value("number"))==null?void 0:r.replace(/[^\d]/g,""),expire_year:`20${(d=this.sc.value("year"))==null?void 0:d.replace(/[^\d]/g,"")}`,expire_month:(o=this.sc.value("month"))==null?void 0:o.replace(/[^\d]/g,""),cvv:(s=this.sc.value("cvv"))==null?void 0:s.replace(/[^\d]/g,"")};return document.getElementById("pay-now")&&(document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden")),forte.createToken(e).success(this.successResponseHandler).error(this.failedResponseHandler),!1});a(this,"successResponseHandler",e=>(document.getElementById("payment_token").value=e.onetime_token,document.getElementById("card_brand").value=e.card_type,document.getElementById("server_response").submit(),!1));a(this,"failedResponseHandler",e=>{var t='<div class="alert alert-failure mb-4"><ul><li>'+e.response_description+"</li></ul></div>";return document.getElementById("forte_errors").innerHTML=t,document.getElementById("pay-now").disabled=!1,document.querySelector("#pay-now > svg").classList.add("hidden"),document.querySelector("#pay-now > span").classList.remove("hidden"),!1});a(this,"handle",()=>{let e=document.getElementById("pay-now");return e&&e.addEventListener("click",t=>{this.handleAuthorization()}),this});this.apiLoginId=e,this.cardHolderName=document.getElementById("cardholder_name"),this.sc=createSimpleCard({fields:{card:{number:"#number",date:"#date",cvv:"#cvv"}}}),this.sc.mount()}}function i(){const n=document.querySelector('meta[name="forte-api-login-id"]').content;new p(n).handle()}u()?i():m("#forte-credit-card-payment").then(()=>i());
|
|
9
public/build/assets/stripe-sepa-9ab85221.js
vendored
9
public/build/assets/stripe-sepa-9ab85221.js
vendored
@ -1,9 +0,0 @@
|
|||||||
var s=Object.defineProperty;var c=(a,e,t)=>e in a?s(a,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):a[e]=t;var o=(a,e,t)=>(c(a,typeof e!="symbol"?e+"":e,t),t);import{i,w as l}from"./wait-8f4ae121.js";/**
|
|
||||||
* Invoice Ninja (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @link https://github.com/invoiceninja/invoiceninja source repository
|
|
||||||
*
|
|
||||||
* @copyright Copyright (c) 2021. Invoice Ninja LLC (https://invoiceninja.com)
|
|
||||||
*
|
|
||||||
* @license https://www.elastic.co/licensing/elastic-license
|
|
||||||
*/class d{constructor(e,t){o(this,"setupStripe",()=>{this.stripeConnect?this.stripe=Stripe(this.key,{stripeAccount:this.stripeConnect}):this.stripe=Stripe(this.key);const e=this.stripe.elements();var t={base:{color:"#32325d",fontFamily:'-apple-system, BlinkMacSystemFont, "Segoe UI", Roboto, Helvetica, Arial, sans-serif',fontSmoothing:"antialiased",fontSize:"16px","::placeholder":{color:"#aab7c4"},":-webkit-autofill":{color:"#32325d"}},invalid:{color:"#fa755a",iconColor:"#fa755a",":-webkit-autofill":{color:"#fa755a"}}},n={style:t,supportedCountries:["SEPA"],placeholderCountry:document.querySelector('meta[name="country"]').content};return this.iban=e.create("iban",n),this.iban.mount("#sepa-iban"),document.getElementById("sepa-name").value=document.querySelector("meta[name=client_name]").content,document.getElementById("sepa-email-address").value=document.querySelector("meta[name=client_email]").content,this});o(this,"handle",()=>{let e=document.getElementById("errors");Array.from(document.getElementsByClassName("toggle-payment-with-token")).forEach(t=>t.addEventListener("click",n=>{document.getElementById("stripe--payment-container").classList.add("hidden"),document.getElementById("save-card--container").style.display="none",document.querySelector("input[name=token]").value=n.target.dataset.token})),document.getElementById("toggle-payment-with-new-bank-account").addEventListener("click",t=>{document.getElementById("stripe--payment-container").classList.remove("hidden"),document.getElementById("save-card--container").style.display="grid",document.querySelector("input[name=token]").value=""}),document.getElementById("pay-now").addEventListener("click",t=>{if(document.querySelector("input[name=token]").value.length!==0)document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden"),this.stripe.confirmSepaDebitPayment(document.querySelector("meta[name=pi-client-secret").content,{payment_method:document.querySelector("input[name=token]").value}).then(n=>n.error?this.handleFailure(n.error.message):this.handleSuccess(n));else{if(document.getElementById("sepa-name").value===""){document.getElementById("sepa-name").focus(),e.textContent=document.querySelector("meta[name=translation-name-required]").content,e.hidden=!1;return}if(document.getElementById("sepa-email-address").value===""){document.getElementById("sepa-email-address").focus(),e.textContent=document.querySelector("meta[name=translation-email-required]").content,e.hidden=!1;return}if(!document.getElementById("sepa-mandate-acceptance").checked){e.textContent=document.querySelector("meta[name=translation-terms-required]").content,e.hidden=!1;return}document.getElementById("pay-now").disabled=!0,document.querySelector("#pay-now > svg").classList.remove("hidden"),document.querySelector("#pay-now > span").classList.add("hidden"),this.stripe.confirmSepaDebitPayment(document.querySelector("meta[name=pi-client-secret").content,{payment_method:{sepa_debit:this.iban,billing_details:{name:document.getElementById("sepa-name").value,email:document.getElementById("sepa-email-address").value}}}).then(n=>n.error?this.handleFailure(n.error.message):this.handleSuccess(n))}})});this.key=e,this.errors=document.getElementById("errors"),this.stripeConnect=t}handleSuccess(e){document.querySelector('input[name="gateway_response"]').value=JSON.stringify(e.paymentIntent);let t=document.querySelector('input[name="token-billing-checkbox"]:checked');t&&(document.querySelector('input[name="store_card"]').value=t.value),document.querySelector("input[name=token]").value.length>2&&(document.querySelector('input[name="store_card"]').value=!1),document.getElementById("server-response").submit()}handleFailure(e){let t=document.getElementById("errors");t.textContent="",t.textContent=e,t.hidden=!1,document.getElementById("pay-now").disabled=!1,document.querySelector("#pay-now > svg").classList.add("hidden"),document.querySelector("#pay-now > span").classList.remove("hidden")}handleSuccess(e){document.querySelector('input[name="gateway_response"]').value=JSON.stringify(e.paymentIntent);let t=document.querySelector('input[name="token-billing-checkbox"]:checked');t&&(document.querySelector('input[name="store_card"]').value=t.value),document.getElementById("server-response").submit()}}function r(){var t,n;const a=((t=document.querySelector('meta[name="stripe-publishable-key"]'))==null?void 0:t.content)??"",e=((n=document.querySelector('meta[name="stripe-account-id"]'))==null?void 0:n.content)??"";new d(a,e).setupStripe().handle()}i()?r():l("#stripe-sepa-payment").then(()=>r());
|
|
@ -12,7 +12,7 @@
|
|||||||
"file": "assets/wait-8f4ae121.js"
|
"file": "assets/wait-8f4ae121.js"
|
||||||
},
|
},
|
||||||
"resources/js/app.js": {
|
"resources/js/app.js": {
|
||||||
"file": "assets/app-234e3402.js",
|
"file": "assets/app-e0713224.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_index-08e160a7.js",
|
"_index-08e160a7.js",
|
||||||
"__commonjsHelpers-725317a4.js"
|
"__commonjsHelpers-725317a4.js"
|
||||||
@ -115,26 +115,10 @@
|
|||||||
"src": "resources/js/clients/payments/forte-ach-payment.js"
|
"src": "resources/js/clients/payments/forte-ach-payment.js"
|
||||||
},
|
},
|
||||||
"resources/js/clients/payments/forte-credit-card-payment.js": {
|
"resources/js/clients/payments/forte-credit-card-payment.js": {
|
||||||
<<<<<<< HEAD
|
"file": "assets/forte-credit-card-payment-fc1b837a.js",
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
"file": "assets/forte-credit-card-payment-7bb15431.js",
|
|
||||||
=======
|
|
||||||
"file": "assets/forte-credit-card-payment-3ff75b59.js",
|
|
||||||
=======
|
|
||||||
"file": "assets/forte-credit-card-payment-5485d5f0.js",
|
|
||||||
>>>>>>> 044b4bce72 (Fixes for Forte & Authorize.net (#83))
|
|
||||||
=======
|
|
||||||
"file": "assets/forte-credit-card-payment-3ff75b59.js",
|
|
||||||
>>>>>>> 3d69a0b88c (Apply Livewire patch to load assets async (#85))
|
|
||||||
=======
|
|
||||||
"file": "assets/forte-credit-card-payment-ea7d8632.js",
|
|
||||||
>>>>>>> 48fdf6a85c (New payment flow: Various fixes (#89))
|
|
||||||
"imports": [
|
"imports": [
|
||||||
"_wait-8f4ae121.js"
|
"_wait-8f4ae121.js"
|
||||||
],
|
],
|
||||||
>>>>>>> fb57d4d9de (Improve new flow)
|
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
"src": "resources/js/clients/payments/forte-credit-card-payment.js"
|
"src": "resources/js/clients/payments/forte-credit-card-payment.js"
|
||||||
},
|
},
|
||||||
@ -296,7 +280,7 @@
|
|||||||
"src": "resources/js/clients/payments/stripe-przelewy24.js"
|
"src": "resources/js/clients/payments/stripe-przelewy24.js"
|
||||||
},
|
},
|
||||||
"resources/js/clients/payments/stripe-sepa.js": {
|
"resources/js/clients/payments/stripe-sepa.js": {
|
||||||
"file": "assets/stripe-sepa-9ab85221.js",
|
"file": "assets/stripe-sepa-45ce1293.js",
|
||||||
"imports": [
|
"imports": [
|
||||||
"_wait-8f4ae121.js"
|
"_wait-8f4ae121.js"
|
||||||
],
|
],
|
||||||
@ -361,55 +345,7 @@
|
|||||||
"src": "resources/js/setup/setup.js"
|
"src": "resources/js/setup/setup.js"
|
||||||
},
|
},
|
||||||
"resources/sass/app.scss": {
|
"resources/sass/app.scss": {
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
<<<<<<< HEAD
|
|
||||||
"file": "assets/app-fee1da41.css",
|
"file": "assets/app-fee1da41.css",
|
||||||
=======
|
|
||||||
"file": "assets/app-8e387ada.css",
|
|
||||||
>>>>>>> 3e760e6cc6 (New payment flow)
|
|
||||||
=======
|
|
||||||
"file": "assets/app-26306e87.css",
|
|
||||||
>>>>>>> c315911da4 (Payment float)
|
|
||||||
=======
|
|
||||||
"file": "assets/app-4cad835a.css",
|
|
||||||
>>>>>>> fd7c28880c (Payment methods)
|
|
||||||
=======
|
|
||||||
"file": "assets/app-8544e4cc.css",
|
|
||||||
>>>>>>> c7cc0e084f (updates for html invoice layout)
|
|
||||||
=======
|
|
||||||
"file": "assets/app-608daae2.css",
|
|
||||||
>>>>>>> 2a1947ea6e (New payment flow (#64))
|
|
||||||
=======
|
|
||||||
"file": "assets/app-4e969b65.css",
|
|
||||||
>>>>>>> 05d7211c4c (PayPal: New payment flow (#81))
|
|
||||||
=======
|
|
||||||
"file": "assets/app-15411b02.css",
|
|
||||||
>>>>>>> fba29de459 (New payment flow: Various fixes (#88))
|
|
||||||
=======
|
|
||||||
"file": "assets/app-4e969b65.css",
|
|
||||||
>>>>>>> 48fdf6a85c (New payment flow: Various fixes (#89))
|
|
||||||
=======
|
|
||||||
"file": "assets/app-15411b02.css",
|
|
||||||
>>>>>>> f77bfe2bc7 (Fixes for required fields for paytrace)
|
|
||||||
=======
|
|
||||||
"file": "assets/app-4e969b65.css",
|
|
||||||
>>>>>>> 9c4462d534 (New payment flow: Masking with blank space (#94))
|
|
||||||
=======
|
|
||||||
"file": "assets/app-15411b02.css",
|
|
||||||
>>>>>>> 11d32d2569 (Fixes for namespace)
|
|
||||||
=======
|
|
||||||
"file": "assets/app-4e969b65.css",
|
|
||||||
>>>>>>> 0695e5bfc1 (Authorize.net: Upgrade authorize to use Simple Card (#95))
|
|
||||||
"isEntry": true,
|
"isEntry": true,
|
||||||
"src": "resources/sass/app.scss"
|
"src": "resources/sass/app.scss"
|
||||||
}
|
}
|
||||||
|
3
resources/js/clients/payments/stripe-sepa.js
vendored
3
resources/js/clients/payments/stripe-sepa.js
vendored
@ -149,13 +149,10 @@ class ProcessSEPA {
|
|||||||
return;
|
return;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
||||||
document.getElementById('pay-now').disabled = true;
|
document.getElementById('pay-now').disabled = true;
|
||||||
document.querySelector('#pay-now > svg').classList.remove('hidden');
|
document.querySelector('#pay-now > svg').classList.remove('hidden');
|
||||||
document.querySelector('#pay-now > span').classList.add('hidden');
|
document.querySelector('#pay-now > span').classList.add('hidden');
|
||||||
|
|
||||||
|
|
||||||
|
|
||||||
this.stripe
|
this.stripe
|
||||||
.confirmSepaDebitPayment(
|
.confirmSepaDebitPayment(
|
||||||
document.querySelector('meta[name=pi-client-secret')
|
document.querySelector('meta[name=pi-client-secret')
|
||||||
|
Loading…
x
Reference in New Issue
Block a user