|
|
@@ -827,6 +827,69 @@ void CHuiyuanChongzhiWnd::StartShoukuan()
|
|
|
|
|
|
void CHuiyuanChongzhiWnd::HandleShoukuan()
|
|
|
{
|
|
|
+ //先判断收款码的格式是否正确
|
|
|
+ std::string s_Fukuanma = m_fukuanma;
|
|
|
+
|
|
|
+ int length = s_Fukuanma.size();
|
|
|
+ if (length != 18 && length != 19)
|
|
|
+ {
|
|
|
+ m_shoukuan_status = 4;
|
|
|
+
|
|
|
+ m_fail_message = L"收款码格式不对,请检查后重新输入!";
|
|
|
+
|
|
|
+ SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
+ for (int i = 0; i < length; i++)
|
|
|
+ {
|
|
|
+ char c = *(s_Fukuanma.c_str() + i);
|
|
|
+ if (isdigit(c) == 0)
|
|
|
+ {
|
|
|
+ m_shoukuan_status = 4;
|
|
|
+
|
|
|
+ m_fail_message = L"收款码格式不对,请检查后重新输入!";
|
|
|
+
|
|
|
+ SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+ }
|
|
|
+
|
|
|
+ if (s_Fukuanma.find("10") == 0 \
|
|
|
+ || s_Fukuanma.find("11") == 0 \
|
|
|
+ || s_Fukuanma.find("12") == 0 \
|
|
|
+ || s_Fukuanma.find("13") == 0 \
|
|
|
+ || s_Fukuanma.find("14") == 0 \
|
|
|
+ || s_Fukuanma.find("15") == 0)
|
|
|
+ {
|
|
|
+ //微信付款码
|
|
|
+ m_fukuanma_type = 1;
|
|
|
+ }
|
|
|
+ else if (s_Fukuanma.find("25") == 0 \
|
|
|
+ || s_Fukuanma.find("26") == 0 \
|
|
|
+ || s_Fukuanma.find("27") == 0 \
|
|
|
+ || s_Fukuanma.find("28") == 0 \
|
|
|
+ || s_Fukuanma.find("29") == 0 \
|
|
|
+ || s_Fukuanma.find("30") == 0)
|
|
|
+ {
|
|
|
+ //支付宝付款码
|
|
|
+ m_fukuanma_type = 2;
|
|
|
+ }
|
|
|
+ else if (s_Fukuanma.find("62") == 0)
|
|
|
+ {
|
|
|
+ //云闪付付款码
|
|
|
+ m_fukuanma_type = 3;
|
|
|
+ }
|
|
|
+ else
|
|
|
+ {
|
|
|
+ m_shoukuan_status = 4;
|
|
|
+
|
|
|
+ m_fail_message = L"收款码格式不对,请检查后重新输入!";
|
|
|
+
|
|
|
+ SendMessage(WM_SHOUKUAN_STATUS_FAIL, 0, 0);
|
|
|
+ return;
|
|
|
+ }
|
|
|
+
|
|
|
//先获取会员充值的token
|
|
|
std::string token;
|
|
|
|
|
|
@@ -988,7 +1051,9 @@ void CHuiyuanChongzhiWnd::HandleShoukuan()
|
|
|
if (s_status == "success")
|
|
|
{
|
|
|
//支付成功
|
|
|
- m_shoukuan_status = 3;
|
|
|
+ m_shoukuan_status = 3;
|
|
|
+
|
|
|
+ m_show_trade_no = data_2["show_trade_no"].GetString();
|
|
|
|
|
|
SendMessage(WM_SHOUKUAN_STATUS_SUCCESS, 0, 0);
|
|
|
}
|
|
|
@@ -1088,7 +1153,9 @@ void CHuiyuanChongzhiWnd::HandleShoukuanPassword()
|
|
|
if (s_status == "success")
|
|
|
{
|
|
|
//支付成功
|
|
|
- m_shoukuan_status = 3;
|
|
|
+ m_shoukuan_status = 3;
|
|
|
+
|
|
|
+ m_show_trade_no = data["show_trade_no"].GetString();
|
|
|
|
|
|
SendMessage(WM_SHOUKUAN_STATUS_SUCCESS, 0, 0);
|
|
|
|