Ejemplo n.º 1
0
 public ProfitSharingAddReceiverResult(string resultXml)
     : base(resultXml)
 {
     if (base.IsReturnCodeSuccess())
     {
         var receivers = GetXmlValue("receiver");
         this.receiver = JsonConvert.DeserializeObject <TenpayV3ProfitShareingAddReceiverRequestData_ReceiverInfo>(receivers);
     }
 }
Ejemplo n.º 2
0
        /// <summary>
        /// 服务商
        /// </summary>
        /// <param name="appId"></param>
        /// <param name="mchId"></param>
        /// <param name="subappid">服务商时,子商户公众账号ID</param>
        /// <param name="submchid">服务商时,子商户号</param>
        /// <param name="key"></param>
        /// <param name="nonceStr"></param>
        /// <param name="receiver">新添加的分账接收方对象
        /// </param>
        public TenpayV3ProfitShareingAddReceiverRequestData(
            string appId, string mchId, string subappid, string submchid, string key, string nonceStr,
            TenpayV3ProfitShareingAddReceiverRequestData_ReceiverInfo receiver
            )
        {
            AppId    = appId;
            MchId    = mchId;
            NonceStr = nonceStr;
            Key      = key;
            SubAppId = subappid;
            SubMchId = submchid;
            Receiver = receiver;
            if (Receiver == null)
            {
                throw new ArgumentNullException("必须指定待添加的分账接收方");
            }

            #region 设置RequestHandler

            //创建支付应答对象
            PackageRequestHandler = new RequestHandler(null);
            //初始化
            PackageRequestHandler.Init();

            //设置package订单参数
            //以下设置顺序按照官方文档排序,方便维护:https://pay.weixin.qq.com/wiki/doc/api/jsapi.php?chapter=9_1
            PackageRequestHandler.SetParameter("appid", this.AppId);                    //公众账号ID
            PackageRequestHandler.SetParameter("mch_id", this.MchId);                   //商户号
            PackageRequestHandler.SetParameterWhenNotNull("sub_appid", this.SubAppId);  //子商户公众账号ID
            PackageRequestHandler.SetParameterWhenNotNull("sub_mch_id", this.SubMchId); //子商户号
            PackageRequestHandler.SetParameter("nonce_str", this.NonceStr);             //随机字符串
            PackageRequestHandler.SetParameter("sign_type", this.SignType);             //签名类型,默认为MD5

            JsonSerializerSettings setting = new JsonSerializerSettings();
            setting.NullValueHandling = NullValueHandling.Ignore;
            PackageRequestHandler.SetParameter("receiver", Receiver.ToJson(false, setting));   //场景信息

            Sign = PackageRequestHandler.CreateSha256Sign("key", this.Key);

            PackageRequestHandler.SetParameter("sign", Sign);                              //签名
            #endregion
        }