Ödeme alma servisi

Ödeme alma servisi

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.