As a developer, I tend to like clean, concise URLs that map directly to my RESTful resources.  Want to view a subscription?

GET /subscriptions/77

Want to edit it?

GET /subscriptions/77/edit

The URLs for Chargify hosted pages followed this convention.  Updating credit card details loosely maps to editing the subscription to change the payment information.  So, we had:

GET /h/subscriptions/77/edit/abcdef0123abcdef0123abcdef0123abcdef0123

With the ‘h’ part meaning our “hosted” namespace, and the gibberish at the end being a secret token.

Now, if I were a layperson, and IF I happened to glance at the URL for the page I was about to enter my credit card on, which one of the following would be more likely to give me warm fuzzies?

https://acme.chargify.com/h/subscriptions/77/edit/
abcdef0123abcdef0123abcdef0123abcdef0123

Or

https://acme.chargify.com/update_payment/77-michael-klett/abcdef0123

I vote for the 2nd one, and now Chargify agrees.  Its not a big difference, but when it comes to asking someone to trust you to hand over their credit card information, every little bit helps.

Computer, compute!

The prettier URLs is not all… now you can programmatically generate these URLs as well.  This is great for those of you who want to minimize having to use the API and just leverage our hosted pages as much as possible.

Now you can generate these URLs yourself and embed them in your own app or send them out in emails.

The documentation is over here.  Enjoy!