認証

UnivaPay API では認証の為に JWT(JSON Web Token) を利用しています。JWTはペイロード部分に任意のコンテキスト情報を格納できます。UnivaPay APIでは認証で使用するアプリケーショントークンのフォーマットとして JWT を採用しています。

JWTの内容を調べるためのツールとしてJWT.IO等があります。

アプリケーショントークンシークレット

アプリケーショントークンはトークンとシークレットの2つの部分で構成されます。アプリケーショントークンを作成すると、最初にシークレットが表示されますが、それ以後はマーチャントコンソール上ではシークレットを確認することはできなくなりますので、表示されたシークレットは控えておくようにしてください。

また、このシークレットは機密情報として取り扱う必要があります。
例えば、エンドユーザーのブラウザ上で実行されるようなフロントエンドアプリケーションのコードの中にシークレットを記述する等、インターネットで第三者が閲覧できる状態にしないでください。これはレポートの生成、ブラウザ以外の経路での課金の作成など、サービスのバックエンドで行う処理で利用されることを想定しています。

アプリケーショントークンの種類

加盟店は 「加盟店」 と 「ストア」 の2種類のアプリケーショントークンを作成できます。

加盟店

トランザクショントークン課金作成することができません。しかし、他のAPIには全てアクセス可能で、加盟店がアクセス可能なすべての情報を取得するようなサービスで利用することを想定されています。また、シークレットと共に利用する必要があります。

ストア

トランザクショントークン課金を作成することができますが、特定のストアだけしかアクセスできません。チェックアウトウィジェットでは、 シークレットを使わず このトークンだけ指定してください。または、ブラウザ以外の経路で課金を作成する場合はバックエンドサービスでこのトークンとシークレットを両方指定してください。

このアプリケーショントークンを利用するためには、ウィジェットを設置するサイトのドメインを指定してください。このドメインからのリクエストではシークレットを使わずトークンのみでAPIにアクセスすることができます。
逆に、それ以外のドメインにウィジェットを設置しても動作しません。これは、無許可で他のサイト上でウィジェットを利用される事を防ぐためです。
また、テストモードと本番モードの課金を作成することができます。UnivaPay APIを利用するアプリケーションは、意図しない課金の発生を防ぐ為に、開発中はテストモードを使用してください。

アプリケーショントークンの作成

アプリケーショントークンは マーチャントコンソールで作成することができます。ガイドをご覧ください。

アプリケーショントークンの使い方

アプリケーショントークンを API リクエストに付加するには、HTTP リクエストヘッダの Authorization に以下の文字列を設定してください。{jwt}{secret} はアプリケーショントークンを生成したときに取得した文字列で置換してください。

// シークレットなし
Bearer {jwt}

// シークレットあり
Bearer {secret}.{jwt}

シークレットなしでアクセス可能なAPIと機能は非常に限られており、これを使用する場合は注意する必要があります。これは、機密情報のシークレットインターネット上で公開せずに安全にやりとりをする為に設計されている為です。

すべてのリクエストは HTTPS で送信される必要があります。