2

我目前正在研究 Telr Gateway。我已经下载了 Swift 4.2 版本 Telr SDK 并检查了示例测试。

我的问题是:我应该发送 XML 请求还是直接发送,就像示例中提到的那样?

4

1 回答 1

3
  1. 拖放TelrSDK.framework到框架组中。
  2. 然后转到您项目的 Target 并在 Embedded frameworks 和 Linked frameworks 中添加 Telr 框架。
  3. 现在清理并构建项目。

样品付款请求。

导入TelrSDK框架。然后创建一个支付请求对象并将请求分配给 telrController 的 paymentRequest 属性。然后推送或呈现 telr 视图控制器。输入卡片详细信息后,您将在视图控制器中获得响应,其中调用了 StoryboardID ResultController,它继承了TelrResponseController.

private func openTelrPaymentGateway() {
    paymentRequest = preparePaymentRequest()
    let telrVC = storyboard?.instantiateViewController(withIdentifier: "TelrController") as! TelrController
    telrVC.title = "Telr"
    telrVC.paymentRequest = paymentRequest!
    navigationController?.pushViewController(telrVC, animated: true)
}

private func preparePaymentRequest() -> PaymentRequest{

    let paymentReq = PaymentRequest()
    paymentReq.key = "YOUR KEY"
    paymentReq.store = "YOUR STORE ID"
    paymentReq.appId = "123456789"
    paymentReq.appName = "YOUR APP NAME"
    paymentReq.appUser = "123456"
    paymentReq.appVersion = "0.0.1"
    paymentReq.transTest = "1"
    paymentReq.transType = "auth"
    paymentReq.transClass = "paypage"
    paymentReq.transCartid = String(arc4random())
    paymentReq.transDesc = "Test API"
    paymentReq.transCurrency = "AED"
    paymentReq.transAmount = "\(totalAmount)"
    paymentReq.transLanguage = "en"
    paymentReq.billingEmail = EMAIL
    paymentReq.billingFName = "Hany"
    paymentReq.billingLName = "Sakr"
    paymentReq.billingTitle = "Mr"
    paymentReq.city = "Dubai"
    paymentReq.country = "AE"
    paymentReq.region = "Dubai"
    paymentReq.address = "line 1"
    paymentReq.billingPhone="8785643"
    return paymentReq

}

处理请求后,您将收到来自TelrResponseController班级的响应。

class PaymentGatewayVC: TelrResponseController {

    override func viewDidLoad() {
    super.viewDidLoad()

      print(message!)
      print(trace!)
      print(status!)
      print(avs!)
      print(code!)
      print(ca_valid!)
      print(cardCode!)
      print(cardLast4!)
      print(cvv!)
      print(tranRef!)

    }

}

希望这对您有所帮助。

于 2019-02-15T09:10:12.813 回答