private async Task <ValidationResponse <BusinessToCustomerResponse> > RequestValidatedPaymentAsync(BusinessToCustomerRequest businessToCustomerRequest) { var response = await tokenizedApiCaller .CallEndpoint <BusinessToCustomerResponse>( "mpesa/b2c/v1/paymentrequest", HttpMethod.Post, businessToCustomerRequest ); return(validationResponseHelper.SuccessValue(response)); }
public async Task <ValidationResponse <BusinessToCustomerResponse> > RequestPaymentAsync(BusinessToCustomerRequest businessToCustomerRequest) { if (businessToCustomerRequest != null) { businessToCustomerRequest.SecurityCredential = await credentialEncryptor.GetEncryptedCredentialsAsync(); } var validationReponse = await new BasicFormValidator <BusinessToCustomerRequest>() .ValidateAndPackAsync(businessToCustomerRequest); return(await validationResponseHelper.RouteResponseTypedAsync <BusinessToCustomerRequest, BusinessToCustomerResponse>( validationReponse, async (_) => await RequestValidatedPaymentAsync(businessToCustomerRequest) )); }