ArtPal
Download
Please download ArtPal from the ArtPal Wordpress Page.
ArtPal is a free (GPL) Wordpress plugin, originally written for Artists, to seemlessly integrate PayPal with their Wordpress blogs so that they can sell their work online.
Artists’ online stores tend to be simple, but also unconventional. The items for sale are one of a kind, and thus the overhead that deals with keeping “stock” is unnecessary. I created ArtPal so that artists would have a simple, easy-to-use solution for their unique needs.
ArtPal’s most important features are:
- Easy PayPal integration–all you need to supply is your PayPal email address!
- Real-time sales updates–as soon as your item sells, ArtPal will disable it from being sold. You’ll never worry about your item selling twice!
- Professionally supported–businesses mean business. Digital Sublimity provides commercial support, so you can be rest assured that your critical application will stay up and running when you need it.
If you have any questions about how to use ArtPal, please post them as comments on this page. I will address them directly or update the FAQ.
Configuring ArtPal
The first thing you need to do is create a PayPal IPN page in your Wordpress blog. This is the page that ArtPal will use to communicate with PayPal’s Instant Payment Notification system. To do this, create a new Wordpress page in your blog and add to it “[artpal=ipnpage]” (without the quotes). Publish the page, visit it, and copy its URL to your clipboard.
Next, navigate to the ArtPal configuration page. If you’re using Wordpress 2.6, do this by logging into your Dashboard, clicking on “Settings” in the upper-right corner, and then clicking on the “ArtPal” link on the top menu. I recommend configuring the options on this page as follows:
- Scroll down to the “E-Commerce” section. The first option to configure is the email address that is linked to your PayPal account. This is the account to which payments will be deposited, so check twice for typos!
- The next box to fill in asks for “URL of IPN Page.” Paste the URL of your IPN page into this box.
- The last E-Commerce option you need to configure is which PayPal button you would like to use. Select the option button next to the button of your choice.
- Scroll up to the “General Options” section. Select the category that will hold the artwork that you want to sell. Any posts that you make in this category will be available for sale!
- For now, leave the next option blank.
- In the third option, select the category that will hold the artwork that has already been sold. Posts in this category will remain on your site for archival purposes, but will not be sold through ArtPal!
- The next box holds the HTML that will be displayed when a visitor looks at a piece of art that has sold. You may use the default HTML or customize it to your liking.
- The next box holds the text that will be displayed to users alongside the PayPal button. The words “PRICE” and “SHIPPING” (case-sensitive) will be replaced with the item price and item shipping charges, respectively. You may use the default text or customize it to your liking.
- Leave the next option as is, for now.
- The next text box holds the message to display to a user if you are trying to sell a piece of artwork but have omitted its pricing information. By default it asks the user to contact you; again, you may change this to your liking.
- The last two text boxes are optional. The “URL of Thank You Page” allows you to enter the URL of a page that you would like to direct your users to after they have purchased your work. This can be a page on your blog or an external link to another web site.
- The “URL of Cancel Purchase Page” allows you to enter the URL of a page that you would like to direct your users to if they begin purchasing a work but do not complete the purchase or send payment. This can be a page on your blog or an external link to another web site.
- Scroll down to the bottom of the page and click “Update Options”
Using ArtPal
To use ArtPal in one of your posts, follow these instructions:
- Create a new post as you normally would.
- Move the cursor to the position in the post at which you want your ArtPal content to appear. Type the following:
[artpal=insert]
When your page is viewed, that text will be replaced by a PayPal button and the text that you have specified in the plugin settings.
- Scroll down to the bottom of the post editor page. You will see a blue bar labeled “Custom Fields.” Click the “+” icon on the right side of that bar.
- Set the price of your artwork by creating a custom field named “artpal_price”. For example, if you are selling a painting for $100, you will enter “artpal_price” in the key field and “100″ in the value field. Click “Add Custom Field” to save the data. This example is illustrated below.

- Set the shipping price of your artwork the same way as you set the selling price, using the key “artpal_shipping”. In the example below, the shipping cost is $10.

Your blog post is now ArtPal-ready, and it gets even easier after you’ve made your first post! Wordpress remembers the names of your custom fields, so the next time you add ArtPal content to a post, you can select your tags from a drop-down box instead of having to type them in. This is illustrated in the example below.

Changelog
v1.3.1
- Bugfix: currency element of PayPal form correctly renders
v1.3
- Feature: full support for all PayPal currencies
v1.2
- Bugfix: IPN page detection now working again
- Feature: PHP4 support (previously required PHP5)
v1.1.2
- Wordpress 2.6.3 compatibility certification
- Misc PayPal IPN logical structure updates
- Remove of unused functions
v1.1.1
- License terms stated
v1.1
- Conversion to GPL License and Public Release
FAQ
ArtPal doesn’t have as many features as other Wordpress e-commerce solutions. Why should I use it?
Features come with a price: overhead, complexity and server resources. ArtPal is fast, easy to set up and use, and won’t bog down your server. Why set up a whole workshop when all you need is a hammer?
Can I use ArtPal to sell things besides artwork?
Of course! The name comes from who it was written for, but anybody can use it!
I have an idea to make ArtPal better. Will you consider it?
Absolutely! But keep in mind that one of ArtPal’s core aims is to be lightweight and easy to use!
Do you have an issue tracking system set up where I can report bugs?
Not at the moment, but I’m working on it. In the meantime, please report all issues as comments to this page so that I have them all in one place when I’m working on the next release.
ArtPal is so helpful! Do you accept donations for your hard work?
A typical donation is not going to change my lifestyle, but it might really help somebody else’s. Please decide how much you’d like to give me, and then give that amount to the American Red Cross.
Robby, I like the idea of specifying the variable data using custom fields. But does this mean you can only have one Paypal button per post?
Hey Rodney,
Yes, that’s correct.
Well, you can have multiple buttons per post, but they will all be for the same item. I might entertain feature requests for more diverse options in the future, so if you’d like something different, leave a note.
Thanks,
Robby
Well, I have an artist friend who I’m considering doing a site for, so this sounds like the kind of thing I might want to use. I don’t have any firm requirements from her yet, just exploring options. But I think I may want to have several items to a page…or at least it would be good to have the option to do so. Now of course I could manually cut and paste the button code from the PP site, but I like the ease of using a plugin for it.
Anyhow, thanks for the reply.
Hey Rodney,
Well the idea behind the plugin is that you use one button per post, and several posts per page. See http://www.hudsonvalleypainter.com for reference.
Best,
Robby
robby,
ive been playing around with artpal and it seems to well so far. however i can only get it to work in one(1) category. i tried setting the “Category that holds artwork available for sale” option to the parent category but that does work either. anyway to make it recognize the [artpal=insert] code site wide or at least in several categories? thanks!!
[...] ArtPal plugin for Wordpress [...]
[...] ArtPal plugin for Wordpress [...]
Thanks for the great Wordpress plugin.
Hi Robby!
This seems to be a great plugin! Since I new to e-commerce I could use a hint or two. I’ve filled in all the fields in the settings menu, but the IPN URL.
Trying out the plugin anyway, I realized I don’t get forwarded to the “Thank you”-page and the product doesn’t change category after the purchase. (No surprise, really.)
- Is the IPN URL something I’m supposed to find at paypal or is there a URL that I choose on my own site? Or is it a script page I have to set up of my own?
I could really the help. Thanks!
Hey,
Whoops, looks like I have to finish the documentation–I thought I’d addressed this but I see that I have not. Anyway…
For IPNs to work, you need to create an empty page in wordpress (call it whatever you want) and for its content type “[artpal=ipnpage]“. Publish that page and copy it’s URL, then paste that URL into the “IPN URL” in the plugin options. I hope to automate this in a future version.
I think that will do the trick, let me know if it doesn’t!
–Robby
Hey Robby! Thanks for the quick answer!
Well. Followed your steps. No cigar yet, I’m afraid.
Then I filled in the IPN URL at Paypal under Profile-> Selling Preferences-> Instant Payment Notification Preferences, and activated the IPN. No result.
I still end up at the login page of Paypal after I click “Return to merchant” and the goods is still in “available for sale”-category.
Hmm,
Are you by chance paying by “echeck” method under PayPal? Sometimes they can take 2-3 days to clear even once they’re posted, and the IPNs don’t post until the funds clear. If you’re doing echeck, see if anything happens in the next 2-3 days. If you’re not doing echeck, let me know and I’ll send you a special logging version of the plugin that will help us pinpoint the problem.
Best,
Robby
Nope. No echeck method. Using VISA card and I’ve been getting confirmation mails on my sellers account after each purchase, so that’s not a problem.
Do send me that special logging version. I’d be glad to get all the help I can.
Okay, thanks for the info. I’ll get in touch with you directly, with a logging version, by week’s end.
–Robby
Hi Robby, I’m just installing the mode for a website I’m building and after setting everything up the entire post where the artpal is supposed to appear just plain disappear.
Any idea why this is happening??
Hey Manuel,
Can you send me the entire content of the post, including the ArtPal=insert portion? I’ll see if I can reproduce your problem.
–Robby
I installed artpal, but no button is showing up on posts. How do you configure artpal outside of post entries, for instance how do you specify your paypal email and waht button you want to show? Sorry, but I am really confused about the Installation of this plugin.
Got it partically working in a page post, but every time it just says SOLDwhen I view it. No Paypal button ever shows up.
Hi Jack,
There is an options page that you can use to configure your settings. If you’re using Wordpress 2.6, log into your dashboard, select “Settings” on the top right, and then select “ArtPal” from the 2nd-tier menu on the top. On this settings page, you can choose which category holds “available” artwork and which category holds already-sold artwork. If posts are showing “SOLD”, it’s because they’re in the category of sold artwork.
Hey Robby
Great Plugin, nice and simple.
I’m just wondering if there’s any way of changing currency used to UK £. I tried replacing the printed ‘$’ with ‘£’ in ‘artpal.php’ but that screwed things up with paypal when I click the ‘buy now’ button. Any sugestions?
Hey,
That’s actually a great point. A currency option is something that lots of people will probably make use of, so I’ll try to add that feature ASAP. I’ll email you when the new version is available, hopefully tonight.
Thanks for the note,
Robby
Hi Robby,
Just been trying out your plugin and it looks good. I’ve been trying to use it with currency GBP (seemingly implemented only yesterday from the above!) and had a couple of problems though…
When I first tried to submit to paypal I got an error saying the seller doesn’t accept payment in US dollars. True enough – but the submission should be in GBP as that is what I have selected in my ArtPal settings. I got round this for now by modifying artpal.php to hard code the value of currency_code in the form sent to paypal to GBP. Then after that I found that I was getting an error from paypal saying that my item amount was in the incorrect format, and again got it working for testing just by harding coding the amount and shipping amount fields in the same form to numbers like 20 and 10 (that is, no currency symbol).
Also a minor feature request – could you add an option to use the paypal developer sandbox url for testing purposes? Again, I’ve modified your code to use it for my own testing but I think that would be useful for many people and easy for you to add. The url is https://www.sandbox.paypal.com/cgi-bin/webscr
Otherwise looking good!
Hey Robby! I checked out your new version of ArtPal and I’m really impressed. Found a small bug concerning the currency as Tim earlier mentioned. It’s just a minor quotation mark that got left out, which messes things up with paypal.
Just replace Line 373 in artpal.php with “. ” // us dollars only” (skip the outer quotation marks) and it will be alright.
Now just a new issue came up: When I’ve purchased my item I don’t get a “return to merchant”-link which I got in the earlier version.
Accept that everything seems to work well now!
Forgot about comments and code isn’t such a great combo.
Well at least you know which line you’ll need to put the extra quotation mark.
Hey Robby,
This looks like a very promising plugin, I think I am going to give a try. One question, for photographers. Do you think it’s possible to do an edition rather than just one? I would like to sell 5 of a single photogrpah, but no more than that. Seems like it would complicate things from a software point of view, I understand if it might not be possible.
Cheers,
Dalton
Ok. Got stuck with the shipping issue too. Bugfix for the shipping: remove line 357, so the that value get the currency prefix.
Figured out my trouble with the redirection. I hadn’t activated the redirecting in the paypal preferences. Filled in my root URL for my site and it worked like a charm. Came to my Thank you page.
Cheers and thanks for a great plugin!
I’ll second Dalton’s request. I’m setting up a site for my brother-in-law and he’s going to be selling editions of similar clay pieces and doesn’t necessarily want to post each one individually. I’ll take a look at your code and see if it’d be too hard to adapt things. I’ve done a bit of Wordpress plugin work, I’m the author of My Link Order, My Page Order and My Category Order.
Where do I set the inventory of an item???
I’m trying to set this up, everything seems fine, but this item (click my name, and you’ll see it) is showing up as out of stock. Where do I set the inventory???
And I’ll third Dalton’s request. If you or Andrew fix an update I’d appriciate it a lot.
Does anyone know enough code PHP?
to tweak the setting:
“Category into which to move artwork when sold and label accordingly”
TO:
“TAG with which to label the work”
I don’t want my work moved once its sold, I just want a Tag ADDED to it of “sold”
Thanks a million
Typo in Code & Solution:
. ” // us dollars only
it should read:
get_option(’ds_ap_currencycode4217′) . ‘”>’
There was no Ending quotation mark for the value option
Hope this helps (it was causing Paypal to give me this error for my Buy button)…
“This recipient does not accept payments denominated in USD. Please contact the seller and ask him to update his payment receiving preferences to accept this currency.”
Hope this helps
My last comment’s second line is cut off for some reason, but I was saying that this code was causing an error:
name=”currency_code” value=”‘ . get_option(’ds_ap_currencycode4217′) . ‘>’
Great plugin so far from what I can see! I would also like to chime in and suggest adding quantities, for photographers, filmmakers selling DVDs (as we are trying to do), etc.
We finished the plugin install tonightand created a test post to check it out. we hope to have a few albums up for sale from local artists in the near future using this plugin. We did have to edit the php source to fix the quote thing for us dollars only but it seems to be all working now! thanks for the plugin! –chr0n1c
Hello Everyone
Am trying to set up a little site for an artist friend of mine. Have followed all the instructions and all works well up until you click on “buy”. Then the following message appears from PayPal:-
This recipient does not accept payments denominated in USD. Please contact the seller and ask him to update his payment receiving preferences to accept this currency.
I have selected GBP so I cann’t work it out. I have requested help from PayPal but in the meantime would value your help.
All best wishes for 2009. Regards John
Absolutely awesome plugin! You did a great job. Just go on and thank you for this great plugin!
Thanks for finding that fix, Jon. I’ve made that change and released version 1.3.1.
Hi Robby
Re the international currency issue.
I’ve updated to version 1.3.1 and I’m getting an error when clicking on the buy button. PayPal ‘Return to Merchant’ page says “The link you have used to enter the PayPal system contains an incorrectly formatted item amount.”
I’ve set GBP in the Artpal settings page.
Have I missed something. What can I do to get this working?
Thanks
Hello Robby,
I droped you and email the other day but have had a really bad cold so didn’t do much about it.
Situation was that when you click buy the Paypal site [my paypal] it says it does not accept USD. I contacted Paypal and they showed me how to set up multiple currencies which I did.
Sadly it still says it will not accet USD. Have you come accross this before. I am sorry to troulbe you.
Kind regards – John
It could be I dont know where to put [artpal=ipnpage] on the page. Does it go in the Page Title. Or Text or HTML or the part where you insert thumbnails etc. Thanks John
Last piece of the puzzel.
I just upgraded your software and it seems to accept usd but now says:
The link you have used to enter the PayPal system contains an incorrectly formatted item amount.
Sorry Robby. Any help with the above would be grately appreciated. Ta. John.
I too am getting the “The link you have used to enter the PayPal system contains an incorrectly formatted item amount.” message.. what do we need to do?
Hello Robby
I hope you had a nice holiday. Please could I ask for your help. I did send a couple of emails.
I think your Artpal is great and at the moment is installed on my friends Art Site http://www.mdmfineart.co.uk
When you click on “Buy” the following message from PayPal appears:-
“The link you have used to enter the PayPal system contains an incorrectly formatted item amount”.
I have checked and rechecked the installation and also the way I enter money.
Any thoughts. So many thanks. John. Oxfordshire.UK
hey john im trying to fix the same problem right now and i’ve had no luck either.. it’ll work if you set the shipping costs in paypal via the postage calculations tab in the profile settings and untick the box at the bottom for “click here to allow transaction-based postage values..” but obviously i want to be able to enter shipping per piece and when you do this you get that message. awaiting robby’s response, other than this problem the plugin is fantastic and i thank you very much for it.
Hi,
This looks like a great plugin, but I’m a photographer and it is not possible for me to use it unless there is a possibility to ad an edition number or even unlimited.
Do you have any plans to ad this? I think it would make it usable for a lot more people if you did.
Kind Regards,
Jan Knutsen
hey robby i understand your very busy but I was just wondering if theres any update on fixing the ‘incorrectly formatted item amount’ problem? regards, chad.
Hi there,
I’m also getting the ‘The link you have used to enter the PayPal system contains an incorrectly formatted item amount’ error. Any clues?
Thanks…
Hi there, I must say what a great app this is, and would applaud any updates any improvements that comes along.
Like John Forster above, I’ve place the [artpal=ipnpage] in my wordpress page, and browsing through paypal’s PDF explanation about IPNs, it seems that this particular page must be ever-present for the plugin to work (otherwise the IPN page cannot be accessed)?
However I’m using permalinks and I am having doubts about my correctness in the usage of artpal. Would love to see pictorial examples of its installation, if anything.
Keep up the good work! You ought to have a donation button somewhere here dude! Some of us might just buy you a cup of coffee… Just sayin..
Hey folks,
Update coming soon, I promise! Stay posted…
I have to say I am trying to help a friend with a Ceramics Art web site and so far this would be my preferred option, but she is requesting the cart option rather than buy now.
Any chance this is a future option?
Great work!
I know this is probably a stupid ques. but what is the ‘object id’ in the Item Lookup screen under Tools > Artpal Items?
Where am I supposed to establish the object id? Is it a different one for each piece for sale? Thanks!
Hi Lauren,
The object ID is the same as the post ID. How you get that ID depends on your blog. If you have an “edit” link for each post, then you’ll see the ID at the end of that link. For example, on my blog, my “edit” links look like this: http://www.freerobby.com/wp-admin/post.php?action=edit&post=390; thus the ID of that post would be 390.
Well, not sure if this has been addressed already, but I’m pretty stumped now. I am displaying my handcrafted jewelry on ‘pages’ and your plugin requires a category to work. I then installed cat2cat plugin from the Wordpress list in order to be able to assign a category to my pages. But it has limitations, and seems that I can only use ONE category per page. So it works on a couple of my pages (http://laurensjewelrydesigns.com/handcrafted-earrings/celtic-turquoise), but not all. Eventually, I plan to have over 50 pages of items for sale (one per page). But the paypal button won’t display if that page is not linked to a category. Any suggestions? Thanks!
Hi Lauren,
Yes, that’s correct – you need to assign for-sale items a category. While this may be an inconvenience for you, it is generally helpful because it provides people an explicit mechanism to make an item available for sale. The category-based solution also allows ArtPal to interface with other plugins. Finally, it makes the plugin run more efficiently on the server because the plugin only has to intercept and add the PayPal button to those posts that fall into the for-sale category. I am sorry that this is problematic for your situation, but categories are deeply embedded in the ArtPal core and at this time I have no plans change that.
–Robby
Hi everybody,
The infamous “The link you have used to enter the PayPal system contains an incorrectly formatted item amount” bug has been fixed! Log into your dashboard and update to get fix the problem!
–Robby
Hi, Robby, this looks like a great plug-in. So far, it works pretty well. I do get one code error that comes in at the top of each listed item: Warning: htmlspecialchars_decode() expects parameter 1 to be string, NULL given in /home/theweb/public_html/website/blog/wp-includes/compat.php on line 105
Any thoughts? I’ve tried a variety of things, but can’t seem to get that part out.
Hi Dave,
Can you tell me what version of Wordpress you are using?
Thanks,
Robby
I am using WP 2.7. I found the trouble, and it’s the new WP. This is the fix:
The line in error is line 104 in wp-includes/compat.php:
if ( !is_scalar( $string ) ) {
should be
if ( !is_scalar( $str ) ) {
And now your plug in appears!
Hi Dave,
Glad to see you were able to resolve it. Hopefully the WP folks get this fixed soon! I’ll see if I can reproduce it and if so I will file a bug report with them.
–Robby
Hello, again, Robby,
This is working really well. I did find one minor problem.
Using WP 2.7.1
Root folder has the index.php for WP
All other files for WP are in the /blog folder
The IPN page, where it says “Click to return to my site” takes them to the /blog folder instead of the root folder with the index.php page, giving them a 404 not found error.
Where in the code should I amend that info for the IPN?
Thank you
Dave
Does Artpal support WordPress MU 2.7? The instant I Activate the plugin Wordpress comes up with a blank page, not the Manage Plugins page.
Have looked around at your website and think Artpal is totally worth installing a stand-alone WordPress if needed.
Hi Robby,
I have the same issue like Dave (comment #60)
Regards
VT
Hi Robby I followed the instructions above and I’m receiving this warning on my post page.
Warning: htmlspecialchars_decode() expects parameter 1 to be string, NULL given in /home/michae16/public_html/blog/wp-includes/compat.php on line 105
The BUY NOW button shows up, takes me to paypal and charges the correct amount. I just want to get the warning to disappear. I have this set up for a future post so it’s not visible to the public.
Any help is greatly appreciated.
-mike
the site is schoolhouse daze located at
http://ciccotello.com/blog
Wordpress version 2.7.1
Comicpress Theme Version: 2.7
DOH! Just re-read post 56-58 got it. Missed those the first time.
Thanks!
Hi,
Is it possible in your commerce Wordpress plugin that when people buy a product, their user group is automatically changed?
Cheers
Had the same compat.php problem as Dave & Mike, but the fix Dave showed worked. This was on a new DL & Install of WP right from their site, so they still have not fixed it in the install set.
Idea: Any way to have a set of items available that will automatically be reduced when sold?
For example, I sell limited edition prints of about 30-50. So, if I start with 40 units for sale, it could automatically be reduced to 39 upon a sale then marked Sold Out when down to 0.
Right now I have to list them individually (or just list once, and upon a sale reset the category and change text to say what the units remaining are).
Hi,
I downloaded the most current version 1.3.2 from the wordpress plugin location yesterday and installed it. so far i love this plugin! I added a storewide percentage and the dollar amount is displaying 3 digits in the cents column which in turn when clicking the paypal link gives the dreaded “The link you have used to enter the PayPal system contains an incorrectly formatted item amount” error… can you point me to where the dollar amount is formatted to 2 digits?
Thanks!
Hi,
I found it!! I used php’s built in money formater and changed artpal.php on line 148 to:
$price = number_format(($regularprice – ( $regularprice * ( $discount / 100 ) )),2);
only need to add number_format and an extra set of parentheses around the whole thing with ,2 and it should work for all of parsing to paypal!!
I cant wait to see your other additions – enhancements to this plugin! this is WONDERFUL!
-shari
Is it possible, instead of setting one fixed PayPal e-mail address, to set a variable so that payment goes to the artist who made that particular post?
In other words, several artists can post their artwork for sale on a site with payment going to individual artists rather than a single person whose email address has been set.
Thanks.
Can I use this plug-in just for inventory control? I do not need any of the cart features or pricing stuff. I just need something that will allow my objects to show that they are sold out after the 1 in stock is sold. I am using market theme for wordpress. Thanks for any help!
Hi Rebekah,
You could do that, but you will need to manually change the category from “available” to “sold” for the change to take effect. You’ll still need to set a default price, but you can make it so it doesn’t display in the post.
–Robby
I would like to create art membership site. Can your plugin be used to reoccurring fees from paypal?
Thanks,Art
[...] are plugins that allow you to simple sell single items using PayPal, that’s exactly why the ArtPal Plugin was developed (to sell art). You create a post with a few custom fields and voila! you’re [...]