#Security deposit

1 messages Β· Page 1 of 1 (latest)

round heart
#

For an e-commerce site for the rental of equipment, I need to be able to charge customers for damages inflicted to equipment. At check-out I can create a payment for the rental fees, but I cannot find how to charge their credit card for damages, if and when required sometime in the future. A hold does not work, given the short expiration window (example: a customer rents a tool three weeks out for two weeks of usage). What would be the solution?

dense oracle
#

Hi there! Welcome to the community! πŸ‘‹

Difficult one. You could make a mandate the moment they check out for the first time so you can do a recurring payment in case of damages.

I see that as the only option for now

round heart
#

Reading the docs now but that seems perfect. Customer approves at check-out, once, and I can charge via the Portal when required.

dense oracle
#

Thats it! πŸ˜„

round heart
#

It seems, for my use-case, I only need to create a Customer object and then use said object (in Python) to make a first payment (this payment being identical to regular payments, ie for non-rentals). I don't need a mandate, as the first payment acts as a mandate for a one-off charge on-demand/via the Portal. I do not need subscriptions and thus I can omit the sequenceType when creating that first payment. Did I get that right?

dense oracle
#

Correct. If you create a customer and then do a first payment, a mandate will be created automatically once the payment is paid.

Then, if you have to charge for damages, you make a payment with the customerId and sequenceType=recurring to charge the funds without consumer action πŸ™‚

round heart
#

Unclear in the docs though: do I set sequenceType to first if I want recurring payments to be one-off (ie on -demand as opposed to subscription)?

dense oracle
#

For the first payment, you set it to first, for charging later with the mandate, you set it to recurring

round heart
#

So the API will set sequenceType to First so I can manually handle damage claims in the Portal (the portal sets it to recurring)?

dense oracle
#

No, you need to set it like that. By default it's oneoff but that will NOT create a mandate

round heart
#

I mean that my API at check-out will set sequenceType to first and that I can manually charge in Portal (as opposed to via your API setting sequenceType to recurring)

dense oracle
#

Please see the docs I have linked, it explains it step by step

junior bough
#

Just a small heads up: if you go this route (mandates) the renter can easily dispute or worse MOI the transaction. He or she is ofc not happy he is being charged.

dense oracle
#

Yes, the chargeback risk always remains πŸ™‚ \

round heart
#

I'll handle the legal stuff appropriately.

#

I read the docs many times; if you could just confirm that in order to charge in the Portal I set the first payment SequenceType to first? I won't use your API for charging, so do not need to set it to recurring but will use the Portal.

junior bough
dense oracle
#

I have no idea what you mean by portal? If you mean our dashboard, then you can not use all of this. Recurring only works via the API

round heart
#

Hang on, I'll cite the magic back to you.
Recurring payment documentation:
'Or charging a customer in your Dashboard manually, for orders by phone.'
Then later in the text:
'You can create a recurring payment with the sequenceType set to recurring when creating a payment with the Payments API.'

I do not want to use the API, preferably, but your Dashboard. So I do not use 'recurring' then?

dense oracle
#

Correct. You can NOT do any recurring payments via the dashboard. You should use the API or an integrator for that

round heart
#

Then what is meant by this?
'Or charging a customer in your Dashboard manually, for orders by phone.'

dense oracle
#

I have to admit that this is confusing and I will change it right away. But we meant there your dashboard as in your application πŸ™‚

round heart
#

Riiiiiiight. OK, so I implement an API myself that calls your Payment API and sets it to recurring.

#

Thank you both!

dense oracle
#

Perfectooo πŸ˜„