1

In production, ApplePay is not deducting amount from real card, app is live, still working like sandbox, what we should for production?

let request = PKPaymentRequest()
request.merchantIdentifier = MerchantIdentifier
request.supportedNetworks = [PKPaymentNetwork.visa, PKPaymentNetwork.masterCard, PKPaymentNetwork.amex]
request.merchantCapabilities = PKMerchantCapability.capability3DS
request.countryCode = "SA"
request.currencyCode = "SAR"

request.paymentSummaryItems = [
    PKPaymentSummaryItem(label: "Wallet", amount: NSDecimalNumber(value: amount))
]

let applePayController = PKPaymentAuthorizationViewController(paymentRequest: request)
applePayController?.delegate = self
self.present(applePayController!, animated: true, completion: nil)
extension WalletAmountTopupVC: PKPaymentAuthorizationViewControllerDelegate {
    
    func paymentAuthorizationViewController(_ controller: PKPaymentAuthorizationViewController, didAuthorizePayment payment: PKPayment, completion: (@escaping (PKPaymentAuthorizationStatus) -> Void)) {
        let pkPaymentToken = payment.token
        //pkPaymentToken.paymentData //base64 encoded, applepay.data
        print(pkPaymentToken)
        let json = try? JSONSerialization.jsonObject(with: pkPaymentToken.paymentData, options: JSONSerialization.ReadingOptions.allowFragments) as? [String:AnyObject]
        
        print(json)
        
        paymentStatus = .success
        completion(paymentStatus)
        
        if paymentStatus == .success {
            
        }
        
        //TODO: Handle error condition
        completion(PKPaymentAuthorizationStatus.success)
    }
    
    func paymentAuthorizationViewControllerDidFinish(_ controller: PKPaymentAuthorizationViewController) {
        // controller.dismiss(animated: true, completion: nil)
        
        controller.dismiss(animated: true) {
            DispatchQueue.main.async {
                if self.paymentStatus == .success {
                    //  self.completionHandler!(true)
                    Alerts.createAutoHideAlert(title: "", message: "Success")
                } else {
                    // self.completionHandler!(false)
                }
            }
        }
    }
}
TylerP
  • 9,600
  • 4
  • 39
  • 43
hargovind
  • 11
  • 3

0 Answers0