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(""); }
private static AlipayTradeCreateRequest getTradeCreateRequest() { AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); AlipayTradeCreateModel model = new AlipayTradeCreateModel(); model.OutTradeNo = "20150320010101001"; model.TotalAmount = "88.88"; model.Subject = "Iphone6 16G"; model.BuyerId = "2088102177846880"; request.SetBizModel(model); return(request); }
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_get_exception_when_call_cert_execute() { //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(); //then AopException ex = Assert.Throws <AopException>(() => client.CertificateExecute(request)); Assert.AreEqual(ex.Message.Contains("检测到证书相关参数未初始化,非证书模式下请改为调用Execute"), true); }
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"); }
private static AlipayTradeCreateRequest getTradeCreateRequest() { AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); AlipayTradeCreateModel model = new AlipayTradeCreateModel(); model.OutTradeNo = "20200320010101006"; model.TotalAmount = "88.88"; model.Subject = "Iphone6 16G"; model.BuyerId = "2088102177846880"; ExtendParams extendParams = new ExtendParams(); extendParams.HbFqNum = "3"; extendParams.HbFqSellerPercent = "100"; model.ExtendParams = extendParams; request.SetBizModel(model); return(request); }
public void should_extract_correct_source_data_and_sign() { AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); String responseBody = "{\"alipay_trade_create_response\":{\"code\":\"10000\",\"msg\":\"Success\"," + "\"out_trade_no\":\"20150320010101001\",\"trade_no\":\"2019062322001446881000041395\"}," + "\"sign\":\"TS355N0QjK1r9GyD4YOsG5esszSUhESgwu1q5" + "+e1sWwqtPYe30CQ3v0QTEDdxYN9vm2No8V1KzuTSadrA4SZSkEkRchrcdVHCU8rCXOHWzS5wof8jg5S75y481kj3HqlpTaz" + "/EhvAXK8iC8Xz9CgPmvfLmAUNkxy0q05yV2wZAGNX0WElUOx1Lcd2FqeuRFMvBOq5TQ+SVqunfUMLic8rYsW" + "+smDHzIgjRcde8pHOZBMvmqDDzmyBLEgSbBswgHifQPDrhnGPlpk2U/nb8Sx7G8mWHEibtb8ClENcxtJEwcI0NN+erWO4Le" + "+jFVUOU0BqC4dxGBNX9AHCTZMEhfcZQ==\"}"; SignItem signItem = JsonParser.GetSignItem(request, responseBody); Assert.AreEqual(signItem.SignSourceDate, "{\"code\":\"10000\",\"msg\":\"Success\",\"out_trade_no\":\"20150320010101001\"," + "\"trade_no\":\"2019062322001446881000041395\"}"); Assert.AreEqual(signItem.Sign, "TS355N0QjK1r9GyD4YOsG5esszSUhESgwu1q5" + "+e1sWwqtPYe30CQ3v0QTEDdxYN9vm2No8V1KzuTSadrA4SZSkEkRchrcdVHCU8rCXOHWzS5wof8jg5S75y481kj3HqlpTaz" + "/EhvAXK8iC8Xz9CgPmvfLmAUNkxy0q05yV2wZAGNX0WElUOx1Lcd2FqeuRFMvBOq5TQ+SVqunfUMLic8rYsW" + "+smDHzIgjRcde8pHOZBMvmqDDzmyBLEgSbBswgHifQPDrhnGPlpk2U/nb8Sx7G8mWHEibtb8ClENcxtJEwcI0NN+erWO4Le" + "+jFVUOU0BqC4dxGBNX9AHCTZMEhfcZQ=="); }
public void should_get_exception_when_has_duplication_response_node() { AlipayTradeCreateRequest request = new AlipayTradeCreateRequest(); String responseBody = "{\"alipay_trade_create_response\":{\"code\":\"10000\",\"msg\":\"Success\"," + "\"out_trade_no\":\"20150320010101001\",\"trade_no\":\"2019062322001446881000041395\"}," + "\"alipay_trade_create_response\":{\"code\":\"10000\",\"msg\":\"Success\",\"out_trade_no\":\"forged\"," + "\"trade_no\":\"forged\"}," + "\"sign\":\"TS355N0QjK1r9GyD4YOsG5esszSUhESgwu1q5" + "+e1sWwqtPYe30CQ3v0QTEDdxYN9vm2No8V1KzuTSadrA4SZSkEkRchrcdVHCU8rCXOHWzS5wof8jg5S75y481kj3HqlpTaz" + "/EhvAXK8iC8Xz9CgPmvfLmAUNkxy0q05yV2wZAGNX0WElUOx1Lcd2FqeuRFMvBOq5TQ+SVqunfUMLic8rYsW" + "+smDHzIgjRcde8pHOZBMvmqDDzmyBLEgSbBswgHifQPDrhnGPlpk2U/nb8Sx7G8mWHEibtb8ClENcxtJEwcI0NN+erWO4Le" + "+jFVUOU0BqC4dxGBNX9AHCTZMEhfcZQ==\"}"; try { JsonParser.GetSignItem(request, responseBody); } catch (Exception ex) { Assert.AreEqual(ex.Message, "检测到响应报文中有重复的alipay_trade_create_response,验签失败。"); } }
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); }