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 }
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); }