public async void LoadMoney_ThrowsException_OnInvalidCardNumber() { await this.SignIn(); var request = new LoadMoneyRequest(); request.PaymentDetails = new CardPayment() { PaymentType = PaymentType.Card, Card = new Card() { AccountHolderName = "Pearson Charles", CVV = "123", ExpiryDate = new CardExpiry() { Month = 12, Year = 2018 }, CardNumber = "123456789123", CardType = CardType.Debit } }; Assert.Throws <ArgumentException>(async() => await Wallet.LoadMoneyAsync(request)); }
public async void LoadMoney_ReturnsSuccess_OnValidNetBanking() { await this.SignIn(); var request = new LoadMoneyRequest(); request.BillAmount = amount; request.RedirectUrl = "http://yourwebsite.com/return_url.php"; request.UserDetails = userDetails; request.PaymentDetails = new NetBankingPayment() { PaymentType = PaymentType.NetBanking, NetBanking = new NetBanking() { Code = "CID002" } }; var result = await Wallet.LoadMoneyAsync(request); Assert.IsNotNull(result); Assert.IsNotNullOrEmpty(result.Code); Assert.IsNotNullOrEmpty(result.Status); }
private async void NetBanking_OnClick(object sender, RoutedEventArgs e) { try { LoadingBar.Visibility = Visibility.Visible; string BankCode = txtLoadBankCode.Text; Int32 orderAmount = 1; var request = new LoadMoneyRequest(); this.amount.Value = orderAmount; request.BillAmount = this.amount; request.RedirectUrl = ReturnURL; request.UserDetails = this.UserDetails; request.PaymentDetails = new NetBankingPayment() { PaymentType = PaymentType.NetBanking, NetBanking = new NetBanking() { Code = BankCode } }; var result = await Wallet.LoadMoneyAsync(request); if (result != null && !string.IsNullOrEmpty(result.RedirectUrl)) { LoadWebView(result.RedirectUrl); MessageBox.Show("Result Code:" + result.Code + ", Status: " + result.Status); } else { MessageBox.Show("Something went wrong"); } } catch (ServiceException exception) { MessageBox.Show(exception.Message); } catch (ArgumentException exception) { MessageBox.Show(exception.Message); } catch (UnauthorizedAccessException exception) { MessageBox.Show(exception.Message); } finally { LoadingBar.Visibility = Visibility.Collapsed; } }
private async void Token_OnClick(object sender, RoutedEventArgs e) { try { LoadingBar.Visibility = Visibility.Visible; var request = new LoadMoneyRequest(); this.amount.Value = 1; request.BillAmount = this.amount; request.RedirectUrl = ReturnURL; request.UserDetails = this.UserDetails; request.PaymentDetails = new TokenPayment() { PaymentType = PaymentType.Token, CVV = "000", TokenId = "acdb59d66d55bc95dc76a86b1b99387c" }; var result = await Wallet.LoadMoneyAsync(request); if (result != null && !string.IsNullOrEmpty(result.RedirectUrl)) { LoadWebView(result.RedirectUrl); MessageBox.Show("Result Code:" + result.Code + ", Status: " + result.Status); } else { MessageBox.Show("Something went wrong"); } } catch (ServiceException exception) { MessageBox.Show(exception.Message); } catch (ArgumentException exception) { MessageBox.Show(exception.Message); } catch (UnauthorizedAccessException exception) { MessageBox.Show(exception.Message); } finally { LoadingBar.Visibility = Visibility.Collapsed; } }
public static async Task <Transaction> LoadMoneyAsync(LoadMoneyRequest request) { await Session.GetTokenIfEmptyAsync(AuthTokenType.SignIn); if (Session.signInToken == null || string.IsNullOrEmpty(Session.signInToken.AccessToken)) { throw new UnauthorizedAccessException("User is not logged to perform this operation"); } var cardPayment = request.PaymentDetails as CardPayment; if (cardPayment != null && !Utility.PassesLuhnTest(cardPayment.Card.CardNumber)) { throw new ArgumentException("Invalid card number, Please provide a valid card detail"); } var prepaidBill = await GetPrepaidBillAsync( request.BillAmount.Value, request.BillAmount.CurrencyType, request.RedirectUrl); if (prepaidBill != null) { request.ReturnUrl = prepaidBill.ReturnUrl; request.NotifyUrl = prepaidBill.NotifyUrl; request.BillAmount = prepaidBill.BillAmount; request.MerchantAccessKey = prepaidBill.MerchantAccessKey; request.MerchantTransactionId = prepaidBill.MerchantTransactionId; request.Signature = prepaidBill.Signature; } RestWrapper rest = new RestWrapper(); var result = await rest.Post <Transaction>(Service.LoadMoney, AuthTokenType.SignIn, request, true); if (!(result is Error)) { return((Transaction)result); } Utility.ParseAndThrowError(((Error)result).Response); return(null); }
public async void LoadMoney_ReturnsSuccess_OnValidCard() { await this.SignIn(); var request = new LoadMoneyRequest(); request.BillAmount = amount; request.RedirectUrl = "http://yourwebsite.com/return_url.php"; request.UserDetails = userDetails; request.PaymentDetails = new CardPayment() { PaymentType = PaymentType.Card, Card = new Card() { AccountHolderName = "Pearson Charles", CVV = "123", ExpiryDate = new CardExpiry() { Month = 12, Year = 2018 }, CardNumber = "4242424242424242", CardType = CardType.Debit } }; var result = await Wallet.LoadMoneyAsync(request); Assert.IsNotNull(result); Assert.IsNotNullOrEmpty(result.Code); Assert.IsNotNullOrEmpty(result.Status); }
public async void LoadMoney_ReturnsSuccess_OnValidToken() { await this.SignIn(); var request = new LoadMoneyRequest(); request.BillAmount = amount; request.RedirectUrl = "http://yourwebsite.com/return_url.php"; request.UserDetails = userDetails; request.PaymentDetails = new TokenPayment() { PaymentType = PaymentType.Token, CVV = "000", TokenId = "acdb59d66d55bc95dc76a86b1b99387c" }; var result = await Wallet.LoadMoneyAsync(request); Assert.IsNotNull(result); Assert.IsNotNullOrEmpty(result.Code); Assert.IsNotNullOrEmpty(result.Status); }
private async void Card_OnClick(object sender, RoutedEventArgs e) { try { string AccountHolderName = txtcardAccountHolderName.Text; string CVV = txtcardCVV.Text; Int32 ExpiryMonth = Convert.ToInt32(txtcardExpiryMM.Text); Int32 ExpiryYear = Convert.ToInt32(txtcardExpiryYYYY.Text); string CardNumber = txtcardCardNumber.Text; string strCardType = txtcardCardType.Text; CardType objCardType; if (strCardType.ToLower() == "debit") { objCardType = CardType.Debit; } else if (strCardType.ToLower() == "credit") { objCardType = CardType.Credit; } else if (strCardType.ToLower() == "prepaid") { objCardType = CardType.Prepaid; } else { objCardType = CardType.UnKnown; } this.amount.Value = Convert.ToInt32(txtcardAmount.Text); this.UserDetails.Email = txtcardemailid.Text; this.UserDetails.MobileNo = txtcardmobile.Text; LoadingBar.Visibility = Visibility.Visible; var request = new LoadMoneyRequest(); request.BillAmount = this.amount; request.RedirectUrl = ReturnURL; request.UserDetails = this.UserDetails; request.PaymentDetails = new CardPayment() { PaymentType = PaymentType.Card, Card = new Card() { AccountHolderName = AccountHolderName, CVV = CVV, ExpiryDate = new CardExpiry() { Month = ExpiryMonth, Year = ExpiryYear }, CardNumber = CardNumber, CardType = objCardType } }; var result = await Wallet.LoadMoneyAsync(request); if (result != null && !string.IsNullOrEmpty(result.RedirectUrl)) { OpenWebView(result.RedirectUrl, ""); new MessageDialog("Result Code:" + result.Code + ", Status: " + result.Status).ShowAsync(); } else { new MessageDialog("Something went wrong").ShowAsync(); } } catch (ServiceException exception) { new MessageDialog(exception.Message).ShowAsync(); } catch (ArgumentException exception) { new MessageDialog(exception.Message).ShowAsync(); } catch (UnauthorizedAccessException exception) { new MessageDialog(exception.Message).ShowAsync(); } finally { LoadingBar.Visibility = Visibility.Collapsed; } }