Esempio n. 1
0
        public string ProcessTradeInfoGetPostFormString(NewebpayTradeInfo tradeInfo)
        {
            var           request = ProcessTradeInfo(tradeInfo);
            StringBuilder s       = new StringBuilder();

            s.AppendFormat("<form name='form' action='{0}' method='post'>", _configService.NewebpayMpgGateway);
            foreach (var prop in request.GetType().GetProperties())
            {
                s.AppendFormat("<input type='hidden' name='{0}' value='{1}' />", prop.Name, prop.GetValue(request));
            }

            s.Append("</form>");

            return(s.ToString());
        }
Esempio n. 2
0
        public NewebpayRequest ProcessTradeInfo(NewebpayTradeInfo tradeInfo)
        {
            tradeInfo.MerchantID = string.IsNullOrEmpty(tradeInfo.MerchantID) ? _configService.MerchantId : tradeInfo.MerchantID;
            tradeInfo.Version    = string.IsNullOrEmpty(tradeInfo.Version) ? _configService.MpgVersion : tradeInfo.Version;
            var tradeInfoString    = tradeInfo.GetDataString();
            var hashKey            = _configService.HashKey;
            var hashIv             = _configService.HashIv;
            var aesTradeInfoString = HashService.EncryptAESHex(tradeInfoString, hashKey, hashIv);
            var request            = new NewebpayRequest()
            {
                MerchantID = tradeInfo.MerchantID,
                TradeInfo  = aesTradeInfoString,
                TradeSha   = GetTradeSha(aesTradeInfoString, hashKey, hashIv),
                Version    = tradeInfo.Version
            };

            return(request);
        }