Order creation with authorized credit card details from 3rd party system

I am trying to import a sales order with payment details. The credit card is already authorized in 3rd party system (eCommerce), i want to save the Authorization code and Transaction Id in Sage so that while invocing we can capture the amount. But payment details not saving, giving me the strange erorr like 

"You cannot set Credit Card Transaction ID when Credit Card Authorization Code is not set"

The following is my code

 orderBus.InvokeMethod("nSetKeyValue", "SalesOrderNo$", "1515516");
                    orderBus.InvokeMethod("nSetKey");
                    orderBus.InvokeMethod("nFind");

                    var paymentService = new DispatchObject(orderBus.InvokeMethod("oPaymentObj"));
                    paymentService.InvokeMethod("nAddPayment");

                    //paymentService.InvokeMethod("nSetValue", "CreditCardGUID$", Guid.NewGuid().ToString().Replace("-", ""));
                    paymentService.InvokeMethod("nSetValue", "ExpirationDateMonth$", "12");
                    paymentService.InvokeMethod("nSetValue", "ExpirationDateYear$", "2019");
                    paymentService.InvokeMethod("nSetValue", "PaymentType$", "CC");
                    paymentService.InvokeMethod("nSetValue", "PaymentTypeCategory$", "P");
                    paymentService.InvokeMethod("nSetValue", "CardType$", "6");
                    paymentService.InvokeMethod("nSetValue", "SaveCreditCard$", "N");
                    paymentService.InvokeMethod("nSetValue", "Last4UnencryptedCreditCardNos$", "1111");
                    paymentService.InvokeMethod("nSetValue", "AuthorizationDate$", "20180220");
                    paymentService.InvokeMethod("nSetValue", "AuthorizationTime$", "14.50");
                    paymentService.InvokeMethod("nSetValue", "AVSAddressLine1$", "Steet1");
                    paymentService.InvokeMethod("nSetValue", "AVSCity$", "Bethasda");
                    paymentService.InvokeMethod("nSetValue", "AVSState$", "MD");
                    paymentService.InvokeMethod("nSetValue", "AVSZipCode$", "28503");
                    paymentService.InvokeMethod("nSetValue", "AVSCountryCode$", "USA");
                    paymentService.InvokeMethod("nSetValue", "CreditCardEmailAddress$", "[email protected]");
                    paymentService.InvokeMethod("nSetValue", "CREDITCARDAUTHORIZATIONNO$", "0125455");
                    paymentService.InvokeMethod("nSetValue", "TransactionAmt", "19.25");
                    paymentService.InvokeMethod("nSetValue", "CreditCardTransactionID$", "A5514578");

                    paymentService.InvokeMethod("nWrite");
                    orderBus.InvokeMethod("nWrite");

And if exchange the 2 lines in my code giving me another error.

                    paymentService.InvokeMethod("nSetValue", "TransactionAmt", "19.25");
                    paymentService.InvokeMethod("nSetValue", "CREDITCARDAUTHORIZATIONNO$", "0125455");

This time i am getting

"You cannot set Credit Card Transaction ID when Credit Card Authorization Amount is not set."

What could be the issue here?