Razorpay 是印度領先的支付處理商,為企業和個人提供端到端解決方案。 Razorpay 提供一整套支付解決方案,從支付網關服務到處理交易和結算資金。
我們將在本文中討論其中一些。我們將在這裡使用 python 程式碼,但它可以輕鬆地用其他語言複製,因為我們在這裡不使用任何 SDK。
如果您需要 SDK 範例,請在評論中告訴我。
此處為 razorpay api 的範例程式碼
API 文件可以在這裡找到
測試卡詳細資料 - 這裡
要開始使用 Razopay API,您需要在 Razorpay 網站上註冊商家帳戶。這將為您提供必要的憑證以及對 API 文件的存取權。
帳號註冊連結 - https://dashboard.razorpay.com/
在這裡註冊並進入測試模式,因為我們的目標是測試 api 和支付流程。
設定商家帳戶後,您將需要取得 API 憑證。這些憑證將用於驗證您對 Razorpay API 的請求。
您可以像這樣取得憑證 -
前往 razorpay 儀表板並選擇前往類似下圖所示的測試模式。
前往帳戶設定 ->網站和應用程式設定 -> API 金鑰 ->產生 api 憑證。
您也可以直接使用。
在繼續之前,我們需要開發環境。我們需要 2 個環境。
一個用於後端,另一個用於前端。
在這裡,我們將使用 python 作為後端語言。
對於前端,我們將使用簡單的 HTML(不是任何專門的語言,如 React 或 Angular)。
Razorpay API 提供了多個端點,您可以使用它們來發起付款、檢查付款狀態以及管理整合的其他方面。了解不同的端點及其各自的參數對於確保整合過程順利進行非常重要。
要使用 Razorpay API 發起付款,您需要向 /v1/orders 端點發出 POST 請求。此介面需要支付金額、幣種、收據、備註等各種參數。
您可以在此處查看 api 的各種範例。
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"
我們主要有 2 個選項來在前端整合支付網關。
在前端整合支付網關之前,您需要準備一些東西。
要產生 CALLBACK_URL 和 CANCEL_URL,您可以使用這個簡單的網站來測試回呼。
https://webhook.site/
您可以按照這個簡單的程式碼整合支付網關,以便可以從前端發送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>
您還可以使用 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>
還有其他不同平台上的整合可以使用,例如 Android、ios、flutter 等。您可以在此處查看文件。
發起付款後,Razorpya 會向指定的回呼 URL 或取消 URL 傳送回呼。正確處理此回調對於確保無縫的支付體驗非常重要。回呼通常包含有關付款狀態、交易 ID 和其他相關詳細資訊的資訊。
以上是如何使用razorpay api並整合支付網關的詳細內容。更多資訊請關注PHP中文網其他相關文章!