/// <summary>Executes a POST request to the Off-Site Gateway API. </summary> /// <param name="checkoutRequest">A valid Dwolla checkout request.</param> /// <returns>Response by Dwolla. It is the callers responsibility to ensure the return object's Result property is 'Success'</returns> public virtual DwollaCheckoutResponse SendCheckoutRequest(DwollaCheckoutRequest checkoutRequest) { if (string.IsNullOrWhiteSpace(checkoutRequest.Key) || string.IsNullOrWhiteSpace(checkoutRequest.Secret)) { //this.ValidatorFactory.GetValidator<DwollaServerCheckoutApi>() // .ValidateAndThrow( this ); if (string.IsNullOrWhiteSpace(checkoutRequest.Key)) { } } checkoutRequest.Key = this.AppKey; if (string.IsNullOrWhiteSpace(checkoutRequest.Secret)) { checkoutRequest.Secret = this.AppSecret; } checkoutRequest.Test = this.TestMode; //this.ValidatorFactory.GetValidator<DwollaCheckoutRequest>() // .ValidateAndThrow( checkoutRequest ); return(ExecuteRestRequest(checkoutRequest)); }
/// <summary>Executes the Dwolla Checkout REST Request. This method can be overridden if you wish to use a different REST library to execute the actual request. </summary> protected virtual DwollaCheckoutResponse ExecuteRestRequest(DwollaCheckoutRequest checkoutRequest) { var client = new RestClient(RequestUrl); var req = new RestRequest("payment/request", Method.POST) { RequestFormat = DataFormat.Json } .AddBody(checkoutRequest); var res = client.Execute<DwollaCheckoutResponse>(req); if (res.ResponseStatus != ResponseStatus.Completed || res.StatusCode != HttpStatusCode.OK) return new DwollaCheckoutResponse { Result = DwollaCheckoutResponseResult.Failure, Message = "Non HTTP status code received." }; return res.Data; }
/// <summary>Executes a POST request to the Off-Site Gateway API. </summary> /// <param name="checkoutRequest">A valid Dwolla checkout request.</param> /// <returns>Response by Dwolla. It is the callers responsibility to ensure the return object's Result property is 'Success'</returns> public virtual DwollaCheckoutResponse SendCheckoutRequest(DwollaCheckoutRequest checkoutRequest) { if (string.IsNullOrWhiteSpace(checkoutRequest.Key) || string.IsNullOrWhiteSpace(checkoutRequest.Secret)) //this.ValidatorFactory.GetValidator<DwollaServerCheckoutApi>() // .ValidateAndThrow( this ); if (string.IsNullOrWhiteSpace(checkoutRequest.Key)) { } checkoutRequest.Key = this.AppKey; if (string.IsNullOrWhiteSpace(checkoutRequest.Secret)) checkoutRequest.Secret = this.AppSecret; checkoutRequest.Test = this.TestMode; //this.ValidatorFactory.GetValidator<DwollaCheckoutRequest>() // .ValidateAndThrow( checkoutRequest ); return ExecuteRestRequest(checkoutRequest); }
/// <summary>Executes the Dwolla Checkout REST Request. This method can be overridden if you wish to use a different REST library to execute the actual request. </summary> protected virtual DwollaCheckoutResponse ExecuteRestRequest(DwollaCheckoutRequest checkoutRequest) { var client = new RestClient(); var req = new RestRequest(RequestUrl, Method.POST) { RequestFormat = DataFormat.Json } .AddBody(checkoutRequest); var res = client.Execute <DwollaCheckoutResponse>(req); if (res.ResponseStatus != ResponseStatus.Completed || res.StatusCode != HttpStatusCode.OK) { return new DwollaCheckoutResponse { Result = DwollaCheckoutResponseResult.Failure, Message = "Non HTTP status code received." } } ; return(res.Data); }