#alex_unexpected

1 messages ¡ Page 1 of 1 (latest)

severe notchBOT
#

👋 Welcome to your new thread!

⏲️ We'll be here soon! Typically we respond in a few minutes, but sometimes we might take a bit longer if the server is busy or if you have a particularly tricky question.

⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can always start a new thread if you have another question.

🔗 This thread will always be available, even after it's closed. You can find it again using Discord's search, or you can save this link: https://discord.com/channels/841573134531821608/1305856130022510683

📝 Have more to share? Add more details, code, screenshots, videos, etc. below.

cedar hatch
#

hi! not aware of any problem/outage no. Do you have more details like code/a simple page to repro the problem?

cedar hatch
#

I'm not seeing Google Pay as an option.

proven mortar
#

can you send me an screenshot please

cedar hatch
#

never mind, problem on my end

proven mortar
#

ok go to the browser - > applications choose right domain and try to find ab_test_checkout_type cookie

cedar hatch
#

looking at it now

proven mortar
#

set it too the value new

#

you'll see a new version of our checkout page and Google pay as well

cedar hatch
#

please share the exact code you're using to mount the element and confirm the payment

#

I tried to pay and you clearly have a bug and there's a console warning that indiciates it

[Stripe.js] Timed out waiting for a call to complete(). Once you have processed the payment in the "paymentmethod" handler, you must call event.complete within 30 seconds.
proven mortar
#

ok give me e few minutes please

#

//create paymentRequest
paymentRequest = await this.stripeApi.paymentRequest({
country: 'ES',
currency: this.order.currency.toLowerCase(),
total: {
label: this.performance.name,
amount: this.walletAmount,
},
requestPayerName: true,
requestPayerEmail: true,
});

// show google pay modal
startPayment() {
if (this.pending) {
return;
}
this.paymentRequest.show();

this.pending = true;

this.paymentRequest.on('cancel', () => {
this.pending = false;
});

gtmService.checkoutPayButtonClicked(this.paymentMethod);
},

this.paymentRequest.on('paymentmethod', this.handlerPaymentmethod);

handlerPaymentmethod(ev) {
if (this.pending) {
return;
}

this.pending = true;
this.$emit('openModalPendingPurchase');

const { paymentMethod } = ev;

const cardInfo = {
last4: paymentMethod.card.last4 || null,
last6: null,
address_line1_check: paymentMethod.card.address_line1_check || null,
address_line2_check: paymentMethod.card.address_line2_check || null,
stripe_address_zip_check: paymentMethod.card.address_zip_check || null,
cvc: '',
cvc_check: paymentMethod.card.cvc_check || null,
brand: paymentMethod.card.brand || null,
stripeToken: paymentMethod.id,
card: null,
couponCode: this.order.couponCode || null,
subType: this.paymentRequest._buttonTypeName.toLowerCase(),
};

this.confirmPayment(cardInfo)
.then(response => {
return this.reservePayment(response);
})
.then(response => {
return this.processPayment();
})
.then(response => {
return this.finishPayment();
})
.then(response => {
return this.handlePaymentSuccess(response);
})
.then(() => {
ev.complete('success');
})
.catch(response => {
ev.complete('fail');
const message = response.message;

this.$emit('error', { message });
this.pending = false;
this.$emit('closeModalPendingPurchase');

})
.finally(() => {
this.pending = false;
});

cedar hatch
#

seems like your code never gets to that ev.complete(success) I suggest you add some logs and debug this and what your reservePayment/processPayment/finishPayments functions all do

#

it might also be easier to debug if you rewrite this to use await instead of all the chaining

proven mortar
#

thx a lot we will try!

#

the odd think here is that we didn't change anything from yesterday but yesterday everything was working as expected

cedar hatch
#

nevertheless it seems like the code never gets to the point of calling ev.complete('success')

severe notchBOT