まぐらぼ

Unity/Android、Microsoft系のWPFをやってます。

ストアアプリの課金のメモ2

WebPayを使ったサンプルです。C#で書いています。

[元ネタ]WebPay APIでカード決済機能をWindowsストアアプリに実装するには (1/4)

(1) ユーザ登録
 https://webpay.jp/login の新規登録から。試用ではキャリア登録メール不要でした。

(2) CardRequest

String authInfo = 「テスト用APIキー」;を編集してください。

HttpWebRequest CreateRequest(string path,string method)
{
    //! https://api.webpay.jp/v1/customers
    HttpWebRequest request = WebRequest.CreateHttp(WebPayUri + path);
    request.Method = method;
    
    // WebPayページで取得した「テスト用APIキー」
    String authInfo = 「テスト用APIキー」;  //コンパイルエラー出るようにしてます。

    //Base64は、データを64種類の印字可能な英数字のみを用いて、それ以外の文字を扱うことの
    //出来ない通信環境にてマルチバイト文字やバイナリデータを扱うためのエンコード方式である
    authInfo = Convert.ToBase64String(Encoding.UTF8.GetBytes(authInfo));// ToBase64String

    request.Headers["Authorization"] = "Basic " + authInfo;// Basic認証
    request.ContentType = "application/json";
    return request;
}


CardRequest.JsonString()でJSONシリアライズをしています。属性[JsonObject(Title = "card")]で指定しているcardが処理されないので、string r2 = "{\"card\":" + r1 + "}";//こんな感じで付加しています。

(3) WebRequestとHttpClient
HttpClient の方がよさげですがストアアプリだと HttpClient クラス が使えません。

C#で書いたサンプル