#xfechx-oxxo
1 messages ยท Page 1 of 1 (latest)
req_kLL1YQFyNyuDqc
and you've enabled OXXO for the connected account under payment methods settings, correct?
can you please let me know why oxxo is not appearing?
also, how can I add Meses Sin Intereses (Mexico) to checkout session and payment links?
๐ stepping in here as hanzo had to step away
Taking a look
Are you based in Mexico?
I have accounts based in many places, including mexico
The customer location must be Mexico so unless you are on a VPN or based in Mexico I don't believe it will show for you
Also have an app that connects mexican accounts, and would like those accounts to be able to use that feature through my app
OK, so if I VPN to mexico for testing I should be able to see those options on the checkout and payment links?
I think so. I haven't actually tested OXXO with Checkout myself.
I can do that in a bit but a bunch of folks on the server right now so if you have a VPN and can test that will be quicker
still not working..
Huh okay then I'll need to test myself. Give me a bit
Another question:
How to add
'tax_id_collection' => [ 'enabled' => true, ],
to payment-links (php) ?
more exactly, where?
I also have this payment link which also does not have oxxo enabled:
Okay so for OXXO I didn't realize that it isn't actually turned on as a PaymentMethod on your Connected Account.
So they need to go turn that on for it to show
You add tax_id_collection for a Payment Link just like you do for a Checkout Session: https://stripe.com/docs/api/payment_links/payment_links/create#create_payment_link-tax_id_collection
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
I would need to turn it on for behalf of the connected accounts, is this possible?
Not for Connected Accounts that you didn't create.
I don't understand?
So my connected accounts are fully dependant on using that feature only if they enable it themselves? Why wouldn't it override it when it is a payment link created on behalf
it doesn't make sense
So if you connect an already-created account to your platform then you don't have the same control over the account as if you had created the account via your platform. We talk about some of those things here: https://stripe.com/docs/connect/platform-controls-for-standard-accounts
If it is a standalone account prior to interacting with your platform, then you can't dictate the PaymentMethods that will be used by using Automatic Payment Methods. In your case, you would need to specify the Payment Method Types for the Session: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_method_types. Otherwise we would use the PaymentMethods set by the Connected Account in their Dashboard.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
hmmm
OK, so then with the app, I cannot advertise that it supports oxxo payments unless they created the stripe account when using the connect with Stripe button ONLY ?
so people who already have an existing Stripe account, and connect to the app, cannot use this feature unless they go manually and change it on their Dashboard?
sounds weird
because for other payment methods it is not like that?
what is this screen for then?
There is no limitation (like with Klarna) that connected accounts have to enable themselves....
Right those selections are for accounts where you have platform controls. I'm checking on whether if you set payment_method_types explicitly then it works here... I believe it does.
thanks, can you please let me know?
My code is trying to use automatic payment method types
that's the idea
Okay so two things here
I was mistaken previously... first the reason OXXO isn't working is that you are using setup_future_usage
OXXO is a one-time only PaymentMethod
So it isn't compatible with setup_future_usage
So it won't show for that reason.
That said, it also won't show with automatic payment methods as I noted above.
The workaround for that is to actually specify the payment_method_types for your Checkout Sessions
The workaround for the setup_future_usage is to specify that via payment_method_options instead of at top-level. See: https://stripe.com/docs/api/checkout/sessions/create#create_checkout_session-payment_method_options-card-setup_future_usage
OK, so how can I resolve both problems? Getting rid of setup_future_usage to off, and can it work with automatic payment methods?
You can still use setup_future_usage you just move where you are setting it into the payment_method_options hash.
You get around using automatic payment methods by specifying the payment_method_types in your Session creation.
Sure
Let's start with setup_future_usage
That means it will apply to all payment method types
Which means only the payment method types that it is applicable for will display
If, instead, you set it here: https://stripe.com/docs/api/checkout/sessions/create?lang=node#create_checkout_session-payment_method_options-card-setup_future_usage then it will only be used for the Card payment method type
This allows for all payment method types to display regardless of whether they support setup_future_usage
This is my code:
$session = \Stripe\Checkout\Session::create( [ 'billing_address_collection' => $zip_code_flag, 'customer_email' => $email, //'customer' => $customer_ID, 'submit_type' => 'pay', 'allow_promotion_codes' => true, 'payment_intent_data' => [ 'metadata' => array( 'Invoice'=>get_the_ID(), 'Customer'=>$user->user_firstname . ' ' . $user->user_lastname, 'CustomerID'=>$user->id, 'Link'=>$permalink, 'Reference'=>get_the_title(), 'Notes'=>substr(get_the_content(), 0, 500), 'Vendor' => $vendor_email, 'VendorID' => $vendor->id, 'Timestamp'=>$timestamp, 'API'=>$API, 'Affiliate'=>$affiliate_email, 'Tickets'=>$tickets, 'Test'=>$test_mode, 'CFDI'=>$facturapi ), 'description' => $description, 'setup_future_usage' => 'off_session' ], 'line_items' => [ [ 'name' => $description, 'description' => get_the_title(), 'amount' => $amount, 'currency' => $currency, 'quantity' => 1, ] ], 'tax_id_collection' => [ 'enabled' => true, ], 'success_url' => get_bloginfo('url') . '/stripe/payment-successful/', 'cancel_url' => get_bloginfo('url') . '/stripe/payment-failed', ] );
So I need to move it out of the payment intent and just add the same but for the checkout object?
could you please just shoot the example of how to add setup_future_usage when the payment method is a card, please?
not sure how to add those child parameters to the array actually
This one is the connect version:
$session = \Stripe\Checkout\Session::create( [ 'billing_address_collection' => $zip_code_flag, //'customer' => $customer_ID, 'customer_email' => $email, 'submit_type' => 'pay', 'allow_promotion_codes' => true, 'payment_intent_data' => [ 'metadata' => array( 'Invoice'=>get_the_ID(), 'Customer'=>$user->user_firstname . ' ' . $user->user_lastname, 'CustomerID'=>$user->id, 'Link'=>$permalink, 'Reference'=>$reference, 'Notes'=>$notes, 'Vendor' => $vendor_email, 'VendorID' => $vendor->id, 'Timestamp'=>$timestamp, 'API'=>$API, 'Affiliate'=>$affiliate_email, 'Tickets'=>$tickets, 'Test'=>$test_mode, 'CFDI'=>$facturapi ), 'description' => $description, 'application_fee_amount' => $application_fee, 'setup_future_usage' => 'off_session' ], 'line_items' => [ [ 'name' => $description, 'description' => get_the_title(), 'amount' => $amount, 'currency' => $currency, 'quantity' => 1, ] ], 'tax_id_collection' => [ 'enabled' => true, ], 'success_url' => get_bloginfo('url') . '/stripe/payment-successful/', 'cancel_url' => get_bloginfo('url') . '/stripe/payment-failed', ], ['stripe_account' => $connect] );
Should be 'payment_method_options' => [' card' => ['setup_future_usage' => 'off_session']] I believe. My PHP is a bit rusty
I have to step away. @neon ember is here to help further
thanks for all your help
!
I have been given access to MSI (meses sin intereses on checkout and payment links) but I cannot see that option either on connected account (from mexico) payment link page.
Also, I removed setup_future_usage from the payment intent, and added to the checkout session, but also without luck
I cannot see OXXO as payment in the checkout session for mexican connected account
Sorry for the wait. looking now
I'm hopping in since the channel is busy - give me a minute to catch up
thanks
You're creating this Checkout Session with the Stripe-Account header, right?
yes
I don't see OXXO or Meses Sin Intereses enabled in either payment link or checkout session for connected account.
Still digging - I do see that you have oxxo enabled by default in your automatic payment method settings in live mode. Just to confirm - have you been testing this out in live mode, or test mode?
And is there a reason you have the "Allow connected accounts to customize their own payment methods" setting enabled only in test mode and not live mode?
What is the latest Checkout Session you've been testing with?
@topaz swift ๐ Just checking to see if you saw my latest questions?
Yeah if you have the latest Checkout Session you've been testing with that would be really helpful - I asked about the difference in live vs test mode settings because depending on what mode you're in, there's a different recommendation I have to keep debugging
Ok I have disabled that accounts can customize their setting
So that everything is ON by default for connected accounts.
Now can you create a new Checkout Session in test mode for your connect account?
Can you share the checkout session id or the rquest id for the one you were just testing with?
I believe what you're missing is you need to set 'payment_method_options[card][installments][enabled]' when you create the Checkout Session. MSI on Checkout is not publicly available yet, but I believe the private beta has been enabled on your account. We don't talk about private betas in this channel so if you have more questions you should contact support (https://support.stripe.com/contact) or ask whoever helped add the private beta to your account
Find help and support for Stripe. Our support center provides answers on all types of situations, including account information, charges and refunds, and subscriptions information. Get your questions answered and find international support for Stripe.
@topaz swift Does all the make sense? I need to head out soon, but essentially I believe you're just missing that parameter and it should be working