PayPay Payment API
Everything involved in the payment life cycle
Everything involved in the payment life cycle
openapi: 3.0.0
info:
x-logo:
url: https://image.paypay.ne.jp/page/common/images/img_logo.png
altText: PayPay Open Payment Api
contact:
name: API Support
version: '1.1'
title: Dynamic QR Payment API
description: "# Introduction\n\nPayPay Open Payment API (OPA) is designed to be used by our payment partners to make payment-related operations in different scenarios, so as to deliver the best payment experience to end users. After being onboarded as a PayPay OPA client, depending on the contract, you will have the capability on one or more of the below:\n - Collect payment by directly debiting from PayPay user’s wallet\n - Create Dynamic QR Code and collect payments via PayPay's App\n - Use pre-authorization and capture payment flow to facilitate your purchase procedure\n - Easy web application integration with PayPay cashier page to collect payment\n - Build your own checkout experience with rich APIs provided by PayPay\n\nThis document will be focusing on APIs that support the second solution for Dynamic QR Code Payment.\n# Connection Information\n- This system uses custom SSL/TLS certificates on Amazon CloudFront for HTTPS communication. For certificate specifications and root CA information, please check: https://www.amazontrust.com/repository/\n- Additionally, the CloudFront distribution used by this system utilizes Server Name Indication (SNI) for HTTPS connections. Clients connecting to this system must support the TLS SNI extension. Please note that some legacy browsers or clients that do not support SNI will not be able to connect.\n- For details on SNI and its operation in CloudFront, please refer to the AWS documentation: https://docs.aws.amazon.com/AmazonCloudFront/latest/DeveloperGuide/cnames-https-dedicated-ip-or-sni.html\n- SSL/TLS Versions As a security measure, this system requires the use of TLS 1.2. Connections via TLS 1.0 or TLS 1.1 are not supported.\n\n# Dynamic QR Code Flow\nIn this flow we empower merchants to create a QR Code which can be displayed to the user. The user can then scan the QR Code using PayPay App to process the payment. The merchant can query the status of the payment as well as be notified of the payment to process the order. Details of the flow are shown in the <a href=\"./files/Dynamic QR Code Integration.pdf\" target=\"_blank\">slides here</a>. The polling interval should be about 2 to 3 seconds.<BR>\n<img src=\"./imgs/dynamicqrcode-sequence.png\">\n\n# Onboard merchant\n\nTo start utilizing our Open Payment API platform, at first the business needs to be onboarded as a PayPay merchant.\nThis process usually consists of information collection, manual verification, contract confirmation and credentials issuance.\n\nAfter becoming a merchant on PayPay, the following items would be setup for the client:\n\n - api key and secret\n - webhook endpoints\n - client IP whitelist\n - merchant identifier (merchant_id) (for agent client)\n\nThis setup can be managed using our merchant panel/ getting in touch with the sales representative.<BR><BR>\nAccess from users to the PayPay app and PayPay web screen from outside Japan is restricted. Please contact us for details.\n"
servers:
- description: Production server
url: //apigw.paypay.ne.jp
- description: Staging server
url: //apigw.stg.paypay.ne.jp
- description: Sandbox server
url: //apigw.sandbox.paypay.ne.jp
- description: Production server (deprecated)
url: //api.paypay.ne.jp
- description: Staging server (deprecated)
url: //stg-api.paypay.ne.jp
- description: Sandbox server (deprecated)
url: //stg-api.sandbox.paypay.ne.jp
tags:
- name: Payment
x-displayName: Payment
description: Everything involved in the payment life cycle
paths:
/v2/codes:
post:
tags:
- Payment
summary: Create a QRCode
description: 'Create a dynamic QR Code to receive payments.The expiration date of the created QRcode is set to "expiryDate". <br>
Please manage merchantPaymentId to make it unique on merchant side.
**Timeout: 30s**
'
operationId: createQRCode
requestBody:
$ref: '#/components/requestBodies/CreateQRCode'
responses:
'201':
$ref: '#/components/responses/QRCodeDetails'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
/v2/codes/{codeId}:
delete:
tags:
- Payment
summary: Delete a Code
x-description-en: 'Delete a created dynamic QR Code.
**Timeout: 15s**
'
x-description-jp: '作成したQRコードを削除します。
**Timeout: 15s**
'
operationId: deleteQRCode
parameters:
- name: codeId
in: path
required: true
x-description-en: 'The ID of the Code
'
x-description-jp: 'コードID
'
schema:
type: string
description: 'The ID of the Code
'
responses:
'200':
$ref: '#/components/responses/QRCodeDeleteResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'500':
$ref: '#/components/responses/InternalServerError'
description: 'Delete a created dynamic QR Code.
**Timeout: 15s**
'
/v2/codes/payments/{merchantPaymentId}:
get:
tags:
- Payment
summary: Get payment details
x-description-en: 'Get payment details.
**Timeout: 15s**
'
x-description-jp: '決済の詳細を取得します。
**Timeout: 15s**
'
operationId: getCodePaymentDetails
parameters:
- name: merchantPaymentId
in: path
required: true
schema:
$ref: '#/components/schemas/MerchantPaymentIdSimple'
responses:
'200':
$ref: '#/components/responses/GetCodesPaymentDetailsResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
description: 'Get payment details.
**Timeout: 15s**
'
/v2/payments/{merchantPaymentId}:
x-override-visible-methods: {}
delete:
tags:
- Payment
summary: Cancel a payment
x-description-en: 'This API is used when, while creating a payment, the client cannot determine the status of
the payment. For example, the client receives a timeout or the response does not indicate the exact payment status.
If the request is accepted, PayPay will guarantee the money eventually goes back to
user''s account. Please note this is an <b>asynchronous API</b> and hence there can be a lag in processing the cancellation.
</br><b style="color:red">Note:</b>
You can utilize the Cancel API within the specified timeframe. <br>
By default, the window is opened until 00:14:59 AM on the following day after the transaction took place. <br>
Once this window is closed, kindly use the refund API to initiate refund. <br>
For orderType REMITTANCE, the window is opened until 25 minutes after PayPay accepted the transaction.<br>
You''re not able to initiate refund request for REMITTANCE.
When you use PreAuth, you can cancel the payment only when the status is <code>AUTHORIZED</code>.<br>
Once the payment status becomes <code>COMPLETED</code> or the payment is expired and the status is <code>EXPIRED</code>, you cannot cancel the payment.<br>
When a timeout error happens, we recommend to keep calling until it succeeds with an adequate interval, or till the specified window above comes to an end.
**Timeout: 15s**
'
x-description-jp: 'このAPIは、支払いのリクエスト中にクライアントが支払いのステータスを判断できない場合に使用します。
例えば、タイムアウトの状態になった場合や、レスポンスに支払いステータスが含まれていない場合などです。
このAPIを呼び出すことで、支払金額がユーザーのアカウントに戻ることを保証します。
</br><b style="color:red">Note:</b>
キャンセルはデフォルトで決済が発生した翌日の00:14:59 AMまで使用することができます。</br>
翌日の00:15 AM以降の払い戻しはRefund a payment(返金)を使用してください。</br>
orderTypeがREMITTANCEの場合はPayPayがリクエストを受け付けてから25分以内にキャンセルを行うことができます。<br>
またorderTypeがREMITTANCEの場合はRefund a payment(返金)はご利用いただけません。
出荷売上の場合は、ステータスが<code>AUTHORIZED</code>の場合に使用可能です。</br>
支払いが完了してステータスが<code>COMPLETED</code>になるか、期限を過ぎて<code>EXPIRED</code>になると、使用できません。<br>
タイムアウトエラーが発生した場合は、適切な間隔をあけて成功するまでリトライすることを推奨します。
**Timeout: 15s**
'
operationId: cancelPayment
parameters:
- in: path
name: merchantPaymentId
required: true
schema:
$ref: '#/components/schemas/MerchantPaymentIdSimple'
responses:
'202':
$ref: '#/components/responses/Accepted'
'400':
$ref: '#/components/responses/BadRequest'
'500':
$ref: '#/components/responses/InternalServerError'
description: 'This API is used when, while creating a payment, the client cannot determine the status of
the payment. For example, the client receives a timeout or the response does not indicate the exact payment status.
If the request is accepted, PayPay will guarantee the money eventually goes back to
user''s account. Please note this is an <b>asynchronous API</b> and hence there can be a lag in processing the cancellation.
</br><b style="color:red">Note:</b>
You can utilize the Cancel API within the specified timeframe. <br>
By default, the window is opened until 00:14:59 AM on the following day after the transaction took place. <br>
Once this window is closed, kindly use the refund API to initiate refund. <br>
For orderType REMITTANCE, the window is opened until 25 minutes after PayPay accepted the transaction.<br>
You''re not able to initiate refund request for REMITTANCE.
When you use PreAuth, you can cancel the payment only when the status is <code>AUTHORIZED</code>.<br>
Once the payment status becomes <code>COMPLETED</code> or the payment is expired and the status is <code>EXPIRED</code>, you cannot cancel the payment.<br>
When a timeout error happens, we recommend to keep calling until it succeeds with an adequate interval, or till the specified window above comes to an end.
**Timeout: 15s**
'
/v2/payments/reauthorize:
post:
tags:
- Payment
summary: Update a payment authorization
x-description-en: "This API is used to change the blocked amount of money during authorization with the same payment method. \n\nDuring this API call, a new AUTHORIZED event webhook will be triggered, and the state of the transaction will remain as AUTHORIZED.\n\nIf lower amount of reauthorization is initiated, this API will return 200 for successful call and the process will be completed.\n<img src=\"./imgs/diagram-flow-day1-reauthorize.png\">\n\nIf higher amount of reauthorization is initiated, this API will return 201 code for successful call to ask for user's confirmation.\n<img src=\"./imgs/diagram-flow-day2-reauthorize.png\">\n\nIn the reconciliation file, it is expected to have multiple records of AUTHORIZED transactions with the same order ID. The overview of how the reconciliation file will be is shown below:\n| orderId | merchantId | brandName | storeId | terminalId | transactionStatus | acceptedAt | amount | orderReceiptNumber | methodOfPayment | merchantPaymentId | paymentDetails |\n|--------------|-------------|--------------|-------------|------------|-------------------|-------------------------------|-----------|--------------------|-----------------|-----------------|-----------------|\n| xx123456 | yy08181 | 〇〇加盟店 | 1234567 | 0 | COMPLETED | 2020-01-30T10:53:25+09:00 | 480 | 000-0001 | wallet, point | 000-0001 | [{\"paymentMethod\":\"POINT\", \"amount\":80}, {\"paymentMethod\":\"wallet\", \"amount\":400}] |\n| xx123456 | yy08181 | 〇〇加盟店 | 1234567 | 0 | REFUNDED | 2020-01-30T16:53:25+09:00 | -480 | 000-0001 | wallet | refund_000-0001 | [{\"paymentMethod\":\"wallet\", \"amount\":-480}] |\n| xx567890 | yy08181 | 〇〇加盟店 | 1234567 | 0 | AUTHORIZED | 2020-01-30T13:31:43+09:00 | 2924 | 000-0005 | wallet | 000-0005 | [{\"paymentMethod\":\"wallet\", \"amount\":2924}] |\n| **xx567890** | **yy08181** | **〇〇加盟店** | **1234567** | **0** | **AUTHORIZED** | **2020-01-31T13:50:43+09:00** | **1000** | **000-0005** | **wallet** | **000-0005** | [{\"paymentMethod\":\"wallet\", \"amount\":1000}] |\n\n**Timeout: 30 s**\n"
x-description-jp: 'このAPIは事前にユーザーの残高からブロックしていた決済金額を同じ決済手段で変更するために使用されます。
APIのコール中に、新しい AUTHORIZED イベントWebHookが発動し、トランザクションのステータスは AUTHORIZED のまま保持されます。
減額Reauthorize処理がコールされた場合、正常処理の場合に200を返し処理は完了します。
<img src="./imgs/diagram-flow-day1-reauthorize.png">
増額ReAuthorize処理が開始されると、このAPIは201: ユーザーへの再認証要求完了を返します。
<img src="./imgs/diagram-flow-day2-reauthorize.png">
突合ファイルの中では、同じオーダーIDのAUTHORIZEDトランザクションが複数存在します。突合ファイルの概要は下記です。
| orderId | merchantId | brandName | storeId | terminalId | transactionStatus | acceptedAt | amount | orderReceiptNumber | methodOfPayment | merchantPaymentId | paymentDetails |
|--------------|-------------|--------------|-------------|------------|-------------------|-------------------------------|-----------|--------------------|-----------------|-----------------|-----------------|
| xx123456 | yy08181 | 〇〇加盟店 | 1234567 | 0 | COMPLETED | 2020-01-30T10:53:25+09:00 | 480 | 000-0001 | wallet, point | 000-0001 | [{"paymentMethod":"POINT", "amount":80}, {"paymentMethod":"wallet", "amount":400}] |
| xx123456 | yy08181 | 〇〇加盟店 | 1234567 | 0 | REFUNDED | 2020-01-30T16:53:25+09:00 | -480 | 000-0001 | wallet | refund_000-0001 | [{"paymentMethod":"wallet", "amount":-480}] |
| xx567890 | yy08181 | 〇〇加盟店 | 1234567 | 0 | AUTHORIZED | 2020-01-30T13:31:43+09:00 | 2924 | 000-0005 | wallet | 000-0005 | [{"paymentMethod":"wallet", "amount":2924}] |
| **xx567890** | **yy08181** | **〇〇加盟店** | **1234567** | **0** | **AUTHORIZED** | **2020-01-31T13:50:43+09:00** | **1000** | **000-0005** | **wallet** | **000-0005** | [{"paymentMethod":"wallet", "amount":1000}] |
**タイムアウト: 30秒**
'
operationId: reauthorizePayment
requestBody:
$ref: '#/components/requestBodies/ReauthorizeRequest'
responses:
'200':
$ref: '#/components/responses/ReauthorizeResponse'
'201':
$ref: '#/components/responses/ReauthorizeWithUserConfirmationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerErrorResponse'
description: "This API is used to change the blocked amount of money during authorization with the same payment method. \n\nDuring this API call, a new AUTHORIZED event webhook will be triggered, and the state of the transaction will remain as AUTHORIZED.\n\nIf lower amount of reauthorization is initiated, this API will return 200 for successful call and the process will be completed.\n<img src=\"./imgs/diagram-flow-day1-reauthorize.png\">\n\nIf higher amount of reauthorization is initiated, this API will return 201 code for successful call to ask for user's confirmation.\n<img src=\"./imgs/diagram-flow-day2-reauthorize.png\">\n\nIn the reconciliation file, it is expected to have multiple records of AUTHORIZED transactions with the same order ID. The overview of how the reconciliation file will be is shown below:\n| orderId | merchantId | brandName | storeId | terminalId | transactionStatus | acceptedAt | amount | orderReceiptNumber | methodOfPayment | merchantPaymentId | paymentDetails |\n|--------------|-------------|--------------|-------------|------------|-------------------|-------------------------------|-----------|--------------------|-----------------|-----------------|-----------------|\n| xx123456 | yy08181 | 〇〇加盟店 | 1234567 | 0 | COMPLETED | 2020-01-30T10:53:25+09:00 | 480 | 000-0001 | wallet, point | 000-0001 | [{\"paymentMethod\":\"POINT\", \"amount\":80}, {\"paymentMethod\":\"wallet\", \"amount\":400}] |\n| xx123456 | yy08181 | 〇〇加盟店 | 1234567 | 0 | REFUNDED | 2020-01-30T16:53:25+09:00 | -480 | 000-0001 | wallet | refund_000-0001 | [{\"paymentMethod\":\"wallet\", \"amount\":-480}] |\n| xx567890 | yy08181 | 〇〇加盟店 | 1234567 | 0 | AUTHORIZED | 2020-01-30T13:31:43+09:00 | 2924 | 000-0005 | wallet | 000-0005 | [{\"paymentMethod\":\"wallet\", \"amount\":2924}] |\n| **xx567890** | **yy08181** | **〇〇加盟店** | **1234567** | **0** | **AUTHORIZED** | **2020-01-31T13:50:43+09:00** | **1000** | **000-0005** | **wallet** | **000-0005** | [{\"paymentMethod\":\"wallet\", \"amount\":1000}] |\n\n**Timeout: 30 s**\n"
/v2/payments/capture:
post:
tags:
- Payment
summary: Capture a payment authorization
x-description-en: 'This api is used to capture the payment authorization for a payment.</br>
If you want to increase the amount, we will send a notification to the user asking for consent.
Even when a timeout error happens, we recommend to keep calling until it succeeds with an adequate interval, with different `merchantCaptureId`.
**Timeout: 30s**
'
x-description-jp: '事前にユーザーの残高からブロックしていた決済金額をキャプチャ(決済)します。</br>
増額キャプチャの場合、ユーザーに承諾を求める通知を送信します。
タイムアウトエラーが発生した場合は、リクエスト毎に`merchantCaptureId`を変え、適切な間隔をあけて成功するまでリトライすることを推奨します。
**Timeout: 30s**
'
operationId: capturePaymentAuth
requestBody:
$ref: '#/components/requestBodies/CaptureRequest'
responses:
'200':
$ref: '#/components/responses/CaptureDetailsResponse'
'202':
$ref: '#/components/responses/CaptureDetailsConfirmationResponse'
'400':
$ref: '#/components/responses/BadRequest'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
description: 'This api is used to capture the payment authorization for a payment.</br>
If you want to increase the amount, we will send a notification to the user asking for consent.
Even when a timeout error happens, we recommend to keep calling until it succeeds with an adequate interval, with different `merchantCaptureId`.
**Timeout: 30s**
'
/v2/payments/preauthorize/revert:
post:
tags:
- Payment
summary: Revert a payment authorization
x-description-en: 'This API is used when the merchant wants to cancel the payment authorization because of the user has cancelled the order.
**Timeout: 30s**
'
x-description-jp: 'このAPIは、ユーザーの残高から決済金額をブロックしている状態をキャンセルする場合に使用します。
</br>例えば、注文のキャンセルが発生した場合等。
**Timeout: 30s**
'
operationId: revertAuth
requestBody:
$ref: '#/components/requestBodies/RevertAuthRequest'
responses:
'200':
$ref: '#/components/responses/RevertAuthResponse'
'400':
$ref: '#/components/responses/BadRequest'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/InternalServerError'
description: 'This API is used when the merchant wants to cancel the payment authorization because of the user has cancelled the order.
**Timeout: 30s**
'
/v2/refunds:
post:
tags:
- Payment
summary: Refund a payment
description: 'Refund the payment to the user.<br>
This API only accepts payment refunds, and refunds are performed asynchronously on the PayPay side.<br>
Please see Get refund details for the results of your refund.
**Timeout: 30s**
'
operationId: refundPayment
requestBody:
$ref: '#/components/requestBodies/CreateRefundRequest'
responses:
'200':
$ref: '#/components/responses/GetRefundDetailsWithAssumeMerchantResponse'
4XX:
$ref: '#/components/responses/ClientErrorResponse'
5XX:
$ref: '#/components/responses/ServerErrorResponse'
/v2/refunds/{merchantRefundId}?paymentId={paymentId}:
get:
tags:
- Payment
summary: Get refund details
x-description-en: 'Get refund details. <br/><br/>
In case you use same `merchantRefundId` for the different `paymentId`s (different payment transaction IDs) in the POST Refund API. PayPay has multiple refund data for the same `merchantRefundId` in the system.
PayPay maintains the merchantId, merchantRefundId, paymentId as idem key to identify the unique refund transaction details.
**Timeout: 15s**
'
x-description-jp: '返金の詳細を取得します。<br/>
複数の異なる `paymentId` (異なる決済トランザクションのID)に同じ `merchantRefundId` を使う場合、PayPayでは1つの `merchantRefundId` に対して複数の返金データが紐付けられます。<br/>
PayPayは `merchantId` と `merchantRefundId` と `paymentId` を返金トランザクションの詳細を特定するための固有なキー(idempotency-key)であるものとしています。<br/>
**Timeout: 15s**
'
operationId: getRefundDetails
parameters:
- name: merchantRefundId
in: path
required: true
schema:
$ref: '#/components/schemas/MerchantRefundIdSimple'
- name: paymentId
in: query
required: true
schema:
$ref: '#/components/schemas/PaymentId'
responses:
'200':
$ref: '#/components/responses/GetRefundDetailsWithFailedResponse'
'401':
$ref: '#/components/responses/Unauthorized'
'404':
$ref: '#/components/responses/NotFound'
'500':
$ref: '#/components/responses/ServerErrorResponse'
description: 'Get refund details. <br/><br/>
In case you use same `merchantRefundId` for the different `paymentId`s (different payment transaction IDs) in the POST Refund API. PayPay has multiple refund data for the same `merchantRefundId` in the system.
PayPay maintains the merchantId, merchantRefundId, paymentId as idem key to identify the unique refund transaction details.
**Timeout: 15s**
'
components:
responses:
ReauthorizeResponse:
content:
application/json:
schema:
type: object
required:
- requestId
- paymentId
- updatedAmount
- requestedAt
- acceptedAt
- expiresAt
- paymentMethods
properties:
resultInfo:
$ref: '#/components/schemas/ResultInfo'
data:
type: object
properties:
requestId:
$ref: '#/components/schemas/ReauthRequestId'
paymentId:
$ref: '#/components/schemas/PaymentId'
updatedAmount:
$ref: '#/components/schemas/MoneyAmount'
requestedAt:
$ref: '#/components/schemas/EpochTime'
acceptedAt:
type: integer
x-description-en: 'Epoch timestamp in seconds. Timestamp when the reauthorization is accepted and processed at PayPay
'
x-description-jp: 'エポックタイムスタンプ(秒単位)。PayPayでReAuthを受理し処理した時刻
'
description: 'Epoch timestamp in seconds. Timestamp when the reauthorization is accepted and processed at PayPay
'
expiresAt:
$ref: '#/components/schemas/ReauthExpiresAt'
paymentMethods:
type: array
x-description-en: 'Payment methods
'
x-description-jp: '支払い方法のリスト
'
items:
type: object
required:
- amount
- type
properties:
amount:
$ref: '#/components/schemas/MoneyAmount'
type:
type: string
enum:
- WALLET
- PAY_LATER_CC
- CREDIT_CARD
- GIFT_VOUCHER
x-description-en: 'GIFT_VOUCHER will be applicable to merchants who are onboarded to support the Gift Voucher.
'
x-description-jp: 'GIFT_VOUCHER は商品券を受け付けている加盟店のみに適用されます。
'
description: 'GIFT_VOUCHER will be applicable to merchants who are onboarded to support the Gift Voucher.
'
description: 'Payment methods
'
x-description-en: 'Success
'
x-description-jp: 'Success
'
description: 'Success
'
RevertAuthResponse:
content:
application/json:
schema:
type: object
required:
- status
- acceptedAt
- paymentId
- requestedAt
properties:
resultInfo:
$ref: '#/components/schemas/ResultInfo'
data:
type: object
properties:
status:
type: string
enum:
- CANCELED
x-description-en: null
x-description-jp: 'CANCELED:残高ブロック中止
'
acceptedAt:
$ref: '#/components/schemas/EpochTime'
paymentId:
$ref: '#/components/schemas/PaymentId'
requestedAt:
$ref: '#/components/schemas/EpochTime'
reason:
nullable: true
$ref: '#/components/schemas/Reason'
x-description-en: 'Success
'
x-description-jp: 'Success
'
description: 'Success
'
GetCodesPaymentDetailsResponse:
content:
application/json:
schema:
type: object
properties:
resultInfo:
$ref: '#/components/schemas/ResultInfo'
data:
type: object
allOf:
- $ref: '#/components/schemas/PaymentState'
- $ref: '#/components/schemas/PaymentOrderWithoutUserAuthorizationId'
- $ref: '#/components/schemas/PaymentMethodsForPayment'
x-description-en: 'Success
'
x-description-jp: 'Success
'
description: 'Success
'
GetRefundDetailsWithAssumeMerchantResponse:
content:
application/json:
schema:
type: object
properties:
resultInfo:
$ref: '#/components/schemas/ResultInfo'
data:
$ref: '#/components/schemas/RefundWithAssumeMerchant'
x-description-en: 'Success
'
x-description-jp: '成功
'
description: 'Success
'
NotFound:
content:
application/json:
schema:
$ref: '#/components/schemas/NotDataResponse'
x-description-en: 'The requested resource doesn''t exist.
'
x-description-jp: '要求されたリソースは存在しません。
'
description: 'The requested resource doesn''t exist.
'
ServerErrorResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/NotDataResponse'
x-description-en: 'Server Error
'
x-description-jp: 'サーバーエラー
'
description: 'Server Error
'
ClientErrorResponse:
content:
application/json:
schema:
$ref: '#/components/schemas/NotDataResponse'
x-description-en: 'Client Error
'
x-description-jp: 'クライアントエラー
'
description: 'Client Error
'
QRCodeDeleteResponse:
content:
application/json:
schema:
type: object
properties:
resultInfo:
$ref: '#/components/schemas/ResultInfo'
data:
type: object
properties:
qrStatus:
type: string
enum:
- DELETED
x-description-en: 'Requested code is deleted
'
x-description-jp: 'リクエストされたコードは削除されました
'
description: 'Requested code is deleted
'
x-description-en: 'The requested succeeded
'
x-description-jp: 'リクエスト成功
'
description: 'The requested succeeded
'
ReauthorizeWithUserConfirmationResponse:
content:
application/json:
schema:
type: object
properties:
resultInfo:
type: object
properties:
code:
maxLength: 255
# --- truncated at 32 KB (80 KB total) ---
# Full source: https://raw.githubusercontent.com/api-evangelist/paypay/refs/heads/main/openapi/paypay-payment-api-openapi.yml