#m0uka_code
1 messages ¡ Page 1 of 1 (latest)
đ 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/1275410344440758325
đ Have more to share? Add more details, code, screenshots, videos, etc. below.
hi! you have to have recurring Paypal enabled first of all : https://docs.stripe.com/payments/paypal/set-up-future-payments?web-or-mobile=web&payments-ui-type=stripe-hosted#enable-recurring-payments-support-from-stripe-dashboard
and then I think recurring Paypal in the ExpressCheckoutElement specifically is something not publicly available yet, your account needs to write to support to get access to it
hey, yes, we have recurring paypal enabled, so I am guessing we need to email support?
yes. Otherwise it works in PaymentElement but the ExpressCheckout-recurring-paypal integraiton is more of a beta for now
okay thanks, one more question - how to supply an email for stripe radar when using express checkout?
const status = resp.data.status
const clientSecret = resp.data.payment_token
if (status === 'finished') {
setLoading(false)
window.location.href = getCompleteURL()
}
const billingDetails = {
name: details.name,
email: details.email,
address: {
country: details.address!.country!,
postal_code: details.address!.postal_code!,
state: details.address!.state!,
line1: details.address!.line_1!,
line2: details.address!.line_2!,
city: details.address!.city!,
},
}
const paymentIntentResult = await stripe!.confirmPayment({
elements: elements!,
clientSecret,
confirmParams: {
return_url: getCompleteURL(),
payment_method_data: {
billing_details: billingDetails,
},
},
})
this is the code we use for confirming the payment, but email isnt being passed (and the name isn't too)
I would expect that to work, can you elaborate on what you expect to see and what you see instead and a specific example like a pi_xxx?
sure, is a live mode payment intent ok? (pi_3Pph38HAN7AGL0N61BAWLR3V), pretty sure the details.email is not null, because our other integration that uses the card element works fine - the email is missing here
you can see in the API request made by stripe.confirmPayment that there was no email passed : https://dashboard.stripe.com/logs/req_CZkOzq8GM3xr3z so to me that implies details.email was null in the executed code
correct but doesn't the stripe.js override the billing_details a bit? we do not collect full address, only the postal_code and country
I'd probably try to replicate this in test mode and add console.log()s to see what might be happening
and other address fields were passed in
so that means the rest were filled from the actual payment method
as you can see in this code, we do not set state, but it is set in the payment intent confirm code
hmm well I'd hope we use the value you pass for the email , instead of what was on the Google Pay token if that latter value was null, like it was here
maybe we don't and that's something we should look into
i think the last time i checked with console.log the values were present, i can check again
yup just checked, the details are not null
interesting, then maybe we take the values on the wallet token in preference to the parameters in the SDK call
yeah that's not a problem at all but if some fields are missing they should use the passed in values