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コードが表示されることを確認できました。

コメント