Pythonでpaypayopaを用いてQRコードを作成してみます。
今回はpaypayopaを用います。このライブラリ・モジュールはPythonの標準ライブラリではありませんので事前にインストールする必要があります。
また事前にPayPay for Developers(https://developer.paypay.ne.jp/)でアカウントの登録を行い、テスト環境を構築しテスト環境用APIキーを取得しておきます。
■Python
今回のPythonのバージョンは、「3.8.5」を使用しています。(Windows11)
■paypayopaを用いてQRコードを作成する
では、早速paypayopaを用いてQRコードを作成するスクリプトを書いていきます。
■コード
import paypayopa API_KEY ="テスト環境のAPIキー" API_SECRET="テスト環境のシークレット" client = paypayopa.Client(auth=(API_KEY, API_SECRET), production_mode=False) client.set_assume_merchant("加盟店ID") request = { "merchantPaymentId": "test-1", "codeType": "ORDER_QR", "redirectUrl": "https://laboratory.kazuuu.net/", "redirectType":"WEB_LINK", "orderDescription":"これはテストです", "orderItems": [{ "name": "test", "category": "food", "quantity": 1, "productId": "0001", "unitPrice": { "amount": 100, "currency": "JPY", }, }], "amount": { "amount": 100, "currency": "JPY", }, } response = client.Code.create_qr_code(request) print(response['data']['url'])
■処理プロセス
paypayopaモジュールをインポート。PayPay APIを操作するための公式クライアントライブラリです。
APIキーとシークレットの設定:
API_KEYとAPI_SECRET変数に、テスト環境のAPIキーとシークレットを設定します。これらの情報は、PayPay for Developers(https://developer.paypay.ne.jp/)から取得でき、ホームに表示されます。
クライアントの初期化:
paypayopa.Clientクラスのインスタンスを作成し、APIキーとシークレットを使用して認証します。production_modeパラメータをFalseに設定することで、テスト環境(サンドボックス環境)を使用することを指定します。
加盟店IDの設定:
client.set_assume_merchantメソッドを使用して、加盟店IDを設定します。この加盟店IDは、PayPay for Developers(https://developer.paypay.ne.jp/)で取得できます。
取得の際はログイン後のダッシュボードの右上にプロフィールのマーク(アイコン)がありますので、こちらをクリックすると加盟店IDが表示されます。
QRコード生成のリクエスト作成:
request変数に、QRコードを生成するためのリクエストパラメータを定義します。この例では、merchantPaymentIdに固定の値を指定し、codeTypeに”ORDER_QR”を設定します。redirectUrlには、ユーザーが支払い完了後にリダイレクトされるURLを指定します。redirectTypeは”WEB_LINK”に設定され、リダイレクト先がウェブページであることを示します。orderDescriptionには注文の説明を指定します。
orderItems内のリストには、注文アイテムの詳細が含まれます。今回は1つのアイテムを定義しています。アイテム名、カテゴリ、数量、製品ID、単価(通貨と金額)を指定します。
amountには、注文の総額(通貨と金額)を指定します。
QRコード生成のリクエスト送信:
client.Code.create_qr_codeメソッドを使用して、作成したリクエストをPayPay APIに送信します。このメソッドは、QRコードの生成を要求し、その結果を受け取ります。
QRコードのURLの取得:
応答データからQRコードのURLを取得し、response[‘data’][‘url’]で表示します。このURLは、ユーザーがスキャンして支払いを行うためのQRコードの画像へのリンクです。
■検証・実行
今回書いたスクリプトを「p_qrcode.py」という名前でPythonが実行されている作業ディレクトリ(カレントディレクトリ)に保存し、コマンドプロンプトから実行してみます。
実行してみると「https://qr-stg.sandbox.paypay.ne.jp/****」というURLが出力されました。
このURLをWebブラウザを起動しアドレスバーに貼り付けてアクセスしてみます。アクセスすると、PayPayのQRコードが表示されることを確認できました。
コメント