#loopeando_api

1 messages ยท Page 1 of 1 (latest)

covert glenBOT
#

๐Ÿ‘‹ 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/1500859445000015966

๐Ÿ“ Have more to share? Add more details, code, screenshots, videos, etc. below.

thorny birch
#

Hello
Are you seeing that error on the Web or Mobile Devices?

#

Also, are you using Stripe Connect by any chance?

formal ivy
#

Hello,

The error occurs on web (desktop and mobile browsers).

We are not using Stripe Connect.

Let me know if you need any additional details.

covert glenBOT
cursive harness
#

Hi there, taking over for @thorny birch as they had to step away

My understanding is that an OR_BIBED_06 error comes from Google's side, so it may require reaching out to their support to resolve. But it can occur from invalid information (incorrect currency code, invalid amount, etc...)

Can you share the Stripe code for setting up your Express Checkout Element to attempt this payment? Is this something that was working before? Is this happening for all accounts or specific users, specific devices, etc?

formal ivy
#

@cursive harness to answer your questions:

Is this something that was working before?
No โ€” Google Pay via ExpressCheckoutElement has never worked on this domain in live mode. It has always returned OR_BIBED_06. PayPal through the same ExpressCheckoutElement works fine.

Is this happening for all accounts or specific users/devices?
All users, all devices, all browsers (Chrome desktop, Chrome Android). The error comes from Google's side before any payment attempt, so it's not user/device-specific.

#

Here is the full code for our Express Checkout implementation:

[ExpressCheckoutWrapper.jsx] โ€” wraps the Elements provider:

import React from 'react';
import { Elements } from '@stripe/react-stripe-js';
import { stripePromise } from '../../../../lib/stripe';
import StripeExpressCheckout from './StripeExpressCheckout';

const ExpressCheckoutWrapper = ({ amount, onConfirm, onClick }) => {
const options = {
mode: 'payment',
amount: Math.round(amount * 100) || 100, // Amount in cents
currency: 'eur',
appearance: {
theme: 'stripe',
},
};

return (
    <Elements stripe={stripePromise} options={options}>
        <StripeExpressCheckout onConfirm={onConfirm} onClick={onClick} />
    </Elements>
);

};

#

[StripeExpressCheckout.jsx] โ€” the actual ExpressCheckoutElement:

import { ExpressCheckoutElement, useStripe, useElements } from '@stripe/react-stripe-js';

const StripeExpressCheckout = ({ onConfirm, onClick: parentOnClick }) => {
const stripe = useStripe();
const elements = useElements();

const onClick = ({ resolve }) => {
    resolve({
        emailRequired: true,
        shippingAddressRequired: true,
        phoneNumberRequired: true,
        billingAddressRequired: true
    });
};

const onConfirmPayment = async (event) => {
    const { error: submitError } = await elements.submit();
    if (submitError) { setErrorMessage(submitError.message); return; }

    // Save billing/shipping from Express event to localStorage
    if (event?.billingDetails) localStorage.setItem('stripe_express_billing', JSON.stringify(event.billingDetails));
    if (event?.shippingAddress) localStorage.setItem('stripe_express_shipping', JSON.stringify(event.shippingAddress));

    // Create order on backend, receive clientSecret
    const responseData = await onConfirm();
    const clientSecret = responseData?.clientSecret;

    const { error } = await stripe.confirmPayment({
        elements,
        clientSecret,
        confirmParams: {
            return_url: `${window.location.origin}/pago-exitoso?token=${responseData.token}`,
        },
    });

    if (error) setErrorMessage(error.message);
};

return (
    <ExpressCheckoutElement
        onReady={onReady}
        onClick={onClick}
        onConfirm={onConfirmPayment}
    />
);

};

#

Elements configuration:

mode: 'payment'
currency: 'eur'
amount: dynamic (cart total ร— 100, integer cents, always > 0)

cursive harness
#

Got it, will do some digging. Can you share your account ID so I can check the domain registrations?

formal ivy
#

@cursive harness sure: acct_1TMCk1RpAA0ljOBG

cursive harness
#

Thanks! Do you have a URL that I can visit to inspect the error on my computer?

formal ivy
cursive harness
#

I have seen this before, if you don't include shippingRates then it does result in that OR_BIBED_06 error

formal ivy
#

wonderful!

#

it's works!

cursive harness
#

Awesome, glad this fixed it! Let me know if you see any other issues with this integration. I will push internally to provide a better error message in this situation if we can

formal ivy
#

@cursive harness absolute lifesaver ๐Ÿ™Œ The OR_BIBED_06 error was caused by having shippingAddressRequired: true without defining shippingRates. Added them and everything works perfectly now. You saved me hours of debugging, thanks a ton