自社で運営しているECサイトやアプリの支払いにPayPayを導入できる開発者向けツール「PayPay for Developers」が2020年7月にリリースされました。
sandbox環境で支払いが完了するところまで、試してみたいと思います。
PayPay for Developersに登録
まずはPayPay for Developersに登録します。
https://developer.paypay.ne.jp/
登録が完了すると、APIキーとテストユーザーが用意されます。
PayPay OPA SDKのインストール
今回はCentOS 7でPython3.6と、pip3.6がインストールされている環境で作業します。
pip3.6 install paypayopa
PayPay OPA SDKのバージョンは0.6.0がインストールされました。
QRコードの発行
PayPayアプリまたは、Webページで決済ができるウェブペイメントの実装方式を使って決済のQRコードを発行します。
"merchant_payment_id"に、ユニークな値を入れてリクエストします。
import paypayopa
client = paypayopa.Client(auth=(API_KEY, API_SECRET), production_mode=False)
request = {
"merchantPaymentId": "merchant_payment_id",
"codeType": "ORDER_QR",
"redirectUrl": "http://www.example.com/success",
"redirectType":"WEB_LINK",
"orderDescription":"Example - Mune Cake shop",
"orderItems": [{
"name": "Moon cake",
"category": "pasteries",
"quantity": 1,
"productId": "67678",
"unitPrice": {
"amount": 1,
"currency": "JPY"
}
}],
"amount": {
"amount": 1,
"currency": "JPY"
},
}
response = client.Code.create_qr_code(request)
print(response)
レスポンスが返ってきます。
{
"resultInfo": {
"code": "string",
"message": "string",
"codeId": "string"
},
"data": {
"codeId": "string",
"url": "string",
:
省略
:
"redirectUrl": "string",
"redirectType": "WEB_LINK",
:
省略
:
}
}
レスポンスのurlにスマホでアクセスするとPayPayを起動するか尋ねられます。
※ PayPayがインストールされていない場合は、支払い用のWebページが開きます。
PayPayを起動して支払いを完了すると、3秒後自動でWebブラウザに戻ってredirectUrl(支払い完了ページなど)にリダイレクトされます。
これで支払いが完了しました。
PayPayアプリのテストユーザーのログイン方法はこちらを参考にしてください。
https://paypay.ne.jp/developers-faq/sandbox_environment/post-43/
支払い確認
支払いが完了したか調べるのにはGet Payment Detailsを使います。
先ほどの"merchant_payment_id"を使ってリクエストします。
import paypayopa
client = paypayopa.Client(auth=(API_KEY, API_SECRET), production_mode=False)
response = client.Payment.get_payment_details("merchant_payment_id")
print(response)
レスポンスのcodeに"SUCCESS"が返ってくれば支払い完了です。
{
"resultInfo": {
"code": "string",
"message": "string",
"codeId": "string"
}
}
今後
最終的にはECサイトの支払い方法でPayPayが選べるようにしたいと思っています。
このようなイメージです。
- スマホのWebブラウザでECサイトにアクセス
- ECサイトで商品を購入するボタンを押下
- PayPayアプリが起動
- PayPayアプリで支払い
- 支払い完了後、自動でWebブラウザに戻る
- ECサイトで支払い完了ページを表示
本番で使うには、加盟店の申し込みをする必要があります。
sandbox環境はPayPay for Developersに登録すれば試せるので、興味がある方はお試しください。