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中文网其他相关文章!