Points Code (1.0)

はじめに

PayPayポイントコードAPIは、加盟店がポイントコード関連の操作を行い、エンドユーザーに最良の体験を提供するように設計されています。 PayPayクライアントとして登録されると、次の機能が提供されます。

  • エンドユーザーへのポイントコード(チャージコード)の即時作成
  • 予算残高の確認

本ドキュメントでは、上記の機能をサポートするAPIについて説明します。 なお、PayPay商品券コードも対応しており、ご利用される場合は、"ポイントコード"を"商品券コード"と読み替えてください。

加盟店を登録する

PayPay OPAの利用を開始するには、事前に定義されたプロセスに従って、PayPay加盟店として登録をしなければなりません。 このプロセスは、情報収集、手動検証、契約確認、およびクレデンシャル情報の発行から構成されます。 PayPayに加盟店が登録されると、加盟店用にOPAクライアントが作成され、以下の項目が設定されます。

  • API keyとsecret
  • 許可された認可コールバックドメイン
  • クライアントIPホワイトリスト

これらの設定は、マーチャントパネルを使用して管理するか、または弊社営業担当までご連絡ください。 ポイントコードAPIでは、ポイントコードgroupIdの登録も必要です。加盟店はビジネス要件に応じて、複数のポイントコードgroupIdを持つことができます。 ポイントコードgroupIdの作成については、弊社営業担当による設定が必要です。 ユーザーからのPayPayアプリ、PayPayWeb画面への日本国外からのアクセスは制限されています。詳細については個別にご相談ください。

リクエスト時に加盟店(ブランド)を指定する

APIのリクエスト時に加盟店識別子をセットする必要があります。 加盟店識別子をセットするには2つの方法があります。

クエリの中にセットする:

?assumeMerchant={MerchantId}

HTTPヘッダにセットする:

X-ASSUME-MERCHANT: {MerchantId}

両方を指定した場合、クエリにセットしたパラメーターが優先されます。

API認証

OPA API認証に関わることは全て API認証のページ にあります。

エラー処理

PayPay OPAはhttpレスポンスステータスコードとOPAエラーコードを使用してリクエストの成功または失敗を示します。 これらの情報を使用して、どのようなエラー対応をするかを判断できます。 通常、PayPay OPAは以下のhttpレスポンスステータスコードを返します。

レスポンスコード一覧

各API共通レスポンスコード

Status Code Description
200 SUCCESS Success
400 INVALID_REQUEST_PARAMS リクエストにより提供された情報に無効なデータが含まれています。例: サポートされていない通貨
400 MISSING_REQUEST_PARAMS 設定されたパラメータが無効です。
401 UNAUTHORIZED 有効なapi keyとsecretが提供されていません。
401 OP_OUT_OF_SCOPE オペレーションが許可されていません。
404 OPA_CLIENT_NOT_FOUND OPAクライアントが見つかりません。
429 RATE_LIMIT リクエスト制限超過。
500 SERVICE_ERROR サービスエラーが発生しました。
500 INTERNAL_SERVER_ERROR このコードは問題が発生したことを意味しますが、トランザクションが発生したかどうか正確にはわかりません。不明なステータスとして処理する必要があります。
503 MAINTENANCE_MODE メンテナンス中です。

Create Points Code

Status Code Description
400 BUDGET_NOT_ENOUGH ポイントコードグループ予算が不足しています。
400 EXCEED_CHARGE_CODE_GROUP_MAX_PERIOD startAtからendAtまでの期間がmaxPeriodDaysの設定値を超えています。
400 GIFT_CARD_GROUP_NOT_EXIST ポイントコードグループが存在しません。
400 INVALID_CHARGE_CODE_AMOUNT ポイントコード金額が最低設定金額を下回っています。

API共通リクエストID

基本的に、すべてのAPIレスポンスには X-REQUEST-ID がレスポンスヘッダーとして含まれます(一部例外を除きます)。 PayPayへお問い合わせの際は、このリクエストIDをご提示ください。

フォーマット: 英数字とハイフン(最大64文字)

例:

OPA45F681001AEF4605B2A50939F611F4B8

Points Code APIs

Create Points Code

ポイントコードを作成します。

タイムアウト、または内部エラー(HTTP 5XX ステータスコード)の場合、加盟店は同一のrequestIdで安全にリクエストを再試行できます。

タイムアウト: 30秒

Request Body schema: application/json
requestId
required
string

ポイントコードを作成するための一意となるキー

groupId
required
integer <int64>
giftCardName
required
string [ 1 .. 40 ]

トップアップ後、PayPayアプリに表示されるポイントコード名

giftCardValue
required
integer <int32> [ 1 .. 999999 ]

ポイントコード金額(円)

startAt
required
string <yyyy-MM-dd>
endAt
required
string <yyyy-MM-dd>

Responses

Request samples

Content type
application/json
{
  • "requestId": "ea233cbd-f949-42f3-98e7-ddd1cb5e6ffd",
  • "groupId": 29952775505428480,
  • "giftCardName": "Points Code 01",
  • "giftCardValue": 1000,
  • "startAt": "2021-10-10",
  • "endAt": "2022-10-09"
}

Response samples

Content type
application/json
{
  • "resultInfo": {
    },
  • "data": {
    }
}

Get groups budget

加盟店の全てのポイントコードグループ予算を確認します。

タイムアウト: 15秒

Responses

Response samples

Content type
application/json
{
  • "resultInfo": {
    },
  • "data": {
    }
}