private PaymentDataRequest CreatePaymentDataRequest()
        {
            try
            {
                var list = new List <Integer>
                {
                    (Integer)WalletConstants.CardNetworkAmex,
                    (Integer)WalletConstants.CardNetworkDiscover,
                    (Integer)WalletConstants.CardNetworkVisa,
                    (Integer)WalletConstants.CardNetworkMastercard
                };

                var currencyCode = ListUtils.SettingsSiteList?.StripeCurrency ?? "USD";

                PaymentDataRequest.Builder request = PaymentDataRequest.NewBuilder()
                                                     .SetTransactionInfo(TransactionInfo.NewBuilder()
                                                                         .SetTotalPriceStatus(WalletConstants.TotalPriceStatusFinal)
                                                                         .SetTotalPrice(Price)
                                                                         .SetCurrencyCode(currencyCode)
                                                                         .Build())
                                                     .AddAllowedPaymentMethod(WalletConstants.PaymentMethodCard)
                                                     .AddAllowedPaymentMethod(WalletConstants.PaymentMethodTokenizedCard)
                                                     .SetCardRequirements(CardRequirements.NewBuilder()
                                                                          .AddAllowedCardNetworks(list)
                                                                          .Build());

                request.SetPaymentMethodTokenizationParameters(CreateTokenizationParameters());
                return(request.Build());
            }
            catch (Exception e)
            {
                Console.WriteLine(e);
                return(null);
            }
        }
        /*
         *  POST http://localhost:4338/api/SpreadSheet/payment/update
         *
         *  request:
         *  {
         *      "rowId": "1234",
         *      "invoice": "1234A",
         *      "status": "SUCCESS",
         *      "amount": 200
         *  }
         */
        public int UpdatePaymentData([FromBody] PaymentDataRequest request)
        {
            var service = SpreadSheetServiceFactory.Produce();

            var rowNumbers = SpreadSheetServiceHelper.FindRowNumbers(service, request.RowId);

            var values = new List <object> {
                request.Status, request.Invoice, request.Amount
            };

            var result = 0;

            foreach (var rowNumber in rowNumbers)
            {
                var apiUpdateRequest = service.Spreadsheets.Values.Update(new ValueRange
                {
                    MajorDimension = "ROWS", // COLUMNS/ ROWS
                    Values         = new List <IList <object> > {
                        values
                    }
                }, AppConfig.SpreadSheetId, string.Format("Sheet1!I{0}", rowNumber)); // I2 = starting point

                apiUpdateRequest.ValueInputOption = SpreadsheetsResource.ValuesResource.UpdateRequest.ValueInputOptionEnum.RAW;
                var apiUpdateResponse = apiUpdateRequest.Execute();
                result += apiUpdateResponse.UpdatedColumns.HasValue? apiUpdateResponse.UpdatedColumns.Value : 0;
            }

            return(result);
        }
 public void ShowFragmentStripe()
 {
     try
     {
         PaymentDataRequest request = CreatePaymentDataRequest();
         if (request != null)
         {
             AutoResolveHelper.ResolveTask(MPaymentsClient.LoadPaymentData(request), this,
                                           LoadPaymentDataRequestCode);
         }
     }
     catch (Exception e)
     {
         Console.WriteLine(e);
     }
 }
 public void ShowFragmentStripe()
 {
     try
     {
         PaymentDataRequest request = CreatePaymentDataRequest();
         if (request != null)
         {
             AutoResolveHelper.ResolveTask(MPaymentsClient.LoadPaymentData(request), this,
                                           LoadPaymentDataRequestCode);
         }
     }
     catch (Exception e)
     {
         Methods.DisplayReportResultTrack(e);
     }
 }
Exemple #5
0
 public Task <PaymentData> LoadPaymentDataAsync(PaymentDataRequest paymentDataRequest)
 {
     return(LoadPaymentData(paymentDataRequest).AsAsync <PaymentData>());
 }