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)