iOS 中的 Razorpay 集成

17 Mar 2025 | 5 分钟阅读

Razorpay 是最常用的支付网关之一,它为像 iOSAndroid 这样的移动操作系统提供了对开发者友好的 API 和 SDK。 我们可以使用借记卡、信用卡、网上银行、UPI 和其他钱包在 Razorpay 支付网关上进行交易。

在本教程中,我们将讨论在 iOS swift 5 中集成 Razorpay。在本教程中,我们将使用 XCode 11。我们将创建一个演示应用程序,该应用程序使用 Razorpay 并支付一些金额来测试集成。

前提条件

  1. XCode 11
  2. Swift 5
  3. Razorpay 帐户 (https://dashboard.Razorpay.com/#/access/signup)
  4. Razorpay Key ID

请考虑以下步骤,以在 iOS 应用程序中集成 Razorpay 支付网关。

1. Razorpay 帐户设置

我们需要设置一个 Razorpay 帐户,才能将其集成到我们的 iOS 应用程序中。 为此,我们需要导航到 https://dashboard.Razorpay.com/#/access/signup 并提供电子邮件和密码来设置一个新帐户。

Razorpay Integration in iOS

在 Razorpay 仪表板上完成帐户创建后,我们将看到以下窗口,该窗口将打开仪表板。

Razorpay Integration in iOS

我们需要在测试模式下有一个 API 密钥才能进行集成。 要生成 API 密钥 ID,请导航到 https://dashboard.razorpay.com/app/keysn 并单击“生成测试密钥”,如下所示。

Razorpay Integration in iOS

生成测试密钥后,我们可以将其作为 CSV 文件下载到我们的系统中。 我们将在本教程稍后使用它。

2. 创建演示项目并添加 Razorpay SDK

我们已经完成了 Razorpay 帐户设置。 现在,我们需要创建一个新项目并将 Razorpay SDK 添加到我们的应用程序。 为此,请打开 XCode,创建一个新项目,并提供产品名称、Bundle Id、组织名称等详细信息。

Razorpay Integration in iOS

现在,打开终端,然后导航到项目目录。 要使用 Cocoapods 安装 SDK,请运行以下命令来初始化 pod。

现在将以下 pod 添加到 Podfile 中以安装 Razorpay SDK。

完成 SDK 安装后,我们需要关闭 XCode 的所有实例并打开 .xcworkspace 文件,该文件包含已安装的 pod。

Razorpay Integration in iOS

3. 代码实现

首先,我们将创建一个基本的 UI,如下所示。 我们将为“立即支付”按钮创建一个操作出口,以将用户导航到 Razorpay 支付网关。

Razorpay Integration in iOS

在 ViewController 中为“立即支付”按钮创建一个操作出口,如下所示。

在 ViewController.swift 中,导入 Razorpay 并创建 Razorpay 类型的实例引用。

现在,使用我们在 ViewController 的 viewDidLoad() 方法的第一步中生成的 API 密钥初始化私有变量 razorpay。

不要忘记将 API KEY 替换为 Razorpay 仪表板上生成的实际公钥。 由于我们已将委托设置为 self,因此我们需要使 ViewController 符合 RazorpayPaymentCompletionProtocol 并添加委托方法,这些方法将在付款状态更改时收到通知。

添加委托方法后,ViewController 包含以下代码。

付款成功后,将通知 onPaymentSuccess(_ payment_id: String) 委托方法。 我们可以通过显示警报或任何自定义 UI 来更新此方法中的用户。 在此应用程序中,一旦付款成功,我们将显示警报。

将以下代码添加到 onPaymentSuccess() 方法。

如果付款失败,则会通知 onPaymentError() 委托方法。 我们可以显示自定义 UI 或警报方法来更新他们有关该错误的信息。 但是,如果付款失败,Razorpay 会方便我们重试。

在此应用中,我们将向用户显示警报,如下所示。

我们需要在“立即支付”按钮的操作出口中实现代码,该代码会触发 Razorpay 支付网关。 在内部,clickedPayNow() 方法创建了类型为 [String:Any] 的变量,其中包含付款说明。

设置完支付网关的所有参数后,我们可以在 razorpay 上调用带有选项的 open() 方法,如下所示。

构建并运行代码,我们将获得集成的 Razorpay 支付网关,并通过单击“立即支付”按钮进行工作。

下面给出了 ViewController.swift 的完整代码。