Razorpay ialah pemproses pembayaran terkemuka di India yang menyediakan penyelesaian hujung ke hujung untuk perniagaan dan individu. Razorpay menawarkan suite penyelesaian pembayaran yang komprehensif, daripada perkhidmatan get laluan pembayaran kepada memproses transaksi dan menyelesaikan dana.
Sebahagian daripada mereka akan kita bincangkan di sini dalam artikel ini. Kami akan menggunakan kod python di sini tetapi ia boleh direplikasi dalam bahasa lain dengan mudah kerana kami tidak menggunakan sebarang SDK di sini.
Jika anda memerlukan contoh SDK maka beritahu saya dalam ulasan.
Contoh kod untuk razorpay api di sini
Dokumen API boleh didapati di sini
Butiran kad ujian - di sini
Untuk mula menggunakan API Razopay, anda perlu mendaftar untuk akaun pedagang di tapak web Razorpay. Ini akan memberikan anda bukti kelayakan yang diperlukan dan akses kepada dokumentasi API.
Pautan Pendaftaran Akaun - https://dashboard.razorpay.com/
Daftar di sini dan capai sehingga mod ujian kerana matlamat kami di sini adalah untuk menguji apis dan aliran pembayaran.
Setelah anda menyediakan akaun pedagang anda, anda perlu mendapatkan bukti kelayakan API. Bukti kelayakan ini akan digunakan untuk mengesahkan permintaan anda kepada API Razorpay.
Anda boleh mendapatkan kelayakan seperti ini -
Pergi ke papan pemuka razorpay dan pilih pergi ke mod ujian serupa dengan imej yang ditunjukkan di bawah.
Pergi ke tetapan akaun -> Tetapan tapak web dan apl -> Kunci API -> jana bukti kelayakan api.
Anda boleh menggunakan suka terus juga.
Sebelum bergerak ke hadapan, kita memerlukan persekitaran pembangunan. Kami memerlukan 2 persekitaran.
Satu untuk Bahagian Belakang dan satu lagi untuk Bahagian hadapan.
Di sini, kami akan menggunakan python sebagai bahasa hujung belakang.
Untuk bahagian hadapan, kami akan menggunakan HTML mudah (bukan sebarang bahasa khusus seperti React atau Angular).
API Razorpay menyediakan beberapa titik akhir yang boleh anda gunakan untuk memulakan pembayaran, menyemak status pembayaran dan mengurus aspek penyepaduan anda yang lain. Adalah penting untuk memahami titik akhir yang berbeza dan parameter masing-masing untuk memastikan proses penyepaduan yang lancar.
Untuk memulakan pembayaran menggunakan API Razorpay, anda perlu membuat permintaan POST ke titik akhir /v1/orders. Titik akhir ini memerlukan pelbagai parameter seperti jumlah pembayaran, mata wang, resit, nota.
Anda boleh lihat pelbagai contoh apis di sini.
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"
Kami mempunyai terutamanya 2 pilihan untuk menyepadukan gerbang-payemnt di bahagian hadapan.
Anda perlu menyediakan beberapa perkara sebelum menyepadukan gerbang pembayaran itu di bahagian hadapan.
Untuk menjana CALLBACK_URL dan CANCEL_URL, anda menggunakan tapak web mudah ini untuk menguji panggilan balik.
https://webhook.site/
Anda boleh mengikuti kod mudah ini untuk menyepadukan get laluan pembayaran supaya permintaan POST boleh dihantar dari bahagian hadapan.
Anda juga boleh mengikuti contoh ini.
<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>
Anda juga boleh menggunakan perpustakaan Razorpay js dan melakukan penyepaduan pembayaran di tapak web anda dan bukannya berpindah ke tapak web dihoskan razorpay yang lain.
<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>
Terdapat integrasi lain pada platform berbeza seperti Android, ios, flutter dan lain-lain yang boleh digunakan. Anda boleh menyemak dokumentasi di sini.
Selepas memulakan pembayaran, Razorpya akan menghantar panggilan balik ke URL panggil balik yang ditentukan atau membatalkan URL. Adalah penting untuk mengendalikan panggilan balik ini dengan betul untuk memastikan pengalaman pembayaran yang lancar. Panggilan balik biasanya akan mengandungi maklumat tentang status pembayaran, ID transaksi dan butiran lain yang berkaitan.
Atas ialah kandungan terperinci Cara menggunakan razorpay api dan menyepadukan gerbang pembayaran. Untuk maklumat lanjut, sila ikut artikel berkaitan lain di laman web China PHP!