Can CiviCRM store credit card information for donation campaign? - paypal

I am using CiviCRM with Drupal 7.x. My question is: Can CiviCRM store credit card info?
Because I want to check detail for security prospect view.
And also: if it's saved, how is it managed in CiviCRM admin?
Currently I'm setting up Paypal or Authorize.NET for normal and recurring contributions in Payment Processor settings.

Tools like CiviCRM should avoid storing credit card details like the PAN, since they may rely on tokenization with the payment gateway to charge future payments against a card if permission is granted at checkout.
For PCI compliance, software like CiviCRM is permitted to store only partial card details + a reference to the gateway's token (search "credit card tokenization" for more on this). PCI/DSS does permit storage of full PANs if you take "certain steps", but you really don't want to do that - a significant undertaking which exposes your org to significant risks.
How CiviCRM implements recurring billing will depend on the payment processor you select. For Authorize.NET in CiviCRM you use their ARB service, and a similar setup for Paypal; in essence you instruct the gateway to set up a scheduled payment on the card. After that it remains in effect until cancelled (presumably by you, the cardholder, or card expiry).
Full details on the payment processors you refer to are at -
CiviCRM Authorize.net
CiviCRM Paypal Website Payments Pro and Express
CiviCRM Paypal Website Payments Standard and Recurring
Other payment processors are available including some from the extensions directory which permit recurring billing - you will need to evaluate options for your organization.
Since tokens are stored at the payment processor, you might find it hard to shift payment processors down the track as you risk losing any payments that people don't transfer. Choose wisely and for the long run :)

Related

Is it possible to collect payments from VISA, Discover, and PayPal into a Mastercard?

I am a college student and I want to launch an online store for dropshipping. I am allowed to have one credit card, where I live, say Mastercard. But for the customers convenience I would like to enable VISA, Discover, Mastercard, American express, Debit card, and PayPal checkout. I know that there is a PayPal credit card that allows payments from all these cards but it requires a business license, which I am not allowed to have as a student. Is there a way I can receive payments from the above mentioned cards to a Mastercard? If there is a better solution to my problem I would like to hear it from you. Thanks!
When you set up an online store, you will also be signing up with a Payment gateway that will be collecting money on your behalf and transferring it to you. In this way, you will be able to set up your store to be able to accept any payment methods supported by the payment gateway(s) that you set up, and any money you make will be transferred from the gateway to the account that you registered with. This might be a credit card or directly to a bank account depending on what the gateway supports.
Using a trusted payment gateway (such as Stripe, Braintree, PayPal, Authorize.net, etc.) will let you focus on your store and not have to worry about accepting credit card information directly, and you will get your earnings transferred to you regularly in a form that you can accept. Note also that taking credit card info directly comes with a host of security concerns and regulations. By using a payment gateway you will never see anyone's credit card info directly, so you won't have to worry about all the security and legal concerns surrounding that. The gateway companies make their money by taking a small transaction fee for each purchase, but this fee is definitely worth it to get your business started.

Paypal IPN set "no account" as default

I have a working paypal IPN, but ive been wondering: can I somehow set the "I have no paypal account" as the default choice when a customer is directed to paypal?
Short anwer: No, don't do that.
Long answer:
PayPal sets this dynamically based on customer information, primarily the cookie. In other words, people who have logged into PayPal on that device/browser before generally see that option presented first; people who have not are presented content that features the non-PayPal-login more prominently. This is done (primarily) to increase conversion for you (ie get the highest percentage of people to complete the payment & buy from you). Trying to defeat PayPal's code here would usually be counterproductive.
That said, there are also differences in how PayPal's screens are presented between various PayPal products (e.g. Payflow looks different from Express Checkout which looks different from Website Payments Standard) due in part to the mix of payment methods supported by each of these products, and also in part to expected customer mix with each of these. Some of these products also vary their behavior somewhat based on account settings or button/api parameters, again with the goal of being as effective for you as possible. But those parameters are product-specific and the question did not specify which PayPal product you are using.
As an example of variation between (and within) products:
Website Payments Standard (WPS) was designed to allow a merchant to accept payments from everyone, as the merchant's "sole solution." Express Checkout was originally designed to be used alongside a merchant's existing or separate credit card collection page, by merchant who would directly bill credit cards through a separate product (PayPal's DoDirectPayment or another processor). So PayPal's first WPS page was designed to present well to buyers with just credit cards or buyers with PayPal accounts. But a buyer would only be sent to the Express Checkout screen if they proactively chose to use PayPal rather than entering a credit card directly on the merchant's page, so PayPal's first Express Checkout screen could be aimed directly at PayPal account holders to generate the most intuitive buyer experience and highest conversion. Since that original version (ten years ago, in 2005!), however, Express Checkout has become more integrated into "PayPal Pro" and can also used as a sole solution, like WPS. For that usage it now supports an option that includes collecting card payments without a PayPal account.
PayPal also offers Payflow, Hosted Sole Solution, Adaptive Payments, and more payment flows.... each of which offers some slightly-different balances of buyer experience (and merchant experience/requirements -- e.g. some of these give the merchant access to credit card numbers and require PCI and merchant banking agreements, etc etc).

Paypal API with no PCI Compliance

It is clear from various discussions that if I accept the credit card on my site and call Paypal API to pass the CC to Paypal, I have to be PCI compliant as well.
In our solution, user uses forms on our web page to submit credit card information. We then take these credit cards information, send them to Paypal, and receives an ID from paypal that we can store in the database. In future transactions, user does not need to enter the credit card information again. We simply send that ID to paypal in place of the credit card information.
To avoid the PCI nightmare, we want to rely of Paypal toodls/widgest to collect this credit card information in a way that we simply receive the corresponding IDs. The question is, does Paypal have such a widget? What are my options?
Your site will still need to undergo PCI compliance, either with a SAQ A or SAQ A EP, depending on how the application sends the data to Paypal.
Per the PCI Council:
SAQ A: All elements of the payment page(s) delivered to the consumer’s browser originate only and directly from a PCI DSS validated third-party service provider(s)
SAQ A-EP: Each element of the payment page(s) delivered to the consumer’s browser originates from either the merchant’s website or a PCI DSS compliant service provider(s)
Overall, the concern is to ensure that the site that is performing the redirect is secure. There is a chance that the site is modified so that the iFrame, direct POST, or other means could be sent to a malicious site.
Have you considered using PayPal Advanced? This account type will allow you to capture the Credit Cards on your site 'within an iFrame' and PayPal will handle all the PCI compliance. The PayPal Advanced account will run you only $5.00 a month vs the $30.00 a month for a Pro account and without the concerns of PCI compliance.
As for using the Transaction ID for future purchases, this feature is known as Reference Transactions and can also be added to your account.
You could also try Braintree. As of December 2013, they're a subsidiary of PayPal.
Paypal has several different APIs you can use. They are listed here:
https://devtools-paypal.com/tryit
I think their Adaptive Payments option might work for you:
https://devtools-paypal.com/guide/ap_simple_payment?interactive=ON&env=sandbox
In this model you would have the customer go through your purchasing process, pick the product, quantity, etc. You determine the price then you follow the PayPal Adaptive Payments API (Specifically the "Simple Payment" function) to send payment details to PayPal including the price you calculate on your side. The user is then redirected to PayPal website where they can enter their credit card information or PayPal account details and accept the charge. They are then redirected back to you along with the payment details and you carry on.

Storing Credit Card information using PayPal Payments Advanced API?

I want to use PayPal Payment Advanced API to store the customer's credit card info on the PayPal's website the first time the customer enters the credit card info. For subsequent customer visits, i want to retrieve the Credit Card info from the PayPal's server. Is this possible? What does the PayPal server return me ( like a transaction id )that I can store in my database for that customer and then use it for subsequent requests.
Thanks
There is no API for Paypal payments advanced. From their tutorials:
PayPal Payments Advanced requires use of PayPal's hosted checkout template...
This means that you have to use their hosted pages (you can probably do so using an iframe if you want). The reason for that is that in order to collect credit-card details you have to be PCI compliant, meaning, you have to pass a series of security checks/tests. This process took my company almost two years and major development (and other) resources, so you probably don't want to go down that path.

Adaptive Payments VS Website Payments Pro for our online marketplace

We are a UK-based marketplace site that wants to never force buyers to sign up for paypal. We allow users to set up customized stores through our site, and our second requirement is that these users be able to become sellers with only a basic paypal account. When a buyer makes a purchase, we are the primary receiver, taking 15% and passing on the entire paypal fees to the secondary receiver (user), as well as all the remainder of the transaction. My question is: What's the best solution paypal offers for this? It seems that chained payments would be, but if I understand correctly the Website Payments Pro system is the only one that guarantees that buyers outside the UK wouldn't need a paypal account. Is there a way to take the money in ourselves with Website Payments Pro and use the API so it transfers the 85% (minus the fees) to the user's paypal account?
It depends on what approach you want to take.
I would prefer Chained Payments as it allows guest checkout (credit card payments outside a PayPal account) with certain restrictions and will easily allow the user to receive the funds and automatically forwards the 15% cut to your account. This removes the need to collect funds outside of the payment flow. This means no invoicing or no lost dues!
Website Payments Pro only offers credit card payments however you would also need to offer Express Checkout for PayPal payments as well. You also have the flexibility of hosting the order form so you control what the users see. The downside is you'd have to collect funds from the user outside the payments. Such as monthly invoicing, billing agreements or manual processing.
Here is the criteria we use to allow guest checkout. Please keep in mind these are due to rules and regulations, not PayPal's choosing.
The credit card has a lifetime limit of 10 purchases outside a PayPal account
The user's email address must not be attached to an existing PayPal account
I don't have a direct answer for you but hopefully this helps make your decision.