예제 #1
0
        public async Task <string> ChargeToken(string cardToken, string amount, string custid, string currency, string narration, Driver driver, string country = Countries.NIGERIA, string cardtype = "")
        {
            string      resource    = this.resources[driver.Env].Charge;
            ChargeToken chargeToken = new ChargeToken(amount, custid, currency, narration, cardToken, cardtype, country, driver.MerchantKey, driver.ApiKey);
            var         response    = await new Request(resource).MakeRequest(data: chargeToken, method: Verbs.POST);

            return(response);
        }
예제 #2
0
        public IActionResult AddCharge([FromBody] ChargeToken ChargeData)
        {
            if (ChargeData == null)
            {
                _log.Error(nameof(ChargeData).ToString() + "Cannot be null.");
                throw new ArgumentNullException(nameof(ChargeData), "Cannot be null.");
            }

            Charge        charge  = null;
            ChargeRequest request = new ChargeRequest();

            try
            {
                _log.Information("Adding charge to customer.");

                var openpayAPI = OpenPayHandler.GetOpenPayInstance();
                request.Method          = ChargeData.Method;
                request.SourceId        = ChargeData.SourceId;
                request.Amount          = new Decimal(ChargeData.Amount);
                request.Description     = ChargeData.Description;
                request.DeviceSessionId = ChargeData.DeviceSessionId;
                //request.Customer = customerCargo;

                charge = openpayAPI.ChargeService.Create(ChargeData.CustomerId, request);
            }



            catch (Exception ex)
            {
                _log.Error("Exception while adding charge." + ex.ToString());
                return(NotFound());
            }

            return(Ok(charge));
        }
예제 #3
0
 /// <summary>
 /// Execute new charge with Token (encrypted Card)
 /// </summary>
 /// <param name="token">Charge Token Object</param>
 /// <returns>Confirmation of the charge</returns>
 public dynamic Execute(ChargeToken token)
 {
     return(ApiRequest("charge/", token, Method.POST, typeof(ChargeTokenResponse)));
 }