Learn how to set up PayPay QR code payments with the Point of Sale API.
Point of Sale API

Accept PayPay Payments in Japan

Java (Android)


PayPay QR code payments are supported only in Japan. If you're developing a Point of Sale API integration for other regions, the content of this topic doesn't apply.

The Point of Sale API supports accepting PayPay QR code payments in Japan using the Square Point of Sale application and Square Reader.

If a seller is approved to accept PayPay payments in Japan, the PayPay option appears if your application supports the PAYPAY tender type.

A graphic showing the Point of Sale application running on a mobile device in Japan and showing a localized payment page with PayPay and other payment methods.

For more information, see Apply for PayPay, which can be viewed in English or Japanese.

The following diagram illustrates the checkout flow with PayPay:

A graphic showing the payment flow on a mobile device in Japan with the payment form, a localized payment page with PayPay and other payment methods, and the PayPay QR code.

Add code that creates a new charge request and uses it to initiate a transaction in the Point of Sale application. The startTransaction function uses ChargeRequest.Builder to create a charge for ¥1 JPY and restrict the tender type to PAYPAY. It then uses that request to create a ChargeRequest and initiate the transaction with an Intent object.

Create a new charge request as shown:


The AlertDialogHelper object that's used in this code block is an example of a helper class instance and isn't part of the Point of Sale API.

Mobile web transactions are initiated by choosing a link to the Square Point of Sale application. Because the request URL includes details about the transaction, you should build the URL dynamically instead of hardcoding it. The link URL includes the transaction information as parameters and is formatted differently for Android and iOS applications.

The request URLs of the Square Point of Sale application for Android are formatted as intent requests. For example:

Android requires URLs to be wrapped with Android start and end tokens when they contain key-value pairs delimited with semicolons. The Android start and end tokens are intent:#Intent; and end.

To build your request URL:

  1. Create a JavaScript file called open_pos.js.

  2. Add code to define some useful constants, configure your mobile web application, and set the transaction total.

  3. Add code to build the request URL. For a detailed list of all possible URL parameters, see Mobile Web Technical Reference.

  4. Add the following script tag to your HTML head to load your open_pos.js file:

  5. Add a button to your mobile web application that runs open-POS.js.