Unique Credit Card processing requirement? - magento

I am working with a client to migrate their 12 year old ecommerce site to a more modern platform. The manner in which they process credit cards is something I don't have experience with, and either I can't seem to punch the right combination of words to get google to spit out what i'm looking for, or this is an oddity.
Their business does not process any credit card transactions itself. They use mals ecommerce shopping cart, and when customers place orders, the credit card information is stored there, but not processed. Their partner then logs into Mals and is able to retrieve all the card information and then process it externally on their own equipment.
Is there a common name for this process
Is this an acceptable practice (It seems kinda sketchy to me)
If so, can someone point me in the right direction for research

Related

Taking remote orders via app

I have small food store. I'm working on an app that will allow my customers to download the app, keep up with events, etc., but most importantly, order from my app menu ahead of time, take their CC payment ahead of time and I have their order waiting for them when they walk in. I want the purchase to now show up in my Square system so I can get started on the order and I would like to use Square POS to take and process the order so I don't have to keep up with two POS systems. This does not seem possible with Square? Suggestions, idea, help?
To my knowledge, that isn't currently possible with any of the available Square APIs. The best you can do is probably to set up a Square online store and allow users to make purchases from your site. Masala Wok is a good example of what this looks like.

What kind of data format is that?

I found this record in the database which is used to hold multiple values.
I want to know what is this format called so that I know how to deal with it?
a:4:{s:5:"child";a:1:{s:0:"";a:1:{s:3:"rss";a:1:{i:0;a:6:{s:4:"data";s:1:" ";s:7:"attribs";a:1:{s:0:"";a:1:{s:7:"version";s:3:"2.0";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:1:{s:7:"channel";a:1:{i:0;a:6:{s:4:"data";s:29:" ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:5:{s:0:"";a:8:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:5:"yoast";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:16:"http://yoast.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:17:"tweaking websites";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:13:"lastbuilddate";a:1:{i:0;a:5:{s:4:"data";s:31:"fri, 30 mar 2012 09:19:49 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"language";a:1:{i:0;a:5:{s:4:"data";s:5:"en-us";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:9:"generator";a:1:{i:0;a:5:{s:4:"data";s:39:"http://wordpress.org/?v=3.4-alpha-19827";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:5:"image";a:1:{i:0;a:6:{s:4:"data";s:5:" ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:1:{s:0:"";a:6:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:5:"yoast";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:3:"url";a:1:{i:0;a:5:{s:4:"data";s:69:"http://yoast.com/wp-content/themes/yoast-v2/images/yoast-logo-rss.png";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:16:"http://yoast.com";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:5:"width";a:1:{i:0;a:5:{s:4:"data";s:3:"144";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:6:"height";a:1:{i:0;a:5:{s:4:"data";s:3:"103";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:17:"tweaking websites";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}}}}s:4:"item";a:20:{i:0;a:6:{s:4:"data";s:15:" ";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";s:5:"child";a:7:{s:0:"";a:7:{s:5:"title";a:1:{i:0;a:5:{s:4:"data";s:42:"7 ways to increase sales by creating trust";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"link";a:1:{i:0;a:5:{s:4:"data";s:58:"http://feedproxy.google.com/~r/joostdevalk/~3/1ssu1jmtutq/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:69:"http://yoast.com/7-ways-to-increase-sales-by-creating-trust/#comments";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"pubdate";a:1:{i:0;a:5:{s:4:"data";s:31:"mon, 26 mar 2012 13:09:54 +0000";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:8:"category";a:2:{i:0;a:5:{s:4:"data";s:22:"usability & conversion";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}i:1;a:5:{s:4:"data";s:28:"conversion rate optimization";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:4:"guid";a:1:{i:0;a:5:{s:4:"data";s:25:"http://yoast.com/?p=45457";s:7:"attribs";a:1:{s:0:"";a:1:{s:11:"ispermalink";s:5:"false";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:11:"description";a:1:{i:0;a:5:{s:4:"data";s:778:"<p>the key to conversing a visitor into a client is the creation of trust. your product can be the greatest thing on earth or the dullest office supply ever, both can be sold online when your visitor knows you are the best supplier for that product or service. we often advise on how to gain [...]</p><p>7 ways to increase sales by creating trust is a post by <a rel="author" href="http://yoast.com/author/michiel/">michiel heijmans</a> on yoast - tweaking websites.a good wordpress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? check out my thoughts on wordpress hosting!</p>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:32:"http://purl.org/dc/elements/1.1/";a:1:{s:7:"creator";a:1:{i:0;a:5:{s:4:"data";s:16:"michiel heijmans";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:40:"http://purl.org/rss/1.0/modules/content/";a:1:{s:7:"encoded";a:1:{i:0;a:5:{s:4:"data";s:6576:"<p>the key to conversing a visitor into a client is the creation of trust. your product can be the greatest thing on earth or the dullest office supply ever, both can be sold online when your visitor knows you are the best supplier for that product or service.</p><p>we often advise on how to gain trust in our <a title="website review" href="http://yoast.com/hire-me/website-review/">website reviews</a>, and i've compiled a list of some of the advice we've given over time. of course, trust can be earned in more ways than this, but we'll give you these seven to start with.</p><h2>1. use clear and normal language</h2><p>this is an often overseen issue that causes a lot of misgrief with your visitors. you should speak their language, not drown them in a sea of technical specs you don't even understand yourself. use a clear and direct style of writing. keep your audience in mind. do not focus on telling them what you want to tell them, focus on providing as many arguments as possible why their quality of life improves after buying that specific product.</p><h2>2. testimonials</h2><p>do not brag about your products yourself. if your products or services are really that good, i'm sure you'll find someone else that can do the bragging for you. make sure your visitor understand that the testimonial is written by an actual customer, by listing at least name and company and if the customer agrees, even a picture of him. video seems to be the next big thing in testimonials, by the way. in my opinion, that video testimonial should be accompanied by a written excerpt:</p><div id="attachment_45461" class="wp-caption alignright" style="width: 590px"><img class="size-large wp-image-45461" title="testimonials as seen on cloversites.com" src="http://cdn2.yoast.com/wp-content/uploads/2012/03/testimonials-cloversites.com_-590x472.png" alt="testimonials as seen on cloversites.com" width="580" height="464" /><p class="wp-caption-text">testimonials as seen on cloversites.com</p></div><h2>3. verified signs</h2><p>everyone can create a verified sign, so don't let those verified signs fool you. but the majority of your visitors actually believe that you are the 'most appreciated hairdresser of mississippi' or the 'best plummer 2006'. man, i hate those signs. but when the signs are from well-known companies, they really do add value to a webshop:</p><div id="attachment_45459" class="wp-caption alignright" style="width: 590px"><img class="size-large wp-image-45459" title=""verified" signs" src="http://cdn2.yoast.com/wp-content/uploads/2012/03/verified-signs-dx.com_-590x76.png" alt=""verified" signs" width="580" height="74" /><p class="wp-caption-text">"verified" signs</p></div><p>by investing in the guidelines of the right verification companies â the webshop shows that it has been keeping the customer in mind when setting up the website.</p><h2>4. pictures</h2><p>if you recognize the woman on this picture, please call the following toll-free number...:</p><p><img class="alignright size-large wp-image-45460" title="stock photography" src="http://cdn2.yoast.com/wp-content/uploads/2012/03/picture-stock-590x314.png" alt="stock photography" width="580" height="308" /></p><p>you can do better than that stock photo. listing actual pictures of yourself and/or your employees pushes conversion due to recognition and identification.</p><h2>5. list your physical address</h2><p>this one is really simple: people want to know there is a place to go to in case of problems (if any). having an actual store next to your webshop works even better, especially if a lot of your customers are relatively local.</p><p>in the netherlands digitalstreet.nl made this concept into a huge success, even though they're located in the south-west of the netherlands (quite near to where we are), people come from all over the netherlands because they'd rather buy the product in the store. there are more stories like that, but even if you don't want to do that, just listing your address on check-out pages increases trust a lot.</p><h2>6. what happens after check-out?</h2><p>there's this hesitation in almost all buying decisions: right before you click the pay now button. what's going to happen next? am i charged for taxes, import, anything else? can i select a wrapping paper? explain what happens after clicking that button. that way the customer is included in your ordering process and there are absolutely no suprises. that can be done with just a few short lines of text:</p><p><img class="alignright size-large wp-image-45458" title="checkout message on bloomingdales.com" src="http://cdn.yoast.com/wp-content/uploads/2012/03/checkout-bloomingdales.com_-590x244.png" alt="checkout message on bloomingdales.com" width="580" height="239" /></p><h2>7. show you care about more than making money</h2><p>the most important thing is that your website has to reflect your believe in the product or service you provide. just a list of products is not enough. also tell your customer about your company, your main values or mission statement. i really love the 1% for the planet from yvon chouinard (patagonia) and craig mathews (blue ribbon flies) http://www.onepercentfortheplanet.org. next to showing that you are involved, it also creates a huge sympathy and trust factor.</p><h2>we'd love to hear your tips!</h2><p>if you are selling products or services on your website, you must have thought about this subject. i'm curious: what have you done on your website to increase trust? what are you going to do?</p><p>7 ways to increase sales by creating trust is a post by <a rel="author" href="http://yoast.com/author/michiel/">michiel heijmans</a> on yoast - tweaking websites.a good wordpress blog needs good hosting, you don't want your blog to be slow, or, even worse, down, do you? check out my thoughts on wordpress hosting!</p><img src="http://feeds.feedburner.com/~r/joostdevalk/~4/1ssu1jmtutq" height="1" width="1"/>";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:36:"http://wellformedweb.org/commentapi/";a:1:{s:10:"commentrss";a:1:{i:0;a:5:{s:4:"data";s:65:"http://yoast.com/7-ways-to-increase-sales-by-creating-trust/feed/";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:38:"http://purl.org/rss/1.0/modules/slash/";a:1:{s:8:"comments";a:1:{i:0;a:5:{s:4:"data";s:2:"33";s:7:"attribs";a:0:{}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}}s:29:"http://search.yahoo.com/mrss/";a:2:{s:9:"thumbnail";a:1:{i:0;a:5:{s:4:"data";s:0:"";s:7:"attribs";a:1:{s:0:"";a:1:{s:3:"url";s:90:"http://cdn3.yoast.com/wp-content/uploads/2012/03/testimonials-cloversites.com_-125x125.png";}}s:8:"xml_base";s:0:"";s:17:"xml_base_explicit";b:0;s:8:"xml_lang";s:0:"";}}s:7:"content";a:4:{i:0;a:6:{s:4:"data";s:4:" ";s:7:"attribs";a:1:{s:0:"";a:2:{s:3:"url";s:81:"http://cdn.yoast.com/wp-content/upload73
It is a PHP serialized object, i.e. an object serialized with serialize() function: http://php.net/manual/en/function.serialize.php
For instance (from the manual):
class A {
public $one = 1;
public function show_one() {
echo $this->one;
}
}
$a = new A;
$s = serialize($a);
file_put_contents('store', $s);
Gives:
O:1:"A":1:{s:3:"one";i:1;}
You can use deserialize($sVarwiththeSerializedData) to revert it to the original state .

Bardcode to contain transaction sum information

Is it possible to make the POS include the transaction amount in the barcode?
I need to create (i'm a developer) a system where the merchant can print giftcards on the receipt itself and then, when the buyer scans the barcode to his proprietory mobile app, his account will be credited with the amount on receipt.
Do you know if its "doable" using standard cash register operations / plugins?
Thanks a lot!
Yes, you're looking for a price embedded barcode which is possible. If I remember correctly embedded barcodes tend to begin with "2" or "02", a search can bring up more information on them I'm sure.
However this isn't a good idea, as if someone works out that this is the method in which you're crediting accounts, it wouldn't be difficult to spoof a barcode and give yourself some free money.

Retail point of sale credit card processing - card present. Minimizing PCI compliance requirements

I am writing a point of sale application for a client who has some very specific needs. The client is a retail store, so when they process credit cards, they have a physical card present and can swipe it. The way it is now, at the end of check out, it presents the cashier with a total, and the cashier keys the total into a credit card terminal (by hand--it is not connected to the computer), swipes the card at the terminal and then when the payment is processed, the cashier presses the "Paid by Credit Card" and it prints a receipt.
The problem is that hand keying in totals is time consuming and prone to errors. I'd much rather have my program transmit the amount to a credit card terminal and then get a message when the transaction has been processed. I don't want to touch any card holder information (card number, etc) because I want to stay outside of PCI. All I want to do is send an amount and get back an "accepted" or "declined". You'd think this would be common, but I seem to have failed to find information. (For example, authorize.net's card present API requires me to collect and transmit the card number. I don't want to collect and transmit the card number. I want to transmit an amount and have someone else collect and transmit the card number and notify me when the process is complete.)
Does anyone have a solution for this? Has anyone worked with Verifone or Ingenico's hardware? I don't care if I'm sending the number of a physical terminal connected via USB or to a virtual software terminal. I just don't want to be the terminal myself, so that I'm not anywhere in the chain of card data.
I'm familiar with the VeriFone line of products, both signature capture (Mx900 series) and mobile iOS devices (Vx600). Your first hurdle is that the units are pricey for the little guy (ie: small business owner) at about $500 & $900 each respectively (retail).
On the bright side these things are your friends when it comes to PCI via what VeriFone dubs Verishield Protect (VSP). Essentially VSP encrypts the card swipe on the magstripe head and your POS solution will have to send out a decryption request which your POS software can either consume for settlement or for a fee VeriFone will send it directly to the bank.
The main sticking point of the PCI requirements I believe you're running into is the fact that the clear card data can't be "stationary" at any point in your code and either of these solutions will be a good launching point.
Good luck!
You should take a look at payworks. They provide a iOS / Android SDK to integrate a credit card reader. You never touch credit card data.
Disclosure: I am a software engineer at payworks.
The Pax S300 can do it, though I haven't found a processor that supports it. TSYS is supposed to, but after 4 months of run around, I could never get a device. Helcim has great customer service and report that they are planning an Ingenico solution for pushing the total to the terminal by the end of 2015.

generate printable bank giro deposit slip

I am trying to generate a Bank Deposit slip (ideally a PDF) with incremental serial numbers everytime someone clicks and downloads one. Now I know how to generate PDFs etc programmatically but I wonder if there is a 'best practice' way to do this kinda thing before I start generating this deposit slip pixel by pixel on a PDF? There must be some templates out there I can use?
Any ideas on what approach to be followed in this case?
It is a kind of thing that evolves your invoice system, customers (if you have one), products/services that you are negociating, and of course a place in a database to save all your transactions.
I was staked in Bank Slip, but now I found a simple solution, I'm going to share here with you, perhapes is not the best solution, but apparently was good to me, actually I'm building this.
I'll talk here about the structure to accomodate the transactions datas, here I go:
A table in your database, I had called it bank_slip
here goes the fields for bank_slip
id | invoice_number | transferor | code_transferor | amount_title | due_date | our_number | drawee | fines
Now I will explain the process to generate a bank slip »»
I supose that you have already an invoice system working in your system and it must be integrated with your customers and products/services of course.
Once you have invoice, customer and products/services you can start to work in your bank slip.
In the invoice system you need to call the bank slip. Why there? 'cause there you have all the necessarie information to generate your bank slip such as the struct of your table bank_slip showed above. You will pass all the information of your customer, service and invoice across pages via form (POST or GET).
Then you need some class to generate the bank slip for you. I'm using this one --- http://www.boletophp.com.br/#download
The class was built to work with the mainly banks of Brazil, but of course you will need to find something that fits in your country, I think it is not the worst part of the job.
The worst for me was to integrate it to my system already in use and working, but like I explained above it fit like a gloves to me.
I hope you can find a solution to your problem.

Resources