ASP.NET CORE微信支付回撥示例程式碼
/// <summary> /// 接收微信支付非同步通知 /// </summary> /// <returns></returns> public async Task<ActionResult> NotifyUrl() { // 讀取請求體中的資料 /* <xml> <appid><![CDATA[wxd64fd8b6cee248db]]></appid> <bank_type><![CDATA[OTHERS]]></bank_type> <cash_fee><![CDATA[1]]></cash_fee> <fee_type><![CDATA[CNY]]></fee_type> <is_subscribe><![CDATA[N]]></is_subscribe> <mch_id><![CDATA[1628692716]]></mch_id> <nonce_str><![CDATA[776c2f5829eb4656ba7c7d9113e952e0]]></nonce_str> <openid><![CDATA[oOGeG6xoflRianAWRn8UpyCgyZiM]]></openid> <out_trade_no><![CDATA[20240808105415f1f6]]></out_trade_no> <result_code><![CDATA[SUCCESS]]></result_code> <return_code><![CDATA[SUCCESS]]></return_code> <sign><![CDATA[31EEED7D5D8F220856F4A961673D5B58]]></sign> <time_end><![CDATA[20240808105434]]></time_end> <total_fee>1</total_fee> <trade_type><![CDATA[JSAPI]]></trade_type> <transaction_id><![CDATA[4200002339202408086696010804]]></transaction_id> </xml> */ using (StreamReader reader = new StreamReader(Request.Body, Encoding.UTF8)) { string body = await reader.ReadToEndAsync(); _logger.LogInformation($"收到微信支付非同步通知:{body}"); // 這裡可以新增更多的邏輯,比如驗證簽名、更新資料庫等 // 返回成功響應給微信支付伺服器 return Ok("success"); } }