Bilal Yasin
Bilal Yasin

Reputation: 56

How to collect payment info and charge different amounts later

I am working on an application that will receive user's payment information on signup and store it somewhere. Application actually receives the order from an external source, calculates the shipping cost, charges it and then ships it. Charging of the shipment cost needs to happen in the background without the user's consent considering that we have already authorized the user to deduct payment from their card.

Now I have seen a number of payment gateways like Stripe, Paypal, Braintree, Authorize.net, Skrill and so one. All of them support either recurring payments of the same amount or authorize and capture later for a fixed amount. Which will not not meet my requirement.

I have seen different platforms doing this kind of stuff like AWS, Upwork and so on. They will create a bill for the service that you use or pay you on demand. I know they have their own payment gateways. But is there any service which I can use to achieve this.

Upvotes: 1

Views: 117

Answers (2)

Paul Asjes
Paul Asjes

Reputation: 5857

Stripe supports charging saved payment methods later for a variable amount. Have a look here: https://stripe.com/docs/payments/save-during-payment?platform=android#android-create-payment-intent-off-session

Upvotes: 0

Preston PHX
Preston PHX

Reputation: 30432

It seems you're looking for a feature that is variously called reference transactions, billing agreements, or payment tokens.

PayPal has a Vault API that is in open beta, which can do this in conjunction with the Orders API. Here is a sample.

However, in order to use this feature the account receiving the payments must be approved for PayPal's "Reference Transactions" feature. The account's owner must contact PayPal's business support (not technical support) to request and explain the business need for this feature, which may or may not be approved. My understanding is it helps to be an established business in good standing.

Upvotes: 1

Related Questions