Re: Stripe.com payment integration module
Quote:
Originally Posted by
Gozzandes
I don't actually use this payment module.
Created just for fun. As a result, problem discovery is delayed.
sorry.
Stripe module ver2.1.3 has already been uploaded.
Please wait until it is published.
Thankyou Gozzandes, That edit you specified earlier worked, klarna and clearpay now load, assuming i followed your instructions correctly and did not get slightly confused on deleting items, i do notice the following seems to appear on checkout page flow on my site...
Code:
int(9589) string(1) "0"
unsure if that is stripe module or something site specific but worth mentioning incase you missed it on your test run?
i will keep an eye out for updated module version being published and compare my checkout.js to that to make sure it isn't me getting it wrong and update you if that turns out to be the case
Re: Stripe.com payment integration module
Quote:
Originally Posted by
flappingfish
Thankyou Gozzandes, That edit you specified earlier worked, klarna and clearpay now load, assuming i followed your instructions correctly and did not get slightly confused on deleting items, i do notice the following seems to appear on checkout page flow on my site...
Code:
int(9589) string(1) "0"
unsure if that is stripe module or something site specific but worth mentioning incase you missed it on your test run?
i will keep an eye out for updated module version being published and compare my checkout.js to that to make sure it isn't me getting it wrong and update you if that turns out to be the case
It was actually site specific that other issue, I was trying to get a surcharge on items for I store collection based on value of v_dropship and messed up with syntax it seems lol. Thankyou for the fix :cool:
Re: Stripe.com payment integration module
Still not seeing the published update and i've encountered an issue, not sure if i made a mistake or?? current fault, payment is taken from customers bank account, website displays "payment success!" instead of confirmation order page and order is not registered
Re: Stripe.com payment integration module
Quote:
Originally Posted by
flappingfish
Still not seeing the published update and i've encountered an issue, not sure if i made a mistake or?? current fault, payment is taken from customers bank account, website displays "payment success!" instead of confirmation order page and order is not registered
Please rewrite all the contents of checkout.js to the code below.
Code:
const stripe = Stripe (PublishableKey);
let elements;
initialize();
checkStatus();
document
.querySelector("#payment-form")
.addEventListener("submit", handleSubmit);
// Fetches a payment intent and captures the client secret
async function initialize(){
const { clientSecret } = await clientS;
// const { clientSecret } =await fetch("/create.php", {
// method: "POST",
// headers: { "Content-Type": "application/json" },
// body: JSON.stringify({ items }),
// }).then((r) => r.json());
elements = stripe.elements({ clientSecret });
const paymentElementOptions = {
layout: "tabs",
};
const paymentElement = elements.create("payment", paymentElementOptions);
paymentElement.mount("#payment-element");
}
async function handleSubmit(e) {
e.preventDefault();
setLoading(true);
const response = await stripe.confirmPayment({
elements,
confirmParams: {
},
redirect: 'if_required'
}
)
if (response.error) {
showMessage(response.error.message);
} else {
showMessage(`Payment Succeeded: ${response.paymentIntent.id}`);
document.getElementById("btn_submit").click();
}
setLoading(false);
}
// Fetches the payment intent status after payment submission
async function checkStatus() {
const clientSecret = new URLSearchParams(window.location.search).get(
"payment_intent_client_secret"
);
if (!clientSecret) {
return;
}
const { paymentIntent } = await stripe.retrievePaymentIntent(clientSecret);
switch (paymentIntent.status) {
case "succeeded":
document.getElementById('checkoutConfirmDefaultHeading').textContent = 'Payment succeeded!.';
showMessage("Payment succeeded!");
break;
case "processing":
document.getElementById('checkoutConfirmDefaultHeading').textContent='Your payment is processing.';
showMessage("Your payment is processing.");
break;
case "requires_payment_method":
document.getElementById('checkoutConfirmDefaultHeading').textContent='Your payment was not successful, please try again.';
showMessage("Your payment was not successful, please try again.");
break;
default:
document.getElementById('checkoutConfirmDefaultHeading').textContent='Something went wrong.';
showMessage("Something went wrong.");
break;
}
}
// ------- UI helpers -------
function showMessage(messageText) {
const messageContainer = document.querySelector("#payment-message");
messageContainer.classList.remove("hidden");
messageContainer.textContent = messageText;
setTimeout(function () {
messageContainer.classList.add("hidden");
messageText.textContent = "";
}, 4000);
}
// Show a spinner on payment submission
function setLoading(isLoading) {
if (isLoading) {
// Disable the button and show a spinner
document.querySelector("#submit").disabled = true;
document.querySelector("#spinner").classList.remove("hidden");
document.querySelector("#button-text").classList.add("hidden");
} else {
document.querySelector("#submit").disabled = false;
document.querySelector("#spinner").classList.add("hidden");
document.querySelector("#button-text").classList.remove("hidden");
}
}
Re: Stripe.com payment integration module
Card payments now work but klarna and clearpay ar eback to the same error but this time no confirmed order without a klarna or clearpay pop up but instead a verbose output that says "
You must provide a `return_url` when confirming a PaymentIntent with the payment method type klarna." (same with clearpay)
Also when you do make a card payment the succesful payment id comes up as a verbose above the confirm button, i thought i had to click confirm again there and it let me and then said "unregecognised error" and then loaded the order confirmation page, everything processed as expected though on the card tests in live mode. i'm using 1.58 atm, not sure if that makes a difference to checkout.js file for my site?
Re: Stripe.com payment integration module
Quote:
Originally Posted by
flappingfish
Card payments now work but klarna and clearpay ar eback to the same error but this time no confirmed order without a klarna or clearpay pop up but instead a verbose output that says "
You must provide a `return_url` when confirming a PaymentIntent with the payment method type klarna." (same with clearpay)
Also when you do make a card payment the succesful payment id comes up as a verbose above the confirm button, i thought i had to click confirm again there and it let me and then said "unregecognised error" and then loaded the order confirmation page, everything processed as expected though on the card tests in live mode. i'm using 1.58 atm, not sure if that makes a difference to checkout.js file for my site?
Setting of the return_url is line 44.Could you add "return_url: confirmationURL," before redirect?
Code:
return_url: confirmationURL,
redirect: 'if_required'
Re: Stripe.com payment integration module
Quote:
Originally Posted by
Gozzandes
Setting of the return_url is line 44.Could you add "return_url: confirmationURL," before redirect?
Code:
return_url: confirmationURL,
redirect: 'if_required'
assuming i added that correctly, it did not work and still states i must provide a return url, provided that section so you can confirm if its me...
Code:
async function handleSubmit(e) {
e.preventDefault();
setLoading(true);
const response = await stripe.confirmPayment({
elements,
confirmParams: {
},
return_url: confirmationURL,
redirect: 'if_required'
}
)
if (response.error) {
showMessage(response.error.message);
} else {
showMessage(`Payment Succeeded: ${response.paymentIntent.id}`);
document.getElementById("btn_submit").click();
}
setLoading(false);
}
Re: Stripe.com payment integration module
[QUOTE=flappingfish;1403574]assuming i added that correctly, it did not work and still states i must provide a return url, provided that section so you can confirm if its me...
I'm sorry I made a mistake.
and I cannot check klarna and clearpay payment.
Code:
const response = await stripe.confirmPayment({
elements,
confirmParams: {
return_url: confirmationURL,
},
redirect: 'if_required'
}
)
Re: Stripe.com payment integration module
[QUOTE=Gozzandes;1403575]
Quote:
Originally Posted by
flappingfish
assuming i added that correctly, it did not work and still states i must provide a return url, provided that section so you can confirm if its me...
I'm sorry I made a mistake.
and I cannot check klarna and clearpay payment.
Code:
const response = await stripe.confirmPayment({
elements,
confirmParams: {
return_url: confirmationURL,
},
redirect: 'if_required'
}
)
That did the trick nicely, all working as expected as far as I can test, klarna and clearpay are loading as expected and card payments are working. Will have to wait until someone uses klarna or clearpay to confirm it indeed processes the order correctly upon successful finance application. It has made a big difference to sales already though, every man and his dog knows the name stripe, i think people distrusted the takepayments branded payment module i was using :)
Re: Stripe.com payment integration module
[QUOTE=flappingfish;1403577]
Quote:
Originally Posted by
Gozzandes
That did the trick nicely, all working as expected as far as I can test, klarna and clearpay are loading as expected and card payments are working. Will have to wait until someone uses klarna or clearpay to confirm it indeed processes the order correctly upon successful finance application. It has made a big difference to sales already though, every man and his dog knows the name stripe, i think people distrusted the takepayments branded payment module i was using :)
just had a pair of customers come in and use klarna for instore collection and the payment plans where setup and payment succeeded but it did not then register the payment success and directed to the "payment success" message above the payment form but pressing confirm demands fresh payment, no way to confirm the order after payment success :/