示例#1
0
        static void Main(string[] args)
        {
            using (var client = Client.CreatePublic("https://api.independentreserve.com"))

            {
                var       orderBook = client.GetOrderBook(CurrencyCode.Xbt, CurrencyCode.Usd);
                BankOrder bankOrder = client.PlaceMarketOrder(CurrencyCode.Xbt, CurrencyCode.Usd, OrderType.MarketBid, 0.01m);
            }

            //DC.Providers.Stripe cc = new DC.Providers.Stripe();
            //cc.DoPayment("4645790048147002", 100, "Stephen", "Rowlison", "8/23 Gordon St", "Labrador", "4215", "QLD", "Australia", "0400826669", "04031964", "*****@*****.**", "Stephen Rowlison", "07", "17", "171", "AUD");

            //    DC.Providers.DigitalBTC dbtc = new DC.Providers.DigitalBTC();
//
            //    dbtc.GetSpotPrice(1, "USD");

            //float price = 1;
            // float amount = 1;
            //     dbtc.Order(price, amount);



            //node.AtmClient atm = new node.AtmClient();
            //atm.CreateOrder("1PmQQ6dUvbWDkrUHgSDobSTZjm8CYL9SA3", 0.001m);
        }
 public void PlaceLimitOrder()
 {
     using (var client = CreatePrivateClient())
     {
         BankOrder bankOrder = client.PlaceLimitOrder(CurrencyCode.Xbt, CurrencyCode.Usd, OrderType.LimitOffer, 500, 1);
         Assert.IsNotNull(bankOrder);
     }
 }
 public void PlaceMarketOrder()
 {
     using (var client = CreatePrivateClient())
     {
         BankOrder bankOrder = client.PlaceMarketOrder(CurrencyCode.Xbt, CurrencyCode.Usd, OrderType.MarketBid, 0.01m);
         Assert.IsNotNull(bankOrder);
     }
 }
        public void CancelOrder()
        {
            using (var client = CreatePrivateClient())
            {
                BankOrder bankOrder = client.PlaceLimitOrder(CurrencyCode.Xbt, CurrencyCode.Usd, OrderType.LimitOffer, 500, 1);
                Assert.IsNotNull(bankOrder);

                Assert.AreEqual(bankOrder.Status, OrderStatus.Open);

                bankOrder = client.CancelOrder(bankOrder.OrderGuid);

                Assert.IsNotNull(bankOrder);

                Assert.AreEqual(bankOrder.Status, OrderStatus.Cancelled);
            }
        }
示例#5
0
        public IHttpActionResult PayBank(JmPayParameter.Models.BanlModels mod)
        {
            Response json = new Response();
            string   ip   = ((System.Web.HttpContextWrapper)Request.Properties["MS_HttpContext"]).Request.UserHostAddress;

            try
            {
                Dictionary <string, string> dict = new Dictionary <string, string>();
                string pamentjson = "";
                #region 获取请求参数
                //获取下单请求的参数
                if (Request.Method == HttpMethod.Get)
                {
                    dict = Request.GetQueryNameValuePairs()
                           .ToDictionary(x => x.Key, x => x.Value, StringComparer.CurrentCultureIgnoreCase);
                    if (dict.Count > 0)
                    {
                        pamentjson = JMP.TOOL.JsonHelper.DictJsonstr(dict);
                        mod        = JMP.TOOL.JsonHelper.Deserialize <BanlModels>(pamentjson);
                    }
                }
                else if (Request.Method == HttpMethod.Post)
                {
                    pamentjson = JMP.TOOL.JsonHelper.Serialize(mod);
                }
                #endregion
                var strjson = "";
                if (mod != null && !string.IsNullOrEmpty(mod.code))
                {
                    #region 判断请求方式调用不同的方式解密
                    //判断请求方式(0为H5,1:sdk)根据不同的方式使用不同的方式解密
                    switch (mod.type)
                    {
                    case 0:     //H5模式
                        strjson = JMP.TOOL.Encrypt.IndexDecrypt(mod.code);
                        break;

                    case 1:     //SDK模式
                        strjson = JMP.TOOL.AesHelper.AesDecrypt(mod.code, ConfigurationManager.AppSettings["encryption"].ToString());
                        break;

                    default:
                        json = json.ToResponse(ErrorCode.Code9999);
                        return(Ok(json));
                    }
                    #endregion
                    var mode = JMP.TOOL.JsonHelper.Deserialize <PayBankModels>(strjson);
                    if (mode != null)
                    {
                        #region 根据参数信息调取对应的通道
                        //获取配置文件设置的缓存时间
                        int CacheTime = Int32.Parse(ConfigurationManager.AppSettings["CacheTime"].ToString());
                        JmPayParameter.BankOrder bankOrder = new BankOrder();
                        //调用预下单接口
                        var message = bankOrder.H5OrBankEntrance(mode, CacheTime, ip);
                        //判断是否成功(成功后返回)
                        if (message != null && message.Success == true && !string.IsNullOrEmpty(message.ExtraData.ToString()))
                        {
                            #region  单成功后根据关联平台和支付方式组装对应的返回数据格式
                            if (mode.paymode == 3 && message.IsJump)
                            {
                                //成功后跳转方式
                                return(Redirect(message.ExtraData.ToString()));
                            }
                            else if (mode.paymode == 3 && (mode.paytype == "7" || mode.paytype == "6"))
                            {
                                string jsonurl = JMP.TOOL.JsonHelper.Serialize(message.ExtraData);
                                Dictionary <string, object> exdata = JMP.TOOL.JsonHelper.DataRowFromJSON(jsonurl);
                                return(Redirect(exdata["ImgQRcode"].ToString()));
                            }
                            else
                            {
                                SuccessResponse sucee = new SuccessResponse();
                                sucee.ErrorCode = message.ErrorCode;
                                sucee.Message   = message.Message;
                                sucee.ExtraData = message.ExtraData;
                                return(Ok(sucee));
                            }
                            #endregion
                        }
                        else
                        {
                            json.ErrorCode = message.ErrorCode;
                            json.Message   = message.Message;
                        }
                        #endregion
                    }
                    else
                    {
                        json = json.ToResponse(ErrorCode.Code9999);
                    }
                }
                else
                {
                    json = json.ToResponse(ErrorCode.Code9999);
                }
            }
            catch (Exception e)
            {
                string bcxx = "报错提示" + e.ToString() + "报错对象:" + e.Source + "报错方法:" + e.TargetSite + "报错信息:" + e.ToString() + "报错位置:" + e.StackTrace + ",Model:" + JMP.TOOL.JsonHelper.Serialize(mod);//报错信息
                PayApiGlobalErrorLogger.Log("报错信息:" + bcxx, summary: "收银台和H5模式第二次请求发起支付接口PayBank错误信息");
                json = json.ToResponse(ErrorCode.Code103);
            }
            return(Ok(json));
        }