简介
这是关于在您的 iOS 应用中集成 WibmoPay 支付网关的文档。
特性
- UPI
- 卡
- 钱包
- Paytm
- 柏宝
集成
Swift-Xcode 中 WibmoPay PG 集成步骤
步骤 1.
将下面的命令添加到您的 project podfile 中 pod wibmoPay
。wibmoPay SDK 的最小部署目标版本是 9.0
,swift 版本 4.1
和 wibmoPay SDK 版本是 0.1.9
。
第 2 步。
前往终端机,转到项目路径,并输入 pod install
命令。执行此操作后,wibmoPay SDK 代码将被下载到您的项目中,您可以使用以下方式调用 SDK 方法。
第 3 步。
在您的项目中添加 import WibmoPay
,创建如下的 struct(在项目中创建 struct,如在控制器中开始调用 SDK 方法的地方)。创建结构体 xxxx : MerchantTxnProtocol{},然后您需要添加 Protocol 方法,这样就使您的 struct 看起来像下面的样子。
struct MerchantDetails: MerchantTxnProtocol {
var merchantName: String
var merchantKey: String
var merchantCallbackUrl: String
var merchantTxnAmount: String
var merchantMessage: String
var merchantTxnId: String
var merchantPaymentOption: String
var payerName: String
var payerMobile: String
var payerEmailId: String
var buildEnv: BuildEnvironment
}
第 4 步。
请求数据 [SWIFT]
请求参数 | 类型 | 必填 |
---|---|---|
"merchantName" |
字符串 | 是 |
"merchantAmount" |
字符串 | 是 |
"merchantTxnId" |
字符串 | 是 |
"merchantKey" |
字符串 | 是 |
"payerName" |
字符串 | 否 |
"payerMobileNo" |
字符串 | 否 |
"merchantMessage" |
字符串 | 否 |
"payerEmailId" |
字符串 | 否 |
"merchantPaymentOption" |
字符串 | 否 |
"callbackurl" |
字符串 | 是 |
第 5 步。
商户详情如下传递到 SDK。
let merchantDetails = MerchantDetails(merchantName: <YOUR-MERCHANT-ID>, merchantKey: <YOUR-MERCHANT-KEY>), merchantCallbackUrl: <YOUR-MERCHANT-CALLBACKURL>, merchantTxnAmount: <AMOUNT>, merchantMessage: <MESSAGE>, merchantTxnId: <UNIQUE-TRANSACTION-ID>, merchantPaymentOption: <PAYMENTOPTION>, payerName: <Name>, payerMobile: <MOBILE>, payerEmailId: <EMIAL ID>, buildEnv: <ENVINORMENT>).
示例
let merchantDetails = MerchantDetails(merchantName: "test", merchantKey: "1f5abc6e46114094b7abdbbee19a5cb9", merchantCallbackUrl: "https://testpgupi.mypoolin.com/callback", merchantTxnAmount: "1", merchantMessage: "Test", merchantTxnId: merchantTxnId, merchantPaymentOption: "paytm,mobikwik,upi,cards", payerName: "Mypoolin", payerMobile: "9900456789", payerEmailId: "[email protected]", buildEnv:.staging)
备注
- “buildEnv”可以是.staging或.production,具体取决于您选择的基准URL。
回调URL
商户需要提交一个重定向URL来报告订单完成。您可以通过以下邮箱与我们团队分享您想用的重定向URL - [email protected]
或 [email protected]
- 我们将为您配置。
返回校验和是通过使用username|order_id|merchant_txn_id|status|secret
计算,然后使用sha512
算法生成哈希值。
示例回调URL可以是以下形式
- 生产环境回调URL
https://pgupi.mypoolin.com/callback
。 - 测试/预生产URL
https://testpgupi.mypoolin.com/callback
。 - 商户自定义回调URL应该是 -
https://<YOUR-DOMAIN-CALLBACK-URL>
(注意:设置后,应通知整合/业务团队[[email protected]])。
第6步。
更新商户参数并按以下所示调用交易调用
WibmoPaySdk.sdkManager.merchantDetails = merchantDetails
WibmoPaySdk.sdkManager.performTransactionFor(fromController: self) { (response, error) in
if let result = response {
print(result.status) // example printing status
} else if let error = error {
print(error.localizedDescription)
}
}
performTransactionFor
调用将内部执行以下操作
- 检查互联网(如果没有连接,将
Error
抛回商户应用,商户应用可以相应处理)。 - 使用请求参数生成 checkSum。
响应
响应参数 | 类型 | 必填 |
---|---|---|
"merchant_name" |
字符串 | yes |
"order_id" |
字符串 | yes |
"merchant_txn_id" |
字符串 | yes |
"status" |
字符串 | yes |
"payment_mode" |
字符串 | yes |
"checksum" |
字符串 | yes |
"amount" |
字符串 | yes |
"commission" |
字符串 | yes |
"channel" |
字符串 | yes |
响应将发送到您调用 SDK 方法的地方所在的控制器类。
状态
码如下
状态码 | 状态 | 描述 |
---|---|---|
COMPLETED | 成功 | 成功 |
PENDING | ||
ABORTED | ||
FAILED | (对于创建错误的情况) | |
RETRIED | (对于传递相同 merchant_txn_id 的情况) | |
DECLINED | ||
SETTLED |
响应处理示例代码
我们添加了用于接收 SDK 响应和错误的完成处理程序。一旦交易完成,控制权回到应用,并将商户响应和错误发送到 performTransactionFor
方法,如下所示,根据商户的处理方式进行错误和响应处理。下面是打印错误和响应的示例代码:
WibmoPaySdk.sdkManager.performTransactionFor(fromController: self) { (response, error) in
if let result = response {
print(result.status) // example: we are printing status from the response.
} else if let error = error {
print(error.localizedDescription)
}
}
笔记。
如果遇到与存档相关的任何错误/问题,请遵循以下步骤:
- 进入根项目,转到
构建阶段
,点击+
符号,选择新建运行脚本阶段
,然后在运行脚本
中复制粘贴以下脚本,在将应用发布到应用商店之前。 - 脚本链接:
http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/