日期:2014-05-17  浏览次数:21031 次

受困易宝接口网上支付.
   没有做过这方面,看到那个文档和开发包其中有一段代码有点无法理解。
   能够正常的付款,而且也能够正常的接受到易宝返回给我的数据,自己更新自己这边的数据库。一切都OK。
   但是发现其中一个细节。
   无法理解。
   所以希望有过这方面经验的大大能给小弟一点意见。
   易宝支付有一个页面时Callback.aspx
   是用来接受返回的数据的。
    
  if (string.IsNullOrEmpty(result.ErrMsg))
            {
                if (result.R1_Code == "1")
                {
                    if (result.R9_BType == "1")
                    {
                        //  callback方式:浏览器重定向
                        Response.Write("支付成功!<br>商品ID:" + result.R5_Pid + "<br>商户订单号:" + result.R6_Order + "<br>支付金额:" + result.R3_Amt + "<br>易宝支付交易流水号:" + result.R2_TrxId + "<BR>");
                    }
                    else if (result.R9_BType == "2")
                    {
                        // * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串
                        Response.Write("SUCCESS");
                    }
                }
                else
                {
                    Response.Write("支付失败!");
                }
            }
            else
            {
                Response.Write("交易签名无效!");
            }

  当 if (result.R9_BType == "1")时,易宝已经处理好数据了,所以我要做的是更新自己的数据库。然后定向到自己的处理页面。
  但是当else if (result.R9_BType == "2")时是什么意思?我用易宝提供的测试账号测试的时候,网页上显示两行字-->
    产品通用接口支付成功返回-浏览器重定向:(这里result.R9_BType == "1")