public Dtos.Payment.PaymentDto.Raven.FastDepositResponse DepositByRaven([FromBody] Dtos.Payment.PaymentDto.Raven.DepositReuest request) { Log.Info("Depositing by Raven"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Raven) .ValidateDeposit(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.Raven.FastDepositResponse { Code = validationResult.Value }); } try { var deposit = new PaymentDto.Raven.Deposit { CardHolderName = request.CardHolderName, Amount = request.Amount, CardType = request.CardType, CardNumber = request.CardNumber, Cvv = request.Cvv, ExpiryMonth = request.ExpiryMonth, ExpiryYear = request.ExpiryYear, CasinoUrl = request.CasinoUrl, DepositUrl = request.DepositUrl, CallBackUrl = request.CallbackUrl, BonusCode = string.IsNullOrEmpty(request.BonusCode) ? string.Empty : request.BonusCode.Trim(), ProductId = ProductMapping.Mappings[request.Product], SendTerms = request.SendTerms, IPAddress = _networkUtility.GetClientIPAddress(), Platform = string.IsNullOrEmpty(request.Platform) ? string.Empty : request.Platform }; var depositResult = _paymentApiProxy.DepositByRaven(CultureCode, _userContext.UserId, deposit); return(new Dtos.Payment.PaymentDto.Raven.FastDepositResponse { Code = ResponseCode.Pending3DSecure, PaymentAuthenticationRequest = depositResult.PaymentAuthenticationRequest, VerificationUrl = depositResult.VerificationUrl, TransactionId = depositResult.TransactionId }); } catch (DepositNotCompletedException ex) { Log.Error("Failed to deposit by Raven", ex); return(new Dtos.Payment.PaymentDto.Raven.FastDepositResponse { Code = ResponseCode.DepositNotCompleted, ErrorMessage = ex.Message }); } }
public Dtos.Payment.PaymentDto.Skrill.DepositResponse GetSkrillDepositUrl([FromUri] Dtos.Payment.PaymentDto.Skrill.DepositRequest request) { Log.Info("Depositing by Skrill"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Skrill) .ValidateDeposit(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.Skrill.DepositResponse { Code = validationResult.Value }); } var deposit = new PaymentDto.Skrill.Deposit { ProductId = ProductMapping.Mappings[request.Product], Amount = request.Amount, BonusCode = string.IsNullOrEmpty(request.BonusCode) ? string.Empty : request.BonusCode.Trim(), ReturnUrlPrefix = request.ReturnUrlPrefix, SendTerms = request.SendTerms, IPAddress = _networkUtility.GetClientIPAddress(), Platform = string.IsNullOrEmpty(request.Platform) ? string.Empty : request.Platform }; try { var resp = _paymentApiProxy.GetSkrillDepositUrl(CultureCode, _userContext.UserId, deposit); return(new Dtos.Payment.PaymentDto.Skrill.DepositResponse { Code = ResponseCode.Success, Url = resp.Uri, BonusResult = resp.BonusResult == null ? null : new Dtos.Payment.PaymentDto.Skrill.DepositResponse.FundInResult { ErrorCode = resp.BonusResult.ErrorCode, ErrorDetails = resp.BonusResult.ErrorDetails, TransactionCode = resp.BonusResult.TransactionCode, TransferResults = resp.BonusResult.TransferResults } }); } catch (DepositNotCompletedException ex) { Log.Error("Failed to get Skrill url", ex); return(new Dtos.Payment.PaymentDto.Skrill.DepositResponse { Code = ResponseCode.DepositNotCompleted, ErrorMessage = ex.Message }); } }
public Dtos.Payment.PaymentDto.Ukash.WithdrawalResponse WithdrawByUkash( [FromBody] Dtos.Payment.PaymentDto.Ukash.WithdrawalReuest request) { Log.Info("Withdrawing by Ukash"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Ukash) .ValidateWithdraw(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.Ukash.WithdrawalResponse { Code = validationResult.Value }); } try { var payload = new PaymentDto.Ukash.Withdrawal { Amount = request.Amount, IPAddress = _networkUtility.GetClientIPAddress(), }; var ukashRes = _paymentApiProxy.WithdrawByUkash(CultureCode, _userContext.UserId, payload); return(new Dtos.Payment.PaymentDto.Ukash.WithdrawalResponse { Code = ResponseCode.Success, TrackingNumber = ukashRes.TrackingNumber, UkashWithdrawReturn = ukashRes.UkashWithdrawReturn == null ? null : new Dtos.Payment.PaymentDto.Ukash.WithdrawalResponse.UkashWithdrawTransferResult { IssueVoucherCurrency = ukashRes.UkashWithdrawReturn.IssueVoucherCurrency, IssueVoucherExpiryDate = ukashRes.UkashWithdrawReturn.IssueVoucherExpiryDate, IssueVoucherNumber = ukashRes.UkashWithdrawReturn.IssueVoucherNumber, IssueVoucherValue = ukashRes.UkashWithdrawReturn.IssueVoucherValue, TrackingNumber = ukashRes.UkashWithdrawReturn.TrackingNumber, TransferResult = ukashRes.UkashWithdrawReturn.TransferResult, ErrorCode = ukashRes.UkashWithdrawReturn.ErrorCode } }); } catch (WithdrawalNotCompletedException ex) { Log.Error("Failed to withdraw by Ukash", ex); return(new Dtos.Payment.PaymentDto.Ukash.WithdrawalResponse { Code = ResponseCode.WithdrawalNotCompleted, ErrorMessage = ex.Message }); } }
public ApiResponse WithdrawByRaven([FromBody] Dtos.Payment.PaymentDto.Raven.WithdrawalRequest request) { Log.Info("Withdrawing by Raven"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Raven) .ValidateWithdraw(request); if (validationResult.HasValue) { return(new ApiResponse { Code = validationResult.Value }); } try { var payload = new PaymentDto.Raven.Withdrawal { CardNumber = request.CardNumber, Cvv = request.Cvv, ExpiryYear = request.ExpiryYear, ExpiryMonth = request.ExpiryMonth, Amount = request.Amount, IPAddress = _networkUtility.GetClientIPAddress(), }; _paymentApiProxy.WithdrawByRaven(CultureCode, _userContext.UserId, payload); return(new ApiResponse { Code = ResponseCode.Success }); } catch (WithdrawalNotCompletedException ex) { Log.Error("Failed to withdraw by Raven", ex); return(new Dtos.Payment.PaymentDto.Raven.WithdrawalResponse { Code = ResponseCode.WithdrawalNotCompleted, ErrorMessage = ex.Message }); } }
public ApiResponse WithdrawByWorldPay([FromBody] Dtos.Payment.PaymentDto.WorldPay.WithdrawalRequest request) { Log.Info("Withdrawing by WorldPay"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.WorldPay) .ValidateWithdraw(request); if (validationResult.HasValue) { return(new ApiResponse { Code = validationResult.Value }); } try { _paymentApiProxy.WithdrawByWorldPay(CultureCode, _userContext.UserId, new PaymentDto.WorldPay.Withdrawal { AccountName = request.CardHolderName, CardType = request.CardType, Amount = request.Amount, Cvv = request.Cvv, EncryptedCardNumber = request.EncryptedCardNumber, ExpiryMonth = request.ExpiryMonth, ExpiryYear = request.ExpiryYear, IPAddress = _networkUtility.GetClientIPAddress(), }); return(new ApiResponse { Code = ResponseCode.Success }); } catch (WithdrawalNotCompletedException ex) { Log.Error("Failed to withdraw by WorldPay", ex); return(new ApiResponse { Code = ResponseCode.WithdrawalNotCompleted, ErrorMessage = ex.Message }); } }
public ApiResponse WithdrawByNeteller([FromBody] Dtos.Payment.PaymentDto.Neteller.WithdrawalRequest request) { Log.Info("Withdrawing by Neteller"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Neteller) .ValidateWithdraw(request); if (validationResult.HasValue) { return(new ApiResponse { Code = validationResult.Value }); } try { _paymentApiProxy.WithdrawByNeteller(CultureCode, _userContext.UserId, new PaymentDto.Neteller.Withdrawal { AccountId = request.AccountId, Amount = request.Amount, IPAddress = _networkUtility.GetClientIPAddress() }); return(new ApiResponse { Code = ResponseCode.Success }); } catch (WithdrawalNotCompletedException ex) { Log.Error("Failed to withdraw by Neteller", ex); return(new ApiResponse { Code = ResponseCode.WithdrawalNotCompleted, ErrorMessage = ex.Message }); } }
public Dtos.Payment.PaymentDto.WorldPay.DepositResponse DepositUsingWorldPayFastPayCard([FromBody] Dtos.Payment.PaymentDto.WorldPay.FastPayRequest request) { Log.Info("Depositing by WorldPay FastPay"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.WorldPay) .ValidateDeposit(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = validationResult.Value }); } try { Log.Info("Deposit Using WorldPay Fast pay card."); var deposit = _paymentApiProxy.DepositByWorldPayFastPay(CultureCode, new PaymentDto.WorldPay.FastPay { PlayerId = request.PlayerId, Amount = request.Amount, BonusCode = string.IsNullOrEmpty(request.BonusCode) ? string.Empty : request.BonusCode.Trim(), GameId = ProductMapping.Mappings[request.Product], Cvv = request.Cvv, NeedSendBonusTerms = request.SendTerms, IPAddress = _networkUtility.GetClientIPAddress(), DepositUrl = request.DepositUrl, CasinoUrl = request.CasinoUrl, CallBackUrl = request.CallBackUrl, IsMobile = request.IsMobile, Platform = string.IsNullOrEmpty(request.Platform) ? string.Empty : request.Platform }); return(deposit.Pending3DSecure ? new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = ResponseCode.Pending3DSecure, PaymentAuthenticationRequest = deposit.PaymentAuthenticationRequest, TransactionId = deposit.TransactionId, VerificationUrl = deposit.VerificationUrl, } : new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = ResponseCode.Success, Payment = new PaymentModel { ReferenceNumber = deposit.TrackingNumber, Amount = deposit.DepositAmount, Balance = deposit.CurrentBalance, BonusResult = deposit.BonusResult == null ? null : new PaymentModel.BonusResultModel { ErrorCode = deposit.BonusResult.ErrorCode, ErrorDetails = deposit.BonusResult.ErrorDetails, TransactionCode = deposit.BonusResult.TransactionCode, TransferResults = deposit.BonusResult.TransferResults }, } }); } catch (FastPayNotCompletedException ex) { Log.Error("Failed to Deposit world pay using fast pay card info", ex); return(new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = ResponseCode.WorldPayDepositFastPayCardError, ErrorMessage = ex.Message }); } }
public Dtos.Payment.PaymentDto.WorldPay.DepositResponse DepositByWorldPay([FromBody] Dtos.Payment.PaymentDto.WorldPay.DepositRequest request) { Log.Info("Depositing by WorldPay"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.WorldPay) .ValidateDeposit(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = validationResult.Value }); } try { var deposit = _paymentApiProxy.DepositByWorldPay(CultureCode, _userContext.UserId, new PaymentDto.WorldPay.Deposit { CardHolderName = request.CardHolderName, CardType = request.CardType.ToString(), CardNumber = request.CardNumber, Amount = request.Amount, ExpireYear = request.ExpiryYear, ExpireMonth = request.ExpiryMonth, Cvv = request.Cvv, BonusCode = string.IsNullOrEmpty(request.BonusCode) ? string.Empty : request.BonusCode.Trim(), ProductId = ProductMapping.Mappings[request.Product], SendTerms = request.EmailTerms, DepositUrl = request.DepositUrl, CasinoUrl = request.CasinoUrl, CallbackUrl = request.CallbackUrl, IPAddress = _networkUtility.GetClientIPAddress(), isMobile = request.isMobile }); return(deposit.Pending3DSecure ? new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = ResponseCode.Pending3DSecure, PaymentAuthenticationRequest = deposit.PaymentAuthenticationRequest, TransactionId = deposit.TransactionId, VerificationUrl = deposit.VerificationUrl, } : new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = ResponseCode.Success, Payment = new PaymentModel { ReferenceNumber = deposit.TrackingNumber, Amount = deposit.DepositAmount, Balance = deposit.CurrentBalance, BonusResult = deposit.BonusResult == null ? null : new PaymentModel.BonusResultModel { ErrorCode = deposit.BonusResult.ErrorCode, ErrorDetails = deposit.BonusResult.ErrorDetails, TransactionCode = deposit.BonusResult.TransactionCode, TransferResults = deposit.BonusResult.TransferResults }, } }); } catch (DepositNotCompletedException ex) { Log.Error("Failed to deposit by WorldPay", ex); return(new Dtos.Payment.PaymentDto.WorldPay.DepositResponse { Code = ResponseCode.DepositNotCompleted, ErrorMessage = ex.Message }); } }
public Dtos.Payment.PaymentDto.Neteller.DepositResponse DepositByNeteller([FromBody] Dtos.Payment.PaymentDto.Neteller.DepositRequest request) { Log.Info("Depositing by Neteller"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Neteller) .ValidateDeposit(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.Neteller.DepositResponse { Code = validationResult.Value }); } try { var result = _paymentApiProxy.DepositByNeteller(CultureCode, _userContext.UserId, new PaymentDto.Neteller.Deposit { ProductId = ProductMapping.Mappings[request.Product], Amount = request.Amount, BonusCode = string.IsNullOrEmpty(request.BonusCode) ? string.Empty : request.BonusCode.Trim(), DepositUrl = request.DepositUrl, CasinoUrl = request.CasinoUrl, SendTerms = request.SendTerms, IPAddress = _networkUtility.GetClientIPAddress(), SecureId = request.SecureId, AccountId = request.AccountId, Platform = string.IsNullOrEmpty(request.Platform) ? string.Empty : request.Platform }); return(new Dtos.Payment.PaymentDto.Neteller.DepositResponse { Code = ResponseCode.Success, Payment = new PaymentModel { ReferenceNumber = result.TransactionId, Amount = result.DepositAmount, Balance = result.CurrentBalance, BonusResult = result.BonusResult == null ? null : new PaymentModel.BonusResultModel { ErrorCode = result.BonusResult.ErrorCode, ErrorDetails = result.BonusResult.ErrorDetails, TransactionCode = result.BonusResult.TransactionCode, TransferResults = result.BonusResult.TransferResults } } }); } catch (DepositNotCompletedException ex) { Log.Error("Failed to deposit by Neteller", ex); return(new Dtos.Payment.PaymentDto.Neteller.DepositResponse { Code = ResponseCode.DepositNotCompleted, ErrorMessage = ex.Message }); } }
public Dtos.Payment.PaymentDto.Ukash.DepositResponse DepositByUkash( [FromBody] Dtos.Payment.PaymentDto.Ukash.DepositReuest request) { Log.Info("Depositing by Ukash"); var validationResult = new PaymentValidator(_paymentApiProxy, CultureCode, _userContext.UserId, PaymentMethod.Ukash) .ValidateDeposit(request); if (validationResult.HasValue) { return(new Dtos.Payment.PaymentDto.Ukash.DepositResponse { Code = validationResult.Value }); } var payload = new PaymentDto.Ukash.Deposit { ProductId = ProductMapping.Mappings[request.Product], Amount = request.Amount, BonusCode = string.IsNullOrEmpty(request.BonusCode) ? string.Empty : request.BonusCode.Trim(), CasinoUrl = request.CasinoUrl, DepositUrl = request.DepositUrl, IPAddress = _networkUtility.GetClientIPAddress(), VoucherNumber = request.VoucherNumber, VoucherValue = request.VoucherValue, SendTerms = request.SendTerms }; try { var result = _paymentApiProxy.DepositByUkash(CultureCode, _userContext.UserId, payload); return(new Dtos.Payment.PaymentDto.Ukash.DepositResponse { Code = ResponseCode.Success, Payment = new PaymentModel { ReferenceNumber = result.UkashDepositReturn.TrackingNumber, Amount = result.UkashDepositReturn.Amount, Balance = result.UkashDepositReturn.CurrentAmount }, DepositResult = new Dtos.Payment.PaymentDto.Ukash.DepositResponse.UkashDepositReturn { Amount = result.UkashDepositReturn.Amount, ChangeVoucherCurrency = result.UkashDepositReturn.ChangeVoucherCurrency, ChangeVoucherExpiryDate = result.UkashDepositReturn.ChangeVoucherExpiryDate, ChangeVoucherNumber = result.UkashDepositReturn.ChangeVoucherNumber, ChangeVoucherValue = result.UkashDepositReturn.ChangeVoucherValue, CurrentAmount = result.UkashDepositReturn.CurrentAmount, ErrorCode = result.UkashDepositReturn.ErrorCode, TrackingNumber = result.UkashDepositReturn.TrackingNumber, TransactionCurrency = result.UkashDepositReturn.TransactionCurrency, TransactionId = result.UkashDepositReturn.TransactionId, TransferResult = result.UkashDepositReturn.TransferResult, TransactionStatusReturn = result.UkashDepositReturn.TransactionStatusReturn } }); } catch (DepositNotCompletedException ex) { Log.Error("Failed to deposit by Ukash", ex); return(new Dtos.Payment.PaymentDto.Ukash.DepositResponse { Code = ResponseCode.DepositNotCompleted, ErrorMessage = ex.Message }); } }