Heim > Artikel > Backend-Entwicklung > So verwenden Sie die Phonepe-API in Python und integrieren das Phonepe-Gateway
PhonePe ist eine beliebte digitale Zahlungsplattform in Indien und bietet eine Reihe von Zahlungslösungen für Privatpersonen und Unternehmen. Wenn Sie PhonePe-Zahlungen in Ihre Anwendung oder Website integrieren möchten, führt Sie dieser Leitfaden durch den Prozess der Verwendung der PhonePe-API und der Integration des PhonePe-Gateways.
Den vollständigen Code können Sie hier einsehen.
Sie können die Phonepe-API-Dokumente hier ansehen.
Um die PhonePe-API nutzen zu können, müssen Sie sich auf der PhonePe-Website für ein Händlerkonto anmelden. Dadurch erhalten Sie die erforderlichen Anmeldeinformationen und Zugriff auf die API-Dokumentation.
Gewerbeanmeldung – https://www.phonepe.com/business-solutions/zahlungsgateway/
Bevor Sie mit der Integration der PhonePe-API beginnen können, müssen Sie Ihre Entwicklungsumgebung einrichten. Dies umfasst in der Regel die Installation aller erforderlichen Abhängigkeiten und die Einrichtung einer Projektstruktur.
Hier schauen wir uns das Python-Beispiel an. Sie können jedoch jede andere Sprache verwenden, da wir hier kein SDK verwenden.
Sobald Sie Ihr Händlerkonto eingerichtet haben, müssen Sie die API-Anmeldeinformationen erhalten. Diese Anmeldeinformationen werden zur Authentifizierung Ihrer Anfragen an die PhonePe-API verwendet.
Zum Testen können Sie den Beispielen folgen – https://developer.phonepe.com/v1/docs/uat-testing/
Die hier angegebenen Beispiele beziehen sich auf Merchant_ID und Salt_key und könnten jetzt funktionieren.
Probieren Sie diese Anmeldeinformationen also zum Testen aus -
Merchant_id – PGTESTPAYUAT86
salt_index - 1
salt_key – 96434309-7796-489d-8924-ab56988a6076
Die PhonePe-API bietet mehrere Endpunkte, mit denen Sie Zahlungen initiieren, den Zahlungsstatus überprüfen und andere Aspekte Ihrer Integration verwalten können. Es ist wichtig, die verschiedenen Endpunkte und ihre jeweiligen Parameter zu verstehen, um einen reibungslosen Integrationsprozess zu gewährleisten.
Um eine Zahlung über die PhonePe-API zu initiieren, müssen Sie eine POST-Anfrage an den /pg/v1/pay-Endpunkt stellen. Dieser Endpunkt erfordert verschiedene Parameter wie den Zahlungsbetrag, die Händler-ID, die Händlertransaktions-ID und die Rückruf-URL.
Hier ist ein Beispielcode-Snippet in Python, das zeigt, wie eine Zahlung mithilfe der PhonePe-API initiiert wird:
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()
In diesem Beispiel generieren wir eine eindeutige Bestell-ID, Benutzer-ID und Händlertransaktions-ID. Anschließend erstellen wir eine Nutzlast mit den erforderlichen Parametern und kodieren sie in base64.
Wir generieren außerdem einen X-VERIFY-Header unter Verwendung der Nutzlast, des Endpunkts und des Salt-Schlüssels. Abschließend stellen wir eine POST-Anfrage an den PhonePe-API-Endpunkt mit den entsprechenden Headern und Nutzdaten.
Öffnen Sie die payment_url im Browser und verwenden Sie diese Testkartendetails für Zahlungen – https://developer.phonepe.com/v1/docs/uat-testing/#Debit-Card
Nachdem eine Zahlung eingeleitet wurde, sendet PhonePe einen Rückruf an die angegebene Rückruf-URL. Es ist wichtig, diesen Rückruf ordnungsgemäß zu bearbeiten, um ein reibungsloses Zahlungserlebnis zu gewährleisten. Der Rückruf enthält normalerweise Informationen über den Zahlungsstatus, die Transaktions-ID und andere relevante Details.
Zum Testen von Webhook kann diese Website verwendet werden – https://webhook.site/
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Phonepe-API in Python und integrieren das Phonepe-Gateway. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!