Save Card w/o Capturing Payment - variables

For the project I'm working on, I want to save the credit card information without capturing payment. This is a schedule for services app and an initial payment will be scheduled and then subsequent payments will happen at varying intervals. I know this is a subscription transaction, but I am trying to understand how that would work if the payment is not at regular intervals. Is this possible and is that something that works under the guise of the subscription model?

This is possible but not under the guise of Authorize.Net's subscription model. Because your future payments will not be at regular intervals you will need to handle the scheduling of those payments yourself.
You can use CIM to store the credit card information and make the first payment, but then you will need to have your own scheduling system that knows your scheduling rules and then use it to charge payments using those CIM payment profiles when appropriate.

Related

Stripe Billing or using a queue

I have a general architecture question. I am currently designing a solution where payments need to be processed at a later date and time (asynchronously) using Stripe.
In this scenario what are the general best practices to follow. Should I be using a queue broker like RabbitMQ / Kafka which then transmits regular Stripe Payments at the specified time and date or just use the Stripe Billing / Plans / Subscription API to build the solution.
In the case of regular card payment using Stripe I don't want to store the card details on my system so am assuming I would just store the payment intent until I need to create a charge.
Any help and feedback is appreciated.

Paypal Pro API for monthly payment with variable amount each month

I need suggestion for paypal pro API which allow me to pass variable amount each month. For some months,it can be zero too.
I tried with UpdateRecurringPaymentsProfile but it gives me error of 11592 (Subscription profiles are not supported for recurring payments).
Please someone help me with easiest solution.
Based on the error you mentioned it sounds like you're using a PayPal Standard Subscription button, not Pro. If that's the case, then as the error says, you cannot update standard subscriptions with the APIs. You would have to use the recurring payments API to create the profile in order to then update it.
That said, you won't be able to do variable amounts with recurring payments profiles. you can only raise them by 10% every 120 days, so that typically doesn't work with what you're trying to do.
Instead, you'll need to use reference transactions. So if you're using Payments Pro that will be real simple. You just pass in the transaction ID of an original authorization or sale transaction along with a new amount you need to charge. PayPal uses the card details on file to process the new amount.
If you're using DoDirectPayment then you'll use DoReferenceTransaction for the future payments. If you're using PayFlow you would use the PayFlow API, of course, and change the parameters to match a reference transaction request.
You can also do the same thing with PayPal Express Checkout, but in that case you'll need to include billing agreement parameters in the SetExpressCheckout request, and then you'd use the billing agreement ID you get back from that in the DoReferenceTransaction request.
In any case you'll need to build your own script to run everyday, pull profiles that need to be charged, and charge them accordingly.

Authorize net ARB increase subscription amount

I am using authorize net ARB subscription api in my application to charge some monthly amount from my users based on the product they select. If a user decides to upgrade his product, the subscription amount will also increase. I want to implement this without having to ask the user for his credit card details again. Can I increase the amount of the ARB subscription? If yes, is there any limit on the increased amount ?(I know that in PayPal, you can increase the subscription amount with an upper limit of 25%)
If you do not have the user's card information you cannot change the amount in ARB. If not asking the user for their card information again is important to you then you should use the CIM API which allows you to store credit card information through Authorize.Net and then make payments using that stored information. The only catch is you would need to build your own recurring billing engine as CIM does not handle that.

Parallel credit card payments (akin to Paypal Adaptive payments)

I'm not sure this is the right place to ask but anyway:
I have an e-commerce platform that I want to monetize based on a percentage of revenue made (eg. a store that uses my platform has an order for $100, so I get 1% or $1, while they get $99).
Currently I offer paypal and credit card payments (via my merchant bank) to all stores on the platform (ie. all payments made, regardless of the store, are through the same paypal and merchant account). I then pay these stores per month which is ok for the moment because there are only a few stores using the platform.
Moving forward I want to automate this process and ideally have it operate in real time.
Paypal have an "Adaptive Payments" API that allows chained or parallel payments on a single transaction processed in real time. This means I can skim my 1% and pass the rest of the money along my customer in real time.
I was wondering if there is a similar real-time service for Credit Card processing*? If not, is there a bank/merchant that allow API payment access so I can automate payments per day or week? OR should I just transfer all money from my bank to paypal and use this to pay my customers?
*I realise you can process credit card payments through Paypal without having to sign up, but this is less than ideal. I want the credit card processing to happen on my page as at the moment I'm seeing about 70% of orders using this over paypal.
I was wondering if there is a similar real-time service for Credit Card processing?
No there isn't. True merchant accounts do not allow for split payments. Only one entity can receive a payment and it must be the business the merchant account has been set up for. Receiving the payment for someone else is called factoring and is against all of the major credit card issuers' rules. If a merchant account is found to be factoring it will be closed and the merchant who owns the account will be blacklist. This will prevent them from ever having a true merchant account again. Additionally, there is no way to send money with a merchant account other then issuing a refund for prior purchases.
If not, is there a bank/merchant that allow API payment access so I can automate payments per day or week? OR should I just transfer all money from my bank to paypal and use this to pay my customers?
Other then using adaptive payments, this is definitely the easiest and most straight forward way to accomplish this.

Onsite Recurring Payments using Paypal Website Payments Pro API

I want to accept recurring payments on my site using paypal without having the user ever leave my site. Based on the paypal documentation it appears you have to send the user offsite to paypal (express checkout) first and then have them come back to your site.
Is their a different way of using the api so the user stays on site the entire time?
To Process payments not on PayPal's website, you need to use Website Payments Pro.
To use PayPal's recurring payment system, without programming your own:
Use Website Payments Pro Recurring Payments (direct payment recurring payments / DPRP)
Program your own recurring payment functionality:
Save cc info to a database and make DoDirectPayment API calls based on your criteria
Process an initial payment when someone signs up for your recurring service, save the transaction ID, and then call DoReferenceTransaction in the future (based on your criteria). Always use the newest transaction ID as they only last a year. Also, you need to call PayPal to apply for this feature ($0).