Mohamed HM Hadj Mokhtar Ответов: 2

Как я могу создать платежную страницу в своей платежной системе ?


I am working on an  payment system using mvc 5, And i almost finished a large part of the work such as the transfer of funds and the proportion of fees, etc.

But I'm having a problem now - the payment page for purchases from e-commerce sites,

And how a system api receives information from the customer, such as the price and account, and the name of merchant , That is, when the customer moves from the shopping cart to the payment page directly and the purchase information is converted to the payment confirmation page,
I tried to convert url information to the payment confirmation page but I did not succeed, and I hope to find help or code source  mvc5 with it and how to secure that page the transfer of this information.


Что я уже пробовал:

public class Transaction  
    {  
        [Key]  
        [DatabaseGenerated(DatabaseGeneratedOption.Identity)]  
        public int Id { get; set; }  
  
        //foreign key of eBankingUser  
        //hear userName will be assigned because GUID may not unique   
        [Required]  
        [Display(Name="User")]  
        public string UserId { get; set; }  
  
        //foreign key of transection table  
       // [Required]  
        public string OperationNumber { get; set; }  
  
                  
        [NotMapped]  
        public string CountryName { get; set; }  
  
        [NotMapped]  
        public string CurrencyISO { get; set; }  
  
        //[Required]  
        public int? PinId { get; set; }  
   //     public int? PinCode { get; set; }  
  
        //Local amount that is inserted to transfer or recharge or top up  
        public decimal? InsertedAmount { get; set; }  
  
        //USD  
        public decimal? AmountIN { get; set; }  
  
        //USD  
        public decimal? AmountOut { get; set; }  
  
          
        public int? RatePlanId { get; set; }  
  
        public int? Status { get; set; }  
  
        public DateTime? TransactionDate { get; set; }  
  
  
        [Display(Name = "Recepient User")]  
        public string ToUser { get; set; }  
  
        public string FromUser { get; set; }  
  
        public DateTime? UpdateDate { get; set; }  
  
        public string Remarks { get; set; }  
  
        [NotMapped]  
        public string ServiceName { get; set; }  
  
  
        [Display(Name="Reference")]  
        public string ReferenceId { get; set; }  
  
        [NotMapped]  
        public bool IsCheck { get; set; }  
        public DateTime? TimeOut { get; set; }  
        public bool IsTimeOut { get; set; }  
        public int ClientId { get; set; }  
        public int VendorId { get; set; }  
        public decimal? UserBalance { get; set; }  
         
    }  
  
//Repository  
 public bool CreditTransferDbEntry(Transaction tIn, Transaction tOut, string fromUser, string toUser)  
        {  
            ITransactionRepository transaction_repo = new TransactionRepository(db);  
            using(var contextTransaction = db.Database.BeginTransaction())  
            {  
                try  
                {  
                    var fee = tren_rep.GetById(1).MRP; /*ConstMessage.ConstFee_ID;*/  
                    tOut.UserBalance = transaction_repo.UserBalanceUpdate(fromUser, -(decimal)tOut.AmountOut);  
                    transaction_repo.Add(tOut);  
                    tIn.UserBalance = transaction_repo.UserBalanceUpdate(toUser, (decimal)tOut.AmountOut - ((decimal)tOut.AmountOut * ((decimal)fee /100)));  
                    transaction_repo.Add(tIn);  
                    //UserUpdate(fromUser);  
                    //UserUpdate(toUser);  
  
                    contextTransaction.Commit();  
                    return true;  
                }  
                catch (Exception)   
                {  
                    contextTransaction.Rollback();  
                }  
            }  
              
            return false;  
        }

2 Ответов

Рейтинг:
2

MadMyche

Ваш вопрос как бы повсюду объясняет, для какого типа сущности предназначен этот проект.

Как правило, единственная часть транзакций eComm, которая будет использовать AspNet и MVC wold, - это сам веб-сайт электронной коммерции. Их представление будет собирать информацию о форме и отправлять ее в действие контроллера для проверки модели, а затем связываться с платежным шлюзом.

Работа платежного шлюза заключается в том, чтобы выступать в качестве посредника между сайтом электронной коммерции и фактическим платежным процессором. Это связано с протоколами безопасности, которые в основном запрещают сайту eComm отправлять/получать детали транзакций непосредственно в платежный процессор.

Обработчик платежей выполняет основную работу по сбору информации о транзакциях, связывается с банком плательщиков и переводит платеж на торговый счет.

Так какая же часть тебя?


Mohamed HM Hadj Mokhtar

Как я понял, платежные системы, такие как PayPal или neteller, perfectmoney нуждаются в третьем брокере для проведения транзакций покупки между продавцом и клиентом и платежной системой ??

MadMyche

Да. Вам действительно нужно понять всю систему, прежде чем вы начнете выбрасывать код.

Mohamed HM Hadj Mokhtar

Поставщик платежных услуг (или поставщик платежных услуг) - это компания, которая управляет платежным шлюзом или услугами платежного процессора. В некоторых случаях платежный шлюз и платежный процессор объединяются в единую службу, известную под любым именем,
Именно это я и имел в виду.,
мой друг MadMyche,сайт был построен с точки зрения денежных переводов между счетами и снятия и пополнения счета с помощью pin-кода, но просто у меня есть проблема прямого программирования платежей с полностью коммерческих сайтов, таких как paypal, skrill или ect..
Я надеюсь найти от вас предложения по решению этой проблемы

MadMyche

Хотя это похоже на MVC [aradigm, вы должны сначала подумать о создании веб-сервиса или API.

Mohamed HM Hadj Mokhtar

Именно то, что я искал, поэтому я хочу знать, как информация передается со страницы покупки на сайтах электронной коммерции на страницу платежной системы и показывает эту информацию для подтверждения peossece покупки, используя json или xml,
спасибо за ваши ответы Мадмыч

MadMyche

Пожалуйста. Самый простой способ сделать такие проекты-посмотреть, как это делают конкуренты.

Рейтинг:
0

OriginalGriff

Никогда не принимайте код с неизвестного веб - сайта для чего-либо, связанного с реальными деньгами: вы не знаете источника, вы не знаете, что делает код, и вы будете нести личную ответственность за любые убытки, понесенные при небрежном использовании такого кода-и использование случайного кода, безусловно, будет рассматриваться как небрежность, если не мошенничество.

Получите такой код только от вашей компании платежных шлюзов: большинство из них полезны и имеют техническую поддержку, чтобы помочь вам встать и работать - хотя бы потому, что они не получают оплату, пока вы не находитесь в сети...


Mohamed HM Hadj Mokhtar

Спасибо OriginalGriff за ваш ответ, но я не знаю, понимаете ли вы мой вопрос. Я имею в виду, что я создаю платежную систему или электронный банкинг, моя проблема-это платежный шлюз или услуга поставщика платежей, которую я пытаюсь построить, но у меня не получилось, поэтому я пытаюсь обратиться за помощью.
Еще раз спасибо за ваш ответ.

OriginalGriff

Поговорите с вами Шлюзовая компания. Если вы получаете код из другого места, вы открываете себя для судебного иска...