#henning83_code

1 messages ยท Page 1 of 1 (latest)

blazing jewelBOT
#

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

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

Below are links to other discussions we've had with you in the past week in case you want to review that information. If your question is related to one of these previous discussions, please provide a comprehensive summary of the current state and what you need help with now. We help many users simultaneously, so a summary allows us to resolve your issue as soon as possible.

lament kindle
#

Can you share the webiste and the steps needed in order to reproduce the issue ?

cerulean cradle
#

after that you need to add an ticket to the cart and go to the shopping cart. You can enter some random data and on the last page you should get the apple pay button

#

in chrome on windows, the google pay button is working, but not the apple pay button on safari

#

i have testet the function with 5 different customers and on their websites, the apple pay button is showing. Only for this customer of us, its not working. If i add the canMakePayment, i know thats from the request payment button and not from the express payment, it shows null for this customer. For all other customers i get the info which payment method is working.

lament kindle
#

I'm getting this

blazing jewelBOT
cerulean cradle
#

sorry you need to select a date in the future, maybe friday or something like that

#

the time/slot needs to be green

lament kindle
#

I see Google Pay...

#

You need to double check with your customers, do they have a real card in their wallets and using a supported browser for Google Pay

cerulean cradle
#

Yes the google pay button is working, but not the apple pay button.

#

So on safari it should show the apple pay button, which is working on other websites that are using our shop, but for this seller its not working. We have already removed the domain verifications from their accounts and have added the domain through the connect api, but still the button is not showing and i dont get any error message.

prime elbow
#

Hi! I'm taking over from my colleague. Please, give me a moment to catch up.

#

I'll try in Safari now...

#

I don't see the Apple Pay button, and I see in your Dashboard that the domain registration is disabled:

#

If you enable it it should work.

cerulean cradle
#

is that in our dashboard or in the dashboard of our connected account?

#

because your colleague yesterday told me that our customer (the connected account) has to delete the domain from their dashboard and we have to add that domain through the connect api

prime elbow
#

Are you using direct charges or destination charges?

cerulean cradle
#

direct i think.

#

yes

prime elbow
cerulean cradle
#

this is what we do:
Stripe.RequestOptions requestOptions = new Stripe.RequestOptions();
requestOptions.StripeAccount = this.ACCESSDATA.STRIPE_USER_ID;

var options = new ApplePayDomainCreateOptions
{
DomainName = System.Web.HttpUtility.UrlEncode(domainName),
};

var service = new ApplePayDomainService();
var domain = service.Create(options, requestOptions);

#

And this is returning the domain with LiveMode==true

Stripe.RequestOptions requestOptions = new Stripe.RequestOptions();
requestOptions.StripeAccount = this.ACCESSDATA.STRIPE_USER_ID;

var options = new ApplePayDomainListOptions()
{
};

var service = new ApplePayDomainService();
var domains = service.List(options, requestOptions);

blazing jewelBOT
willow dome
#

What account ID you're passing as StripeAccount ?

cerulean cradle
#

acct_1NA9BTLBFUffGjSu

willow dome
#

I see teamx.koeln registered on the account

cerulean cradle
#

correct

#

thats the domain of the shop

#

is it a problem with the TLD?

willow dome
#

not sure what you mean by that...

cerulean cradle
#

i mean if the tld .koeln is causing the problem

willow dome
#

I don't think so

cerulean cradle
#

ok

willow dome
#

How do I get to your checkout page where apple pay should be rendered?
I don't speak german and I'd like to skip past required form fields.
Do you have any test credentials or can you disable required form fields for now?

cerulean cradle
#

sorry, https://www.teamx.koeln/escape_raum_zeitreise/?lang=en that should show the shop in english. You need to select a date in the future, so that the time/slot is green then click on a green slot, then selecting a random price, add it to the basket at the bottom. After that you need to click on checkout and enter some random data. On the last page should be the apple pay button

Du liebst ausgefeilte Stories und detailreiche Settings? Mission Zeitreise ist DEIN Escape Room in Kรถln. Komplexer Top-Raum.

#

it should be there where the google pay button is on my windows pc:

#

The button is rendered on the main page and is then overlaying the iframe, so its not inside the iframe.

willow dome
#

Are you using your own iframe on the page?

cerulean cradle
#

The customer is adding an js script to their website and that is rendering the shop. In that script, that is running directly on the website, the stripe script is added and is loading the express payment element. The shop script is adding an iframe where the payment window is rendered and on the last page we are placing the express element above the iframe. So its still on the website, not in the iframe. That is working for all other customers of us, only for that customer its not working.

#

so its just postion:absolute and has a higher z-index and then its just with top/left placed at the spot where we want it above the iframe

willow dome
#
cerulean cradle
#

Yes we have reimplemented the express button in the last week and we have testet stuff like rendering it in the iframe.

#

But as i sayed, its not inside the iframe, its above the iframe. As you can see here: its on the same level as the iframe, not inside it

willow dome
#

I see

cerulean cradle
#

no its working for me

willow dome
#

Hmm It isn't loading for me anymore ๐Ÿ˜ฆ

#

do you have a max height or width set on the express checkout element?

cerulean cradle
#

we have set a width to the parent div, yes

#

like you can see in the screenshot, but not on the element which is created by the stripe script

#

vd_express_parent is the element where i mount the express element

willow dome
#

Can you share the code you're using to initialize Stripe.js ?

#

Where you provide your publishable key

cerulean cradle
#

Venuedoo.Shop.stripe = Stripe(Venuedoo.Shop.config.stripe_api_key, {
stripeAccount: Venuedoo.Shop.config.stripe_account_id,
locale: language
});

var paymentRequest = Venuedoo.Shop.stripe.paymentRequest({
    country: Venuedoo.Shop.config.vendor.country,
    currency: Venuedoo.Shop.CalculateCartResult.order.Currency.shortname.toLowerCase(),
    total: {
        label: 'Gesamtsumme',
        amount: Math.round((Venuedoo.Shop.CalculateCartResult.order.total * 100))
    }
});
paymentRequest.canMakePayment().then(function (result) {
    console.log('canMakePayment: ', result);
    if(result == null || (result.googlePay == false && result.applePay == false)) {
        $('#vd_express_parent').removeClass('vd-hidden').addClass('vd-hidden');
        $('#vd_express_place').removeClass('vd-hidden').addClass('vd-hidden');
    }
});

const options = {
    mode: 'payment',
    amount: Math.round((Venuedoo.Shop.CalculateCartResult.order.total * 100)),
    currency: Venuedoo.Shop.CalculateCartResult.order.Currency.shortname.toLowerCase(),
    paymentMethodCreation: 'manual'
};
Venuedoo.Shop.stripe_elements = Venuedoo.Shop.stripe.elements(options);
Venuedoo.Shop.stripe.stripecard = Venuedoo.Shop.stripe_elements.create('expressCheckout', {
    buttonType: {
        applePay: 'order',
        googlePay: 'order'
    },
    buttonHeight: 50,
    buttonTheme: {
        applePay: 'white',
        googlePay: 'white'
    }
});
Venuedoo.Shop.stripe.stripecard.mount('#vd_express_parent');
#

this?

willow dome
#

Yup, are you passing the same account ID in
stripeAccount: Venuedoo.Shop.config.stripe_account_id, ?

cerulean cradle
#

yes

willow dome
#

Hmm.. The code looks fine and the registration is looking fine too. I'm not sure what's missing..

cerulean cradle
#

Yes thats why iam here ๐Ÿ˜‰ Also as i told your colleague, the canMakePayment, i know its for the Request Payment button, not for the express, but it returns for all other customers something like { appleplay: true, googlepay: false} but for this customer it returns NULL.

willow dome
#

Can you try deleting the domain and registering it again using the API?

#

It seems like the account added the domain via the dashboard

cerulean cradle
#

yes

#

is there a delete function? Cant find the documentation for the ApplePayDomainService, i think you have changed it to the PaymentMethodDomainService

#

i can only disable it with the Update call

willow dome
#

You can delete it from the dashboard I think

cerulean cradle
#

yes thats what i told the customer, did they have only disabled it?

willow dome
#

It is still enabled.. What needs to happen here is that -

1/ Connected account should delete the domain using the dashboard
2/ Your platform will then create the domain on the connected account using the API (using the code you shared previously)

cerulean cradle
#

but your colleague send me this today. So it should be disabled and i have called
var service = new ApplePayDomainService();
var domain = service.Create(options, requestOptions);
after the customer told me he has deleted/disabled the domain in their dashboard

unique anchor
#

also when you register the domain can you please use PaymentMethodDomainService like in the docs and not the older ApplePayDomainService ? it does make a difference

cerulean cradle
#

ok i will try that, one minute.

#

okay i have to update the Stripe .Net SDK for that i think...

unique anchor
#

yeah I thought you would say that unfortunately

blazing jewelBOT
unique anchor
#

jumping from v40->v46 is pretty complex to do. So if it's easier you can try and make the call manually(maybe copy the curl example from the docs and use that), for a one-off.

cerulean cradle
#

ok, yes that upgrade is not doable in a couple of minutes. I will try it manually

#

ok done, but still no apple-pay button

unique anchor
#

can you share the response from when you made the API call to register the domain?

cerulean cradle
#

{
"id": "pmd_1Px7M6LBFUffGjSu57YY7mlN",
"object": "payment_method_domain",
"apple_pay": {
"status": "active"
},
"created": 1725887410,
"domain_name": "teamx.koeln",
"enabled": true,
"google_pay": {
"status": "active"
},
"link": {
"status": "active"
},
"livemode": true,
"paypal": {
"status": "active"
}
}

unique anchor
#

thanks. Ok yeah that's what I was afraid of, it just returns the existing registration object

#

I think this is just broken on our side and you can't register the domain for Connect if the account itself already registered it for themselves.
You'll need to write to https://support.stripe.com/?contact=true so we can manually delete that registration pmd_1Px7M6LBFUffGjSu57YY7mlN and then you can call the API to register the domain again but for your platform
Sorry

cerulean cradle
#

ok, thanks for the help. I hope that will work.

unique anchor
#

@cerulean cradle actually we had another look, you're registering the wrong domain. You need to register www.teamx.koeln (with the API call you made with curl ), not teamx.koeln .

#

since that is the domain that your actual site and Apple Pay button is on.