Skip to content

Sale

import de.wirecard.ecr.EcrSdk

var ecr: EcrSdk
var ecrIp: String = "127.0.0.1" // IP address of ecr device
var ecrPort: Int = 7890         // device port

ecr = EcrSdkFactory.createTcpIp(ecrIp, ecrPort)

ecr.sale(
    SaleRequest.SaleRequestData(
        transactionAmount = "2.0",
        paymentType = PaymentType.NOT_SPECIFIC_EDC_TO_DECIDE,
        orderId = "orderId",
        deviceId = "deviceId"
    ))
    .subscribeOn(Schedulers.io())
    .observeOn(AndroidSchedulers.mainThread())
    .subscribe { response, throwable -> ... }
import Ecr

let device = TcpIpDevice(ip: "172.20.10.105", port: 7890)
let ecr = Ecr<TcpIpDevice, JsonWrapper>(device: device)
var cancellables = Set<AnyCancellable>()

ecr.sale(
        EcrModel.Sale.RequestBody(
            transactionAmount: "10",
            paymentType: .cardCreditChargeCard
        )
    )
    .sink(receiveCompletion: { completion in
        switch completion {
        case.finished:
            break;
        case .failure(let error):
            print("error:\(error)")
        }
    }, receiveValue: { data in
        print("data:\(data)")
    })
    .store(in: &cancellables)