Seçili olan kartla ödeme almak
Saklamış olduğunuz walletToken değeri ile ödemek yapmak istediğiniz zaman aşağıdaki kod örneğindeki gibi callConfirmPayment servisini çağırabilirsiniz.
-
Multipay.callConfirmPayment(delegate: self, paymentAppToken: "YOUR_PAYMENT_APP_TOKEN", requestId: "RANDOM_REQUEST_ID", walletToken: "WALLET_TOKEN", merchantReferenceNumber: "MERCHANT_REFERENCE_NUMBER", terminalReferenceNumber: "TERMINAL_REFERENCE_NUMBER", transferReferenceNumber: "TRANSFER_REFERENCE_NUMBER", transactionDetails: [TransactionDetailModel], sign: "GENERATED_SIGN_VALUE", obfuscationSalt: "YOUR_OBFUSCATION_SALT")
Parametreler
-
paymentAppToken = Bu parametre tarafınıza özel olarak iletilecektir.
-
requestId = Her ödeme isteğinde tarafınızca unique olarak yaratılıp gönderilmesi gerekmektedir. Örnek olarak aşağıdaki kod örneğindeki gibi yaratılabilir. Bu değerin işlem sonucunda gerekli validasyonun yapılabilmesi için saklanması gerekmektedir.
-
UUID().uuidString.lowercased()
-
walletToken = Saklamış olduğunuz ‘walletToken’ değeridir.
-
merchantReferenceNumber = Bu değer tarafınıza özel olarak iletilecektir.
-
terminalReferenceNumber = Bu değer tarafınıza özel olarak iletilecektir.
-
transferReferenceNumber = Her ödeme isteğinde tarafınızca unique olarak yaratılıp gönderilmesi gerekmektedir.
-
transactionDetails = Bir veya birden fazla ödeme isteği tarafınızca yaratılan TransactionDetailModel objelerini içeren array ile gönderilmesi gerekmektedir. ‘TransactionDetailModel’ objesi aşağıdaki gibi olmalıdır. Multipay sdk içerisinde public olarak bu struct bulunmaktadır.
-
public struct TransactionDetailModel: Codable { public var amount:String public var productId:String public var referenceNumber:String public init(amount: String, productId: String, referenceNumber: String) { self.amount = amount self.productId = productId self.referenceNumber = referenceNumber } }
-
sign = Bu parametrenin tarafınızca yaratılıp gönderilmesi gerekmektedir. Bu değerin nasıl yaratılacağı tarafınıza özel olarak iletilecektir.
-
obfuscationSalt = Bu değer tarafınıza özel olarak iletilecektir.
Dönüş Parametreleri
Bu fonksiyonu çağırdığınız zaman işlemin başarılı/başarısız olma durumuna göre aşağıdaki delegate methodlarından dönüş yapılmaktadır.
-
//Success @objc func multipayPaymentDidSucceed(sign: String?, transferServerRefNo: String?) //Fail @objc optional func multipayPaymentDidFail(error: Error?)
multipayPaymentDidSucceed fonksiyonundan dönen değerler ile yapılması gereken validasyon işlemi tarafınıza özel olarak iletilecektir.