ユーザー通知 (1.0)

はじめに

本機能により、OPAクライアントはユーザーにユーザー通知を送信できます。

なお、ユーザー通知を受け取るためには、PayPayアプリの通知設定から「重要なお知らせ」をONにする必要があります。

TLSの実装

PayPay Open Payment APIでは、セキュリティ対策としてTLS 1.2以上の使用が必須となっております。TLS1.0およびTLS1.1では接続できませんのでご注意ください。

加盟店を登録する

PayPay OPAプラットフォームの利用を開始するには、最初にPayPay加盟店として登録する必要があります。

このプロセスは通常、情報収集、手動検証、契約確認、およびクレデンシャル情報の発行から構成されます。

PayPayの加盟店として登録された後、以下の項目がクライアントにおいて設定されます。:

  • api keyとsecret
  • webhookの通知先となるエンドポイント
  • クライアントのIPホワイトリスト

これらの設定を管理するには、マーチャントパネルを使用するか、弊社営業担当までご連絡ください。

API認証

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

エラー処理

PayPay OPAはhttpレスポンスステータスコードとOPAエラーコードを使用してリクエストの成功または失敗を示します。

これらの情報を使用して、どのようなエラー処理を実施するか判断できます。

通常、PayPay OPAは以下のhttpレスポンスステータスコードを返します。

レスポンスコード一覧

ユーザープッシュ通知

Status Code Description
200 SUCCESS 正常終了
400 INVALID_REQUEST_PARAMS リクエストにより提供された情報に無効なデータが含まれています。例: サポートされていない通貨
400 MISSING_REQUEST_PARAMS 設定されたパラメータが無効です。
400 UNACCEPTABLE_OP リクエストされた操作は現状では処理できません。例: トランザクション制限数超過
401 UNAUTHORIZED 有効なapi keyとsecretが提供されていません。
401 INVALID_USER_AUTHORIZATION_ID 指定されたユーザー認証IDが無効です。
401 EXPIRED_USER_AUTHORIZATION_ID ユーザー認証IDの有効期限が切れています。
401 OP_OUT_OF_SCOPE この操作は許可されていません。
401 USER_STATE_IS_NOT_ACTIVE ユーザーが無効な状態です。
404 OPA_CLIENT_NOT_FOUND OPAクライアントが見つかりません。
500 SERVICE_ERROR サービスエラーが発生しました。
500 INTERNAL_SERVER_ERROR このコードは問題が発生したことを意味しますが、トランザクションが発生したかどうか正確にはわかりません。不明な支払いステータスとして処理する必要があります。

API共通リクエストID

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

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

例:

OPA45F681001AEF4605B2A50939F611F4B8

ユーザープッシュ通知

プッシュ通知をユーザーに送信します。

User Push Notification

プッシュ通知をユーザーに送信します。

Request Body schema: application/json

プッシュ通知送信

userAuthorizationId
required
string (UserAuthorizationId) <= 64 characters

ユーザー認可フローによって返却されたPayPayユーザー認可ID

pushText
required
string (pushText)

プッシュ通知のコンテンツ。

pushDeepLink
string (pushDeepLink)

プッシュ通知のディープリンク。

Responses

Request samples

Content type
application/json
{
  • "userAuthorizationId": "string",
  • "pushText": "string",
  • "pushDeepLink": "string"
}

Response samples

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