Rumah  >  Artikel  >  pembangunan bahagian belakang  >  Cara menggunakan razorpay api dan menyepadukan gerbang pembayaran

Cara menggunakan razorpay api dan menyepadukan gerbang pembayaran

PHPz
PHPzasal
2024-07-24 15:23:13846semak imbas

pengenalan

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

Langkah 1: Daftar untuk Akaun Pedagang Razorpay

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.

Langkah 2: Dapatkan Bukti Kelayakan API

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 -

  1. Pergi ke papan pemuka razorpay dan pilih pergi ke mod ujian serupa dengan imej yang ditunjukkan di bawah.
    Razorpay test mode example

  2. Pergi ke tetapan akaun -> Tetapan tapak web dan apl -> Kunci API -> jana bukti kelayakan api.
    Anda boleh menggunakan suka terus juga.

Langkah 3: Sediakan Persekitaran Pembangunan Anda

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

Langkah 4: Fahami Titik Akhir API Razorpay

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.

  1. Kami akan memberi tumpuan di sini dan membuat pesanan dan mendapatkan order_id.
  2. Kami akan menggunakan order_id tersebut dalam payment_gateway di frontend.
  3. Razorpay mempunyai dokumentasi api yang baik pada posmen.

Langkah 5: Laksanakan Aliran Pembayaran

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.

  • Dalam contoh ini, kami hanya mencari order_api dan menjana order_id.
  • Token boleh dijana oleh base64(kunci_api:api_secret).
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"

Langkah 6: Penyepaduan Gerbang Pembayaran di Frontend

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.

  • ID_ORDER_RAZORPAY - id_order dijana daripada kunci api
  • ID_KUNCI_ANDA - ID_kunci_API anda yang telah dijana lebih awal
  • CALLBACK_URL - URL panggil balik jika pembayaran berjaya
  • CANCEL_URL - URL panggil balik jika pembayaran gagal
  • YOUR_ORG_NAME - Nama Organisasi untuk dipaparkan pada gerbang pembayaran
  • ORG_DESC - Penerangan Organisasi untuk dipaparkan pada gerbang pembayaran
  • ORG_LOGO - URL imej Logo Organisasi
  • NAMA_PELANGGAN
  • PELANGGAN_MOBIL
  • E-MEL_PELANGGAN

Untuk menjana CALLBACK_URL dan CANCEL_URL, anda menggunakan tapak web mudah ini untuk menguji panggilan balik.
https://webhook.site/

1. Integrasi Dihoskan Razorpay

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>

2. Penyepaduan Web Tersuai

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>

3. Integrasi Lain -

Terdapat integrasi lain pada platform berbeza seperti Android, ios, flutter dan lain-lain yang boleh digunakan. Anda boleh menyemak dokumentasi di sini.

Langkah 7: Mengendalikan Panggilan Balik Pembayaran

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!

Kenyataan:
Kandungan artikel ini disumbangkan secara sukarela oleh netizen, dan hak cipta adalah milik pengarang asal. Laman web ini tidak memikul tanggungjawab undang-undang yang sepadan. Jika anda menemui sebarang kandungan yang disyaki plagiarisme atau pelanggaran, sila hubungi admin@php.cn