PayPay Open Payment APIでは、セキュリティ対策としてTLS 1.2以上の使用が必須となっております。TLS1.0およびTLS1.1では接続できませんのでご注意ください。
PayPay OPAの利用を開始するには、事前に定義されたプロセスに従って、PayPay加盟店として登録をしなければなりません。
このプロセスは情報収集、手動検証、契約確認、およびクレデンシャル情報の発行から構成されます。
PayPay加盟店として登録されると、クライアントに以下の項目が設定されます:
これらの設定を管理するには、マーチャントパネルを使用するか、弊社営業担当までご連絡ください。
PayPayユーザーのウォレットから決済を回収できるようにするには、ユーザーの認可を明示的に取得する必要があります。
ユーザー認可を取得する方法については、 こちら をご参照ください。
OPA API認証に関わることは全て API認証のページ にあります。
PayPay OPAはHTTPレスポンスステータスコードとOPAエラーコードを使用して、リクエストの成功または失敗を示します。
これらの情報を使用して、どのようなエラー対応をするかを判断できます。
通常、PayPay OPAは以下のHTTPレスポンスステータスコードを返します。
| Status | Code | Description |
|---|---|---|
| 200 | SUCCESS | Success |
| 400 | INVALID_REQUEST_PARAMS | リクエストにより提供された情報に無効なデータが含まれています。例: サポートされていないプッシュテキスト |
| 400 | BAD_REQUEST | 想定外のエラーが発生しています。 |
| 401 | UNAUTHORIZED | 有効なapi keyとsecretが提供されていません。 |
| 401 | INVALID_USER_AUTHORIZATION_ID | 指定したuserAuthorizationId(PayPayのユーザー認可ID)が無効です。 |
| 401 | OP_OUT_OF_SCOPE | The operation is not permitted. |
| 500 | INTERNAL_SERVER_ERROR | PayPayサービス側で問題が発生しました。 |
| 500 | SERVICE_ERROR | サービスエラーが発生しました。 |
基本的に、すべてのAPIレスポンスには X-REQUEST-ID がレスポンスヘッダーとして含まれます(一部例外を除きます)。
PayPayへお問い合わせの際は、このリクエストIDをご提示ください。
フォーマット: 英数字とハイフン(最大64文字)
例:
OPA45F681001AEF4605B2A50939F611F4B8
アプリケーションにおいて、キャッシュバック設定ステータスは次の3つのステータスで表されます: ポイントを貯める、支払いに使う、ポイント運用に自動追加。
ステータスは、useCashback と cashbackAutoInvestment という2つのフラグを設定することにより切り替えます。
ステータスの意味は次の通りです。「SAVE」: ポイントを貯める、「USE」: 支払いに使う、「INVEST」: ポイント運用に自動追加。
| Status | flag | Request | After Status | After flag |
|---|---|---|---|---|
| SAVE | useCashback : false cashbackAutoInvestment : false |
/v1/user/use_cashback useCashback: true |
USE | useCashback : true cashbackAutoInvestment : false |
| SAVE | useCashback : false cashbackAutoInvestment : false |
/v1/user/cashback_auto_investment cashbackAutoInvestment : true |
INVEST | useCashback : false cashbackAutoInvestment : true |
| SAVE | useCashback : false cashbackAutoInvestment : false |
/v1/user/cashback_auto_investment cashbackAutoInvestment : false |
USE | useCashback : true cashbackAutoInvestment : false |
| USE | useCashback : true cashbackAutoInvestment : false |
/v1/user/use_cashback useCashback : false |
SAVE | useCashback : false cashbackAutoInvestment : false |
| USE | useCashback : true cashbackAutoInvestment : false |
/v1/user/cashback_auto_investment cashbackAutoInvestment : true |
INVEST | useCashback : false cashbackAutoInvestment : true |
| INVEST | useCashback : false cashbackAutoInvestment : true |
/v1/user/use_cashback useCashback : true |
USE | useCashback : true cashbackAutoInvestment : false |
| INVEST | useCashback : false cashbackAutoInvestment : true |
/v1/user/cashback_auto_investment cashbackAutoInvestment : false |
SAVE | useCashback : false cashbackAutoInvestment : false |
| INVEST | useCashback : false cashbackAutoInvestment : true |
/v1/user/use_cashback useCashback : false |
SAVE | useCashback : false cashbackAutoInvestment : false |
指定されたユーザーのキャッシュバック設定ステータスを取得する。
| userAuthorizationId required | string |
{- "resultInfo": {
- "code": "string",
- "message": "string",
- "codeId": "string"
}, - "data": {
- "useCashback": true,
- "cashbackAutoInvestment": false
}
}useCashbackフラグを設定する。
set useCashback flag APIのリクエストボディ。
| userAuthorizationId required | string ユーザー認可フローにより返されるPayPayユーザー参照ID。 |
| useCashback required | boolean ユーザーが支払いにポイントを使用するかどうかのフラグ。 |
{- "userAuthorizationId": "string",
- "useCashback": true
}{- "resultInfo": {
- "code": "string",
- "message": "string",
- "codeId": "string"
}, - "data": { }
}cashbackAutoInvestmentフラグを設定する。
set cashbackAutoInvestment flag APIのリクエストボディ。
| userAuthorizationId required | string ユーザー認可フローにより返されるPayPayユーザー参照ID。 |
| cashbackAutoInvestment required | boolean ユーザーがポイントをポイント運用に自動追加するかどうかのフラグ |
| updatedAt | integer |
{- "userAuthorizationId": "string",
- "cashbackAutoInvestment": true,
- "updatedAt": 1609426800
}{- "resultInfo": {
- "code": "string",
- "message": "string",
- "codeId": "string"
}, - "data": { }
}