Thanks for the heads up on this thread.
s2Member Pro creates an ARB (Automated Recurring Billing profile) in it’s integration with Authorize.Net. Once the billing amounts are established and agreed to by your customer, Authorize.Net does not allow these values to change. See: https://support.authorize.net/authkb/index?page=content&id=A507&actp=search&viewlocale=en_US&searchid=1353491994827
See also: https://support.authorize.net/authkb/index?page=content&id=A660&actp=search&viewlocale=en_US&searchid=1353491994827
That being said, you are certainly capable of processing transactions manually through the Virtual Terminal provided to you by Authorize.Net. It’s also possible to charge a credit card programatically through the Authorize.Net AIM API. Here are two possible scenarios that I can see for you.
1. You could have an s2Member Pro form to collect the customer’s credit card information each time you want to receive funds. However, based on your explanation, I don’t see this fitting the business concept you’ve presented.
What you’re trying to accomplish is geared more toward Automated Recurring Billing. In other words, you’re looking for billing to occur automatically, and not require the customer to come back to your site each time you need to be paid. While s2Member Pro does integrate fully with Authorize.Net’s ARB service, the $ amount that is charged automatically, is established when the customer agrees you pay you (at checkout), and cannot be changed each month unless the old ARB is terminated and a new one is created by you manually, or by your customer – at a different amount.
2. Regarding Virtual Terminal use, or one-time charges submitted through the Authorize.Net AIM API.
In the case of a manual transaction where you charge the customer X number of dollars using the Virtual Terminal provided by Authorize.Net, you will need the customer’s credit card number and expiration date (along with their permission of course). The same goes for any API driven routine (you still need the credit card details on file, stored in a database on-site).
For security purposes, s2Member Pro does NOT store any of your customer’s credit card information on-site. The customer’s credit card details DO pass through an s2Member Pro Form, and over to Authorize.Net. However, the Authorize.Net ARB service stores the customer’s credit card details securely at Authorize.Net, and s2Member does NOT store them in your WP database; because from this point on, future billing occurs on the Authorize.Net side of things, and is not controlled by your WP installation. It doesn’t need to be.
In short, this is NOT possible with a default installation of s2Member Pro. If you wanted to accomplish this, you would need someone to assist you in writing custom code that collects and stores credit card details submitted by your customer, and a custom routine that would later come back and charge specific amounts that you set.
Reference article: Automated Recurring Billing service from Authorize.Net.