C#授权.net创建配置文件问题

C#授权.net创建配置文件问题,c#,authorize.net,C#,Authorize.net,下面的代码正在向卡收费,但它没有创建配置文件…有什么提示吗?我假设我遗漏了什么,或者使用了错误的类型 var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = paymentNonce }; //standard api call to retrieve response var pay

下面的代码正在向卡收费,但它没有创建配置文件…有什么提示吗?我假设我遗漏了什么,或者使用了错误的类型

            var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = paymentNonce };

            //standard api call to retrieve response
            var paymentType = new paymentType { Item = opaqueData };

            var transactionRequest = new transactionRequestType
            {
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize and capture transaction
                amount = paymentAmount,
                payment = paymentType,
                customer = new customerDataType()
                {
                    type = customerTypeEnum.individual,
                    id = userID.ToString()
                },
                profile = new customerProfilePaymentType()
                {
                    createProfile = true
                }
            };

            var request = new createTransactionRequest { transactionRequest = transactionRequest };

            // instantiate the contoller that will call the service
            var controller = new createTransactionController(request);
            const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
            const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
            ServicePointManager.SecurityProtocol = Tls12;
            controller.Execute();

            // get the response from the service (errors contained if any)
            var response = controller.GetApiResponse();
更新: 由于显然不允许使用OpaqueData,我将其更改为手动创建配置文件。我得到以下错误:“错误:I00001成功。”

更新#2 非常困惑,因为auth.net文档说这段代码意味着成功…那么为什么我看不到创建的CIM支付方法

更新#3 所以我打印的是主响应消息,而不是CIM请求消息,duh。实际错误是:“E00114无效OTS令牌。”
根据文档,该错误通常来自一个使用过的密钥,因此我现在生成2个密钥(一个用于处理,一个用于通过CIM存储),但现在得到了这个错误:“E00040无法找到记录。”……有什么想法吗?

所以这个问题的答案是:

  • 您无法使用不透明的卡数据自动创建支付配置文件,因此解决方法是在成功收费后手动创建
  • 您不能使用相同的不透明卡数据进行充电和存储,因为它们是一次性使用的,因此对于我的web方法,我最终传递了2个不透明数据密钥
  • 你必须打不同的电话来建立一个全新的客户和一个现有的客户只是添加一张新卡。我已将我的最终解决方案摘录粘贴到下面:

         ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = (System.Configuration.ConfigurationManager.AppSettings["Authorize-Live"].ToUpper() == "TRUE" ? AuthorizeNet.Environment.PRODUCTION : AuthorizeNet.Environment.SANDBOX);
        // define the merchant information (authentication / transaction id)
    
        ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
    
        {
    
            name = (System.Configuration.ConfigurationManager.AppSettings["Authorize-Live"].ToUpper() == "TRUE" ? System.Configuration.ConfigurationManager.AppSettings["Authorize-LoginID"] : System.Configuration.ConfigurationManager.AppSettings["Authorize-LoginID-SandBox"]),
    
            ItemElementName = ItemChoiceType.transactionKey,
    
            Item = (System.Configuration.ConfigurationManager.AppSettings["Authorize-Live"].ToUpper() == "TRUE" ? System.Configuration.ConfigurationManager.AppSettings["Authorize-TransactionKey"] : System.Configuration.ConfigurationManager.AppSettings["Authorize-TransactionKey-SandBox"])
    
        };
    
    
    
        if (paymentNonce.Trim() != "")
    
        {
    
            //set up data based on transaction
    
            var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = paymentNonce };
    
    
    
            //standard api call to retrieve response
    
            var paymentType = new paymentType { Item = opaqueData };
    
    
    
            var transactionRequest = new transactionRequestType
    
            {
    
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize and capture transaction
    
                amount = paymentAmount,
    
                payment = paymentType,
    
                customer = new customerDataType()
    
                {
    
                    type = customerTypeEnum.individual,
    
                    id = "YOUR_DB_USERID"
    
                },
    
                profile = new customerProfilePaymentType()
    
                {
    
                    createProfile = false
    
                }
    
            };
    
    
    
            var request = new createTransactionRequest { transactionRequest = transactionRequest };
    
    
    
            // instantiate the contoller that will call the service
    
            var controller = new createTransactionController(request);
    
            const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
    
            const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
    
            ServicePointManager.SecurityProtocol = Tls12;
    
            controller.Execute();
    
    
    
            // get the response from the service (errors contained if any)
    
            var response = controller.GetApiResponse();
    
    
    
            //validate
    
            if (response != null)
    
            {
    
                if (response.messages.resultCode == messageTypeEnum.Ok)
    
                {
    
                    if (response.transactionResponse.messages != null)
    
                    {
    
                        responseData.Success = true;
    
                        transactionID = response.transactionResponse.transId;
    
    
                        string merchID = "STORED AUTHORIZE.NET CUSTOMERID, return blank string if none!";
    
                        var opaqueData2 = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = paymentNonce2 };
    
    
    
                        //standard api call to retrieve response
    
                        var paymentType2 = new paymentType { Item = opaqueData2 };
    
                        customerPaymentProfileType opaquePaymentProfile = new customerPaymentProfileType();
    
                        opaquePaymentProfile.payment = paymentType2;
    
                        opaquePaymentProfile.customerType = customerTypeEnum.individual;
    
    
    
    
    
                        if (merchID == "")
    
                        {
                            // CREATE NEW AUTH.NET AIM CUSTOMER
                            List<customerPaymentProfileType> paymentProfileList = new List<customerPaymentProfileType>();
    
                            paymentProfileList.Add(opaquePaymentProfile);
    
                            customerProfileType customerProfile = new customerProfileType();
    
                            customerProfile.merchantCustomerId = "YOUR_DB_USERID";
    
    
    
                            customerProfile.paymentProfiles = paymentProfileList.ToArray();
    
    
    
                            var cimRequest = new createCustomerProfileRequest { profile = customerProfile, validationMode = validationModeEnum.none };
    
    
    
                            var cimController = new createCustomerProfileController(cimRequest);          // instantiate the contoller that will call the service
    
                            cimController.Execute();
    
    
    
                            createCustomerProfileResponse cimResponse = cimController.GetApiResponse();
    
                            if (cimResponse != null && cimResponse.messages.resultCode == messageTypeEnum.Ok)
    
                            {
    
                                if (cimResponse != null && cimResponse.messages.message != null)
    
                                {
                                    // STORE cimResponse.customerProfileId IN DATABASE FOR USER
    
                                }
    
                            }
    
                            else
    
                            {
    
                                for (int i = 0; i < cimResponse.messages.message.Length; i++)
    
                                    Utility.AppendTextToFile("New Error (" + merchID + ") #" + i.ToString() + ": " + cimResponse.messages.message[i].code + "  " + cimResponse.messages.message[i].text, Server.MapPath("/pub/auth.txt"));
    
    
    
                            }
    
                        }
    
                        else
    
                        {
                            // ADD PAYMENT PROFILE TO EXISTING AUTH.NET AIM CUSTOMER
                            var cimRequest = new createCustomerPaymentProfileRequest
    
                            {
    
                                paymentProfile = opaquePaymentProfile,
    
                                validationMode = validationModeEnum.none,
    
                                customerProfileId = merchID.Trim()
    
                            };
    
                            var cimController = new createCustomerPaymentProfileController(cimRequest);
    
                            cimController.Execute();
    
    
    
                            //Send Request to EndPoint
    
                            createCustomerPaymentProfileResponse cimResponse = cimController.GetApiResponse();
    
                            if (cimResponse != null && cimResponse.messages.resultCode == messageTypeEnum.Ok)
    
                            {
    
                                if (cimResponse != null && cimResponse.messages.message != null)
    
                                {
    
                                    //Console.WriteLine("Success, createCustomerPaymentProfileID : " + response.customerPaymentProfileId);
    
                                }
    
                            }
    
                            else
    
                            {
    
                                for (int i = 0; i < cimResponse.messages.message.Length; i++)
    
                                    Utility.AppendTextToFile("Add Error  (" + merchID + ") #" + i.ToString() + ": " + cimResponse.messages.message[i].code + "  " + cimResponse.messages.message[i].text, Server.MapPath("/pub/auth.txt"));
    
    
    
                            }
    
                        }
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = "Card Declined";
    
                        responseData.Success = false;
    
                        if (response.transactionResponse.errors != null)
    
                        {
    
                            responseData.Message = response.transactionResponse.errors[0].errorText;
    
                        }
    
                    }
    
                }
    
                else
    
                {
    
                    responseData.Message = "Failed Transaction";
    
                    responseData.Success = false;
    
                    if (response.transactionResponse != null && response.transactionResponse.errors != null)
    
                    {
    
                        responseData.Message = response.transactionResponse.errors[0].errorText;
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = response.messages.message[0].text;
    
                    }
    
                }
    
            }
    
            else
    
            {
    
                responseData.Message = "Failed Transaction, Try Again!";
    
                responseData.Success = false;
    
            }
    
        }
    
        else
    
        {
            // RUN PAYMENT WITH STORED PAYMENT PROFILE ID
            customerProfilePaymentType profileToCharge = new customerProfilePaymentType();
    
            profileToCharge.customerProfileId = CustomerID;
    
            profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = PaymentID };
    
    
    
            var transactionRequest = new transactionRequestType
    
            {
    
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    
    
                amount = paymentAmount,
    
                profile = profileToCharge
    
            };
    
    
    
            var request = new createTransactionRequest { transactionRequest = transactionRequest };
    
    
    
            // instantiate the collector that will call the service
    
            var controller = new createTransactionController(request);
    
            controller.Execute();
    
    
    
            // get the response from the service (errors contained if any)
    
            var response = controller.GetApiResponse();
    
    
    
            //validate
    
            if (response != null)
    
            {
    
                if (response.messages.resultCode == messageTypeEnum.Ok)
    
                {
    
                    if (response.transactionResponse.messages != null)
    
                    {
    
                        responseData.Success = true;
    
                        transactionID = response.transactionResponse.transId;
    
    
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = "Card Declined";
    
                        responseData.Success = false;
    
                        if (response.transactionResponse.errors != null)
    
                        {
    
                            responseData.Message = response.transactionResponse.errors[0].errorText;
    
                        }
    
                    }
    
                }
    
                else
    
                {
    
                    responseData.Message = "Failed Transaction";
    
                    responseData.Success = false;
    
                    if (response.transactionResponse != null && response.transactionResponse.errors != null)
    
                    {
    
                        responseData.Message = response.transactionResponse.errors[0].errorText;
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = response.messages.message[0].text;
    
                    }
    
                }
    
            }
    
            else
    
            {
    
                responseData.Message = "Failed Transaction, Try Again!";
    
                responseData.Success = false;
    
            }
    
        }
    
    ApiOperationBase.RunEnvironment=(System.Configuration.ConfigurationManager.AppSettings[“Authorize Live”].ToUpper()=“TRUE”?AuthorizeNet.Environment.PRODUCTION:AuthorizeNet.Environment.SANDBOX);
    //定义商户信息(身份验证/交易id)
    ApiOperationBase.MerchantAuthentication=新的merchantAuthenticationType()
    {
    名称=(System.Configuration.ConfigurationManager.AppSettings[“Authorization Live”].ToUpper()==“TRUE”?System.Configuration.ConfigurationManager.AppSettings[“Authorization LoginID”]:System.Configuration.ConfigurationManager.AppSettings[“Authorization LoginID SandBox”]),
    ItemElementName=ItemChoiceType.transactionKey,
    Item=(System.Configuration.ConfigurationManager.AppSettings[“Authorize Live”].ToUpper()==“TRUE”?System.Configuration.ConfigurationManager.AppSettings[“Authorize TransactionKey”]:System.Configuration.ConfigurationManager.AppSettings[“Authorize TransactionKey SandBox”])
    };
    如果(paymentNonce.Trim()!=“”)
    {
    //基于事务设置数据
    var opaqueData=new opaqueDataType{dataDescriptor=“COMMON.ACCEPT.INAPP.PAYMENT”,dataValue=paymentNonce};
    //检索响应的标准api调用
    var paymentType=new paymentType{Item=opaqueData};
    var transactionRequest=新transactionRequestType
    {
    transactionType=transactionTypeEnum.authCaptureTransaction.ToString(),//授权和捕获事务
    金额=付款金额,
    payment=paymentType,
    客户=新客户数据类型()
    {
    类型=customerTypeEnum.individual,
    id=“您的用户id”
    },
    profile=新customerProfilePaymentType()
    {
    createProfile=false
    }
    };
    var request=new createTransactionRequest{transactionRequest=transactionRequest};
    //实例化将调用服务的控制器
    var控制器=新的createTransactionController(请求);
    常数SslProtocols _Tls12=(SslProtocols)0x00000C000;
    const SecurityProtocolType Tls12=(SecurityProtocolType)\u Tls12;
    ServicePointManager.SecurityProtocol=Tls12;
    controller.Execute();
    //从服务获取响应(如果有错误,则包含错误)
    var response=controller.GetApiResponse();
    //证实
    if(响应!=null)
    {
    if(response.messages.resultCode==messageTypeEnum.Ok)
    {
    if(response.transactionResponse.messages!=null)
    {
    responseData.Success=true;
    transactionID=response.transactionResponse.transId;
    string merchID=“存储的AUTHORIZE.NET CUSTOMERID,如果没有,则返回空白字符串!”;
    var opaqueData2=new opaqueDataType{dataDescriptor=“COMMON.ACCEPT.INAPP.PAYMENT”,dataValue=paymentNonce2};
    //检索响应的标准api调用
    var paymentType2=新paymentType{Item=opaqueData2};
    customerPaymentProfileType opaquePaymentProfile=新customerPaymentProfileType();
    opaquePaymentProfile.payment=paymentType2;
    opaquePaymentProfile.customerType=customerTypeEnum.individual;
    如果(merchID==“”)
    {
    //创建新的AUTH.NET AIM客户
    List paymentProfileList=新列表();
    paymentProfileList.Add(opaquePaymentProfile);
    customerProfileType customerProfile=新的customerProfileType();
    customerProfile.merchantCustomerId=“您的用户ID”;
    customerProfile.paymentProfiles=paymentProfileList.ToArray();
    var cimRequest=new createCustomerProfileRequest{profile=customerProfile,validationMode=validationModeEnum.none};
    var cimController=new createCustomerProfileController(cimRequest);//实例化将调用服务的控制器
    cimController.Execute();
    createCustomerProfileResponse cimResponse=cimController.GetApiResponse();
    if(cimResponse!=null&&cimResponse.messages.resultCode==messageTypeEnum.Ok)
    {
    
         ApiOperationBase<ANetApiRequest, ANetApiResponse>.RunEnvironment = (System.Configuration.ConfigurationManager.AppSettings["Authorize-Live"].ToUpper() == "TRUE" ? AuthorizeNet.Environment.PRODUCTION : AuthorizeNet.Environment.SANDBOX);
        // define the merchant information (authentication / transaction id)
    
        ApiOperationBase<ANetApiRequest, ANetApiResponse>.MerchantAuthentication = new merchantAuthenticationType()
    
        {
    
            name = (System.Configuration.ConfigurationManager.AppSettings["Authorize-Live"].ToUpper() == "TRUE" ? System.Configuration.ConfigurationManager.AppSettings["Authorize-LoginID"] : System.Configuration.ConfigurationManager.AppSettings["Authorize-LoginID-SandBox"]),
    
            ItemElementName = ItemChoiceType.transactionKey,
    
            Item = (System.Configuration.ConfigurationManager.AppSettings["Authorize-Live"].ToUpper() == "TRUE" ? System.Configuration.ConfigurationManager.AppSettings["Authorize-TransactionKey"] : System.Configuration.ConfigurationManager.AppSettings["Authorize-TransactionKey-SandBox"])
    
        };
    
    
    
        if (paymentNonce.Trim() != "")
    
        {
    
            //set up data based on transaction
    
            var opaqueData = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = paymentNonce };
    
    
    
            //standard api call to retrieve response
    
            var paymentType = new paymentType { Item = opaqueData };
    
    
    
            var transactionRequest = new transactionRequestType
    
            {
    
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    // authorize and capture transaction
    
                amount = paymentAmount,
    
                payment = paymentType,
    
                customer = new customerDataType()
    
                {
    
                    type = customerTypeEnum.individual,
    
                    id = "YOUR_DB_USERID"
    
                },
    
                profile = new customerProfilePaymentType()
    
                {
    
                    createProfile = false
    
                }
    
            };
    
    
    
            var request = new createTransactionRequest { transactionRequest = transactionRequest };
    
    
    
            // instantiate the contoller that will call the service
    
            var controller = new createTransactionController(request);
    
            const SslProtocols _Tls12 = (SslProtocols)0x00000C00;
    
            const SecurityProtocolType Tls12 = (SecurityProtocolType)_Tls12;
    
            ServicePointManager.SecurityProtocol = Tls12;
    
            controller.Execute();
    
    
    
            // get the response from the service (errors contained if any)
    
            var response = controller.GetApiResponse();
    
    
    
            //validate
    
            if (response != null)
    
            {
    
                if (response.messages.resultCode == messageTypeEnum.Ok)
    
                {
    
                    if (response.transactionResponse.messages != null)
    
                    {
    
                        responseData.Success = true;
    
                        transactionID = response.transactionResponse.transId;
    
    
                        string merchID = "STORED AUTHORIZE.NET CUSTOMERID, return blank string if none!";
    
                        var opaqueData2 = new opaqueDataType { dataDescriptor = "COMMON.ACCEPT.INAPP.PAYMENT", dataValue = paymentNonce2 };
    
    
    
                        //standard api call to retrieve response
    
                        var paymentType2 = new paymentType { Item = opaqueData2 };
    
                        customerPaymentProfileType opaquePaymentProfile = new customerPaymentProfileType();
    
                        opaquePaymentProfile.payment = paymentType2;
    
                        opaquePaymentProfile.customerType = customerTypeEnum.individual;
    
    
    
    
    
                        if (merchID == "")
    
                        {
                            // CREATE NEW AUTH.NET AIM CUSTOMER
                            List<customerPaymentProfileType> paymentProfileList = new List<customerPaymentProfileType>();
    
                            paymentProfileList.Add(opaquePaymentProfile);
    
                            customerProfileType customerProfile = new customerProfileType();
    
                            customerProfile.merchantCustomerId = "YOUR_DB_USERID";
    
    
    
                            customerProfile.paymentProfiles = paymentProfileList.ToArray();
    
    
    
                            var cimRequest = new createCustomerProfileRequest { profile = customerProfile, validationMode = validationModeEnum.none };
    
    
    
                            var cimController = new createCustomerProfileController(cimRequest);          // instantiate the contoller that will call the service
    
                            cimController.Execute();
    
    
    
                            createCustomerProfileResponse cimResponse = cimController.GetApiResponse();
    
                            if (cimResponse != null && cimResponse.messages.resultCode == messageTypeEnum.Ok)
    
                            {
    
                                if (cimResponse != null && cimResponse.messages.message != null)
    
                                {
                                    // STORE cimResponse.customerProfileId IN DATABASE FOR USER
    
                                }
    
                            }
    
                            else
    
                            {
    
                                for (int i = 0; i < cimResponse.messages.message.Length; i++)
    
                                    Utility.AppendTextToFile("New Error (" + merchID + ") #" + i.ToString() + ": " + cimResponse.messages.message[i].code + "  " + cimResponse.messages.message[i].text, Server.MapPath("/pub/auth.txt"));
    
    
    
                            }
    
                        }
    
                        else
    
                        {
                            // ADD PAYMENT PROFILE TO EXISTING AUTH.NET AIM CUSTOMER
                            var cimRequest = new createCustomerPaymentProfileRequest
    
                            {
    
                                paymentProfile = opaquePaymentProfile,
    
                                validationMode = validationModeEnum.none,
    
                                customerProfileId = merchID.Trim()
    
                            };
    
                            var cimController = new createCustomerPaymentProfileController(cimRequest);
    
                            cimController.Execute();
    
    
    
                            //Send Request to EndPoint
    
                            createCustomerPaymentProfileResponse cimResponse = cimController.GetApiResponse();
    
                            if (cimResponse != null && cimResponse.messages.resultCode == messageTypeEnum.Ok)
    
                            {
    
                                if (cimResponse != null && cimResponse.messages.message != null)
    
                                {
    
                                    //Console.WriteLine("Success, createCustomerPaymentProfileID : " + response.customerPaymentProfileId);
    
                                }
    
                            }
    
                            else
    
                            {
    
                                for (int i = 0; i < cimResponse.messages.message.Length; i++)
    
                                    Utility.AppendTextToFile("Add Error  (" + merchID + ") #" + i.ToString() + ": " + cimResponse.messages.message[i].code + "  " + cimResponse.messages.message[i].text, Server.MapPath("/pub/auth.txt"));
    
    
    
                            }
    
                        }
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = "Card Declined";
    
                        responseData.Success = false;
    
                        if (response.transactionResponse.errors != null)
    
                        {
    
                            responseData.Message = response.transactionResponse.errors[0].errorText;
    
                        }
    
                    }
    
                }
    
                else
    
                {
    
                    responseData.Message = "Failed Transaction";
    
                    responseData.Success = false;
    
                    if (response.transactionResponse != null && response.transactionResponse.errors != null)
    
                    {
    
                        responseData.Message = response.transactionResponse.errors[0].errorText;
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = response.messages.message[0].text;
    
                    }
    
                }
    
            }
    
            else
    
            {
    
                responseData.Message = "Failed Transaction, Try Again!";
    
                responseData.Success = false;
    
            }
    
        }
    
        else
    
        {
            // RUN PAYMENT WITH STORED PAYMENT PROFILE ID
            customerProfilePaymentType profileToCharge = new customerProfilePaymentType();
    
            profileToCharge.customerProfileId = CustomerID;
    
            profileToCharge.paymentProfile = new paymentProfile { paymentProfileId = PaymentID };
    
    
    
            var transactionRequest = new transactionRequestType
    
            {
    
                transactionType = transactionTypeEnum.authCaptureTransaction.ToString(),    
    
                amount = paymentAmount,
    
                profile = profileToCharge
    
            };
    
    
    
            var request = new createTransactionRequest { transactionRequest = transactionRequest };
    
    
    
            // instantiate the collector that will call the service
    
            var controller = new createTransactionController(request);
    
            controller.Execute();
    
    
    
            // get the response from the service (errors contained if any)
    
            var response = controller.GetApiResponse();
    
    
    
            //validate
    
            if (response != null)
    
            {
    
                if (response.messages.resultCode == messageTypeEnum.Ok)
    
                {
    
                    if (response.transactionResponse.messages != null)
    
                    {
    
                        responseData.Success = true;
    
                        transactionID = response.transactionResponse.transId;
    
    
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = "Card Declined";
    
                        responseData.Success = false;
    
                        if (response.transactionResponse.errors != null)
    
                        {
    
                            responseData.Message = response.transactionResponse.errors[0].errorText;
    
                        }
    
                    }
    
                }
    
                else
    
                {
    
                    responseData.Message = "Failed Transaction";
    
                    responseData.Success = false;
    
                    if (response.transactionResponse != null && response.transactionResponse.errors != null)
    
                    {
    
                        responseData.Message = response.transactionResponse.errors[0].errorText;
    
                    }
    
                    else
    
                    {
    
                        responseData.Message = response.messages.message[0].text;
    
                    }
    
                }
    
            }
    
            else
    
            {
    
                responseData.Message = "Failed Transaction, Try Again!";
    
                responseData.Success = false;
    
            }
    
        }