<?xml version="1.0" encoding="UTF-8"?>
<rss version="2.0"
	xmlns:content="http://purl.org/rss/1.0/modules/content/"
	xmlns:wfw="http://wellformedweb.org/CommentAPI/"
	xmlns:dc="http://purl.org/dc/elements/1.1/"
	xmlns:atom="http://www.w3.org/2005/Atom"
	xmlns:sy="http://purl.org/rss/1.0/modules/syndication/"
	xmlns:slash="http://purl.org/rss/1.0/modules/slash/"
	>

<channel>
	<title>Recurly Blog &#187; Programming</title>
	<atom:link href="http://blog.recurly.com/category/programming/feed/" rel="self" type="application/rss+xml" />
	<link>http://blog.recurly.com</link>
	<description>Super Simple Subscriptions</description>
	<lastBuildDate>Tue, 24 Jan 2012 17:01:31 +0000</lastBuildDate>
	<language>en</language>
	<sy:updatePeriod>hourly</sy:updatePeriod>
	<sy:updateFrequency>1</sy:updateFrequency>
	<generator>http://wordpress.org/?v=3.3.1</generator>
	<atom:link rel='hub' href='http://blog.recurly.com/?pushpress=hub'/>
		<item>
		<title>API v2 and Multi-Subscriptions</title>
		<link>http://blog.recurly.com/2011/10/api-v2-and-multi-subscriptions/</link>
		<comments>http://blog.recurly.com/2011/10/api-v2-and-multi-subscriptions/#comments</comments>
		<pubDate>Tue, 25 Oct 2011 21:38:09 +0000</pubDate>
		<dc:creator>Isaac Hall</dc:creator>
				<category><![CDATA[New Features]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Recurly]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[multiple subscriptions]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[python]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Subscriptions]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=1610</guid>
		<description><![CDATA[After four months of work, our team is ready to unveil our biggest update yet: API v2 and support for multiple subscriptions on a single account. API v2 incorporates feedback we heard from our merchants and allows you to integrate with even more flexibility than ever before. For many customers, multiple subscriptions enables scenarios that were difficult workarounds with our first API.]]></description>
			<content:encoded><![CDATA[<p><img src="http://blog.recurly.com/wp-content/uploads/2011/10/Multi-Sub.png" alt="" title="Multi-Sub" width="184" height="132" class="alignright size-full wp-image-1611" style="margin: 0 0 16px 16px; border: 0"/></p>
<p>Our team is ready to unveil our biggest update yet: API v2 and support for multiple subscriptions on a single account. API v2 incorporates feedback we heard from our merchants and allows you to integrate with even more flexibility than ever before. For many customers, multiple subscriptions enables scenarios that were difficult workarounds with our first API.</p>
<h2>API v2 Improvements</h2>
<p>Over the past two years, we&#8217;ve heard from hundreds of customers that our first API works incredibly well. From day one, our REST API was designed to be easy to use. We&#8217;ve lived with it for two years and found several ways to improve it: better validation errors, more transaction details, reliable pagination, links to nested resources, easier authentication, and official support for creating plans, add-ons, and coupons via the API.</p>
<h2>Updated Client Libraries</h2>
<p>With the release of API v2, we&#8217;re also releasing three completely rewritten client libraries: <a href="http://docs.recurly.com/client-libraries/php"   >PHP</a>, <a href="http://docs.recurly.com/client-libraries/ruby"   >Ruby</a>, and <a href="http://docs.recurly.com/client-libraries/python"   >Python</a>. PHP now has better exception and error handling. The Ruby client no longer depends on ActiveResource, and it will take advantage of Nokogiri if installed for faster XML parsing. And our Python library is a dramatic update from the first version. An update to our <a href="http://docs.recurly.com/client-libraries/net"   >.NET</a> library is coming soon.</p>
<p>Because our API now supports better <a href="http://docs.recurly.com/api/basics/pagination"   >pagination</a>, the client libraries can paginate through very long lists transparently using iterators. The libraries will automatically lazy load the next page of results when needed. The pagination also switched from page numbers to a cursor, which means the result list no longer returns duplicates if a new record is inserted while you are paginating the results.</p>
<h2>Multi Subscription</h2>
<p>Recurly was designed to take the pain out of subscription billing. Most merchants manage a single subscription per account and we solved that use case rather well. We took our time to really understand how successful companies manage multiple subscriptions per customer. Next, we built a new API from the ground up since we knew API v1 could never support multiple subscriptions. Finally, we added clarity to our UI to simplify multi subscription management. We hope you like the end result as much as we do.</p>
<h2>Updated Documentation</h2>
<p>Our documentation has been rewritten to complement our new API and client libraries. It&#8217;s fully up to date for <a href="http://docs.recurly.com/api"   >API v2</a> and our <a href="http://docs.recurly.com/client-libraries"   >client libraries</a>. We pride ourselves on providing documentation that is clear, simple, and complete. This revision has required a complete refresh of our documentation, and we&#8217;re proud of the end result.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2011/10/api-v2-and-multi-subscriptions/feed/</wfw:commentRss>
		<slash:comments>12</slash:comments>
		</item>
		<item>
		<title>Recurly.js: Simplified PCI Compliance, Fully Customizable Transaction Forms</title>
		<link>http://blog.recurly.com/2011/08/recurly-js-simplified-pci-compliance-fully-customizable-transaction-forms/</link>
		<comments>http://blog.recurly.com/2011/08/recurly-js-simplified-pci-compliance-fully-customizable-transaction-forms/#comments</comments>
		<pubDate>Mon, 22 Aug 2011 22:33:43 +0000</pubDate>
		<dc:creator>Isaac Hall</dc:creator>
				<category><![CDATA[New Features]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Recurly]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=1593</guid>
		<description><![CDATA[Back in March 2011, we launched Transparent Post to simplify PCI compliance for our merchants. Today, we are taking it to the next level with the release of <a href="http://js.recurly.com">Recurly.js</a>. Recurly.js is our open-source Javascript library that gives you great looking credit card forms to securely create subscriptions, one-time transactions, and update billing information for your customers.]]></description>
			<content:encoded><![CDATA[<p><a href="http://js.recurly.com"   ><img class="alignright size-full wp-image-1594" style="border: 0; padding-bottom: 16px; padding-left: 16px;" src="http://blog.recurly.com/wp-content/uploads/2011/08/RecurlyJS-black_grey_250.png" alt="Recurly.JS" width="250" height="59" /></a></p>
<p>Back in March 2011, we launched Transparent Post to simplify PCI compliance for our merchants. Today, we are taking it to the next level with the release of <a href="http://js.recurly.com"   >Recurly.js</a>. Recurly.js is our open-source Javascript library that gives you great looking credit card forms to securely create subscriptions, one-time transactions, and update billing information for your customers.</p>
<h3>Dynamic Total Calculations and Fully Customizable CSS</h3>
<p>The library performs client-side validation of cardholder data, immediate pricing calculations for add-ons and Value Added Tax (VAT), and coupon validation. Out of the box, the forms have a great looking design that can be easily embedded into your website. Or, you may customize the CSS to make the forms match your website.</p>
<p>In addition to looking great, the library handles transaction failures gracefully. Should a transaction be declined, the library automatically highlights the appropriate fields and displays proper error messages for your customers.</p>
<h3>PCI Compliance</h3>
<p>Recurly.js continues our tradition of simplifying PCI compliance for our merchants. After performing client-side validation on the cardholder data, the library securely submits the order details directly to Recurly. Because the sensitive cardholder data is never transmitted to your web servers, your PCI compliance scope is dramatically reduced. This allows you to host the credit card order forms on your website without the headaches of PCI compliance.</p>
<h3>Learn More</h3>
<p>Learn more about Recurly.js from our <a href="http://js.recurly.com"   >intro video and examples</a>, <a href="http://docs.recurly.com/recurlyjs/overview"   >documentation</a>, or <a href="https://github.com/recurly/recurly-js"   >GitHub project</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2011/08/recurly-js-simplified-pci-compliance-fully-customizable-transaction-forms/feed/</wfw:commentRss>
		<slash:comments>11</slash:comments>
		</item>
		<item>
		<title>Recurly Add-On For Heroku Provides Easy Provisioning Of Subscription Billing</title>
		<link>http://blog.recurly.com/2010/12/subscriptions-add-on-for-heroku/</link>
		<comments>http://blog.recurly.com/2010/12/subscriptions-add-on-for-heroku/#comments</comments>
		<pubDate>Thu, 02 Dec 2010 15:40:40 +0000</pubDate>
		<dc:creator>Dan Burkhart</dc:creator>
				<category><![CDATA[New Features]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[Recurly]]></category>
		<category><![CDATA[Subscriptions]]></category>
		<category><![CDATA[add-on]]></category>
		<category><![CDATA[Heroku]]></category>
		<category><![CDATA[Rails]]></category>
		<category><![CDATA[recurring]]></category>
		<category><![CDATA[RoR]]></category>
		<category><![CDATA[ruby]]></category>
		<category><![CDATA[Sinatra]]></category>
		<category><![CDATA[subscription]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=821</guid>
		<description><![CDATA[Today we&#8217;re announcing the availability of our Add-On for Heroku users. This Add-On makes it simple for Ruby developers who are using Heroku to install the Recurly Ruby gem and offer subscription billing for their Heroku hosted applications. Heroku&#8217;s Add-On catalog is HERE. Documentation for this Add-On is available HERE. Once you have installed the [...]]]></description>
			<content:encoded><![CDATA[<p><a href="http://blog.recurly.com/2010/12/subscriptions-add-on-for-heroku/heroku-logo-light-300x100/" rel="attachment wp-att-835"   ><img class=" zkrriibxsbicbnukdvos zkrriibxsbicbnukdvos zkrriibxsbicbnukdvos zkrriibxsbicbnukdvos" style="border: 0pt none; margin-left: 15px; margin-right: 15px;" title="heroku-logo-light-300x100" src="http://blog.recurly.com/wp-content/uploads/2010/12/heroku-logo-light-300x100.png" alt="Heroku Logo" width="300" height="100" align="left" /></a>Today we&#8217;re announcing the availability of our Add-On for Heroku users. This Add-On makes it simple for Ruby developers who are using Heroku to install the Recurly Ruby gem and offer subscription billing for their Heroku hosted applications. Heroku&#8217;s Add-On catalog is <a href="http://addons.heroku.com"   >HERE</a>. Documentation for this Add-On is available <a href="http://docs.recurly.com/getting-started/heroku"   >HERE</a>.</p>
<p>Once you have installed the Recurly Add-On in your Heroku application, you will will have single sign-on access to your Recurly account, and will receive your Recurly fees bundled as an added line item to your Heroku invoice. This makes it easy to provision subscription billing without cluttering your desk with multiple invoices and account credentials. You will still log-in to Recurly to set up your subscription plans, manage your accounts and make any necessary changes.</p>
<p>The Recurly Add-On is currently in the Heroku beta process, which means it is first made available to private beta users, then open for public beta, and after having been reviewed by a number of beta testers, it will become a permanent Heroku Add-On available for everyone.</p>
<p><strong>FOR ACCESS</strong>: You can join the Heroku beta program at <a href="http://beta.heroku.com/signup"   >http://beta.heroku.com/signup</a>.</p>
<p>We&#8217;ve already received very positive feedback from early testers, and look forward to receiving more feedback from the rest of you.</p>
<p>Get those subscription-based applications rocking!</p>
<p>Cheers!</p>
<p>The Recurly Team</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2010/12/subscriptions-add-on-for-heroku/feed/</wfw:commentRss>
		<slash:comments>1</slash:comments>
		</item>
		<item>
		<title>Check out our new Documentation Site</title>
		<link>http://blog.recurly.com/2010/06/new-documentation-site/</link>
		<comments>http://blog.recurly.com/2010/06/new-documentation-site/#comments</comments>
		<pubDate>Fri, 04 Jun 2010 22:01:22 +0000</pubDate>
		<dc:creator>Isaac Hall</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Recurly]]></category>
		<category><![CDATA[documentation]]></category>
		<category><![CDATA[support]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=295</guid>
		<description><![CDATA[We recently created a new <a href="http://docs.recurly.com/">documentation site</a> to make our knowledge base more accessible and discoverable.  We want to help our customers get live as quickly as possible.  Please let us know if there's anything else you would like to see on this new site.  Over the next several weeks, we are working to add more code samples using the client libraries and API calls.]]></description>
			<content:encoded><![CDATA[<p>We recently created a new <a href="http://docs.recurly.com/"   >documentation site</a> to make our knowledge base more accessible and discoverable.  We want to help our customers get live as quickly as possible.  Please let us know if there&#8217;s anything else you would like to see on this new site.  Over the next several weeks, we are working to add more code samples using the client libraries and API calls.</p>
<p><a href="http://docs.recurly.com/"   >http://docs.recurly.com/</a></p>
<p>Cheers,<br />
Isaac</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2010/06/new-documentation-site/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
		<item>
		<title>Fixing our email issues</title>
		<link>http://blog.recurly.com/2010/02/fixing-our-email-issues-with-sendgrid/</link>
		<comments>http://blog.recurly.com/2010/02/fixing-our-email-issues-with-sendgrid/#comments</comments>
		<pubDate>Wed, 03 Feb 2010 17:10:16 +0000</pubDate>
		<dc:creator>Isaac Hall</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[email]]></category>
		<category><![CDATA[email delivery]]></category>
		<category><![CDATA[mail]]></category>
		<category><![CDATA[postfix]]></category>
		<category><![CDATA[sendgrid]]></category>
		<category><![CDATA[smtp]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=132</guid>
		<description><![CDATA[Subscription billing is a pain and we're trying to make your life easier by simplifying it for you.  Well, it turns out that email is also a pain and we're turning to someone else for help.  Over the next couple weeks, we'll determine the best way to reliably deliver your emails with the correct domain keys, SPF records, etc so that they work even better than if you were to send the emails yourself.]]></description>
			<content:encoded><![CDATA[<p>Subscription billing is a pain and we&#8217;re trying to make your life easier by simplifying it for you.  Well, it turns out that email is also a pain and we&#8217;re turning to someone else for help. </p>
<p>Recently, there&#8217;s been a high amount of email support requests.  We spool mail locally from our web application to Postfix, then deliver it out to the internet.  Well, it turns out that a large amount of that email was getting dropped.  Watching the postfix mail logs was a bit disheartening after seeing numerous mail servers refuse to chat with our email server.  We have SPF records setup, reverse DNS, and deliver mail from a dedicated IP address &#8212; it turns out that that&#8217;s still not enough.</p>
<p><strong>To our customers:</strong> I&#8217;m sorry we didn&#8217;t figure this out earlier.  We haven&#8217;t done a good job delivering our billing emails to your customers.  Right now, we are evaluating multiple ways to improve the email delivery rates for the emails we send to your subscribers on your behalf.  There should be an immediate uptick in the delivery rate for your emails today.  And over the next couple weeks, we&#8217;ll determine the best way to reliably deliver your emails with the correct domain keys, SPF records, etc so that they work even better than if you were to send the emails yourself.</p>
<p><strong>To other start-ups:</strong> I hope you read this and then realize that running your own SMTP server on dedicated, non cloud-based servers can still be problematic.  I thought that because we&#8217;re not in the cloud, we don&#8217;t need someone else to handle our emails &#8212; looks like I was wrong.  To remedy the situation, we&#8217;re now evaluating <a href="http://sendgrid.com"   ><strong>SendGrid</strong></a> (shout out to another CEO named Isaac).  I&#8217;ve heard great things about their service and I&#8217;ve been comparing email headers all evening.  It looks like their product is doing a fantastic job handling bounced emails, invalid email addresses, ISP feedback loops, domain keys (something we didn&#8217;t have setup), SPF, and everything else.  Their web UI is a little rough around the edges, but so far it looks promising.  Assuming their product lives up to its marketing material, it will help us dramatically improve our email reliability.</p>
<p>We&#8217;re not email experts and we don&#8217;t have time to build it out ourselves &#8212; (this sounds so familiar, right?).</p>
<p>Once again, a big thanks to everyone for being patient as we improve our email issues.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2010/02/fixing-our-email-issues-with-sendgrid/feed/</wfw:commentRss>
		<slash:comments>4</slash:comments>
		</item>
		<item>
		<title>.NET Client Library for Subscription Billing</title>
		<link>http://blog.recurly.com/2010/01/net-client-library-for-subscription-billing/</link>
		<comments>http://blog.recurly.com/2010/01/net-client-library-for-subscription-billing/#comments</comments>
		<pubDate>Mon, 25 Jan 2010 08:39:18 +0000</pubDate>
		<dc:creator>Isaac Hall</dc:creator>
				<category><![CDATA[Billing]]></category>
		<category><![CDATA[Programming]]></category>
		<category><![CDATA[asp.net]]></category>
		<category><![CDATA[C#]]></category>
		<category><![CDATA[client library]]></category>
		<category><![CDATA[subscription billing]]></category>
		<category><![CDATA[VB.Net]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=92</guid>
		<description><![CDATA[As a .NET developer, I am excited to announce that Recurly now has a C#.NET client library well under way!  We polled our customer base and found a large number of our customers are powering their websites with ASP.Net, but they don't have many options today when it comes to simplifying their subscription billing.]]></description>
			<content:encoded><![CDATA[<p>As a .NET developer, I am excited to announce that Recurly now has a C#.NET client library well under way!  We polled our customer base and found a large number of our customers are powering their websites with ASP.Net, but they don&#8217;t have many options today when it comes to simplifying their subscription billing.</p>
<p>Our REST API is pretty easy to consume, yet without an open-source .NET client library to start with, we found that our clients&#8217; integration times took an extra day of effort.  So we started our own.</p>
<p>This lightweight library uses fast-forward only XmlTextWriters and XmlTextReaders along with Stream readers and writers so you can be assured it&#8217;s fast.  It also works great in .NET 2.0 and above.  And finally, it is strongly typed and boasts a wide range of explicit exceptions to help you handle errors.  The library is about 85% completed today and will be finished very soon.</p>
<p>So if you&#8217;re looking for a simple to use, subscription billing service to power your ASP.Net websites, check out <a href="http://recurly.com"   >Recurly</a> and our open-sourced <a href="http://docs.recurly.com/client-libraries/dot-net-client"   >C# library</a>.</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2010/01/net-client-library-for-subscription-billing/feed/</wfw:commentRss>
		<slash:comments>3</slash:comments>
		</item>
		<item>
		<title>Ruby Client Library now available</title>
		<link>http://blog.recurly.com/2009/11/ruby-client-library-now-available/</link>
		<comments>http://blog.recurly.com/2009/11/ruby-client-library-now-available/#comments</comments>
		<pubDate>Mon, 23 Nov 2009 06:00:25 +0000</pubDate>
		<dc:creator>Isaac Hall</dc:creator>
				<category><![CDATA[Programming]]></category>
		<category><![CDATA[Recurly]]></category>
		<category><![CDATA[api]]></category>
		<category><![CDATA[php]]></category>
		<category><![CDATA[ruby]]></category>

		<guid isPermaLink="false">http://blog.recurly.com/?p=54</guid>
		<description><![CDATA[Today, we&#8217;re excited to announce the release of our Ruby client library for Recurly.  The library is available as a Ruby gem (via gemcutter.org) or plugin.  Please see the Ruby client documentation for install instructions. With the Ruby client, just a few lines of code are required to start creating new subscriptions in Recurly from [...]]]></description>
			<content:encoded><![CDATA[<p>Today, we&#8217;re excited to announce the release of our Ruby client library for Recurly.  The library is available as a Ruby gem (via gemcutter.org) or plugin.  Please see the <a href="http://support.recurly.com/faqs/integration/ruby-client"   >Ruby client documentation</a> for install instructions.</p>
<p>With the Ruby client, just a few lines of code are required to start creating new subscriptions in Recurly from your Rails web app.  We designed the API to simplify the most common API requests about subscriptions.  To that end, this client library makes it incredibly easy to:</p>
<ul>
<li>Create a subscription and account at the same time,</li>
<li>Create a subscription for a new or existing account,</li>
<li>Cancel a subscription,</li>
<li>Refund a subscription (full or partial),</li>
<li>Update an account&#8217;s billing information (and validate the new card number or collect a balance, if there is one),</li>
<li>Query subscription status (active, past due, free + plan information),</li>
<li>Upgrade or downgrade the subscription</li>
<li>And more&#8230;</li>
</ul>
<p>In the near future, we&#8217;ll include a fully functional subscribe page example.  (The PHP client library has a great example already.)  In the meantime, every function of the client library is demonstrated by unit tests.</p>
<p>Check out our client <a href="http://support.recurly.com/faqs/integration/ruby-client"   >documentation</a> and the <a href="http://github.com/recurly/recurly-client-ruby"   >code</a>.</p>
<p><strong>PHP Client Updates</strong></p>
<p>On a related note, the PHP client has also been updated today.  It now has support to lookup the current subscription status for a user.  And, it can perform upgrades and downgrades with a single function call.  Please see our <a href="http://support.recurly.com/faqs/integration/php-client"   >documentation</a> for more information, or grab it from <a href="http://github.com/recurly/recurly-client-php"   >gibhub</a>.</p>
<p>As always, if you have any questions, drop us a line in our <a href="http://support.recurly.com"   >support</a> forums and we&#8217;ll get back to you soon.</p>
<p>Cheers,<br />
Isaac</p>
]]></content:encoded>
			<wfw:commentRss>http://blog.recurly.com/2009/11/ruby-client-library-now-available/feed/</wfw:commentRss>
		<slash:comments>0</slash:comments>
		</item>
	</channel>
</rss>

<!-- Performance optimized by W3 Total Cache. Learn more: http://www.w3-edge.com/wordpress-plugins/

Minified using disk
Page Caching using disk (enhanced)
Content Delivery Network via N/A

Served from: blog.recurly.com @ 2012-02-05 14:50:04 -->
