/// <summary> /// 支付订单 /// </summary> public override void PayOrder(PayOrderData arg) { if (arg == null) { DebugLog("充值失败!充值数据为空 !" + arg); return; } PayDataModel sendModel = new PayDataModel() { }; sendModel.amount = arg.amount.ToString("#0.00"); //单位为元,小数点最多2位 sendModel.notifyUrl = OrderCallBackUrl; sendModel.cpOrderId = arg.productId + GetCurrentTimeMiss(); //订单id:商品id号+10位数的时间戳 sendModel.callbackInfo = arg.callbackMessage; sendModel.signType = "MD5"; //签名类型,MD5或者RSA,该参数不需要参与签名目前只支持MD5 sendModel.accountId = accountId; //让服务器赋值 //TODO 让服务器对model进行签名再发送 onCreateOrderSuccessComplete = (signString) => { DebugLog("收到订单签名:" + signString); sendModel.sign = signString; string tojsonString = JsonMapper.ToJson(sendModel); DebugLog("jsonString:" + tojsonString); CallAndoridFunc("PayOrder", tojsonString); DebugLog("123213213222222222222222222222222"); AndroidPlatSDKManager.Instance.ChangeSDKManagerPayOrderState(SDKManagerPayOrderState.PayOrder_CreateSuccess); }; onCreateOrderSuccessComplete("qqqqqqqqqqqqq"); }
/// <summary> /// 申请支付订单 /// </summary> public void PayOrder(PayOrderData arg) { if (currentSDKLoginState != SDKManagerLoginState.Login_Success) { DebugLog("SDKManger 未成功登录!请再次登入!"); return; } if (currentSDKPayOrderState == SDKManagerPayOrderState.PayOrder_Un || currentSDKPayOrderState == SDKManagerPayOrderState.PayingOrder_Success) { currentSDKPayOrderState = SDKManagerPayOrderState.PayOrder_Createing; currentSDKManager.PayOrder(arg); } else { DebugLog("当前正在支付或者订单支付失败!支付状态码:" + currentSDKPayOrderState); } }
/// <summary> /// 支付订单 /// </summary> public override void PayOrder(PayOrderData arg) { if (arg == null) { DebugLog("充值失败!充值数据为空 !" + arg); return; } PayDataModel sendModel = new PayDataModel() { }; sendModel.amount = (int)(arg.amount * 100);//单位为分 - 故20元= 2000分 sendModel.productName = arg.productName; sendModel.productDesc = arg.productDesc; sendModel.callbackUrl = OrderCallBackUrl; sendModel.order = arg.productId + GetCurrentTimeMiss();//订单id:商品id号+10位数的时间戳 sendModel.attach = arg.callbackMessage; CallAndoridFunc("PayOrder", JsonMapper.ToJson(sendModel)); }
/// <summary> /// 支付订单 /// </summary> public override void PayOrder(PayOrderData arg) { if (arg == null) { DebugLog("充值失败!充值数据为空 !" + arg); return; } PayDataModel sendModel = new PayDataModel(); sendModel.amount = string.Format("{0:F2}", arg.amount);//单位为元,5元 = 5.00 sendModel.productDesc = arg.productDesc; sendModel.productName = arg.productName; sendModel.requesId = arg.productId + GetCurrentTimeMiss();//订单号 //固定参数 sendModel.applicationID = appId; sendModel.merchantId = merchantId; sendModel.merchantName = merchantName; sendModel.serviceCatalog = "X6"; sendModel.sdkChannel = 3; sendModel.url = payResultCallBackUrl; sendModel.currency = "CNY"; sendModel.country = "CN"; sendModel.urlVer = "2"; sendModel.extReserved = "侧保留字段,回调给服务器!"; sendModel.sign = "将当前model发送给服务器签名返回的数据!"; // 签名sign RsgSign(PaySignUtilgetStringForSign(sendModel), (sign) => { sendModel.sign = sign; DebugLog("签名成功sign:" + sign); //TODO 将服务器生成的具体订单model发送给sdk CallAndoridFunc("PayOrder", JsonMapper.ToJson(sendModel)); AndroidPlatSDKManager.Instance.ChangeSDKManagerPayOrderState(SDKManagerPayOrderState.PayOrder_CreateSuccess); }); }
/// <summary> /// 支付订单 /// </summary> public override void PayOrder(PayOrderData arg) { if (arg == null) { DebugLog("充值失败!充值数据为空 !" + arg); return; } PayDataModel sendModel = new PayDataModel() { }; sendModel.mProductPrice = ((int)(arg.amount * 100)).ToString();//单位为分,5元 = 600 sendModel.mProductName = arg.productName; sendModel.mProductDes = arg.productDesc; sendModel.mAppId = appid; sendModel.mUid = uid; //可选项 - 暂时不填 //sendModel.mBlance = string.Empty;//账户余额 //sendModel.mVip = string.Empty;//vip等级 //sendModel.mLevel = string.Empty;//用户等级 //sendModel.mParty = string.Empty;//工会 //sendModel.mRoleId = string.Empty;//角色id //sendModel.mRoleName = string.Empty;//角色名字 //sendModel.mServerName = string.Empty;//区服名字 // sendModel.mExtInfo = arg.callbackMessage;//扩展参数 //TODO 将model发送给服务器,获生成具体订单信息 sendModel.mTransNo = ""; sendModel.mVivoSignature = ""; //TODO 将服务器生成的具体订单model发送给sdk CallAndoridFunc("PayOrder", JsonMapper.ToJson(sendModel)); AndroidPlatSDKManager.Instance.ChangeSDKManagerPayOrderState(SDKManagerPayOrderState.PayOrder_Createing); }
/// <summary> /// 支付订单 /// </summary> public abstract void PayOrder(PayOrderData arg);