PhonePe はインドで人気のあるデジタル決済プラットフォームで、個人と企業の両方に幅広い決済ソリューションを提供しています。 PhonePe 支払いをアプリケーションまたは Web サイトに統合することを検討している場合、このガイドでは、PhonePe API の使用と PhonePe ゲートウェイの統合のプロセスについて説明します。
完全なコードはここで確認できます。
ここでphonepe API ドキュメントを表示できます。
PhonePe API の使用を開始するには、PhonePe Web サイトで販売アカウントにサインアップする必要があります。これにより、必要な認証情報が得られ、API ドキュメントにアクセスできるようになります。
ビジネス登録 - https://www.phonepe.com/business-solutions/payment-gateway/
PhonePe API の統合を開始する前に、開発環境をセットアップする必要があります。これには通常、必要な依存関係のインストールとプロジェクト構造のセットアップが含まれます。
ここでは Python の例を見ていきます。ただし、ここでは SDK を使用していないため、他の言語を使用することもできます。
販売アカウントを設定したら、API 認証情報を取得する必要があります。これらの認証情報は、PhonePe API へのリクエストを認証するために使用されます。
テストについては、https://developer.phonepe.com/v1/docs/uat-testing/
の例に従うことができます。ここで示した例は、merchant_id と Salt_key のものであり、現在は機能する可能性があります。
それでは、テストのためにこれらの資格情報を試してください -
マーチャントID - PGTESTPAYUAT86
Salt_index - 1
塩キー - 96434309-7796-489d-8924-ab56988a6076
PhonePe API は、支払いの開始、支払いステータスの確認、統合のその他の側面の管理に使用できるいくつかのエンドポイントを提供します。スムーズな統合プロセスを確保するには、さまざまなエンドポイントとそれぞれのパラメーターを理解することが重要です。
PhonePe API を使用して支払いを開始するには、/pg/v1/pay エンドポイントに対して POST リクエストを行う必要があります。このエンドポイントには、支払い金額、販売者 ID、販売者トランザクション ID、コールバック URL などのさまざまなパラメータが必要です。
これは、PhonePe API を使用して支払いを開始する方法を示す Python のコード スニペットの例です。
import hashlib import requests import base64 import uuid import json import constants def create_sha256_string(input_string): sha256_hash = hashlib.sha256(input_string.encode()) encoded_string = sha256_hash.hexdigest() return encoded_string def string_to_base64(input_string): encoded_string = base64.b64encode(input_string.encode()) return encoded_string.decode() def phonepePaymentURL(amount: int): orderID = "pp-"+str(uuid.uuid4()) userID = "user-"+str(uuid.uuid4()) merchantTransactionID = "MT"+str(uuid.uuid4()) mobileNumber = "9999999998" # test mobile number email = "test@gmai.com" payload = { "amount": amount*100, "merchantId": constants.merchant_id, "merchantTransactionId": merchantTransactionID, "merchantUserId": userID, "redirectUrl": constants.webhook_url, "redirectMode": "POST", "callbackUrl": constants.webhook_url, "merchantOrderId": orderID, "mobileNumber": mobileNumber, "email": email, "message": "Payment for " + orderID, "paymentInstrument": { "type": "PAY_PAGE" } } json_data = json.dumps(payload) base64_request = string_to_base64(json_data) # X-VERIFY header -- SHA256(Base64 encoded payload + “/pg/v1/pay” + salt key) + ### + salt index finalXHeader = create_sha256_string(base64_request + "/pg/v1/pay" + constants.salt_key)+"###"+constants.salt_index req = { "request": base64_request } finalHeader = { "Content-Type": "application/json", "X-VERIFY": finalXHeader } response = requests.post(constants.payment_url, headers=finalHeader, json=req) if response.status_code == 200: return response.json() else: return "Something went wrong - " + response.text res = phonepePaymentURL(100) data = res.json() print(json.dumps(data)) print() paymentURL = data["data"]["instrumentResponse"]["redirectInfo"]["url"] transactionID = data["data"]["merchantTransactionId"] print("transaction_id - ",transactionID) print("payment_url - ",paymentURL) print()
この例では、一意の注文 ID、ユーザー ID、および販売者トランザクション ID を生成します。次に、必要なパラメータを含むペイロードを構築し、base64 でエンコードします。
また、ペイロード、エンドポイント、ソルト キーを使用して X-VERIFY ヘッダーも生成します。最後に、適切なヘッダーとペイロードを使用して PhonePe API エンドポイントに POST リクエストを作成します。
ブラウザでpayment_urlを開き、支払いにこれらのテストカードの詳細を使用します - https://developer.phonepe.com/v1/docs/uat-testing/#Debit-Card
支払いを開始すると、PhonePe は指定されたコールバック URL にコールバックを送信します。シームレスな支払いエクスペリエンスを確保するには、このコールバックを適切に処理することが重要です。通常、コールバックには、支払いステータス、トランザクション ID、その他の関連詳細に関する情報が含まれます。
Webhook をテストするには、この Web サイトを使用できます - https://webhook.site/
以上がPython で Phonepe API を使用し、phonepe ゲートウェイを統合する方法の詳細内容です。詳細については、PHP 中国語 Web サイトの他の関連記事を参照してください。