a filly ate it

Stripe Integration

Kudos to the Stripe team for their API integration tools — without a doubt the most straightforward integration exercise I’ve ever attempted. Brilliantly well documented PHP library that just works out of the box. A pleasure to work with, unlike some of the other payments gateways (PayPal/Google Checkout this means you).

Only weird thing I noticed was when I messed something up: one of the Stripe error messages wasn’t particularly user-friendly, so not something you’d necessarily want to present to the customer. But not a massive issue.

+1 for Stripe!

Posted on Sunday, February 12th, 2012 in blog

Maybe PayPal isn’t quite as bad as we thought…

From Rolling Stone:
As Cisero’s lawyers pointed out, the way the numbers kept shifting, as though Visa and MasterCard were simply making them up as they went along, suggested strongly that the whole business was less about merchant fraud and a lot more about just randomly taking money from small business owners who can’t fight back…

http://www.rollingstone.com/politics/blogs/taibblog/credit-card-firms-they-dont-just-steal-from-cardholders-20120109

Posted on Wednesday, January 11th, 2012 in blog

Is YAK compliant…??

How to make your shopping cart suck less.

LOL

Posted on Thursday, January 5th, 2012 in blog

Seller Beware Using PayPal

This has been posted in a couple of places, and as yet there’s been no confirmation as to it’s validity, but apparently PayPal requested that the buyer of an expensive violin destroyed the item, rather than returning to the seller. So the seller is both out of pocket (PayPal refunded the purchase to the buyer), and has no item to resell. Best yet, this is actually in the T&Cs (see Section 13.5d, regarding “For Significantly Not as Described” items):

https://cms.paypal.com/uk/cgi-bin/?&cmd=_render-content&content_ID=ua/UserAgreement_full&locale.x=en_GB#13.%20PayPal%20Buyer%20Protection

It’s worthwhile bearing this in mind this if you use PayPal for processing sales in your shop.

Further reading:
http://www.regretsy.com/2012/01/03/from-the-mailbag-27/
http://boingboing.net/2012/01/04/paypal-if-you-dont-like-the.html
http://idle.slashdot.org/story/12/01/04/1512247/paypal-orders-buyer-of-violin-to-destroy-it-for-a-refund

Posted on Wednesday, January 4th, 2012 in blog

YAK 2.2.1

Not much to report in this latest version of YAK. Suburb (in the address entry screen) is now optional, and javascript usage has been streamlined to use more jQuery (less functions overall, which makes it easier to maintain).

The main point of note is that YAK is now being tested against WP3 only. 2.1.7 is still supported for WP2 users, for the moment, and I’ll make bug fix releases against that version as necessary.

Posted on Monday, June 28th, 2010 in blog, technical

YAK 2.1.7

So, versions 2.1.2 through 2.1.6 went by without any official announcement, so it seems like it’s probably a good idea to note that 2.1.7 will be the last release of YAK for the v2 series of WordPress (other than a bug fix release or two, perhaps).

Changes (in this latest release) since 2.1.1 include:

2.1.2

  • Fix bug with sales tax via manual CC entry, along with removal of spurious <td>
  • Fix bug with sales tax via accounts receivable entry

2.1.3

  • Fix sales tax in PayPal Std checkouts

2.1.4

  • Fix processing problem with failed Authorize.net payments
  • Fix rounding issue with sales tax values sent to PayPal

2.1.5

  • Fix bug with confirmation email (missing sales tax, totals wrong)

2.1.6

  • Add back missing code to handle unlimited quantities

2.1.7

  • Fix problem with incorrectly calculated shipping after validation error
  • Increase timeout on Authorize.net connections (occasionally seems to cause a problem)
  • Fix problem with unlimited quantity handling
  • Add shipping type to email flags
  • Add check for the address_entry function existing (seems to cause an incompatibility with another plugin)

The next release (which may not include any major changes at all), will be 2.2.0, which will be the first official version tested against WP3.

Posted on Sunday, June 20th, 2010 in blog, technical

YAK 2.1.1

YAK 2.1.1 has just been released. Some fairly comprehensive changes have gone into this version. On the stability/security side of things, YAK now uses WP’s SQL “prepare” facility (this is to stop things like SQL injection attacks). From a bug fix perspective, you’ll notice the product edit form (when editing a post) is now draggable (thanks to a contributor), and promo price calculation had a bug in some environments which should now be resolved.

In terms of new features, I’ve added public key encryption for storage of CC details. With the recent news about WordPress blogs hacked on a shared host (http://blogcastfm.com/announcements/warning-massive-number-of-godaddy-wordpress-blogs-hacked-this-weekend/), and various comments about many people on shared web hosts who don’t secure their WP config files properly, it seems prudent to provide the facility for more security for users of the manual CC payment feature. YAK settings are now split into 4 separate screens (General, Shipping, Sales Tax, Advanced) — on the Advanced tab you’ll find a button for generating a public/private key. The public key can be used for encrypting CC numbers, and the private key for decrypting. I’ll be adding some more detail to the FAQ at some point soon.

I’ve also added the facility to require a login for certain products, added more values to the third-party-integration event, and also incrementing item quantity (rather than displaying an error message) when the customer clicks on the buy button for an item which is already in the cart (configurable, of course). The biggest feature addition is the first version of sales tax calculations. This works in a vaguely similar way to shipping (except without the zones), but also provides for federal and state based taxes for the US. If your country has a similar requirement (state versus federal taxes), let me know, and hopefully I can fit that into a subsequent release.

Posted on Friday, April 30th, 2010 in blog, technical

It Takes Two

Well, version 2 actually, rather than a Rod Stewart/Tina Turner duet.

YAK version 2 has just been released (the WP site should update shortly). This is a major release, with a large number of changes. Most important to note for upgraders, is YAK now uses WordPress’s shortcode API and also supports multiple shipping options. See the change list below for what this actually means, but before upgrading, I recommend taking a note of your current shipping configuration, and taking a backup of your WP environment (just to be safe).

Changes include (note, read braces {} below as square brackets []):

  • Updated the codebase to use WordPress’s shortcodes API. This means the old parameter style (e.g. {yak_price type id}) is replaced by the new style {yak_price id=”" type=”"}. For example, {yak_price small 23} becomes {yak_price id=”23″ type=”small”}. {yak_quantity medium} becomes {yak_quantity type=”medium”}
  • Renamed {error_message} tag to {yak_error_message} (for consistency’s sake)
  • Added a {yak_sku} tag. This takes the id and type parameters (same as yak_size). For example, {yak_sku type=”small”}
  • Added a facility for loading custom modules
  • Added “Proceed to checkout” link to yak order widget
  • Added support for multiple shipping options (this means you’ll need to reconfigure your shipping settings — on the plus side, YAK now supports more than one shipping option). Shipping is now configured in a separate screen (YAK Shipping), and is broken into 3 tabs – Basic (the basic config settings, including where you can specify what shipping options you support), Zones (specify which country belongs to which zone), and Options (where you can set the price of shipping to each zone for each option).
  • Added a test facility for the confirmation email message
  • Added (very) basic low stock notification
  • Changed “Buy” button on the initial cart page to “Checkout”
  • Added an option to include the price on Buy Button drop-down (i.e. multi options)
  • Changed ID on the buy button so that it’s unique
  • Added “PAYMENT_PROCESSED” option to the orders screen — for orders which have been (manually) paid (either manual credit card or deposit/cheque, for example) but not yet shipped.
  • Added “DELETE” option to the orders screen — only allows orders which are CANCELLED or in ERROR to be deleted

ADDENDUM: there was a minor Javascript bug I missed fixing (and meant to before the release), so version 2.0.1 will be on the update site shortly.

Posted on Sunday, January 24th, 2010 in blog, technical

YAK version 1.8.0

YAK version 1.8.0 was released yesterday. This release includes the following changes:

  • Add a discount override, to allow for discounts on a per-product basis (useful to get rid of old stock, for example)
  • Add option-selection to products. This differs from the categorisation-method of specifying different types of a product, and allows you to setup a selectable range of options (multi-select). Thus you might have a mix-and-match product, where a customer can select 3 out of 10 options, and so on.
  • Split installation code into separate file
  • Fix a compatibility problem with the exclude-pages plugin
  • Add more logging to product update process
  • Add threshold-based promotions — promotions which are triggered by the value of the order, rather than by a promotion code/voucher.

I’m currently in the process of updating the handbook to take into account the new features. Those who have previously purchased the handbook will receive an updated copy as soon as it’s done.

Posted on Monday, November 2nd, 2009 in blog, technical

YAK 1.7.7

Version 1.7.7 of YAK for WordPress has been released.

This release includes mainly bug fixes, including the following:

  • Hopefully fix a problem with glob (on some PHP installs)
  • Move order widget into separate file
  • Change “Espana” into “Spain” in English files.
  • Fix problem with country missing from shipping address in confirmation email and in order screen
  • Add a new tag [phone] to confirmation email
  • Fix a problem with address in order export
  • Add message to Credit Card entry notifying the customer that they have a final chance to confirm/cancel the order
  • Updated German translation, provided by Joern

This release has been tested on both WP and WPMU.

Posted on Saturday, October 10th, 2009 in blog, technical