如何使用razorpay api並整合支付網關

PHPz
發布: 2024-07-24 15:23:13
原創
859 人瀏覽過

介紹

Razorpay 是印度領先的支付處理商,為企業和個人提供端到端解決方案。 Razorpay 提供一整套支付解決方案,從支付網關服務到處理交易和結算資金。
我們將在本文中討論其中一些。我們將在這裡使用 python 程式碼,但它可以輕鬆地用其他語言複製,因為我們在這裡不使用任何 SDK。
如果您需要 SDK 範例,請在評論中告訴我。

此處為 razorpay api 的範例程式碼
API 文件可以在這裡找到
測試卡詳細資料 - 這裡

第 1 步:註冊 Razorpay 商家帳戶

要開始使用 Razopay API,您需要在 Razorpay 網站上註冊商家帳戶。這將為您提供必要的憑證以及對 API 文件的存取權。
帳號註冊連結 - https://dashboard.razorpay.com/
在這裡註冊並進入測試模式,因為我們的目標是測試 api 和支付流程。

第 2 步:取得 API 憑證

設定商家帳戶後,您將需要取得 API 憑證。這些憑證將用於驗證您對 Razorpay API 的請求。

您可以像這樣取得憑證 -

  1. 前往 razorpay 儀表板並選擇前往類似下圖所示的測試模式。
    Razorpay test mode example

  2. 前往帳戶設定 ->網站和應用程式設定 -> API 金鑰 ->產生 api 憑證。
    您也可以直接使用。

第 3 步:設定您的開發環境

在繼續之前,我們需要開發環境。我們需要 2 個環境。
一個用於後端,另一個用於前端。

在這裡,我們將使用 python 作為後端語言。
對於前端,我們將使用簡單的 HTML(不是任何專門的語言,如 React 或 Angular)。

第 4 步:了解 Razorpay API 端點

Razorpay API 提供了多個端點,您可以使用它們來發起付款、檢查付款狀態以及管理整合的其他方面。了解不同的端點及其各自的參數對於確保整合過程順利進行非常重要。

  1. 我們將專注於這裡並建立訂單並取得 order_id。
  2. 我們將在前端的 payment_gateway 中使用該 order_id。
  3. Razorpay 在 postman 上有很好的 api 文件。

第 5 步:實施支付流程

要使用 Razorpay API 發起付款,您需要向 /v1/orders 端點發出 POST 請求。此介面需要支付金額、幣種、收據、備註等各種參數。

您可以在此處查看 api 的各種範例。

  • 在這個範例中,我們只尋找 order_api 並產生 order_id。
  • Token可以透過base64(api_key: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"
登入後複製

第 6 步:在前端整合支付網關

我們主要有 2 個選項來在前端整合支付網關。

在前端整合支付網關之前,您需要準備一些東西。

  • RAZORPAY_ORDER_ID - 從 api 金鑰產生的 order_id
  • YOUR_KEY_ID - 之前產生的您的 API key_id
  • CALLBACK_URL - 付款成功回撥URL
  • CANCEL_URL - 付款失敗時的回呼網址
  • YOUR_ORG_NAME - 將在支付網關上顯示的組織名稱
  • ORG_DESC - 將在支付網關上顯示的組織描述
  • ORG_LOGO - 組織標誌圖片 URL
  • CUSTOMER_NAME
  • CUSTOMER_MOBILE
  • CUSTOMER_EMAIL

要產生 CALLBACK_URL 和 CANCEL_URL,您可以使用這個簡單的網站來測試回呼。
https://webhook.site/

1. Razorpay 託管集成

您可以按照這個簡單的程式碼整合支付網關,以便可以從前端發送POST請求。

您也可以按照這個範例。

<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. 自訂 Web 集成

您還可以使用 Razorpay js 庫並在您的網站上進行支付集成,而不是轉移到其他 razorpay 託管網站。

<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. 其他整合 -

還有其他不同平台上的整合可以使用,例如 Android、ios、flutter 等。您可以在此處查看文件。

第 7 步:處理付款回調

發起付款後,Razorpya 會向指定的回呼 URL 或取消 URL 傳送回呼。正確處理此回調對於確保無縫的支付體驗非常重要。回呼通常包含有關付款狀態、交易 ID 和其他相關詳細資訊的資訊。

以上是如何使用razorpay api並整合支付網關的詳細內容。更多資訊請關注PHP中文網其他相關文章!

來源:dev.to
本網站聲明
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn
熱門教學
更多>
最新下載
更多>
網站特效
網站源碼
網站素材
前端模板