1、首先建议把官方文档支付部分看上三遍,每个细节都不要放过,因为任何一个点和微信要求不符都会导致支付不成功。https://pay.weixin.qq.com/wiki/doc/api/wxa/wxa_api.PHP?chapter=3_1 2、经过验证的微信支付功能,会需要一些商户号、支付秘钥等,不要搞混。 3、经常遇到的是“签名错误”,请仔细看需要传送的xml参数及取值规则是否符合微信规则。微信有个验证工具可以验证发送的xml字段是否合法。
下面上代码:
web.config
[csharp] view plain copy
<add key="ConnectionString" value="server=127.0.0.1;database=;uid=sa;pwd="/>
<add key="ConnectionString2" value="server=127.0.0.1;database=codematic2;uid=sa;pwd=1"/>
<add key="appid" value=""/>//appid
<add key="secret" value=""/>//小程序秘钥
<add key="mch_id" value=""/>//商户号
<add key="key" value=""/>//支付秘钥
<add key="ip" value=""/>//服务器IP
<add key="PayResulturl" value=""/>//微信返回接收信息的url地址
</appSettings>
支付后台xiadan.ashx
[csharp] view plain copy
<%@ WebHandler Language="C#" Class="xiadan" %>
using System;
using System.Web;
using System.Net;
using System.IO;
using System.Configuration;
using Maticsoft.Model;
using Maticsoft.BLL;
using System.Security.Cryptography;
using System.Text;
using System.Xml.Serialization;