From ffd4f19259cc10ffff85d738b26852ce079293b0 Mon Sep 17 00:00:00 2001 From: Rahul Kantesaria Date: Wed, 3 Apr 2019 13:46:00 -0400 Subject: [PATCH] Added request for payment cancelation --- .../FetchData.swift | 21 ++++++++++++++++++- 1 file changed, 20 insertions(+), 1 deletion(-) diff --git a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/FetchData.swift b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/FetchData.swift index a3f3558..995d6b5 100644 --- a/SynchronyFinancial/SynchronyFinancial WatchKit Extension/FetchData.swift +++ b/SynchronyFinancial/SynchronyFinancial WatchKit Extension/FetchData.swift @@ -151,5 +151,24 @@ class FetchData { } } - + static func cancelPayment(accountAlias: String, confirmationNum: String, paymentId: Int, completion: @escaping (String, Error?) -> Void){ + + var paymentHeader = Defaults.headerForCancelPmt + paymentHeader["account_alias"] = accountAlias + paymentHeader["payment_confirmation_number"] = confirmationNum + paymentHeader["payment_id"] = paymentId + + Alamofire.request(Defaults.CANCEL_PAYMENT_URL, method: .post, parameters: paymentHeader, encoding: JSONEncoding.default, headers: Defaults.authHeader).responseJSON { payload in + switch payload.result { + case .success(let value): + let dict = JSON(value).dictionaryValue + guard dict["status"]?.dictionaryValue["response_code"]?.string == "0" else { return } + if let paymentCancelNum = dict["cancellation_confirmation_number"]?.stringValue { + completion(paymentCancelNum, nil) + } + case .failure(let error): + NSLog("Error: \(error.localizedDescription)") + } + } + } }