19th Aug, 2009

财付通Rails插件

最近需要给(ZT)增加在线支付功能,比较了国内的各种支付方案,最后选择了财付通,申请比较简单而且没有年费,但是腾讯官方只提供了PHP,JSP和ASP的代码,只能自己写了一个Rails的

安装


$ script/plugin install git://github.com/yzhang/tenpay.git

使用

1. 插件安装后,会在你的config目录下创建一个tenpay.yml文件(默认是腾讯提供的测试帐户,往这个帐户付款它居然真的就收了,虽然只是1分钱),你需要修改这个文件,填入你从腾讯申请的商户号(spid)和密钥(key)。

2. 下面的代码演示如何创建一个新交易:


@request = Tenpay::Request.new('测试产品', # 产品名称
      1, # 订单编号,需要保证全局唯一
      4500, # 产品价格,以分为单位
      'http://return', # 用户完成支付后返回的URL, 支持Get/Post
      request.remote_ip, #用户IP,用户production模式下检验用户,development模式忽略。
      'attach data') # 商户数据,会原样传递给返回URL,可不填
redirect_to @request.url

用户访问这个action的时候会被引导到支付页面。

3. 用户完成支付后,需要返回商户页面,也就是你在请求中填写的返回URL,下面的代码用于验证请求是否有效:


@response = Tenpay::Response.new(params)
if @response.successful?
  # 支付成功
else
  # 不合法的请求或支付失败
end

目前还不支持查询接口,欢迎大家的意见和建议。

评论

有没有支付宝的呀

呵呵,暂时还没做,你可以先看看这个

http://github.com/flyerhzm/activemerchant_patch_for_china

另外,还有快钱的:

http://www.letrails.cn/archives/kuaiqian-99bill-rails-plugin/

留条评论?

Your response:

Categories