public static string MakeAliPayOrder(string companyId, AlipayTradeOrderModel model) { try { AliPayApiConfig config = AliPayApiConfigServices.QueryAliPayConfig(companyId); if (config == null) { throw new MyException("获取支付宝配置失败"); } string aliPayNotifyUrl = string.Format("{0}/AliPayNotify", config.SystemDomain); AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); request.BizContent = JsonHelper.GetJsonString(model); request.SetNotifyUrl(aliPayNotifyUrl); AlipayTradeCreateResponse response = GetDefaultAopClient(companyId).Execute(request); if (response.IsError) { TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("统一下单失败1:{0}", response.Body)); return(""); } return(response.TradeNo); } catch (Exception ex) { TxtLogServices.WriteTxtLogEx("AliPayApiServices", string.Format("统一下单失败2:{0}", ex.Message)); } return(""); }
public void should_be_able_to_send_token() { IAopClient client = new DefaultAopClient(TestAccount.Sandbox.Gateway, TestAccount.Sandbox.AppId, TestAccount.Sandbox.AppPrivateKey, "json", "1.0", "RSA2", TestAccount.Sandbox.AlipayPublicKey, "utf-8", false); AlipayTradeCreateResponse response = client.Execute(getTradeCreateRequest(), "123", "456"); Assert.AreEqual(response.SubMsg.Contains("无效的应用授权令牌"), true); }
public void should_return_success_response() { //given IAopClient client = new DefaultAopClient(TestAccount.Sandbox.Gateway, TestAccount.Sandbox.AppId, TestAccount.Sandbox.AppPrivateKey, "json", "1.0", "RSA2", TestAccount.Sandbox.AlipayPublicKey, "utf-8", false); AlipayTradeCreateRequest request = getTradeCreateRequest(); //when AlipayTradeCreateResponse response = client.Execute(request); //then Assert.AreEqual(response.Code, "10000"); }
public void should_return_false_when_app_not_set_private_key() { //given //访问线上一个没有设置公私钥对的APP IAopClient client = new DefaultAopClient(TestAccount.ProdCert.Gateway, TestAccount.NotSetKeyAppId, TestAccount.Sandbox.AppPrivateKey, "json", "1.0", "RSA2", TestAccount.Sandbox.AlipayPublicKey, "utf-8", false); //when AlipayTradeCreateResponse response = client.Execute(getTradeCreateRequest()); //then Assert.AreEqual(response.IsError, true); Assert.AreEqual(response.SubMsg.Contains("应用未配置对应签名算法的公钥或者证书"), true); }
public void TestCreate() { string outTradeNo = Guid.NewGuid().ToString(); AlipayTradeCreateResponse response = Factory.Payment.Common().Create("iPhone6 16G", outTradeNo, "88.88", "2088002656718920"); Assert.AreEqual(response.Code, "10000"); Assert.AreEqual(response.Msg, "Success"); Assert.Null(response.SubCode); Assert.Null(response.SubMsg); Assert.NotNull(response.HttpBody); Assert.AreEqual(response.OutTradeNo, outTradeNo); Assert.True(response.TradeNo.StartsWith("202")); }
public void should_be_able_to_parse_xml_format_response() { //given IAopClient client = new DefaultAopClient(TestAccount.Sandbox.Gateway, TestAccount.Sandbox.AppId, TestAccount.Sandbox.AppPrivateKey, "xml", "1.0", "RSA2", TestAccount.Sandbox.AlipayPublicKey, "utf-8", false); AlipayTradeCreateRequest request = getTradeCreateRequest(); //when AlipayTradeCreateResponse response = client.Execute(request); //then Assert.AreEqual(response.IsError, false); Assert.AreEqual(response.Code, "10000"); }
public void TestCreateWithOptional() { string outTradeNo = Guid.NewGuid().ToString(); AlipayTradeCreateResponse response = Factory.Payment.Common().Optional("goods_detail", GetGoodsDetail()) .Create("iPhone6 16G", outTradeNo, "0.01", "2088002656718920"); Assert.IsTrue(ResponseChecker.Success(response)); Assert.AreEqual(response.Code, "10000"); Assert.AreEqual(response.Msg, "Success"); Assert.Null(response.SubCode); Assert.Null(response.SubMsg); Assert.NotNull(response.HttpBody); Assert.AreEqual(response.OutTradeNo, outTradeNo); Assert.True(response.TradeNo.StartsWith("202")); }
public void TestCrate() { string outTradeNo = Guid.NewGuid().ToString(); HuabeiConfig config = new HuabeiConfig() { HbFqNum = "3", HbFqSellerPercent = "0" }; AlipayTradeCreateResponse response = Factory.Payment.Huabei().Create("Iphone6 16G", outTradeNo, "88.88", "2088002656718920", config); Assert.AreEqual(response.Code, "10000"); Assert.AreEqual(response.Msg, "Success"); Assert.Null(response.SubCode); Assert.Null(response.SubMsg); Assert.NotNull(response.HttpBody); Assert.AreEqual(response.OutTradeNo, outTradeNo); Assert.True(response.TradeNo.StartsWith("202")); }
public void Create() { IAopClient client = GetClient(); AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); request.BizContent = "{" + " \"out_trade_no\":\"20150320010101001\"," + " \"seller_id\":\"2088102172273210\"," + " \"total_amount\":88.88," + " \"discountable_amount\":8.88," + " \"undiscountable_amount\":80.00," + " \"buyer_logon_id\":\"15901825620\"," + " \"subject\":\"Iphone6 16G\"," + " \"body\":\"Iphone6 16G\"," + " \"buyer_id\":\"2088102146225135\"," + " \"goods_detail\":[{" + " \"goods_id\":\"apple-01\"," + " \"alipay_goods_id\":\"20010001\"," + " \"goods_name\":\"ipad\"," + " \"quantity\":1," + " \"price\":2000," + " \"goods_category\":\"34543238\"," + " \"body\":\"特价手机\"," + " \"show_url\":\"http://www.alipay.com/xxx.jpg\"" + " }]," + " \"operator_id\":\"Yx_001\"," + " \"store_id\":\"NJ_001\"," + " \"terminal_id\":\"NJ_T_001\"," + " \"extend_params\":{" + " \"sys_service_provider_id\":\"2088511833207846\"," + " \"hb_fq_num\":\"3\"," + " \"hb_fq_seller_percent\":\"100\"" + " }," + " \"timeout_express\":\"90m\"," + " \"royalty_info\":{" + " \"royalty_type\":\"ROYALTY\"," + " \"royalty_detail_infos\":[{" + " \"serial_no\":1," + " \"trans_in_type\":\"userId\"," + " \"batch_no\":\"123\"," + " \"out_relation_id\":\"20131124001\"," + " \"trans_out_type\":\"userId\"," + " \"trans_out\":\"2088101126765726\"," + " \"trans_in\":\"2088101126708402\"," + " \"amount\":0.1," + " \"desc\":\"分账测试1\"," + " \"amount_percentage\":\"100\"" + " }]" + " }," + " \"alipay_store_id\":\"2016041400077000000003314986\"," + " \"sub_merchant\":{" + " \"merchant_id\":\"19023454\"" + " }" + " }"; request.BizContent = JsonConvert.SerializeObject(new Entities.Create() { out_trade_no = "20120320010101001", subject = "Iphone 100", total_amount = 8888.88, buyer_logon_id = "*****@*****.**", }); AlipayTradeCreateResponse response = client.Execute(request); if (!response.IsError) { Console.WriteLine("调用成功"); } else { Console.WriteLine("调用失败"); } Assert.IsFalse(response.IsError); }