Tuesday, April 21, 2009

Twitter Applications can now use Tipjoy API with Twitter OAuth credentials, instead of Twitter Passwords.

We recently pushed an exciting update to the Tipjoy API. Twitter Apps no long need to store passwords for their Twitter users to access our API - they can use OAuth.

OAuth is a new authentication scheme that Twitter has rolled out to replace requiring Twitter users to give others their password.

This API update is great because there has been a lot of discussion lately about OAuth not allowing twitter mashups, and we think we're the first to deploy a solution. This problem is best illustrated with an example.

TweetDeck can post a picture to TwitPic using a user's twitter username and password.
Then TwitPic could use that same username and password create a TwitPic account (verified with a call to Twitter) and also to post a tweet to Twitter with a link to the picture.

If a user grants TweetDeck OAuth access to Twitter, Twitter gives TweetDeck a secret key for that user. TweetDeck then "signs" each request to Twitter with the secret, but shouldn't send that key to Twitter with the API request.

So if TweetDeck wants to communicate with TwitPic, how can they do it? Unlike a password, you couldn't share that secret key. TweetDeck can't send a request to TwitPic that TwitPic could use to post a tweet, and TwitPic can't verify that TweetDeck has access to that user at all.

Our solution is to create a pre-signed request to the Twitter API that a 3rd party can use to verify the user. In the example, TwitPic could take this signed request, and ask Twitter if it is legit. If so, they can post the picture and even make a TwitPic account. TwitPic can't tweet on behalf of the user, but that's OK. TweetDeck can make the tweet, and just link the picture.

For Tipjoy, 3rd party applications can give still use OAuth, and also use our API to create Tipjoy accounts, initiate payments, get Tipjoy balance information, etc.

We think this is pretty cool.

Wednesday, April 15, 2009

Tipjoy API Idea #2: Paid Protected accounts

People use Twitter to spread links to cool things. Some of those links could be really valuable:
- Early access to blog posts, before they hit the front page
- Links to coupons for discounts on other services
- Secrets from an authoritative, though perhaps anonymous, group
- Thoughts from renown thinkers, who would rather get cash to donate to a charity than have everyone follow them

We think there should be an easy way to power paid protected accounts, where followers could gain access by tweeting a payment. You can easily build a service which lets people make paid protected accounts with Tipjoy's Twitter Payments API. Here is how:

You'll need the Twitter credentials for both the protected account and those who are following it. Let the protected account customize the price, and give them a landing page on your service to customize where potential followers go to pay for access. Create Tipjoy accounts for the protected account and the new followers.

The status updates for the target account should be protected. Ideally this would be done with a Twitter API call, but that doesn't appear to exist for this functionality. Instead, you can send protected-account creators to their Twitter Account Settings page to do this.

For the new followers, after they have Tipjoy accounts, they pay to subscribe. First, initiate a payment over Twitter. It should be directed to the account to be followed. It could also be directed at the permalink on the service for the protected user, e.g. http://paid_twitter_account.com/ikirigin for @ikirigin. If not directed at the protected user, periodic payouts to that user from the service could be used to transfer the funds over. If the service were to take a cut, this would be one way to take it: just reduce the payout. Alternatively, if you want payments go straight to the protected account, just periodically initiate payments from the protected account to the service.

Check if transaction has been paid just by looking at the return from the payment API call. If it hasn't, create a sign-in link that sends the user to http://tipjoy.com/buyMore to pay their bill. (Soon, we'll create a Tipjoy API endpoint to provide credit card information to associate with the user, so the payment fufillment step would only need to occur once for all transactions for the user.)

Track the payment if it was unpaid using this call.

Once the transaction is paid, use the Twitter API to request to follow the paid account. Approve the follower using a Twitter API call. This also might not exist yet, but we hear they are working on it. The alternative till then is to give the protected account easy management tools to know whom to approve.

You can get a batch listing of the payments sent to the protected account using this call.

Thursday, April 9, 2009

Tipjoy Twitter Payments Idea #1: Gifting virtual goods

Gifting and virtual goods are exploding. They're a fun and social way to tell your friends you care. Social networks and apps that build on top of them are finding that they're a great way to monetize. And every gift sent will be an ad for your service.

Build an application using our API that lets people give virtual goods over Twitter.
Create a set of virtual goods, such as images, mp3s, or short videos. Introduce scarcity: maybe each item can only be bought and shared 1000 times before it is sold out. Charge a small amount for each item, say $1.

Then users buy the good and send it to someone on Twitter, perhaps by importing their friends, and let them add a custom message.

Payments could be directed to a URL, not just a twitter username. You can make the URL the permalink for the item. It would work best if the link wasn't generic for the gift, but specific for user A giving user B an item. The tweet might then be:

@my_friend p $1 http://gifting-site/for_you I got you a Rose. Thanks for being so nice

That prominently displays the price. You could separate the payment from the notification of a gift by making them separate tweets:
p $1 http://gifting-site/for_you to give my friend a gift

@my_friend I got you a Rose. Thanks for being so nice. http://gifting-site/for_you

Tuesday, April 7, 2009

Twitter Payments API contest - win a MacBook Air!

Tipjoy has opened up an API which can power payments for Twitter applications. Now you can sell goods and services over Twitter. We can't wait to see what you'll make with it.

To help get the creative juices flowing, we're going to give away a 1.6GHz MacBook Air to the team who makes the coolest use of our API.

For example, now you can make an app that will

1. Power e-commerce over twitter - sell your content: mp3s, videos, text, virtual goods, whatever: p $1 http://music-site.com/good-song.mp3 because I love this band
2. Charge for premium content and premium services: p $2 @tweetie to get your awesome iPhone app
3. Raise money for causes and non-profits: p $2 @charitywater to help build wells for those without clean drinking water
4. Enable P2P payments and gifting: p $5 @abbyxmix go buy yourself some cheesecake for your birthday

Because Twitter is a broadcast platform, these payments are social. That's very valuable. A microgiving cause gets the benefit of all the user's followers seeing the payment. A premium twitter app paid using Tipjoy gets a free advertisement on Twitter. It's not an orchestrated "social media marketing" effort - it's real people actually using your service.

We'll be judging the entrants by the following criteria:

1. creativity, aesthetics and design
2. amount of money transacted
3. number of unique users, users new to Tipjoy, repeat users
4. reach across the social graph

We'll announce the winner of the MacBook Air by the end of the day on Friday, May 15. All participants will receive some cool Tipjoy schwag, and we'll tweet and blog about the cool stuff you've made.

To get started, check out our Twitter Payments Tutorial. Then head over to the API page for the details. To help us track who creates which accounts, set a User-Agent, or add a user_agent parameter to any of our calls.

Once your app is live, fill out this form to tell us about it.

Email us any time at founders@tipjoy.com. You can bounce ideas off of us, ask questions about the API, suggest enhancements, or just say hi. You should also check out the new Tipjoy Developers mailing list.

Happy coding!