メインコンテンツまでスキップ

基本ルール

基本情報

すべてのAPIリクエストはHTTPSを使用する必要があります。

ヒント

リクエスト時にサーバー証明書の検証エラーを無視しないでください。不正なハイジャックを防ぐためです。

データフォーマット

すべてのAPIリクエストはJSONを使用する必要があります。

メッセージボディのデータ交換形式としてJSONを使用し、リクエストには以下のHTTPヘッダーを設定してください:

Content-Type: application/json
Accept: application/json

画像アップロードAPIを除きます。

ヒント

APIレスポンス内のデータには、加盟店からの入力データが含まれる場合があります。これらは未検証のユーザー入力である可能性があるため、XSS(クロスサイトスクリプティング)攻撃を防ぐために、レスポンスデータを使用する前に適切なエスケープまたはフィルタリングを行ってください。

パラメータの互換性

  • リクエストの成功は、リクエストパラメータの順序に依存しません。
  • リクエストの成功は、JSONオブジェクト内のキーと値の順序に依存しません。
  • レスポンスを処理する際、JSONオブジェクト内のキーと値の順序を仮定しないでください。
  • APIの新しいバージョンでは、リクエストやレスポンスに新しいパラメータやJSONキー/値のペアが追加される可能性があります。
  • 新しいバージョンでは、既存の必須パラメータやキー/値のペアを削除しません。
  • 値がnullのJSONキー/値のペアは省略可能です。

文字エンコーディング

UTF-8の1~3バイトでエンコードされる文字のみをサポートします。つまり、4~6バイトのUnicode補助平面文字はサポートされません。

日付形式

すべての日付オブジェクトには以下の形式を使用します。例:

yyyy-MM-DD HH:mm:ss
yyyy-MM-DD
ヒント

時刻のタイムゾーンは常にUTC0で固定されています。リクエスト時には、ローカルタイムゾーンを+00:00に変換して送信する必要があります。レスポンス時には+00:00のタイムゾーンの時刻が返されますので、必要に応じてローカルタイムゾーンに変換して記録や表示を行ってください。

リクエストの一意識別子

PayCloudはすべてのリクエストに一意の識別子を割り当てます。この識別子はレスポンスのHTTPボディ内の psn パラメータとして返されます。PayCloudサポートが必要な場合は、このリクエスト識別子を提供いただくと、特定のリクエストを迅速に特定できます。

エラー情報

PayCloud APIは、HTTPステータスコードを使用してリクエスト処理の結果を示します。

リクエストが正常に処理された場合、HTTPレスポンスコードは200を返します。HTTPレスポンスコードは通信状態のみを示し、ビジネス操作の成功や支払いの成功を示すものではありません。例えば、HTTPコード200は通信が正常であることを意味しますが、支払い成功を示すものではありません。

エラーコードとエラーメッセージ

リクエストの処理が失敗した場合、HTTPステータスコードに加えて、エラーの詳細を示すJSON形式のレスポンスが返されます。具体的なエラー内容は次のフィールドで提供されます。

  • code: 詳細なエラーコード。
  • msg: エラーの理由を示す分かりやすい説明。
{
"code":"E07303",
"msg":"The API is not authorized or does not exist",
"psn":"06100624379047675280",
"sign":"Ck2+5+lQ7tVGXEVcwYiZDLXQ1m6VIItlYEogCRtPBwKtIUbW3vRnZznl/cB0u//q8rTRiq+u4UFhOiFB8MWMC3ukzkb35zkDsWNygsftvx3sXSqOnIYBMEVXDKn91BnE/DXxZ3V76E67HCk6Cp5E2ujLwzawonVzWLxT4RLZjocu7U6rywz8UAS37+PAvqJA3v4H1IF3YbgaX62NOQyn2jEuzxe0BnHQKg92uMt0I64RZFBSKpOahwtQNlW0/4Hwv/Nu30vJju6N3ikYXzUfpH0KwTWoZUq/6mS8XaLayQb46WSECUZ+KuCg/GJKAMCIgnqGRS5rFlAex4iCwktlkA=="
}

レスポンスの言語

PayCloud APIは、レスポンス内のエラー説明に使用する自然言語のロケールを指定する機能を提供します。必要に応じて、HTTPヘッダー Accept-Language を設定してください。現在サポートされている言語は以下の通りです。

  • en-US
  • zh-CN
  • ja-JP
  • fr-FR

設定されていない場合、または指定された値がサポートされていない場合は、デフォルトでアメリカ英語(en-US)が使用されます。