简介
这是将 WibmoPaySDK 支付网关集成到您的 iOS 应用中的文档。
特性
- UPI
- 卡片
- 钱包
- Paytm
- Mobikwik
集成
Swift-Xcode 中 WibmoPay PG 集成步骤
步骤 1.
将以下内容添加到您的项目 podfile pod WibmoPaySDK
。WibmoPaySDK 的最小部署目标版本是 9.0
,swift 版本为 4.1
,WibmoPaySDK 版本为 0.1.8
。
步骤 2。
进入终端,转到项目路径,并输入 pod install
,这样做会将 WibmoPaySDK 代码下载到您的项目中,然后您可以按照以下方式调用 SDK 方法。
步骤 3。
在您的项目控制器中(控制器 - 您希望开始调用 SDK 方法的位置)添加 import WibmoPaySDK
,创建一个如下所示的 struct。创建结构体 xxxx : MerchantTxnProtocol{},然后您将被要求添加协议方法,添加后您的 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来报告订单完成。您可以与我们团队通过电子邮件[email protected]
或[email protected]
分享您的重定向URL,我们将为您配置。
返回的校验和通过使用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>
(注意:如果设置了,则需要通知集成/商务团队[a href="/cdn-cgi/l/email-protection#abc3cec7dbebdcc2c9c6c4dbcad285c8c4c6"][span class="__cf_email__" data-cfemail="">[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
返回给商户应用程序,商户应用程序可以相应地处理)。 - 使用请求参数生成校验和。
响应
响应参数 | 类型 | 必填 |
---|---|---|
"merchant_name" |
字符串 | 是 |
"order_id" |
字符串 | 是 |
"merchant_txn_id" |
字符串 | 是 |
"status" |
字符串 | 是 |
"payment_mode" |
字符串 | 是 |
"checksum" |
字符串 | 是 |
"amount" |
字符串 | 是 |
"commission" |
字符串 | 是 |
"channel" |
字符串 | 是 |
响应将在调用 SDK 方法的控制类中接收。
状态
码如下
状态码 | 状态 | 描述 |
---|---|---|
COMPLETED | 成功 | 成功 |
PENDING | ||
已取消 | ||
失败 | (对于创建过程中有错误的案例) | |
RETRIED | (对于传递相同商户交易 ID 的情况) | |
拒绝 | ||
已结算 |
响应处理示例代码
我们已经添加了完成处理程序来接收 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)
}
}
注意。
如果有关存档的错误/问题,请遵循以下步骤
- 前往根项目,进入
构建阶段
,点击+
符号,选择新建运行脚本阶段
,然后在发布应用到 App Store 之前,将下面的脚本复制粘贴到运行脚本
中。 - 脚本链接:
http://ikennd.ac/blog/2015/02/stripping-unwanted-architectures-from-dynamic-libraries-in-xcode/