Razorpay ist ein führender Zahlungsabwickler in Indien, der End-to-End-Lösungen für Unternehmen und Privatpersonen bietet. Razorpay bietet eine umfassende Suite an Zahlungslösungen, von Zahlungs-Gateway-Diensten bis hin zur Verarbeitung von Transaktionen und der Abwicklung von Geldern.
Einige davon werden wir hier in diesem Artikel besprechen. Wir werden hier Python-Code verwenden, dieser kann jedoch problemlos in einer anderen Sprache repliziert werden, da wir hier kein SDK verwenden.
Wenn Sie SDK-Beispiele benötigen, lassen Sie es mich im Kommentar wissen.
Beispielcode für die Razorpay-API hier
API-Dokumente finden Sie hier
Details zur Testkarte – hier
Um die Razopay-API nutzen zu können, müssen Sie sich auf der Razorpay-Website für ein Händlerkonto anmelden. Dadurch erhalten Sie die erforderlichen Anmeldeinformationen und Zugriff auf die API-Dokumentation.
Link zur Kontoregistrierung – https://dashboard.razorpay.com/
Registrieren Sie sich hier und gelangen Sie zum Testmodus, denn unser Ziel hier ist es, APIs und Zahlungsabläufe zu testen.
Sobald Sie Ihr Händlerkonto eingerichtet haben, müssen Sie die API-Anmeldeinformationen erhalten. Diese Anmeldeinformationen werden zur Authentifizierung Ihrer Anfragen an die Razorpay-API verwendet.
Sie können die Anmeldeinformationen so erhalten -
Gehen Sie zum Razorpay-Dashboard und wählen Sie „Gehe in den Testmodus“, ähnlich dem Bild unten.
Gehe zu Kontoeinstellungen -> Website- und App-Einstellungen -> API-Schlüssel -> Generieren Sie die API-Anmeldeinformationen.
Sie können auch das direkte Like verwenden.
Bevor wir fortfahren, benötigen wir die Entwicklungsumgebung. Wir benötigen 2 Umgebungen.
Eine für das Backend und eine für das Frontend.
Hier verwenden wir Python als Backend-Sprache.
Für das Frontend verwenden wir einfaches HTML (keine spezielle Sprache wie React oder Angular).
Razorpay API bietet mehrere Endpunkte, die Sie verwenden können, um Zahlungen zu initiieren, den Zahlungsstatus zu überprüfen und andere Aspekte Ihrer Integration zu verwalten. Es ist wichtig, die verschiedenen Endpunkte und ihre jeweiligen Parameter zu verstehen, um einen reibungslosen Integrationsprozess zu gewährleisten.
Um eine Zahlung über die Razorpay-API zu initiieren, müssen Sie eine POST-Anfrage an den Endpunkt /v1/orders stellen. Dieser Endpunkt erfordert verschiedene Parameter wie Zahlungsbetrag, Währung, Quittung, Notizen.
Die verschiedenen Beispiele von APIs können Sie hier sehen.
def create_order_id(amount:int): url = "https://api.razorpay.com/v1/orders" token = "" # token can be created by base64(api_key:api_secret) headers = { 'Content-Type': 'application/json', 'Authorization': 'Basic ' + token } data = { "amount": amount * 100, "currency": "INR", "receipt": "Receipt for amount "+str(amount), "notes": { "notes_key_1": "payment", } } response = requests.post(url, headers=headers, json=data) if response.status_code == 200: return response.json() else: return "Failed to create order_id"
Wir haben hauptsächlich zwei Möglichkeiten, das Zahlungsgateway im Frontend zu integrieren.
Sie müssen einige Dinge vorbereiten, bevor Sie das Zahlungsgateway im Frontend integrieren.
Um CALLBACK_URL und CANCEL_URL zu generieren, verwenden Sie diese einfache Website, um den Rückruf zu testen.
https://webhook.site/
Sie können diesem einfachen Code folgen, um das Zahlungsgateway zu integrieren, sodass POST-Anfragen vom Frontend gesendet werden können.
Sie können diesem Beispiel auch folgen.
<form method="POST" action="https://api.razorpay.com/v1/checkout/embedded"> <input type="hidden" name="key_id" value="YOUR_KEY_ID"/> <input type="hidden" name="amount" value=1001/> <input type="hidden" name="order_id" value="RAZORPAY_ORDER_ID"/> <input type="hidden" name="name" value="YOUR_ORG_NAME"/> <input type="hidden" name="description" value="ORG_DESC"/> <input type="hidden" name="ORG_LOGO"/> <input type="hidden" name="prefill[name]" value="CUSTOMER_NAME"/> <input type="hidden" name="prefill[contact]" value="CUSTOMER_MOBILE"/> <input type="hidden" name="prefill[email]" value="CUSTOMER_EMAIL"/> <input type="hidden" name="callback_url" value="CALLBACK_URL"/> <input type="hidden" name="cancel_url" value="CANCEL_URL"/> <button>Submit</button> </form>
Sie können auch die Razorpay js-Bibliothek verwenden und die Zahlungsintegration auf Ihrer Website durchführen, anstatt zu einer anderen von Razorpay gehosteten Website zu wechseln.
<button id="rzp-button1">Pay</button> <script src="https://checkout.razorpay.com/v1/checkout.js"></script> <script> var options = { "key": "YOUR_KEY_ID", // Enter the Key ID generated from the Dashboard "amount": "50000", // Amount is in currency subunits. Default currency is INR. Hence, 50000 refers to 50000 paise "currency": "INR", "name": "ORG_NAME", //your business name "description": "ORG_DESC", "image": "ORG_LOGO", "order_id": "RAZORPAY_ORDER_ID", //This is a sample Order ID. Pass the `id` obtained in the response of Step 1 "callback_url": "CALLBACK_URL", "prefill": { //We recommend using the prefill parameter to auto-fill customer's contact information especially their phone number "name": "CUSTOMER_NAME", //your customer's name "email": "CUSTOMER_EMAIL", "contact": "CUSTOMER_MOBILE" //Provide the customer's phone number for better conversion rates }, "notes": { "note 1": "Some notes " }, "theme": { "color": "#3399cc" } }; var rzp1 = new Razorpay(options); document.getElementById('rzp-button1').onclick = function(e){ rzp1.open(); e.preventDefault(); } </script>
Es gibt andere Integrationen auf verschiedenen Plattformen wie Android, iOS, Flutter usw., die verwendet werden können. Sie können die Dokumentation hier einsehen.
Nachdem eine Zahlung eingeleitet wurde, sendet Razorpya einen Rückruf an die angegebene Rückruf-URL oder Abbruch-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.
Das obige ist der detaillierte Inhalt vonSo verwenden Sie die Razorpay-API und integrieren das Zahlungsgateway. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!