public async void Example()
        {
#pragma warning disable 0168
            using (Client client = GetClient())
            {
                BankAccountIban bankAccountIban = new BankAccountIban();
                bankAccountIban.Iban = "DE46720200700359736690";

                MandateContactDetails contactDetails = new MandateContactDetails();
                contactDetails.EmailAddress = "*****@*****.**";

                MandateAddress mandateAddress = new MandateAddress();
                mandateAddress.City        = "Monumentenvallei";
                mandateAddress.CountryCode = "NL";
                mandateAddress.Street      = "Woestijnweg";
                mandateAddress.Zip         = "1337XD";

                MandatePersonalName name = new MandatePersonalName();
                name.FirstName = "Wile";
                name.Surname   = "Coyote";

                MandatePersonalInformation personalInformation = new MandatePersonalInformation();
                personalInformation.Name  = name;
                personalInformation.Title = "Miss";

                MandateCustomer customer = new MandateCustomer();
                customer.BankAccountIban     = bankAccountIban;
                customer.CompanyName         = "Acme labs";
                customer.ContactDetails      = contactDetails;
                customer.MandateAddress      = mandateAddress;
                customer.PersonalInformation = personalInformation;

                CreateMandateRequest body = new CreateMandateRequest();
                body.Customer          = customer;
                body.CustomerReference = "idonthaveareference";
                body.Language          = "nl";
                body.RecurrenceType    = "UNIQUE";
                body.SignatureType     = "UNSIGNED";

                CreateMandateResponse response = await client.Merchant("merchantId").Mandates().Create(body);
            }
#pragma warning restore 0168
        }
示例#2
0
        public static string DoMandateCreation(string createMandateStr)
        {
            Serializer            ser           = new Serializer();
            string                xmlOutputData = string.Empty;
            string                responseCode  = string.Empty;
            DateTime              requestTime   = DateTime.Now;
            CreateMandateResponse objResp       = new CreateMandateResponse();

            try
            {
                CreateMandateRequest obj = ser.Deserialize <CreateMandateRequest>(createMandateStr);
                if (obj != null)
                {
                    if (!string.IsNullOrEmpty(obj.BillerID) || !string.IsNullOrEmpty(obj.BillerName) || !string.IsNullOrEmpty(obj.BillerTransId) || !string.IsNullOrEmpty(obj.AcctName) || !string.IsNullOrEmpty(obj.AcctNumber) || !string.IsNullOrEmpty(obj.BankCode))
                    {
                        MandateLog mlog = new MandateLog()
                        {
                            AccountName   = obj.AcctName,
                            BankCode      = obj.BankCode,
                            AccountNumber = obj.AcctNumber,
                            BillerId      = obj.BillerID,
                            BillerName    = obj.BillerName,
                            BillerTransId = obj.BillerTransId,
                            DateCreated   = DateTime.Now,
                            HashValue     = obj.HashValue,
                            TransType     = obj.TransType
                        };

                        bool isSaved = MandateRepo.SaveMandate(mlog);

                        responseCode = isSaved ? ResponseCodeMap.Successful : ResponseCodeMap.UnknownError;

                        objResp = new CreateMandateResponse
                        {
                            AcctName      = obj.AcctName,
                            AcctNumber    = obj.AcctNumber,
                            BankCode      = obj.BankCode,
                            BillerID      = obj.BillerID,
                            BillerName    = obj.BillerName,
                            BillerTransId = obj.BillerTransId,
                            MandateCode   = isSaved ? mlog.MandateCode : "",
                            TransType     = obj.TransType,
                            ResponseCode  = responseCode
                        };
                    }
                    else
                    {
                        objResp = new CreateMandateResponse {
                            ResponseCode = ResponseCodeMap.InvalidXml
                        };
                    }
                }
                else
                {
                    objResp = new CreateMandateResponse {
                        ResponseCode = ResponseCodeMap.InvalidXml
                    };
                }
                xmlOutputData = ser.Serialize <CreateMandateResponse>(objResp);
            }
            catch (Exception e)
            {
                ExceptionLogRepo.SaveExceptionLog(e);
                xmlOutputData = ser.Serialize <CreateMandateResponse>(new CreateMandateResponse {
                    ResponseCode = ResponseCodeMap.InvalidXml
                });
            }
            DateTime responseTime = DateTime.Now;

            RequestResponseRepository.SaveRequestResponse("ASMX", createMandateStr, requestTime, "", xmlOutputData, responseTime);
            return(xmlOutputData);
        }