public void preparePayParametersTest() { BeeCloud.registerApp("c5d1cba1-5e3f-4ba0-941d-9b0a371fe719", "39a7a518-9ac8-4a9e-87bc-7885f33cf18c", "e14ae2db-608c-4f8b-b863-c8c18953eef2", null); BCBill bill = new BCBill("ALI", 100, "10000000", "UT"); bill.optional = new Dictionary <string, string> { { "key1", "value1" }, { "key2", "value2" } }; Analysis anaylsis = new Analysis(); anaylsis.product = new List <Product>(); Product p1 = new Product(); p1.name = "apple"; p1.count = 10; p1.price = 1000; Product p2 = new Product(); p2.name = "pair"; p2.count = 2; p2.price = 2500; anaylsis.product.Add(p1); anaylsis.product.Add(p2); anaylsis.ip = "111.123.1.12"; bill.analysis = anaylsis; bill.returnUrl = "http://www.test.com"; bill.billTimeout = 360; string paraString = "\"channel\":\"ALI\",\"total_fee\":100,\"bill_no\":\"10000000\",\"title\":\"UT\",\"return_url\":\"http://www.test.com\",\"bill_timeout\":360,\"openid\":null,\"show_url\":null,\"qr_pay_mode\":null,\"identity_id\":null,\"optional\":{\"key1\":\"value1\",\"key2\":\"value2\"},\"analysis\":{\"product\":[{\"name\":\"apple\",\"count\":10,\"price\":1000},{\"name\":\"pair\",\"count\":2,\"price\":2500}],\"ip\":\"111.123.1.12\"},\"bc_analysis\":{\"sdk_version\":\"2.8.0\"}}"; string actual = BCPay.preparePayParameters(bill); Assert.IsTrue(actual.Contains(paraString)); }
public void handleWXQrcodePayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.WX_NATIVE.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); string respString = "{\"result_msg\":\"OK\",\"code_url\":\"weixin://wxpay/bizpayurl?pr=TtAYx12\",\"resultCode\":0,\"errMsg\":\"OK:\",\"err_detail\":\"\",\"result_code\":0,\"id\":\"99f2c898-56e7-451a-8984-f077e0688033\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.codeURL); }
public void handleUNWebPayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.UN_WEB.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); bill.returnUrl = "http://localhost:50003/return_un_url.aspx"; string respString = "{\"result_msg\":\"OK\",\"resultCode\":0,\"errMsg\":\"OK:\",\"err_detail\":\"\",\"result_code\":0,\"html\":\"<html><head><meta http-equiv=\\\"Content-Type\\\" content=\\\"text/html; charset=UTF-8\\\"/></head><body><form id = \\\"pay_form\\\" action=\\\"https://gateway.95516.com/gateway/api/frontTransReq.do\\\" method=\\\"post\\\"><input type=\\\"hidden\\\" name=\\\"bizType\\\" id=\\\"bizType\\\" value=\\\"000201\\\"/><input type=\\\"hidden\\\" name=\\\"orderId\\\" id=\\\"orderId\\\" value=\\\"4c8ae26558b0415491fbf97e6023671c\\\"/><input type=\\\"hidden\\\" name=\\\"backUrl\\\" id=\\\"backUrl\\\" value=\\\"http://123.57.71.81:8080/1/pay/callback/UNWeb/c37d661d-7e61-49ea-96a5-68c34e83db3b/d020f6b8-b35f-41a3-b4a8-780846c03725\\\"/><input type=\\\"hidden\\\" name=\\\"txnSubType\\\" id=\\\"txnSubType\\\" value=\\\"01\\\"/><input type=\\\"hidden\\\" name=\\\"signature\\\" id=\\\"signature\\\" value=\\\"Qtc3jybIFV+SYRN2cXPvMx2qZN5hMP+5xr+6IafLID7PNUQamCRrpQ3quygRrm8kiRmpF5/ddwdiNmoLuCb91zkCs24pYZfAUB2TDPnWlgI8QQTyUfa0W8USybwSj1WTfvLpeOL4A2Eawgl35xPaxB4MslQGl2dilOc/MnT8RCn7+bo84XGeCcj+n4OXJvvZK+M7k5sBn1slEm+WqAuy95C8esrjnIRSjq0vc62z/zzhjrPXXE0MXVrUHBQTiKRUn9RwnAq24PzFVaalNQgFCJetXw2MZPQCIWedzQ6TwlyPE34aCOBf0ivtHGxhRhC7b2AG00xoFyHzkB5ArHlMVw==\\\"/><input type=\\\"hidden\\\" name=\\\"frontUrl\\\" id=\\\"frontUrl\\\" value=\\\"http://localhost:50003/return_un_url.aspx\\\"/><input type=\\\"hidden\\\" name=\\\"txnType\\\" id=\\\"txnType\\\" value=\\\"01\\\"/><input type=\\\"hidden\\\" name=\\\"channelType\\\" id=\\\"channelType\\\" value=\\\"08\\\"/><input type=\\\"hidden\\\" name=\\\"certId\\\" id=\\\"certId\\\" value=\\\"69363599447\\\"/><input type=\\\"hidden\\\" name=\\\"encoding\\\" id=\\\"encoding\\\" value=\\\"UTF-8\\\"/><input type=\\\"hidden\\\" name=\\\"version\\\" id=\\\"version\\\" value=\\\"5.0.0\\\"/><input type=\\\"hidden\\\" name=\\\"accessType\\\" id=\\\"accessType\\\" value=\\\"0\\\"/><input type=\\\"hidden\\\" name=\\\"txnTime\\\" id=\\\"txnTime\\\" value=\\\"20151222155314\\\"/><input type=\\\"hidden\\\" name=\\\"merId\\\" id=\\\"merId\\\" value=\\\"898320548160217\\\"/><input type=\\\"hidden\\\" name=\\\"currencyCode\\\" id=\\\"currencyCode\\\" value=\\\"156\\\"/><input type=\\\"hidden\\\" name=\\\"orderDesc\\\" id=\\\"orderDesc\\\" value=\\\"dotNet自来水\\\"/><input type=\\\"hidden\\\" name=\\\"txnAmt\\\" id=\\\"txnAmt\\\" value=\\\"1\\\"/><input type=\\\"hidden\\\" name=\\\"signMethod\\\" id=\\\"signMethod\\\" value=\\\"01\\\"/></form></body><script type=\\\"text/javascript\\\">document.all.pay_form.submit();</script></html>\",\"id\":\"d020f6b8-b35f-41a3-b4a8-780846c03725\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.html); }
public void handleYeePayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.YEE_WEB.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); bill.returnUrl = "http://localhost:50003/return_yee_url.aspx"; string respString = "{\"result_msg\":\"OK\",\"resultCode\":0,\"errMsg\":\"OK:\",\"err_detail\":\"\",\"result_code\":0,\"html\":\"<form name=\\\"yeepay\\\" action=\\\"https://www.yeepay.com/app-merchant-proxy/node\\\" method=\\\"POST\\\"><input type=\\\"hidden\\\" name=\\\"p4_Cur\\\" value=\\\"CNY\\\"/><input type=\\\"hidden\\\" name=\\\"p0_Cmd\\\" value=\\\"Buy\\\"/><input type=\\\"hidden\\\" name=\\\"p3_Amt\\\" value=\\\"0.01\\\"/><input type=\\\"hidden\\\" name=\\\"pa_MP\\\" value=\\\"c37d661d-7e61-49ea-96a5-68c34e83db3b%3A41695744-f7f7-4926-8eee-2d5dfb745af0\\\"/><input type=\\\"hidden\\\" name=\\\"p2_Order\\\" value=\\\"9572742753bf43298eef21a1579dc9c1\\\"/><input type=\\\"hidden\\\" name=\\\"p5_Pid\\\" value=\\\"dotNet%D7%D4%C0%B4%CB%AE\\\"/><input type=\\\"hidden\\\" name=\\\"hmac\\\" value=\\\"972dd9930d6e34d959886339b6a7f349\\\"/><input type=\\\"hidden\\\" name=\\\"p8_Url\\\" value=\\\"http%3A%2F%2Flocalhost%3A50003%2Freturn_yee_url.aspx\\\"/><input type=\\\"hidden\\\" name=\\\"p1_MerId\\\" value=\\\"10012506312\\\"/></form><script>document.yeepay.submit();</script>\",\"id\":\"41695744-f7f7-4926-8eee-2d5dfb745af0\",\"url\":\"https://www.yeepay.com/app-merchant-proxy/node?p4_Cur=CNY&p0_Cmd=Buy&p3_Amt=0.01&pa_MP=c37d661d-7e61-49ea-96a5-68c34e83db3b%3A41695744-f7f7-4926-8eee-2d5dfb745af0&p2_Order=9572742753bf43298eef21a1579dc9c1&p5_Pid=dotNet%D7%D4%C0%B4%CB%AE&hmac=972dd9930d6e34d959886339b6a7f349&p8_Url=http%3A%2F%2Flocalhost%3A50003%2Freturn_yee_url.aspx&p1_MerId=10012506312\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.url); }
public void handleAliWebPayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.ALI_WEB.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); bill.returnUrl = "http://*****:*****@beecloud.cn\\\"/><input type=\\\"hidden\\\" name=\\\"subject\\\" value=\\\"dotNet自来水\\\"/><input type=\\\"hidden\\\" name=\\\"_input_charset\\\" value=\\\"utf-8\\\"/><input type=\\\"hidden\\\" name=\\\"sign\\\" value=\\\"6b69e7e8b890b0f2e5ba282028d583a3\\\"/><input type=\\\"hidden\\\" name=\\\"notify_url\\\" value=\\\"http://payservice.beecloud.cn/bcpay/aliPayDynamic/c37d661d-7e61-49ea-96a5-68c34e83db3b_06e5647b-f5f2-4697-aba9-e2bb05608aa8.php\\\"/><input type=\\\"hidden\\\" name=\\\"payment_type\\\" value=\\\"1\\\"/><input type=\\\"hidden\\\" name=\\\"out_trade_no\\\" value=\\\"64a054f5ae0841188f077172b54dedf9\\\"/><input type=\\\"hidden\\\" name=\\\"partner\\\" value=\\\"2088711322600312\\\"/><input type=\\\"hidden\\\" name=\\\"service\\\" value=\\\"create_direct_pay_by_user\\\"/><input type=\\\"hidden\\\" name=\\\"total_fee\\\" value=\\\"0.01\\\"/><input type=\\\"hidden\\\" name=\\\"return_url\\\" value=\\\"http://*****:*****@beecloud.cn&subject=dotNet自来水&_input_charset=utf-8&sign=6b69e7e8b890b0f2e5ba282028d583a3¬ify_url=http://payservice.beecloud.cn/bcpay/aliPayDynamic/c37d661d-7e61-49ea-96a5-68c34e83db3b_06e5647b-f5f2-4697-aba9-e2bb05608aa8.php&payment_type=1&out_trade_no=64a054f5ae0841188f077172b54dedf9&partner=2088711322600312&service=create_direct_pay_by_user&total_fee=0.01&return_url=http://localhost:50003/return_ali_url.aspx&exter_invoke_ip=112.86.54.108&sign_type=MD5\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.url); Assert.IsNotNull(actual.html); }
public void handleAliWapPayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.ALI_WAP.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); bill.returnUrl = "http://localhost:50003/return_ali_url.aspx"; string respString = "{\"result_msg\":\"OK\",\"resultCode\":0,\"errMsg\":\"OK:\",\"err_detail\":\"\",\"result_code\":0,\"html\":\"<form id=\\\"alipaysubmit\\\" name=\\\"alipaysubmit\\\" action=\\\"https://mapi.alipay.com/gateway.do?_input_charset=utf-8\\\" method=\\\"get\\\"><input type=\\\"hidden\\\" name=\\\"payment_type\\\" value=\\\"1\\\"/><input type=\\\"hidden\\\" name=\\\"out_trade_no\\\" value=\\\"370e678e72d04d139d1e623453f9aa1a\\\"/><input type=\\\"hidden\\\" name=\\\"partner\\\" value=\\\"2088711322600312\\\"/><input type=\\\"hidden\\\" name=\\\"subject\\\" value=\\\"dotNet自来水\\\"/><input type=\\\"hidden\\\" name=\\\"_input_charset\\\" value=\\\"utf-8\\\"/><input type=\\\"hidden\\\" name=\\\"service\\\" value=\\\"alipay.wap.create.direct.pay.by.user\\\"/><input type=\\\"hidden\\\" name=\\\"total_fee\\\" value=\\\"0.01\\\"/><input type=\\\"hidden\\\" name=\\\"sign\\\" value=\\\"045d7ede0af92f78fd334b726f171465\\\"/><input type=\\\"hidden\\\" name=\\\"return_url\\\" value=\\\"http://localhost:50003/return_ali_url.aspx\\\"/><input type=\\\"hidden\\\" name=\\\"notify_url\\\" value=\\\"http://payservice.beecloud.cn/bcpay/aliPayDynamic/c37d661d-7e61-49ea-96a5-68c34e83db3b_d136a0ca-2be9-4ba7-b5e4-d8293e53bea1.php\\\"/><input type=\\\"hidden\\\" name=\\\"sign_type\\\" value=\\\"MD5\\\"/><input type=\\\"hidden\\\" name=\\\"seller_id\\\" value=\\\"2088711322600312\\\"/><input type=\\\"submit\\\" value=\\\"确认\\\" style=\\\"display:none;\\\"></form><script>document.forms['alipaysubmit'].submit();</script>\",\"id\":\"d136a0ca-2be9-4ba7-b5e4-d8293e53bea1\",\"url\":\"https://mapi.alipay.com/gateway.do?_input_charset=utf-8&payment_type=1&out_trade_no=370e678e72d04d139d1e623453f9aa1a&partner=2088711322600312&subject=dotNet自来水&_input_charset=utf-8&service=alipay.wap.create.direct.pay.by.user&total_fee=0.01&sign=045d7ede0af92f78fd334b726f171465&return_url=http://localhost:50003/return_ali_url.aspx¬ify_url=http://payservice.beecloud.cn/bcpay/aliPayDynamic/c37d661d-7e61-49ea-96a5-68c34e83db3b_d136a0ca-2be9-4ba7-b5e4-d8293e53bea1.php&sign_type=MD5&seller_id=2088711322600312\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.url); Assert.IsNotNull(actual.html); }
public void handleAliQrcodePayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.ALI_QRCODE.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); bill.qrPayMode = "0"; bill.returnUrl = "http://*****:*****@beecloud.cn\\\"/><input type=\\\"hidden\\\" name=\\\"subject\\\" value=\\\"dotNet自来水\\\"/><input type=\\\"hidden\\\" name=\\\"_input_charset\\\" value=\\\"utf-8\\\"/><input type=\\\"hidden\\\" name=\\\"sign\\\" value=\\\"8216a45e51f576cfd6a38f8c8576663a\\\"/><input type=\\\"hidden\\\" name=\\\"notify_url\\\" value=\\\"http://payservice.beecloud.cn/bcpay/aliPayDynamic/c37d661d-7e61-49ea-96a5-68c34e83db3b_c4dee3ef-69a1-4cfc-8faa-32c0b0b7c4fc.php\\\"/><input type=\\\"hidden\\\" name=\\\"qr_pay_mode\\\" value=\\\"0\\\"/><input type=\\\"hidden\\\" name=\\\"payment_type\\\" value=\\\"1\\\"/><input type=\\\"hidden\\\" name=\\\"out_trade_no\\\" value=\\\"0548650a2b8e4a5bb2ee4bba56c6fb0c\\\"/><input type=\\\"hidden\\\" name=\\\"partner\\\" value=\\\"2088711322600312\\\"/><input type=\\\"hidden\\\" name=\\\"service\\\" value=\\\"create_direct_pay_by_user\\\"/><input type=\\\"hidden\\\" name=\\\"total_fee\\\" value=\\\"0.01\\\"/><input type=\\\"hidden\\\" name=\\\"return_url\\\" value=\\\"http://*****:*****@beecloud.cn&subject=dotNet自来水&_input_charset=utf-8&sign=8216a45e51f576cfd6a38f8c8576663a¬ify_url=http://payservice.beecloud.cn/bcpay/aliPayDynamic/c37d661d-7e61-49ea-96a5-68c34e83db3b_c4dee3ef-69a1-4cfc-8faa-32c0b0b7c4fc.php&qr_pay_mode=0&payment_type=1&out_trade_no=0548650a2b8e4a5bb2ee4bba56c6fb0c&partner=2088711322600312&service=create_direct_pay_by_user&total_fee=0.01&return_url=http://localhost:50003/return_ali_url.aspx&exter_invoke_ip=112.86.54.108&sign_type=MD5\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.url); Assert.IsNotNull(actual.html); }
public void handleJSAPIPayResultTest() { BCBill bill = new BCBill(BCPay.PayChannel.WX_JSAPI.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); string respString = "{\"result_msg\":\"OK\",\"resultCode\":0,\"errMsg\":\"OK:\",\"err_detail\":\"\",\"result_code\":0,\"id\":\"41695744-f7f7-4926-8eee-2d5dfb745af0\",\"app_id\": \"wxa4ca6ed13385\",\"timestamp\": \"1450771041\", \"nonce_str\": \"znjsj7mw98q1drn251arrr30gq5gz0b1\", \"package\": \"prepay_id=wx20151222155721c70baa1e680187231678\", \"sign_type\": \"MD5\", \"pay_sign\": \"1E58DA3043C3D80AEC7A51B99E32\"}"; BCBill actual = BCPay.handlePayResult(respString, bill); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.timestamp); Assert.IsNotNull(actual.noncestr); Assert.IsNotNull(actual.package); Assert.IsNotNull(actual.paySign); Assert.IsNotNull(actual.signType); }
public void handlePayQueryByIdResultTest() { string respString = "{\"result_msg\":\"OK\",\"err_detail\":\"\",\"count\":10,\"result_code\":0,\"pay\":{\"coupon_id\":null,\"create_time\":1450775961675,\"channel\":\"ALI\",\"bill_no\":\"b91d4b1efbfb2c0c4ace\",\"optional\":\"{\\\"optionalKey1\\\":\\\"optionalValue1\\\",\\\"optionalKey2\\\":\\\"optionalValue2\\\"}\",\"revert_result\":false,\"title\":\"测试通过APICloud支付宝调用\",\"spay_result\":true,\"total_fee\":1,\"bill_fee\":1,\"discount\":1,\"trade_no\":\"2015122221001004460089671321\",\"id\":\"379f118e-d8a5-45d3-9a3f-6278a1365fb4\",\"sub_channel\":\"ALI_APP\",\"message_detail\":\"{\\\"bc_appid\\\":\\\"c37d661d-7e61-49ea-96a5-68c34e83db3b_379f118e-d8a5-45d3-9a3f-6278a1365fb4\\\",\\\"discount\\\":\\\"0.00\\\",\\\"payment_type\\\":\\\"1\\\",\\\"subject\\\":\\\"测试通过APICloud支付宝调用\\\",\\\"trade_no\\\":\\\"2015122221001004460089671321\\\",\\\"buyer_email\\\":\\\"[email protected]\\\",\\\"gmt_create\\\":\\\"2015-12-22 17:19:37\\\",\\\"notify_type\\\":\\\"trade_status_sync\\\",\\\"quantity\\\":\\\"1\\\",\\\"out_trade_no\\\":\\\"b91d4b1efbfb2c0c4ace\\\",\\\"seller_id\\\":\\\"2088711322600312\\\",\\\"notify_time\\\":\\\"2015-12-22 17:19:37\\\",\\\"trade_status\\\":\\\"TRADE_SUCCESS\\\",\\\"is_total_fee_adjust\\\":\\\"N\\\",\\\"total_fee\\\":\\\"0.01\\\",\\\"gmt_payment\\\":\\\"2015-12-22 17:19:37\\\",\\\"seller_email\\\":\\\"[email protected]\\\",\\\"price\\\":\\\"0.01\\\",\\\"buyer_id\\\":\\\"2088902348242460\\\",\\\"notify_id\\\":\\\"340039c8939c024c7288cb7d105664ejjs\\\",\\\"use_coupon\\\":\\\"N\\\",\\\"sign_type\\\":\\\"RSA\\\",\\\"sign\\\":\\\"cYbY+l42o+SDZ7eaAZnBN2Ueo98fNgitVjz9vRzfZ32bb/jUG1rNrTN0u5Pc3jAqn0ol5NrS1Mt9YaNkqh8zjSTLURIDaEr81If3jgUd3B3ihCnWG+7oCyF32gEf7Touxu/0/lp4DIRHTUV2S484ryLGtRkI8Ww2K3XSdhqeERo=\\\"}\",\"refund_result\":false}}"; BCBill actual = BCPay.handlePayQueryByIdResult(respString); Assert.IsNotNull(actual.id); Assert.IsNotNull(actual.title); Assert.IsNotNull(actual.totalFee); Assert.IsNotNull(actual.billNo); Assert.IsNotNull(actual.result); Assert.IsNotNull(actual.channel); Assert.IsNotNull(actual.tradeNo); Assert.IsNotNull(actual.optional); Assert.IsNotNull(actual.messageDetail); Assert.IsNotNull(actual.revertResult); Assert.IsNotNull(actual.refundResult); }
protected void Page_Load(object sender, EventArgs e) { if (!IsPostBack) { JsApiPay jsApiPay = new JsApiPay(this); try { //调用【网页授权获取用户信息】接口获取用户的openid和access_token jsApiPay.appid = appid; jsApiPay.appsecret = "53e3943476118a3dff21fb95848de6d7"; jsApiPay.GetOpenidAndAccessToken(); //ViewState["openid"] = jsApiPay.openid; Response.Write(jsApiPay.openid); BCBill bill = new BCBill(BCPay.PayChannel.WX_JSAPI.ToString(), 1, BCUtil.GetUUID(), "dotNet自来水"); bill.openId = jsApiPay.openid; try { BCBill resultBill = BCPay.BCPayByChannel(bill); timeStamp = resultBill.timestamp; noncestr = resultBill.noncestr; package = resultBill.package; paySign = resultBill.paySign; signType = resultBill.signType; } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } catch (Exception ex) { Response.Write("<span style='color:#FF0000;font-size:20px'>" + "页面加载出错,请重试" + ex.Message + "</span>"); } } }
/// <summary> /// 支付订单查询 /// </summary> /// <param name="channel">渠道类型 /// 选填 /// 可以通过enum BCPay.QueryChannel获取 /// channel的参数值含义: /// WX: 微信所有类型支付 /// WX_APP: 微信手机APP支付 /// WX_NATIVE: 微信公众号二维码支付 /// WX_JSAPI: 微信公众号支付 /// ALI: 支付宝所有类型支付 /// ALI_APP: 支付宝APP支付 /// ALI_WEB: 支付宝网页支付 /// ALI_QRCODE: 支付宝内嵌二维码支付 /// UN: 银联所有类型支付 /// UN_APP: 银联APP支付 /// UN_WEB: 银联网页支付 /// 注意:不传channel也能查询的前提是保证所有渠道所有订单号不同,如果出现两个订单号重复,会报错提示传入channel进行区分 /// </param> /// <param name="billNo">商户订单号 /// </param> /// <param name="startTime">起始时间 /// 毫秒时间戳, 13位, 可以使用BCUtil.GetTimeStamp()方法获取 /// 选填 /// </param> /// <param name="endTime">结束时间 /// 毫秒时间戳, 13位, 可以使用BCUtil.GetTimeStamp()方法获取 /// 选填 /// </param> /// <param name="skip">查询起始位置 /// 默认为0。设置为10表示忽略满足条件的前10条数据 /// 选填 /// </param> /// <param name="limit">查询的条数 /// 默认为10,最大为50。设置为10表示只返回满足条件的10条数据 /// 选填 /// </param> /// <returns></returns> public static BCPayQueryResult BCPayQueryByCondition(string channel, string billNo, long?startTime, long?endTime, int?skip, int?limit) { Random random = new Random(); string payQueryUrl = BCPrivateUtil.mLocalDefaultHosts[random.Next(0, 4)] + BCConstants.version + BCConstants.billsURL; long timestamp = BCUtil.GetTimeStamp(DateTime.Now); JsonData data = new JsonData(); data["app_id"] = BCCache.Instance.appId; data["app_sign"] = BCPrivateUtil.getAppSignature(BCCache.Instance.appId, BCCache.Instance.appSecret, timestamp.ToString()); data["timestamp"] = timestamp; data["channel"] = channel; data["bill_no"] = billNo; data["start_time"] = startTime; data["end_time"] = endTime; data["skip"] = skip; data["limit"] = limit; string paraString = data.ToJson(); try { string url = payQueryUrl + "?para=" + HttpUtility.UrlEncode(paraString, Encoding.UTF8); HttpWebResponse response = BCPrivateUtil.CreateGetHttpResponse(url, BCCache.Instance.networkTimeout, null, null); string respString = BCPrivateUtil.GetResponseString(response); JsonData responseData = JsonMapper.ToObject(respString); BCPayQueryResult result = new BCPayQueryResult(); result.resultCode = int.Parse(responseData["result_code"].ToString()); result.resultMsg = responseData["result_msg"].ToString(); if (result.resultCode == 0) { result.count = int.Parse(responseData["count"].ToString()); if (responseData["bills"].IsArray) { List <BCBill> bills = new List <BCBill>(); foreach (JsonData billData in responseData["bills"]) { BCBill bill = new BCBill(); bill.title = billData["title"].ToString(); bill.totalFee = int.Parse(billData["total_fee"].ToString()); bill.createdTime = BCUtil.GetDateTime((long)billData["created_time"]); bill.billNo = billData["bill_no"].ToString(); bill.result = (bool)billData["spay_result"]; bill.channel = billData["channel"].ToString(); bills.Add(bill); } result.bills = bills; } } else { result.errDetail = responseData["err_detail"].ToString(); } return(result); } catch (Exception e) { BCPayQueryResult result = new BCPayQueryResult(); result.resultCode = 99; result.resultMsg = e.Message; return(result); } }
protected void Page_Load(object sender, EventArgs e) { string type = Request.Form["paytype"]; if (type == "alipay") { BCBill bill = new BCBill(BCPay.PayChannel.ALI_WEB.ToString(), 300, BCUtil.GetUUID(), "dotNet自来水"); bill.returnUrl = "http://*****:*****@xx.com"; data.receiverName = "某某某"; data.transferFee = 100; data.transferNote = "note"; BCTransferData data2 = new BCTransferData(); data2.transferId = BCUtil.GetUUID(); data2.receiverAccount = "*****@*****.**"; data2.receiverName = "某某"; data2.transferFee = 100; data2.transferNote = "note"; List <BCTransferData> list = new List <BCTransferData>(); list.Add(data); list.Add(data2); try { BCTransfersParameter para = new BCTransfersParameter(); para.channel = BCPay.TransferChannel.ALI.ToString(); para.batchNo = BCUtil.GetUUID(); para.accountName = "毛毛"; para.transfersData = list; string transfersURL = BCPay.BCTransfers(para); Response.Write("<a href=" + transfersURL + ">付款地址</a><br/>"); } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } else if (type == "alitransfer") { try { BCTransferParameter para = new BCTransferParameter(); para.channel = BCPay.TransferChannel.ALI_TRANSFER.ToString(); para.transferNo = BCUtil.GetUUID(); para.totalFee = 100; para.desc = "C# 单笔打款"; para.channelUserId = "*****@*****.**"; para.channelUserName = "******"; para.accountName = "XXX有限公司"; string aliURL = BCPay.BCTransfer(para); Response.Write("<a href=" + aliURL + ">付款地址</a><br/>"); } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } else if (type == "wxtransfer") { try { BCTransferParameter para = new BCTransferParameter(); para.channel = BCPay.TransferChannel.WX_TRANSFER.ToString(); para.transferNo = "1000000000"; para.totalFee = 100; para.desc = "C# 单笔打款"; para.channelUserId = "XXXXXXXXXXXXXXXXXX"; BCPay.BCTransfer(para); Response.Write("完成"); } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } else if (type == "wxredpack") { BCRedPackInfo info = new BCRedPackInfo(); info.actName = "C# 红包"; info.sendName = "BeeCloud"; info.wishing = "啦啦啦"; try { BCTransferParameter para = new BCTransferParameter(); para.channel = BCPay.TransferChannel.WX_REDPACK.ToString(); para.transferNo = "1000000001"; para.totalFee = 100; para.desc = "C# 红包"; para.channelUserId = "XXXXXXXXXXXXXXXX"; para.info = info; BCPay.BCTransfer(para); Response.Write("完成"); } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } else if (type == "bctransfer") { //getBankFullNames方法可以获取所有支持的银行全称,将全称填写到BCTransferWithBackCard里的bank_fullname字段 BankList banks = BCPay.getBankFullNames("P_CR"); foreach (var bank in banks.bankList) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + bank.ToString() + "</span><br/>"); } BCTransferWithBackCard transfer = new BCTransferWithBackCard(1, BCUtil.GetUUID(), ".net测试代付", "OUT_PC", "中国银行", "DE", "P", "xxxxxxxxxxxx", "xxx"); transfer.mobile = "xxxxxxxxxxxxxx"; try { transfer = BCPay.BCBankCardTransfer(transfer); Response.Write("<span style='color:#00CD00;font-size:20px'>已代付</span><br/>"); } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } else if (type == "bccjtransfer") { BCCJTransferWithBackCard transfer = new BCCJTransferWithBackCard(BCUtil.GetUUID(), ".net测试代付", 100, "姓名", "银行名", "卡号", "支行名", "省", "市", "DEBIT", "C"); try { transfer = BCPay.BCCJBankCardTransfer(transfer); Response.Write("<span style='color:#00CD00;font-size:20px'>已代付</span><br/>"); } catch (Exception excption) { Response.Write("<span style='color:#00CD00;font-size:20px'>" + excption.Message + "</span><br/>"); } } Response.Write("<span style='color:#00CD00;font-size:20px'>" + type + "</span>"); }