#FasterThanFlash-acss
1 messages ยท Page 1 of 1 (latest)
Hey @supple tusk . What are the params that I should use to create Payment method for ACSS? The same ones used for ACH PaymentIntent?
I'm not sure what parameters you used for ACH. The guide is https://stripe.com/docs/payments/acss-debit/accept-a-payment
it's unfortunately more manual/different than ACH
ACH works with our PaymentElement drop-in form component, or our hosted redirect Checkout page, ACSS does neither of things unfortunately (https://stripe.com/docs/payments/payment-methods/integration-options#payment-method-product-support)
I've checked this guide. We are implementing the APIs and not using stripe js.
This guide does not provide details on what parameters should be passed.
yeah, because in general you should never be calling these APIs directly and should be using our documented frontends, so it's an advanced use case to do this directly.
but it's mostly the same as what you might have done already, you use /v1/payment_methods and the params are https://stripe.com/docs/api/payment_methods/create#create_payment_method-acss_debit and then you confirm a PaymentIntent with that PaymentMethod
I think there's more to it since there are mandates and verification involved(for which you want to use the fields inside of https://stripe.com/docs/api/payment_intents/confirm#confirm_payment_intent-payment_method_options )
I'm developing a product which will be using Stripe APIs. Stripe users can use this product for plug and play automations. So this is the reason I need to implement APIs directly and not use the Stripe js. There are many scenarios which are not possible using the js
there's unfortunately no guide/document I can link you to
I see no reason why what you said requires you to not use stripe.js to be honest
I have to run, sorry, @floral talon will take over
Okay. Np
I think https://stripe.com/docs/api/payment_methods/create#create_payment_method-acss_debit this will do
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Hey @floral talon ๐
HI ๐
I'll ping you if I have more questions. I think I'm good for now.
Sounds good ๐
Hey @floral talon - I'm unable to find test data for ACSS.
Complete reference documentation for the Stripe API. Includes code snippets and examples for our Python, Java, PHP, Node.js, Go, Ruby, and .NET libraries.
Can you provide some test data please
Sure, test data is in the document that my teammate linked earlier, this section specifically:
https://stripe.com/docs/payments/acss-debit/accept-a-payment?platform=web#web-test-integration
No worries!
Hey @floral talon - please review this request. req_76EVr7MXR8frJ6
I'm getting missing param request. I don't see this param in documentation
Please disregard. I found it
@floral talon - I was able to make a successful transaction. req_mRrUzdXLIAtEI8
Status says - requires confirmation. Who is going to confirm and how? Do we need to implement webhooks for the response? Is there any way to have successful response for test?
We do not want to verify using micro deposits or anything
requires_confirmation is the second state that a payment intent goes into, though normally most of our flows kind of skip it:
https://stripe.com/docs/payments/intents
I've not personally worked with ACSS, so I don't know if you can successfully do server-side confirmation for those or if you'll need to use Stripe JS:
https://stripe.com/docs/api/payment_intents/confirm
We can not use stripe js. We need to process scheduled transactions as well.
In which case does the transaction goes to requires_confirmation state?
Maybe i used some param that led to this state?
Possible for you to check the request? Please ๐
You created a Payment Intent and provided it with a Payment Method, so as mentioned in the "How intents work" doc, the next state that the intent transitions to is requires_confirmation. At that point you need to confirm the intent.
Let me check again ๐ข
@floral talon Check this please - req_Vo3RIHO9HcxSf2
A mandate is required. Please either provide the id of an existing mandate on confirmation, or provide payment_method_options[acss_debit][mandate_options]
as it says, you need to pass details of mandate acceptance to the parameter it mentions
it's in the API reference (https://stripe.com/docs/api/payment_intents/confirm#confirm_payment_intent-payment_method_options that I linked earlier)
Hey @supple tusk - Do i need to pass mandate options in confirm call as well?
you pass it when confirming the PaymentIntent
confirming the PaymentIntent is what processes the payment
you can confirm the PI by either passing confirm:true when creating the PaymentIntent(if you can provide all the information on the payment method upfront in that same request), or by calling the /v1/payment_intents/pi_xxx/confirm endpoint linked above
BINGO
Confirm = true
that's what I was missing
thanks ๐ข
I tried with confirm = true. Earlier payment intent was returning requires_confirmation. But now its returning me the same error - A mandate is required. I've already provided the mandate details in the request body
req_SXERNA0ciPBKXv
you need to pass mandate_data at the top level as well as far as I know https://stripe.com/docs/api/payment_intents/confirm#confirm_payment_intent-mandate_data
Let me try
not really sure, I've never used this and nobody really integrates this way
but yeah, you need mandate_data, since mandate_options is just context on what type of mandate the customer accepted, you need mandate_data to indicate that the customer actually accepted it, by supplying their IP address/timestamp
note you need to actually show the customer the mandate to be regulatory compliant (https://stripe.com/docs/payments/acss-debit/custom-pad-agreement#mandate-agreement-requirements)
Understood.
I'll try few things tomorrow and let you know. ๐
Thanks for the help
Really appreciated
can you explain again why you can't use stripe.js? Lots of people write plugins and platforms and use our frontends.
We are not integrating stripe on frontend.
We store the data, then charge customer based on rules that are triggered by events
why not though? you do have a frontend, since you need to collect payment information from the end-customer. Why not use Stripe there? If you're accepting cards in that frontend and not using Stripe, then you need to be PCI compliant as well and file a SAQ D, are you prepared for that?
For ex - charge the downpayment when document is signed.
cool, I mean, we support that completely
PCI compliant is handled
So you guys support timely and scheduled payments?
Please provide some documentation, I'll try to rearchitect the whole application if possible.
Or maybe in next phase
yes , in multiple ways.
For example we're talking about ACSS.
You'd use our frontends to collect the bank details of the end customer and save them without charging them today : https://stripe.com/docs/payments/acss-debit/set-up-payment
then you charge them later by creating a PaymentIntent on the backend server at a later time : https://stripe.com/docs/payments/acss-debit/set-up-payment?platform=web#reusing-a-payment-method-with-an-existing-authorized-mandate
same applies to ACH, you use our frontend to collect payment details and mandate acceptance : https://stripe.com/docs/payments/ach-debit/set-up-payment
and charge them later with a direct server call : https://stripe.com/docs/payments/ach-debit/set-up-payment?platform=web#web-future-payments
Perfect.
same works for cards, and we have APIs for recurring subscription payments and other things
I'll check tomorrow for sure ๐