支付寶APP支付後端WebAPI(.NET)異步回調驗籤

一、直接上代碼:

    /// <summary>
    /// App支付回調
    /// </summary>
    [EnableCors(origins: "*", headers: "*", methods: "*")]
    [RoutePrefix("api/AliPayCallBack")]
    public class AliPayCallBackController : ApiController
    {
        string publics = "支付寶公鑰";
        /// <summary>
        /// 支付寶APP支付回調接口
        /// </summary>
        /// <param name="coll"></param>
        /// <returns></returns>
        [HttpGet]
        [HttpPost]
        public HttpResponseMessage GetAliPayNotify()
        {
            NameValueCollection collection = HttpContext.Current.Request.Form;
            String[] requestItem = HttpContext.Current.Request.Form.AllKeys;
            IDictionary<string, string> sArray = new Dictionary<string, string>();
            for (int i = 0; i < requestItem.Length; i++)
            {
                sArray.Add(requestItem[i], collection[requestItem[i]]);
            }
            bool flag = AlipaySignature.RSACheckV1(sArray, publics, "UTF-8", "RSA2", false);
            HttpResponseMessage res = new HttpResponseMessage();
            if (flag)
            {
                res.Content = new StringContent("success", Encoding.GetEncoding("UTF-8"), "text/plain");
         
            } else
            {
                res.Content = new StringContent("fail", Encoding.GetEncoding("UTF-8"), "text/plain");
            }
            return res;
        }
      
    }

二、注意 

      1、私鑰簽名、公鑰驗籤

      2、公鑰加密、私鑰解密

      3、支付寶官方示例代碼有坑,這是本人修改驗證後的代碼,僅供個人參考,若有錯誤歡迎留言,勿噴。

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章