#greggles_invoicing-pmts
1 messages · Page 1 of 1 (latest)
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.
- greggles_best-practices, 19 hours ago, 13 messages
👋 Welcome to your new thread!
⏲️ We'll be here soon! We typically respond in a few minutes, but in some cases we might need a bit more time (e.g., server's busy, you've got a complex question, etc.).
⏱️ We close idle threads, which makes them read-only. Once a thread is closed it won't be reopened, but you can 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/1260616839495684178
📝 Have more to share? Add details, code, screenshots, videos, etc. below.
Please see prior post greggles_best-practices
I implemented as the Stripe rep suggested and am still getting this behavior.
Hello, thanks for the ID, checking in to this and will get back to you
Thank you.
I see a few that were excluded for a few reasons, which payment methods didn't show up on the invoice that you were expecting?
Let's start with AliPay and WeChat Pay.
Also I just remembered that we have a helpful dashboard tool for this. If you go to this page, select "Transaction ID" and submit that payment intent ID, the dashboard will list why certain payment methods were and were not shown. https://dashboard.stripe.com/test/settings/payment_methods/review
Thanks for the tool. That seems helpful
Looking in to AliPay, for WeChat Pay, it looks like we don't support it for charge_automatically invoices
Only for send_invoice?
My apologies, I may be wrong there. Our doc does not list this as a restriction for WeChat pay. I was inferring that based on something the logs say, looking further in to that.
https://docs.stripe.com/invoicing/payment-methods#supported
Does the dashboard tool say anything about WeChat pay?
OK, thanks for clarifying.
This PaymentIntent specified payment methods in the payment_method_types parameter. When specifying payment methods this way, we do not use your dashboard settings to determine which payment methods are on. Please upgrade your integration by removing the payment_method_types parameter and including automatic_payment_methods: { enabled: true } on the PaymentIntent to begin using payment methods from your dashboard.
I used the payment intent ID I provided you but I am not specifying payment methods, including automatic_payment_methods:{enabled:true} anywhere.
The payment intent ID I listed was obtained from the finalization of the invoice.
Ah, I think that invoices use payment_method_types behind the scenes which gets in the way of the tool working. That is unfortunate
I see.
Not sure if it's relevant but I'm creating the address element like so> Hopefully formatting is't too bad.
const stripe = Stripe('<? echo $stripe_key; ?>');
const appearance = {
theme: 'stripe',
labels:'above',
variables: {
'colorPrimary': '#0570de',
'colorBackground': '#ffffff',
'colorText': '#171717',
'colorDanger': '#df1b41',
'fontFamily': '"proxima_nova_light", Arial, Helvetica, sans-serif',
'spacingUnit': '2px',
'borderRadius': '0',
},
rules: {
'.Label' : {
color: '#d9d9d9',
'fontFamily': '"proxima_nova_light", Arial, Helvetica, sans-serif',
'marginBottom':0
},
}
};
const options = {
// defaultValues: defaultAddressObject,
appearance: appearance,
};
const elements = stripe.elements(options);
const addressElement = elements.create('address', {
mode: 'billing',
autocomplete: {
mode: 'google_maps_api',
apiKey: 'AIzaSyDCAySCjFfnvaBlr22HndNA_cQGmOs3E8c'
}
});
Hello! I'm stepping in, give me a sec
BTW google autocomplete stopped working out of the box yesterday for some reason.
So I created a google maps api key to step in.
@visual oasis I am not sure on your question on Address Element, is it just that Google autocomplete stopped working? or something else?
Yes, it stopped working.
Separate question though. I'd like to focus on the payment elements first, please.
yep looking
Just checking in... I don't want the thread to be closed for inactivity.
One hour in and counting. 😦
asking team members on my team
this won't close. Just a tricky space of Invoice PMs + PaymentIntent PMs and combatability across countries/certain params etc
Thank you. Originally, I asked for the easiest integration method to sell a one off payment product with the payment element. Apparently this is not it. I'm not sure why this has become so difficult.
and one more thing to clarify, you said it later so want to confirm
you're using Payment Element right? On the Invoice's PaymentIntent? and that's where the right PaymentMethod types aren't showing, correct?
I'm rewriting an earlier attempt at this goal and I have not yet written the integration for rendering the payment element. Last time, all the payment methods showed, but I got errors using the payment methods other than "card", "cashapp", "link", "us_bank_account" .
so where are you seeing / not seeing these payment methods? Hosted Invoice Page? Want to confirm so we look in the right place
like
but I got errors using the payment methods other than "card", "cashapp", "link", "us_bank_account"
where did you get/see this error
In stripe's response to confirmPayment(). Unfortunately those responses are more than 7 days old so I can't pull the req ID from workbench.
I'm not seeing other payment methods on the payment intent creation response. I am only seeing the 4 I listed above.
Based on my prior experience, rendering the payment element would be a waste of time at this point. I'd either see many payment methods that I can't use because they'd produce an error, or I would not see any other payment methods other than the 4 above.
In stripe's response to confirmPayment()
that's with Payment Element right? or no? cause you said you didn't code it up so just making sure my repro attempt is same as yours
In my earlier attempt, I rendered the address element and the payment element together on DOM creation, so the deferred payment method. Yes, you're correct. on confirmPayment() with the payment element.
got it, thanks!
so here's what I found for Alipay atleast - the docs are wrong on that, Invoices with Alipay are not fully released (in some beta state) so that explains why it doesn't work. We can fix the docs or work with the product team on what pathway they have to fully release the feature so it "just works" for your case
Ideally the "just works" path is preferred since it furthers my goal of diversifying our available payment methods.
But let's take a step back. I keep asking the same question hoping for a clear answer. I want to sell a one off product, paid at the time of checkout, with all of the checked payment methods available in the invoice payment methods settings. Or at least more than the 4 U.S.-based payment methods I listed so I can cater to my international clients. I need to potentially add tax as a line item based on the customer's location so I need the address info early in the transaction and I want to leverage Stripe's address element's validation and autocomplete feature to get that info. What's the best way to do that?
If it's not invoices, then what is it?
I'm not trying to go off on my own path here and my needs don't seem atypical.
do you want a form on your own webpage? or is a Stripe hosted Checkout page work?
the options change based on that^
I'd like to keep everything on our own site. If you're going to suggest checkout.
my needs don't seem atypical.
correct, you're not off base, just that Invoice<>Payment Intent feature/payment method interoperability have edge cases which is where you're blocked right now
ok so everything on your site
I'll voice my thinking out
a) Checkout works out of the box for everything you want (tax, address collection, one off payment, etc). But you don't want a Stripe hosted page.
a1) Checkout does have an embedded version which embeds in your webpage. Not fully caught up on the feature set supported over regular full page Checkout due to limitations in certain payment methods etc.
a2) Checkout also is building (I think maybe in beta?) a feature to use Checkout features built into Payment Element. Obv again like (a1), don't know how much is/isn't supported as regular Checkout is well ahead in its feature set.
that is all Checkout. A1 and A2 options could work for you but don't want to send you down that path yet given the "you may hit X limitation"
now on to PaymentIntents (give me a sec, answering a couple other threads quickly)
I forgot to mention we use a 3rd party tax agency so I need to make an api request to calculate tax and add that as an invoice line item, or something similar.
We have a "Tax" product in Stripe that has a $0 amount. If we collect tax, we add that tax product and the custom amount to recurring subscriptions or, in this case, to the invoice as a line item.
oh so you don't use Stripe Tax? or Tax Rates in Stripe?
No we do not.
like you make a separate API call to 3rd party for "add $X tax to $Y"
Correct.
(cause I was under the impression you're referring to Stripe Tax when you're using "tax)
that changes things!
no all good, Invoices + Stripe Tax work together so I short cutted
so disregard Checkout, disregard Invoices
Let me rephrase on tax.
We make a seperate API call to 3rd party and send the address and amount. If a tax amount comes back, it is non-binding and unassociated with the transaction until we add it in Stripe. We add tax in Stripe by adding the Stripe product called "Tax" to the initial subscription, or in this case, the invoice, as a line item. Am i being clearer?
all you need is PaymentIntent + Payment Element
you won't have to use Products/Prices within Stripe to associate a "line item" for the tax.
all PaymentIntents are are "tell me total amount X and I'll charge it" where X = $10 + 0.50 tax"
I do actually. Anrok, our third party tax people uses the Tax product's Stripe product ID to do the allocation.
I'm guessing you do
We add tax in Stripe by adding the Stripe product called "Tax" to the initial subscription, or in this case, the invoice, as a line item
for any reason?
ah wait, you're sayign the 3rd party integration does rely on Stripe Products for tax calc?
This is the current implementation of what we're doing, but we're only taking payments. We need to associate that payment with 1 product and an optional tax product.
Yes.
Oh boy. koopajah on scene. It's officially serious. 🙂
👋 I skimmed the thread but it doesn't make sense to me :p You mention a 3rd party but also using Stripe Tax (our own tax calculation)
BTW the link to our product page says "subscription" but it's really a one-time payment, fixed access period of 12 months or 6 months.
We're not using Stripe Tax®. We're using Anrok, a third party. We send an amount and address to them as an ephemeral transaction. If they say, you should collect $5 on this $100 transaction, we add this product prod_PLs0hSgLX1y4bJ to the invoice/subscription and assign a dollar amount to that product.
Okay so you do use Subscriuptions and Invoices? Because a bit above it seemed you talked about the opposite.
Ultimately: what's your exact issue?
Separate payment flows, but yes, we use both. In this case I want to focus on selling a one-time payment product.
Read the card. I'm only being presented with 4 payment methods.
what does "read the card" mean?
it's a 2+ hours long thread and it seems you're still stuck. So I think taking a step back and a clear new attempt at explaining the issue will likely help reset the conversation
greggles_invoicing-pmts
So for the past 2 hours you haven't made progress on this? I was working with @bitter robin for example and explained why Alipay wasn't appearing.
Sorry to push but we're helping a lot of people in real time and it looks like a lot of confusion in this thread.
What exactly is your issue, summarized clearly with what you already was explained/understood?
No, for the past 2 hours I have not received any helpful information. I'm using invoices. Invoice settings have a bunch of toggles for available payment methods. Only 4 of those are being presented. How can I be presented with more options?
Aside from using Stripe Checkout.
Some payment methods aren't supported on Invoicing by default such as Alipay and WeChatPay. Others require collection_method: 'send_invoice' instead such as Klarna or iDEAL. Many payment methods have strict criteria around currency, min/max amount, being enabled, etc.
So that should answer your question, you only get those 4 because of all of those criteria.
If I create a payment intent with a specific amount and render the payment element, all of the payment methods I want to use are available. I can take a payment fine in our current implementation but it's not associated with a product/invoice. I need to be able to create a customer, create an invoice, add stuff to that invoice, and apply that payment to the invoice for a one-time payment product.
So the problem I'm having is connecting that payment intent and the confirmed payment to the invoice.
Invoicing and PaymentIntent behave differently in terms of allowing certaion payment methods so my answer above holds. Alipay and WeChatPay for example don't work by default on Invoicing.
If you have another payment method type that you want me to investigate, please clearly explain which one it is and I can have a look
Are you saying Klarna, for instance, can't be used on an invoice that's set to automatic payment?
But it is available if I use Stripe Checkout?
They are different products.
That's not what I asked.
Is Klarna available if I sell a Stripe product using Checkout?
yes. But it works the same with just PaymentElement. The issue is that you are using Invoicing which is a different product that comes with different rules for which payment methods to support/show
A payment made with Checkout can be associated with a Stripe product, but using the payment element alone to take a payment can't be used to pay for a product?
Just trying to understand here.
yes
@visual oasis did you have a follow up question before I archive?