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.