#bongowilliams
1 messages · Page 1 of 1 (latest)
hello! you can view the full list of PaymentMethods and what product supports them here : https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support
example
okay thanks - and i have one more question regarding moving from stripe invoices for our connected accounts, to payment pages:
We currently us the php api functions: below to create the invoice for the connected account to be paid for their service on our pllatform:
$invoice_item = \Stripe\InvoiceItem::create([
$invoice = \Stripe\Invoice::create([
$invoice->finalizeInvoice();
IF we wanted to move to simply creating a payment page when one of our users wants to pay them, should we use the api instructions and workflow here? https://stripe.com/docs/connect/creating-a-payments-page
Or can we create a page, and store the url for that payment page in our database like we were with invoices?
https://stripe.com/docs/connect/creating-a-payments-page - yes, you can refer to this page. Or you can also take a look at : https://stripe.com/docs/checkout/quickstart - you would need to modify the Checkout Session for destination / direct charges according to the original link though : https://stripe.com/docs/connect/creating-a-payments-page?platform=web&ui=checkout&destination-or-on-behalf-of=destination#create-a-checkout-session
i don't really quite understand what you mean by Or can we create a page, and store the url for that payment page in our database like we were with invoices - can you explain a bit more?
thanks!
yeah of course, currently we create a stripe invoice for our users on our platfoprm to be paid, and then we store that stripe invoice link on our local database, to use as the action for the user to get paid.
so i understand we could do that if we used payment links api, but if we used the checkout payments page api, we'd need to creawte a new stripe payment url on each action / payment attempt by a user?
i guess im trying to work out if we should use payment links or a check out page. whats the advantage or differeence for each?
hrm, i wouldn't suggest storing the Checkout link on your local db. The Checkout Session will expire after some time.
what i would suggest doing is that your page simply creates a new Checkout Session when the customer accesses your site
to link the Checkout Session to your order id, you can pass in metadata or a client_reference_id when creating it
okay cool - that makes sense 👍 I will do that
thank you, and looping back on the payment methods question - thanks for providing the link with list. It appears that I can use ACH Direct Debit for stripe checkout for one off payments? : https://stripe.com/docs/payments/payment-methods/integration-options#support-bank-debits
could you confirm this? and also is this the same as BECS credit?
I’m trying to investigate how our user would “click a button” to pay from their bank account to another bank account via ACH
at the moment it’s just displaying the other person’s bank details for ACH, for a transfer but they want a physical method to click/pay them by automatically debiting their own accoun
yes, that's right, but keep in mind that ACH DD are an async payment method. So you would want to listen for and handle the async webhooks events too: https://stripe.com/docs/payments/checkout/fulfill-orders#delayed-notification
will do
credit and debit are two different "types" of payment methods - debit is a pull, credit is a push, if that makes sense?
yeah it makes sense - will both be available for us using one off checkout payment pages?
it's also known as Bank transfers. There're limitations as to where we support it : https://stripe.com/docs/payments/bank-transfers/accept-a-payment?platform=checkout#handling-multiple-open-payments-or-invoices
oh i see- so not supported in the US?
yep, it's not supported in the US yet.
by the looks of things, the collumn i need to look at is that first collumn "Checkout (Payment Mode)" and that prety much all payment methods are available with that API integration if we move that way from invoices. Does automatic payment methods for stripe connect work for these payment pages too? and does that need to be explicitly set?
we'd like our users to define what payment methods they want, and we allow them all by default for stripe and our users to decide based on whats activated by teh connected account and stripe via the currency
yes, automatic payment methods work for Checkout too : https://stripe.com/docs/connect/automatic-payment-methods
and yes, Checkout (Payment Mode) is the column you would need to look at
great thanks for your help confirming all of this
feel free to reach out again if you have any other questions!
thanks!
@pastel field i just remembered this : https://stripe.com/docs/payments/checkout/abandoned-carts - it may be useful for you
oh thanks!
this is really for one off payments, our platform facilitates DJs or bands to be paid for gigs - we create invocies for them, and we're using this checkout integration to enable them to be paid digitally through stripe, ratherthan old fashioned bank trasnfer
so i dont think the cart recovery is useful on this occasion, but ill look into it
I have one more question while im here, with \Stripe\Checkout\Session::create([ and stripe connect - do I need to set any values to allow automatic payment methods? or are these set by default?
Hi @pastel field I'm taking over
hi jack
i want to allow our users, who are stripe connect customers, to be able to use any payment methods they like, so im just wondering if when i create a checkout page via the api for a connected account, if I need to set any values expicitly to allow automtic payment methods, or if they are on by default?
https://stripe.com/docs/connect/automatic-payment-methods?connect-payment-integration-type=checkout&connect-charge-type=direct&connect-account-type=standard#integrate the docs here say that I don't need to set anything, I just need to remove the payment_method_types value (which i dont currently have set)
Yes you are right, removing payment_method_types from the checkout session creation tells Stripe to use automatic payment methods when rendering a checkout page
however you can see that when I created the payment intent, it says that only card is available:
{
"id": "pi_3Loh042XVptw46Sq068HCI6N",
"object": "payment_intent",
"last_payment_error": null,
"livemode": false,
"next_action": null,
"status": "requires_source",
"allowed_source_types": [
"card"
],
"amount": 55000,
"amount_capturable": 0,
"amount_details": {
"tip": {
}
},
"amount_received": 0,
"application": "ca_JaWYaFIL9MHe3nCqcFDQQnSoT5h4lGjj",
"application_fee_amount": 550,
"automatic_payment_methods": null,
"canceled_at": null,
"cancellation_reason": null,
"capture_method": "automatic",
"charges": {
"object": "list",
"data": [
],
"has_more": false,
"total_count": 0,
"url": "/v1/charges?payment_intent=pi_3Loh042XVptw46Sq068HCI6N"
},
"client_secret": "pi_3Loh042XVptw46Sq068HCI6N_secret_Lej8VoK41LJqCIMpCLe5RkZjM",
"confirmation_method": "automatic",
"created": 1664774132,
"currency": "aud",
"customer": "cus_MOoI7OLyEga5Dy",
"description": "Booking: neg commish - 28th September 2022",
"invoice": null,
"metadata": {
"event": "https://muzeek.com/events/edit?eventid=96389",
"invoice": "https://muzeek.com/payments/invoice?id=7334&ref=uFkiUqsQ7QZpZCl1S5w23cpm1BqIxnNqLzNwxwWA",
"invoice from": "https://muzeek.com/muzeekagency",
"invoice to": "https://muzeek.com/metallibar",
"invoice_number": "76522",
"origin": "Payment page created via Muzeek Invoicing"
},
"next_source_action": null,
"on_behalf_of": null,
"payment_method": null,
"payment_method_options": {
"card": {
"installments": null,
"mandate_options": null,
"network": null,
"request_three_d_secure": "automatic"
}
},
"payment_method_types": [
"card"
],
"processing": null,
"receipt_email": null,
"review": null,
"setup_future_usage": null,
"shipping": null,
"source": null,
"statement_descriptor": null,
"statement_descriptor_suffix": null,
"transfer_data": null,
"transfer_group": null
okay thanks - so is there a reason payment_method_types here is just set to card?
Have you enabled other payment methods? https://stripe.com/docs/connect/automatic-payment-methods?connect-payment-integration-type=checkout&connect-charge-type=direct&connect-account-type=standard#enable-payment-methods-connected-accounts
yes, i have some on by default in my settings for example:
Ok, so as you can see here, Alipay and GrabPay requires additional actions and they are off by default.
And for Google Pay and Apple Pay, the payment method type is still card.
okay cool.
so i wont set anything for payment_method_types so that it defaults to automatic
im just concerned that the response from creating this checkout sessionsays card rather than automtic
Stripe will determine the list of available payment method types based on your account settings, in your case the only available payment method type is card.
okay cool
thanks
good to know, that I've set things correctly
to confirm 1000% (sorry I've just had issues with this in the past) - this is my request, does this look like in terms of the API code, that I've done the correct thing to enable automatic payment methods to you?
can you send me the request ID?
Thanks, it looks good to me 🙂
No problem!
how long will it take all these payment attempts (checkout sessions) to leave the dashboard for the connected account?
or will they always stay there
What do you mean by leave the dashboard?
oh i mean, do they disappear from the dashboard or always stay there
it thought by the clock icon they might leave, the invomplete ones
its not a big deal, but seeing as we are using these sessions for means of paying an invoice for a gig, we dont really need to retain the session or checkout info - and it might be confusing for our users if they see many incomplete payment attempts for example
I see, these payment intent records will stay
oh wait - one more question
(Request req_7BeZaUJQDh5wg3) You passed an empty string for 'line_items[0][tax_rates][0]'. We assume empty values are an attempt to unset a parameter; however 'line_items[0][tax_rates][0]' cannot be unset. You should remove 'line_items[0][tax_rates][0]' from your request or supply a non-empty value.
what's the best way for me to still pass a tax_rates paramater, but as empty if there's no tax rate set?
Simply remove this parameter if you are not going to set a tax_rates