payr 1.0.4 → 1.0.5
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- data/README.md +35 -0
 - data/lib/payr/client.rb +1 -0
 - data/lib/payr/version.rb +1 -1
 - metadata +4 -4
 
    
        data/README.md
    CHANGED
    
    | 
         @@ -137,6 +137,9 @@ The controller could look something like this for example : 
     | 
|
| 
       137 
137 
     | 
    
         
             
            	end
         
     | 
| 
       138 
138 
     | 
    
         
             
            ```
         
     | 
| 
       139 
139 
     | 
    
         | 
| 
      
 140 
     | 
    
         
            +
             
     | 
| 
      
 141 
     | 
    
         
            +
             
     | 
| 
      
 142 
     | 
    
         
            +
             
     | 
| 
       140 
143 
     | 
    
         
             
            Basically, thoses actions do :
         
     | 
| 
       141 
144 
     | 
    
         
             
            ```ruby
         
     | 
| 
       142 
145 
     | 
    
         
             
            #
         
     | 
| 
         @@ -178,6 +181,38 @@ payr_bills_pay_path(article_id: pack.id, 
     | 
|
| 
       178 
181 
     | 
    
         
             
            ```
         
     | 
| 
       179 
182 
     | 
    
         
             
            This will call the bills#action and then redirect the user to the paybox paiement page.
         
     | 
| 
       180 
183 
     | 
    
         | 
| 
      
 184 
     | 
    
         
            +
            # /!\ There is a security flaw in the above lines
         
     | 
| 
      
 185 
     | 
    
         
            +
             
     | 
| 
      
 186 
     | 
    
         
            +
            While I'm correcting it, you MUST override the pay action, otherwise, someone could just make a get with the wanted amount and the wanted article.
         
     | 
| 
      
 187 
     | 
    
         
            +
             
     | 
| 
      
 188 
     | 
    
         
            +
            a possible overriding would be this:
         
     | 
| 
      
 189 
     | 
    
         
            +
             
     | 
| 
      
 190 
     | 
    
         
            +
            ```ruby
         
     | 
| 
      
 191 
     | 
    
         
            +
            class Paiement::CallbacksController < Payr::BillsController
         
     | 
| 
      
 192 
     | 
    
         
            +
            	before_filter :authenticate_user!, except: [:ipn]
         
     | 
| 
      
 193 
     | 
    
         
            +
            	def pay
         
     | 
| 
      
 194 
     | 
    
         
            +
            	 	article = Pack.find params[:article_id]
         
     | 
| 
      
 195 
     | 
    
         
            +
                @bill = Payr::Bill.new(buyer_id: current_user.id,
         
     | 
| 
      
 196 
     | 
    
         
            +
                                       amount: article.price,
         
     | 
| 
      
 197 
     | 
    
         
            +
                                       article_id: params[:article_id],
         
     | 
| 
      
 198 
     | 
    
         
            +
                                       state: Payr::Bill::UNPROCESSED,
         
     | 
| 
      
 199 
     | 
    
         
            +
                                       bill_reference: params[:bill_reference])
         
     | 
| 
      
 200 
     | 
    
         
            +
                @payr = Payr::Client.new
         
     | 
| 
      
 201 
     | 
    
         
            +
                if @bill.save
         
     | 
| 
      
 202 
     | 
    
         
            +
                  @paybox_params = @payr.get_paybox_params_from command_id: @bill.id, 
         
     | 
| 
      
 203 
     | 
    
         
            +
                                                                buyer_email: current_recruiter.email,
         
     | 
| 
      
 204 
     | 
    
         
            +
                                                                total_price: article.price,
         
     | 
| 
      
 205 
     | 
    
         
            +
                                                                callbacks:  { 
         
     | 
| 
      
 206 
     | 
    
         
            +
                                                                              paid: payr_bills_paid_url, 
         
     | 
| 
      
 207 
     | 
    
         
            +
                                                                              refused: payr_bills_refused_url,   
         
     | 
| 
      
 208 
     | 
    
         
            +
                                                                              cancelled: payr_bills_cancelled_url,
         
     | 
| 
      
 209 
     | 
    
         
            +
                                                                              ipn: payr_bills_ipn_url
         
     | 
| 
      
 210 
     | 
    
         
            +
            																																}
         
     | 
| 
      
 211 
     | 
    
         
            +
            	end                                                               
         
     | 
| 
      
 212 
     | 
    
         
            +
            end
         
     | 
| 
      
 213 
     | 
    
         
            +
            ```
         
     | 
| 
      
 214 
     | 
    
         
            +
             
     | 
| 
      
 215 
     | 
    
         
            +
             
     | 
| 
       181 
216 
     | 
    
         
             
            You can also override the views by creating the appropriate files :
         
     | 
| 
       182 
217 
     | 
    
         
             
            ```sh
         
     | 
| 
       183 
218 
     | 
    
         
             
            $ > ls app/views/paiement/callbacks
         
     | 
    
        data/lib/payr/client.rb
    CHANGED
    
    | 
         @@ -32,6 +32,7 @@ module Payr 
     | 
|
| 
       32 
32 
     | 
    
         
             
                  returned_hash.merge!(pbx_typepaiement: Payr.typepaiement, 
         
     | 
| 
       33 
33 
     | 
    
         
             
                                       pbx_typepcarte: Payr.typecard) unless Payr.typepaiement.nil? || Payr.typecard.nil?
         
     | 
| 
       34 
34 
     | 
    
         | 
| 
      
 35 
     | 
    
         
            +
                  returned_hash.merge! params[:options] unless params[:options].blank?
         
     | 
| 
       35 
36 
     | 
    
         
             
            			base_params = self.to_base_params(returned_hash)			
         
     | 
| 
       36 
37 
     | 
    
         | 
| 
       37 
38 
     | 
    
         
             
            			returned_hash.merge(pbx_hmac: self.generate_hmac(base_params))
         
     | 
    
        data/lib/payr/version.rb
    CHANGED
    
    
    
        metadata
    CHANGED
    
    | 
         @@ -1,7 +1,7 @@ 
     | 
|
| 
       1 
1 
     | 
    
         
             
            --- !ruby/object:Gem::Specification
         
     | 
| 
       2 
2 
     | 
    
         
             
            name: payr
         
     | 
| 
       3 
3 
     | 
    
         
             
            version: !ruby/object:Gem::Version
         
     | 
| 
       4 
     | 
    
         
            -
              version: 1.0. 
     | 
| 
      
 4 
     | 
    
         
            +
              version: 1.0.5
         
     | 
| 
       5 
5 
     | 
    
         
             
              prerelease: 
         
     | 
| 
       6 
6 
     | 
    
         
             
            platform: ruby
         
     | 
| 
       7 
7 
     | 
    
         
             
            authors:
         
     | 
| 
         @@ -9,7 +9,7 @@ authors: 
     | 
|
| 
       9 
9 
     | 
    
         
             
            autorequire: 
         
     | 
| 
       10 
10 
     | 
    
         
             
            bindir: bin
         
     | 
| 
       11 
11 
     | 
    
         
             
            cert_chain: []
         
     | 
| 
       12 
     | 
    
         
            -
            date:  
     | 
| 
      
 12 
     | 
    
         
            +
            date: 2013-01-29 00:00:00.000000000 Z
         
     | 
| 
       13 
13 
     | 
    
         
             
            dependencies:
         
     | 
| 
       14 
14 
     | 
    
         
             
            - !ruby/object:Gem::Dependency
         
     | 
| 
       15 
15 
     | 
    
         
             
              name: rails
         
     | 
| 
         @@ -138,7 +138,7 @@ required_ruby_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       138 
138 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       139 
139 
     | 
    
         
             
                  segments:
         
     | 
| 
       140 
140 
     | 
    
         
             
                  - 0
         
     | 
| 
       141 
     | 
    
         
            -
                  hash: - 
     | 
| 
      
 141 
     | 
    
         
            +
                  hash: -3487819084611514497
         
     | 
| 
       142 
142 
     | 
    
         
             
            required_rubygems_version: !ruby/object:Gem::Requirement
         
     | 
| 
       143 
143 
     | 
    
         
             
              none: false
         
     | 
| 
       144 
144 
     | 
    
         
             
              requirements:
         
     | 
| 
         @@ -147,7 +147,7 @@ required_rubygems_version: !ruby/object:Gem::Requirement 
     | 
|
| 
       147 
147 
     | 
    
         
             
                  version: '0'
         
     | 
| 
       148 
148 
     | 
    
         
             
                  segments:
         
     | 
| 
       149 
149 
     | 
    
         
             
                  - 0
         
     | 
| 
       150 
     | 
    
         
            -
                  hash: - 
     | 
| 
      
 150 
     | 
    
         
            +
                  hash: -3487819084611514497
         
     | 
| 
       151 
151 
     | 
    
         
             
            requirements: []
         
     | 
| 
       152 
152 
     | 
    
         
             
            rubyforge_project: 
         
     | 
| 
       153 
153 
     | 
    
         
             
            rubygems_version: 1.8.24
         
     |