mixi engineer blog

*** 引っ越しました。最新の情報はこちら → https://medium.com/mixi-developers *** ミクシィ・グループで、実際に開発に携わっているエンジニア達が執筆している公式ブログです。様々なサービスの開発や運用を行っていく際に得た技術情報から採用情報まで、有益な情報を幅広く取り扱っています。

PC向けmixiアプリ課金APIが登場しています

皆さんこんにちは。プラットフォーム開発を担当しています、よういちろう です。今回は、最近リリースした非常に興味深い機能を紹介したいと思います。

mixiアプリ、楽しんでいますか?

mixiは昨年の8月24日にプラットフォーム化を遂げました。既に多くの方々が、何らかのmixiアプリに触れ、ソーシャルアプリケーションという新しいジャンルを楽しんでいるかと思います。

mixiアプリの特徴は、何と言っても「マイミクとのちょっかいの出し合い」です。

  • 虫を付けたら付け返す
  • 掃除をしてくれたらお礼をする
  • 旧友と出会い当時の先生の話で盛り上がる

などなど、ソーシャルグラフを使ったアプリケーションならではの多様なコミュニケーションを、mixiアプリを通じて体験することができます。電車に乗っていて「昨日虫いっぱい付けたでしょー」など、リアルな場においてもネタとしてmixiアプリのことが話されているのを聞いて、最近はニヤッとすることも多くなりました。

アイテム課金

さて、そんなmixiアプリですが、既にアイテム課金を始めているアプリも多くなってきました。マイミクへのお礼として、気持ちを込めるためにちょっとお金を出してもいいかな、という思いをきっと持ったことがあると思います。mixiアプリでの課金に関しては、例えば自分の装備を強化するためではなく、あくまでマイミクとのコミュニケーションを取るための一形態として、アイテムの購入が行われることを期待しています。

昨年の11月5日より、既にモバイル向けmixiアプリにてmixiポイントを使った決済を行うための課金APIをご提供していますが、先日の21日より、PC向けmixiアプリ課金APIをリリースいたしました。今までPC向けmixiアプリでは外部の決済サイトを使った課金処理に頼る必要がありましたが、PC向けmixiアプリ課金APIを使うことで、mixi内で決済を完了することができるようになります。

このPC向けmixiアプリ課金APIを利用するためには、そのmixiアプリがPC/モバイル両対応であり、モバイル向けmixiアプリが既にカテゴリ掲載されていることが求められます。詳しくは、以下のページを参考にしてください。

http://developer.mixi.co.jp/appli/bs/mpp/guide

OpenSocial Virtual Currency API

さて、PC向けmixiアプリで利用できる課金APIですが、これは「OpenSocial Virtual Currency API」という仕様に準拠して実装されています。これは、OpenSocialに準拠したコンテナ上で課金APIの標準化を行いましょう、というかなり意欲的な仕様です。海外では既にHi5や51.comなどがこの仕様をサポートしています。

http://code.google.com/p/opensocial-virtual-currency/
http://docs.google.com/View?id=dhsg598c_994hdb9pwcf (日本語訳)

OpenSocial Virtual Currency APIでは、現在ガジェット向けのJavaScript APIが策定されています。この仕様をベースとして、PC向けmixiアプリ課金APIを策定しています。ただし、完全にそのままではなく、決済情報をより安全にやり取りするために、いくつか独自の拡張を行っています。

必要となる記述を全てここで紹介することは難しいのですが、課金APIを利用するためのコードでJavaScriptで記述する部分は、以下のようになります。

var params = {};
params[opensocial.Payment.Field.AMOUNT] = 150; // 金額
params[...] = ...; // その他パラメータをセット
var payment = opensocial.newPayment(params); // Paymentの生成
opensocial.requestPayment(
    payment, // Paymentオブジェクト
    "http://example.com/payment/handler", // SAP側サーバのハンドラURL
    function(response) {
        var result = response.getData();
        if (result.isComplete()) {
            // 決済結果に対する処理
        }
    }
);

実際にはmixi固有の記述やSAP側サーバでの実装が上記のコード以外にも必要となります。しかしこのコードは、基本的にHi5や51.comといったプラットフォームでも「ちょっとした修正のみで」動作するでしょう。OpenSocial Virtual Currency APIによって、ソーシャルアプリケーションのポータビリティが課金処理に関してももたらされることになるということですね。

まとめ

ソーシャルというキーワードは、今年もインターネットな世界のトレンドとして昨年以上によく聞く言葉になるでしょう。今回紹介した課金APIは、ソーシャルアプリケーションという新しいジャンルを一歩も二歩も前進させる、非常に注目すべきAPIです。ユーザ間の多様なコミュニケーションの中で課金APIを如何にうまく使うか、そしてOpenSocial Virtual Currency APIやOpenSocialそのものの先にある世界を舞台としたソーシャルアプリケーションプラットフォームをどう見据えていくか、それらの答えはこれから出てくると思います。

今後のmixi Platformにぜひご期待ください!