shy

科技由你创新 未来任你掌握
posts - 9, comments - 21, trackbacks - 1, articles - 1
  博客园 :: 首页 :: 新随笔 :: 联系 :: 订阅 订阅 :: 管理

支付模块提交xml数据

Posted on 2008-11-19 16:25 suhanyu 阅读(1728) 评论(5)  编辑 收藏 网摘

        工作需要,做美国的在线支付系统,有两种模式,一种是PayPal支付,另一种是信用卡支付。PayPal支付将支付的表单数据提交到指定的IPN,由IPN处理并提供相应的页面,信用卡支付包括单个支付和包月的支付,包月支付既每个月自动的从账户上划钱,如果用户不取消,将一直支付下去。

        这两种支付,都有测试环境,在测试环境上调通了,正式环境就可走通,具体的测试环境可自行上网查找。

        两种的支付的关键就是如何向指定的网关提交数据,并接收网关返回的数据,提交的数据一种是表单,一种是xml,用到了一个很实用的方法,如下:      

PostXML

 

   传递网关url和指定参数的字符串,就能将信息提交到网关,并返回结果信息。返回的结果,有的是字符串列表,按指定的字符截开,有的是返回一个特定的xml,,这里介绍一个在xml中,输入开始标记和结束标记就可以获取文本的方法,如下:

 

 //write by :suhanyu 
private string PraseResponseXml(string conents, string start, string end)
    
{
        
if (conents.IndexOf(start) == 0 || conents.IndexOf(end) == 0)
        
{
            
return "";
        }

        
else
        
{
            
int start_position = conents.IndexOf(start) + start.Length;
            
int end_position = conents.IndexOf(end);

            
if (start_position != -1 && end_position != -1)
            
{

                
return conents.Substring(start_position, end_position - start_position);
            }

            
else
            
{
                
return "";
            }

        }

    }

 

调用:

 

  string refId = this.PraseResponseXml(xmlcode, "<refId>""</refId>");
  
//xmlcode为xml格式的字符串

 

做过该方面的再复习下,没做过的学习下 。。。呵呵。。。

Tag标签: Asp.net

Feedback

#1楼   回复  引用  查看    

2008-11-19 16:33 by 小猪凯      
全是这样.用得太多了.

#2楼   回复  引用  查看    

2008-11-19 17:15 by 巫云      
Prase,……

#3楼   回复  引用    

2008-11-19 17:45 by IMAN[未注册用户]
写的太少了, 美国支付有很多网关的, 不同网关调用方式, 根本不一样. PAYPAL 是直接有API可以调用的, 不需要走XML, 信用卡是看网关的. 忘了, 当初我调用过四五个网关的接口, 处理方式是不同的.
支付还是有不少业务的, 呵呵. 好久没做过了, 有点相念当时的情形了.

#4楼   回复  引用    

2008-11-19 17:56 by jingxiao64[未注册用户]
不错啊。。路过...

#5楼   回复  引用  查看    

2008-11-20 16:50 by xjb      
恩,写的过于简单了
发表评论

昵称: [登录] [注册]

主页:

邮箱:(仅博主可见)

评论内容:

  登录  注册

[使用Ctrl+Enter键快速提交评论]

0 1336782




相关文章:

相关链接: