However, I am still unable to to implement Refund.
I first used the approach in
https://developer.authorize.net/api/reference/index.html#payment-transactions-refund-a-transaction
and got the response that the Merchant Account was not authorized for this transaction.
Next I tried the code below:
ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = this.sdkEnvironment; transactionRequestType transaction = new transactionRequestType() { transactionType = transactionTypeEnum.refundTransaction.ToString(), amount = 1.0m, refTransId = "<original transactionID>", transactionSettings = new settingType[] { }, retail = new transRetailInfoType() { deviceType = "5", marketType = "2", }, }; transaction.terminalNumber = this.terminalID; request = new createTransactionRequest() { transactionRequest = transaction }; request.merchantAuthentication = new merchantAuthenticationType() { Item = this.sessionToken, mobileDeviceId = this.deviceID, ItemElementName = ItemChoiceType.sessionToken }; this.launcher.startEMVTransaction(request, SDKTransactionType.REFUND, this);
However, instead of refunding the transaction, it charged the card anew for the amount that I had specified.
Any assistance would be welcome.