Sha256: dea165afed51e49e3ea8dfb2cd450dc20342cae0bed763950ff751a0b00c92fb

Contents?: true

Size: 1.85 KB

Versions: 1

Compression:

Stored size: 1.85 KB

Contents

Tenpay
======

A Ruby on Rails plugin for Tenpay(财付通).

使用
=======

1. 修改Gemfile:

gem "tenpay"

2. 生成配置文件:

$ script/rails g tenpay

这个命令会在你的应用的config目录创建一个tenpay.yml文件,默认是快钱提供的测试帐号(关于测试帐号的使用方法请参看测试章节)
将tenpay.yml中的商户ID和密钥替换为财付通提供给你的真实ID和密钥然后进行下一步。

3. 下面的代码会创建一笔新订单:

  @request = Tenpay::Request.new(
                 'test product',     # 产品名称
                  1,                 # 订单编号,必须保持唯一
                  Time.now,          # 订单生成时间
                  4500,              # 订单价格,以分为单位
                  'http://return',   # 完成支付后的回调地址
                  request.remote_ip, # 用于IP验证,开发模式可忽略
                  'attach data')     # 自定义数据
  redirect_to @request.url

上面的代码会将用户重定向到财付通的支付页面。

4. 在用户完成支付后,财付通会调用你在支付请求中提供的返回URL:

  @response = Tenpay::Response.new(params)
  if @response.successful?
    # 支付成功
  else
    # 失败
  end
  
注意,快钱可能会多次调用你的返回URL,并将结果展现给用户,因此你的代码要考虑多次执行后的输出对用户的有好度。

查询
========

如果需要查询订单支付状态,可以使用下面的接口:

  @query = Tenpay::Query.new(1,        # 订单id
                             Time.now) # 订单日期
  @query.response.successful? # true => 已支付, false => 未支付

----------------
如果在使用中遇到任何的问题或者建议,欢迎和我联系: zhangyuanyi@gmail.com

Copyright (c) 2009 Yuanyi Zhang, released under the MIT license

Version data entries

1 entries across 1 versions & 1 rubygems

Version Path
tenpay-0.1.0 README