Pythonでpaypayopaを用いてQRコードを作する成

スポンサーリンク

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

コメント

タイトルとURLをコピーしました