public static Receipt AddCC(CreditCardDetail CCD, AvsInfo avsCheck, MonerisCCInput input)
        {
            var isTestMode = input.TestMode ?? false;

            var host = isTestMode ? "esqa.moneris.com" : "www3.moneris.com";

            var status_check = false;

            var resAddCC = new ResAddCC(CCD.CCNumber, CCD.ExpDate, CCD.CryptType);

            //resAddCC.SetAvsInfo(avsCheck);
            resAddCC.SetEmail(CCD.Email);
            resAddCC.SetPhone(CCD.Phone);
            resAddCC.SetNote(CCD.Note);

            var mpgReq = new HttpsPostRequest(host, input.StoreId, input.Key, resAddCC);

            mpgReq.SetProcCountryCode(CCD.ProcessingCountryCode);
            mpgReq.SetTestMode(isTestMode);             //false or comment out this line for production transactions
            mpgReq.SetStatusCheck(status_check);
            mpgReq.Send();

            /**********************   REQUEST  ************************/

            return(mpgReq.GetReceipt());
        }
Ejemplo n.º 2
0
 public async Task btn_Click(object sender, EventArgs e)
 {
     if (btn.Text != null)
     {
         CreditCardDAL creditCardDAL = new CreditCardDAL();
         var           credit        = creditCardDAL.Find(btn.Text);
         if (credit != null)
         {
             CreditCardDetail creditCardDetail = new CreditCardDetail();
             creditCardDetail.CreditCard = credit;
             await Navigation.PushAsync(creditCardDetail);
         }
     }
 }
Ejemplo n.º 3
0
        private async void List_ItemSelected(object sender, SelectedItemChangedEventArgs e)
        {
            var creditCard = e.SelectedItem as CreditCard;

            if (creditCard == null)
            {
                return;
            }
            CreditCardDetail creditCardDetail = new CreditCardDetail();

            creditCardDetail.CreditCard = creditCard;
            await Navigation.PushAsync(creditCardDetail);

            list.SelectedItem = null;
        }
Ejemplo n.º 4
0
 public async Task AddCreditCard(BillingInformation billdata, CreditCardDetail cc)
 {
     await rm.SendRequest("credit_cards", Method.POST, new { billing_information = billdata, credit_card_detail = cc });
 }
Ejemplo n.º 5
0
        public Task <PaymentOutput> MakePaymentAsync(MonerisCreditCardPaymentInput input, CancellationToken cancellationToken = default)
        {
            var response = new PaymentOutput();

            var CCD = new CreditCardDetail();

            CCD.CCNumber              = input.CreditCardNo;
            CCD.ExpDate               = input.CcExpMmYy;
            CCD.CryptType             = CreditCardConstants.CRYPTTYPE;
            CCD.ProcessingCountryCode = CreditCardConstants.COUNTRY_CODE_CA;

            // This is currently not used, it gets commented out in MonerisProcess.AddCC function:
            var avsCheck       = new AvsInfo();
            var address1_line1 = input.BillingLine1;

            avsCheck.SetAvsStreetNumber(address1_line1);

            var address1_line2 = input.BillingLine2;

            if (String.IsNullOrEmpty(address1_line2))
            {
                var strArray = address1_line1.Split(' ');
                if (strArray.Length > 1)
                {
                    avsCheck.SetAvsStreetName(strArray[1].ToString());
                }
            }
            else
            {
                avsCheck.SetAvsStreetName(address1_line2);
            }

            var address1_postalcode = input.BillingPostalCode;

            avsCheck.SetAvsZipCode(address1_postalcode);

            var monerisCCInput = new MonerisCCInput()
            {
                StoreId  = input.MonerisStoreId,
                Key      = input.ServiceKey,
                TestMode = input.IsTestMode,
                ServiceModeOptionSetId = input.ServiceModeOptionSetId
            };

            var addCCReceipt = MonerisProcess.AddCC(CCD, avsCheck, monerisCCInput);

            if (addCCReceipt == null)
            {
                return(Task.FromResult(response));
            }


            Int32.TryParse(addCCReceipt.GetResponseCode(), out var addCCResponseCode);

            if (addCCResponseCode != 0 && addCCResponseCode < 50)
            {
                var transaction = new TransactionDetail();

                transaction.DataKey               = addCCReceipt.GetDataKey();
                transaction.Amount                = String.Format("{0:0.00}", input.Amount);
                transaction.CryptType             = CreditCardConstants.CRYPTTYPE;
                transaction.ProcessingCountryCode = CreditCardConstants.COUNTRY_CODE_CA;
                transaction.StoreId               = input.MonerisStoreId;
                transaction.ApiKey                = input.ServiceKey;
                transaction.IsTestMode            = input.IsTestMode;

                var order_id = Guid.NewGuid().ToString();
                response.InvoiceNumber = order_id;
                transaction.Identifier = order_id;

                // If there is no auth id, get it from the added CC receipt:
                if (transaction.CustID == null)
                {
                    transaction.CustID = addCCReceipt.GetDataKey();
                }

                var transactionReceipt = MonerisProcess.PurchaseWithCC(transaction);

                if (transactionReceipt != null)
                {
                    Int32.TryParse(transactionReceipt.GetResponseCode(), out var responseCode);

                    if (responseCode != 0 && responseCode < 50)
                    {
                        response.IsSuccessful = true;
                    }
                    else if (responseCode == 0 || responseCode > 49)
                    {
                        response.IsSuccessful = false;
                    }

                    response.TransactionResult     = $"{transactionReceipt.GetMessage()} - Response Code: {responseCode}";
                    response.TransactionIdentifier = transactionReceipt.GetReferenceNum();
                    response.AuthToken             = transactionReceipt.GetDataKey();
                    response.CardType = transactionReceipt.GetCardType();
                }
            }
            else if (addCCResponseCode == 0 || addCCResponseCode > 49)
            {
                response.IsSuccessful      = false;
                response.TransactionResult = addCCReceipt.GetMessage();
            }

            return(Task.FromResult(response));
        }
Ejemplo n.º 6
0
 public async Task ActivateByCard(BillingInformation billdata, CreditCardDetail cc)
 {
     await rm.SendRequest("group/activate/by_card", Method.POST, new { billing_information = billdata, credit_card_detail = cc });
 }