Monthly Payment Processing - payment-processing

I am building site for a client in .NET. The site has a monthly subscription service, wherein customer pay for the services with debit/credit card details. Money will be deducted from the account regularly. Customers can cancel the subscription service at any time and the collection should be stopped.
Is there any service that I can use to accomplish this?
Any information on how to go about developing this will be much appreciated.
Thanks in advance.

If you want to outsource the entire billing system (which is certainly advisable, as they can be an extremely complex distraction), I would recommend working with a company like http://spreedly.com/ or http://chargify.com/, who do exactly this and provide an extremely simple API (especially compared to PayPal) to integrate with your .NET app.
Bear in mind that with these solutions you still need to bring your own payment processor and merchant bank account.

PayPal is ideal for this. See:
https://www.paypal.com/en_US/ebook/PP_NVPAPI_DeveloperGuide/Appx_SDKDotNET.html

Most payment processors I have worked with support recurring payments. This means that you don't have to store the credit card information. Typically you just store a reference to the credit card and just send the process the amount and the reference number to complete the transaction after the initial payment.
This is one of the companies I have worked with and their details of how recurring payments work. PayPal also does recurring payments.

Can i suggest you review all the other posts on SO regarding monthly payments? This search does bring back a number of questions that may be of help to you (it also brings back a few non related ones, just ignore those :)

If the merchant account is US based you should consider Authorize.Net's Automated Recurring Billing API. It handles the subscriptions for you and has a very easy to use API. They offer working sample code to get you started.

Related

Is .Net Integration of Credit Cards with PayPal Advanced Checkout Possible?

I have an ASP.Net website, and am attempting to re-implement our existing PayPal checkout flow (previously based on their Payments Pro product/SOAP APIs) to behave similarly under their Advanced Checkout flow with REST APIs. (PayPal is deprecating fraud filters in Payments Pro and it's forcing the change from a business perspective).
I've reviewed the PayPal v2 REST APIs. PayPal-based checkout is fine (and I have a working flow for it) but can find no means to directly accept credit cards for processing. The closest I've come is to use the PayPal.Net library and attempt to run the card as a FundingInstrument -- but this returns an "PAYEE_ACCOUNT_INVALID" in the Sandbox, even though that account Advanced Credit and Debit box checked in the app settings. I could simply direct all payments to the PayPal main page and let the user choose the funding source from there, but the user experience of doing a Visa payment this way is cumbersome and likely to lead to cart abandonment for users accustomed to simply running their stored Visa card as a method of payment.
The available JavaScript code I've seen appears to render the credit card buttons on the site by calling host code, and effectively executing the transaction entirely on PayPal's servers. If my own Javascript was better, I might be able to figure out the loop of how to stuff in the user's saved details into the rendered buttons, but I'd much prefer some sort of .Net-based solution. Has anyone had any experience building such a thing? Is it even possible in the current REST API?
Any pointers would be much appreciated--never had so much trouble locating sample code or resources for a project, and am starting to wonder if it's simply not supported...
Thanks,
-Pete
The best solution is to use Advanced Credit and Debit Card hosted fields. The CSS of these fields can be customized to match the rest of your site, but the actual number, cvv, expiry date fields are hosted directly by PayPal (in tiny iframes), which frees you from having to do a PCI SAQ-D assessment for that processing.
This does not give a solution cards you've already stored numbers for, however. You could vault all those cards, using the PayPal vault API and then later referencing each vaulted payment token to create orders with them. This way you'll be able to eliminate the storage of actual card information on your systems.

Offline payment gateway process

What is the process of offline payment gateway. I got the one side process from internet.
User will enter first and final 4 digit of credit card and giving cvv code, filling other relevant details then submit.
It will reach to to the admin side, I want to know what is the process happening admin side for receiving and completing the process.
I saw some woocommerce plug in for WordPress, but I didn't clear what is happening in other side.
Thank You
I am going to treat this question as a business logic one more so than a technical one. Based on information provided, I see two possible scenarios:
Scenario One - Storing CC#s for later
You're wanting to collect credit card information to process later via a terminal. Like a POS system inside a store or a web portal where you can type in the information.
This would be very difficult to make compliant with PCI-DSS. The cost of maintaining a PCI complaint system, much less setting it up, tends to be prohibitive except for the largest of companies. You need to use a service, like PayPal, Stripe, Authorize.net, etc etc. Depending on the platform you're developing the website, all major credit card processors should have tools for a simple integration.
Scenario Two - Accepting offline payment methods
This would be a usecase where you want to allow users to pay via mailing a check or some other form of physical payment. This would just mean adapting your shopping / payment experience to allow an option to pay that method, provide a mailing address, and putting a hold on the purchase from processing further until payment is received.
This is what I have based on what was given so far, if I am off base, please elaborate!

Paypal ASP.NET without credit card management

I'm starting to use Paypal SDK to implement the payment service for a ASP.NET site. I wrote the code following the SDK example and everything worked fine, of course I'm managing the whole process (credit card data entry and submission included). The site owner however complained about credit card data management and thus asked me to re-implement the whole procedure without managing the credit card data 'internally' at all but leaving Paypal doing this part of the job.
This mean that NO data of the credit card should be entered in forms belonging to the site I'm coding.
As far as I can see (but I'm just a newbie in Paypal SDK) there's not a way to do what I'm asked for using SDK API calls.
Given my lack of experience I'm not sure about what I'm stating then I can only suppose that I'm missing something so... there's a way to do so trough API calls?
Best Regards,
Mike
What your site owner is likely asking you to do is to leverage PayPal's Vault API (part of its REST APIs) to store credit card information so your site doesn't have to. If you store the credit card information on your site, you have to ensure the data is stored in a PCI-compliant manner, which may be too costly for some sites. The Vault API will return a credit card token that can only be used by your REST application for making payments. The API also allows you to get the details of the credit card using the token, but will mask the full credit card number.
There are some examples on how to do this in the PayPal .NET SDK Samples. If there's a use case that's missing, feel free to let us know over on GitHub.
PayPal basics for ASP.net c#
http://www.codeproject.com/Articles/42894/Introduction-to-PayPal-for-C-ASP-NET-developers
http://www.codeproject.com/Questions/718003/How-implement-Strong-cryptography-with-associated
http://forums.asp.net/t/1977404.aspx?Integrate+with+Paypal+account+within+Net+project
http://www.west-wind.com/presentations/PayPalIntegration/PayPalIntegration.asp

Receiving payment for email

I want to set up a consulting service on my blog (WordPress). It would be really simple:
Someone asks me a question
I give them an answer via email (or possibly Skype conversation)
However, I'm having trouble figuring out how to receive payment for such service. I can ask for payment up front using platform like Sellfy/Selz, but that doesn't seems like a good solution.
How would you recommend doing this in the least complicated/most effective way? I'm looking to collect payments by PayPal.
EDIT: It would probably work if there was some kind of an escrow in which case both me (seller) and the buyer would be protected. However, it's more tricky to set it up since we're not dealing with actual products.
you can seperate the auth and capture process with paypal. But i think there are extra fees on this so research it carefully.
https://developer.paypal.com/docs/classic/paypal-payments-standard/integration-guide/authcapture/
You can look at getting reference transactions with paypal. They provide you a small deposit before the service. Depending on time of service you can use reference transaction with paypal to charge them the total afterwords. Then if they come back, within 365 days you dont need a deposit if they want to use the same payment method.
I opted for the following solution, which is the simplest in terms of what I'm looking for:
Set up Contact form on the website (someone asks a question)
I write a reply and package it as a downloadable PDF
Set up the reply on a service such as Sellfy or Sellz (with possibly a short preview)
Send notification that reply is available for download
That way, the person only pays once the question is answered and I minimize my risks.
Tip: I'm going to set up a short "Terms of service" to which people agree when sending their question. It will be used as a disclaimer and protection against possible misuse of the system.

Alternative to storing credit card info [duplicate]

This question already has answers here:
Closed 12 years ago.
Possible Duplicate:
Storing credit card details
I'm working on creating an architecture for a site where users can login and buy products. My boss would like the checkout page to remember the user's credit card info so they don't have to enter it every time, like Amazon.
I don't want to store credit card info in a database for a variety of reasons; I refuse to do it. But my boss insists on the site remembering the user's credit card info.
So, how can this be accomplished? It obviously is being done, unless sites like Amazon are storing user's credit card info and making it extremely secure.
Some companies do indeed store credit card information. If they're responsible, they conform to the Payment Card Industry Data Security Standards. This can be quite expensive, so companies often partner with third parties to handle these transactions.
You could use a service like Authorize.NET's Customer Information Manager CIM. Many other payment gateways offer similar solutions. You store the payment information with them once, then make future requests for payments using a payment profile ID instead of the actual payment information. Another popular company that offers similar services is Braintree Payment Solutions.
Why not encrypt it and make a decryption program that will only allow one CC at a time to be accessed? Maybe something like that would work.
I guess even before that, you have to ask yourself whether or not the user even wants that type of functionality. The only web sites that I might want to keep my CC info stored on are Amazon.com, PapaJohns.com, and maybe one or two others. If you are selling pool equipment, doors, stereo equipment, or something like that, your boss is an idiot.

Resources