CrediMax: Операция не может быть завершена.(Ошибка 0. MPGSDK.GatewayError.) - PullRequest
0 голосов
/ 25 ноября 2018

Я пытаюсь интегрировать CrediMax SDK: https://github.com/Mastercard-Gateway/gateway-ios-sdk в приложение iOS для мобильных устройств.

  1. Я создаю сеанс для оплаты, и это будет успешно, и ответ будет указан ниже

{"success": true, "statusCode": "200", "data": {"sessionId": "SESSION0002791451838N2104331F28", "merchant": "E13043 ***", "result":"SUCCESS", "sessionVersion": "fb828aee01"}}

Но когда я пытаюсь обновить сеанс, всегда отображается ошибка

error == Операция не можетне будет завершено.(MPGSDK.GatewayError error 0.)

вот мое усилие

func updateSession() {

        print("session id == \(transaction?.sessionId ?? "")\napiVersion == \(transaction?.apiVersion ?? "")")

        guard let sessionId = transaction?.sessionId, let apiVersion = transaction?.apiVersion else { return }

        var request = GatewayMap()
        request[at: "sourceOfFunds.provided.card.nameOnCard"] = "Museer Ahamad Ansari"
        request[at: "sourceOfFunds.provided.card.number"] = "6071235068******"
        request[at: "sourceOfFunds.provided.card.securityCode"] = "123"
        request[at: "sourceOfFunds.provided.card.expiry.month"] = "02"
        request[at: "sourceOfFunds.provided.card.expiry.year"] = "23"

        gateway.updateSession(sessionId, apiVersion: apiVersion, payload: request, completion: updateSessionHandler(_:))
    }

// MARK: - Handle the Update Response
// Call the gateway to update the session.
fileprivate func updateSessionHandler(_ result: GatewayResult<GatewayMap>) {
    DispatchQueue.main.async {
        self.loadingViewController.dismiss(animated: true) {
            switch result {
            case .success(_):
                self.performSegue(withIdentifier: "showConfirmation", sender: nil)
            case .error(let error):
                print("error == \(error.localizedDescription)")
                self.showError(error)
            }
        }
    }
}
...