Heim > Backend-Entwicklung > Python-Tutorial > So verwenden Sie die Razorpay-API und integrieren das Zahlungsgateway

So verwenden Sie die Razorpay-API und integrieren das Zahlungsgateway

PHPz
Freigeben: 2024-07-24 15:23:13
Original
910 Leute haben es durchsucht

Einführung

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

Schritt 1: Registrieren Sie sich für ein Razorpay-Händlerkonto

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.

Schritt 2: Erhalten Sie API-Anmeldeinformationen

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 -

  1. Gehen Sie zum Razorpay-Dashboard und wählen Sie „Gehe in den Testmodus“, ähnlich dem Bild unten.
    Razorpay test mode example

  2. Gehe zu Kontoeinstellungen -> Website- und App-Einstellungen -> API-Schlüssel -> Generieren Sie die API-Anmeldeinformationen.
    Sie können auch das direkte Like verwenden.

Schritt 3: Richten Sie Ihre Entwicklungsumgebung ein

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).

Schritt 4: Verstehen Sie die Razorpay-API-Endpunkte

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.

  1. Wir werden uns hier darauf konzentrieren, eine Bestellung zu erstellen und die Bestell-ID zu erhalten.
  2. Wir werden diese Bestell-ID im Zahlungsgateway im Frontend verwenden.
  3. Razorpay verfügt über eine gute API-Dokumentation zu Postman.

Schritt 5: Implementieren Sie den Zahlungsfluss

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.

  • In diesem Beispiel suchen wir nur nach order_api und generieren die order_id.
  • Token kann von base64(api_key:api_secret) generiert werden.
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"
Nach dem Login kopieren

Schritt 6: Integration des Payment Gateways im Frontend

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.

  • RAZORPAY_ORDER_ID – aus dem API-Schlüssel generierte Bestell-ID
  • YOUR_KEY_ID – Ihre API-Schlüssel-ID, die zuvor generiert wurde
  • CALLBACK_URL – Rückruf-URL, wenn die Zahlung erfolgreich war
  • CANCEL_URL – Rückruf-URL, wenn die Zahlung fehlgeschlagen ist
  • YOUR_ORG_NAME – Name der Organisation, der auf dem Zahlungsgateway angezeigt werden soll
  • ORG_DESC – Organisationsbeschreibung, die auf dem Zahlungsgateway angezeigt werden soll
  • ORG_LOGO – Bild-URL des Organisationslogos
  • KUNDENNAME
  • CUSTOMER_MOBILE
  • CUSTOMER_EMAIL

Um CALLBACK_URL und CANCEL_URL zu generieren, verwenden Sie diese einfache Website, um den Rückruf zu testen.
https://webhook.site/

1. Von Razorpay gehostete Integration

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>
Nach dem Login kopieren

2. Benutzerdefinierte Webintegration

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>
Nach dem Login kopieren

3. Andere Integrationen –

Es gibt andere Integrationen auf verschiedenen Plattformen wie Android, iOS, Flutter usw., die verwendet werden können. Sie können die Dokumentation hier einsehen.

Schritt 7: Zahlungsrückrufe bearbeiten

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!

Quelle:dev.to
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage