PayPay
Launched in 2018, PayPay has become Japan's leading mobile payment app, with over 65 million users. With widespread acceptance, PayPay has achieved a payment ratio exceeding 45%, surpassing other digital wallets in Japan. Learn more about PayPay.
PayPay is currently offered as processing only. Settlement is handled directly by the scheme.
Payment method properties
| Markets (consumer) | JP |
| Processing currencies | JPY |
| Consumer currencies | JPY |
| Authentication methods | REDIRECT |
| Authentication timeout | |
| Minimum payment amount | 1 JPY |
| Maximum payment amount | Last 24 hours: 500,000 JPY Last 30 days: 2,000,000 JPY |
| Payment instrument | PAYPAY |
| Recurring payments | Yes |
| Separate captures | No |
| Refund | Full - Partial - Multiple |
| Refund validity | 365 days |
| Disputes | No |
| Settlement risk | N/A |
| Sandbox availability | PayPay sandbox |
Make a PayPay payment
PayPay payments follow our standardized REDIRECT payment flow. We recommend including all relevant settings for any authentication methods you support.
To create a PayPay payment, you'll need to provide the following data at minimum when calling our payment charges API:
| Field | Description |
|---|---|
| paymentMethod | PAYPAY |
| amount.value | The amount to be paid in the smallest units of the currency used. |
| amount.currency | JPY |
| consumer.country | The country where the consumer is shopping. |
| authenticationSettings: REDIRECT settings.returnUrl | Add the URL where the consumer should be redirected after they complete the payment. Required for the REDIRECT flow. |
Request
POST /v1/payment-charges
{
"paymentMethod": "PAYPAY",
"paymentDescriptor": "Order description",
"amount": {
"value": 10,
"currency": "JPY"
},
"consumer": {
"country": "JP"
},
"authenticationSettings": [
{
"type": "REDIRECT",
"settings": {
"returnUrl": "https://www.webshop.com/order-results-page"
}
}
]
}Response
You'll receive one of our standard payment charge responses (see potential responses in the API Reference)
{
"id": "charge_Y3JVzvEaJpvG53xd2R2Zt",
"paymentMethod": "PAYPAY",
"paymentMedium": "ECOMMERCE",
"scheduleType": "UNSCHEDULED",
"instrumentId": "instr_Asu0ig2PXXZSiNrhY44A5",
"currency": "JPY",
"country": "JP",
"status": "AUTHENTICATION_PENDING",
"consumer": {
"country": "JP"
},
"authenticationMethods": [
{
"details": {
"requestUrl": "https://redirection-target.ppro.com",
"requestMethod": "GET"
},
"type": "REDIRECT"
}
],
"authorizations": [
{
"id": "authz_aPobet0FNZNU1bYqfexFd",
"amount": 10,
"status": "AUTHENTICATION_PENDING",
"createdAt": "2025-06-21T08:34:20.766Z",
"updatedAt": "2025-06-21T08:34:20.766Z"
}
],
"captures": [],
"refunds": [],
"voids": [],
"createdAt": "2025-06-21T08:34:20.114Z",
"updatedAt": "2025-06-21T08:34:20.766Z",
"_links": {
"authorizations": {
"href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/authorizations"
},
"captures": {
"href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/captures"
},
"refunds": {
"href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/refunds"
},
"voids": {
"href": "/v1/payment-charges/charge_Y3JVzvEaJpvG53xd2R2Zt/voids"
}
}
}Pick the desired authentication method
REDIRECT
Redirect your consumer to the returned $.authenticationMethods[?(@.type == "REDIRECT")].details.requestUrl.
For example, with the value of https://redirection-target.ppro.com/ using the returned $.authenticationMethods[?(@.type == "REDIRECT")].details.requestMethod HTTP method.
Handling the payment result
REDIRECT
- After the consumer completes the payment, they are redirected to the
returnUrlspecified in the payment charge creation request. - Upon redirect back to your site, retrieve the latest payment status by performing a GET /v1/payment-charges/{paymentChargeId}. Use the returned
statusfield to determine and display the final payment outcome to the consumer. - Additionally, webhooks are triggered to notify you of the payment result. This ensures you receive the outcome even if the consumer closes their browser or fails to return to your website.