受困易宝接口网上支付.
没有做过这方面,看到那个文档和开发包其中有一段代码有点无法理解。
能够正常的付款,而且也能够正常的接受到易宝返回给我的数据,自己更新自己这边的数据库。一切都OK。
但是发现其中一个细节。
无法理解。
所以希望有过这方面经验的大大能给小弟一点意见。
易宝支付有一个页面时Callback.aspx
是用来接受返回的数据的。
C# code
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")
产品通用接口支付成功返回-服务器点对点通讯:(这里是等于2) 这句话是什么意思 ?
在等于2的时候,要我把收到成功的消息返回给易宝还是怎么 ?不明白,希望各位能告之!谢谢
------解决方案--------------------
刚才大致看了下接口文档,R9_BType 这个参数应该和发起支付请求时的pr_NeedResponse这个参数的值有关吧
如果pr_NeedResponse=1时
那么执行
else if (result.R9_BType == "2")
{
// * 如果是服务器返回则需要回应一个特定字符串'SUCCESS',且在'SUCCESS'之前不可以有任何其他字符输出,保证首先输出的是'SUCCESS'字符串
Response.Write("SUCCESS");
}
这段
------解决方案--------------------帮顶~!
------解决方案--------------------没用过,UP
------解决方案--------------------学习了这两天也在研究这个