class ActiveMerchant::Billing::PayboxDirectPlusGateway
Constants
- ALREADY_EXISTING_PROFILE_CODES
- API_VERSION
Payment API Version
- FRAUD_CODES
- TRANSACTIONS
Transactions hash
- UNKNOWN_PROFILE_CODES
Public Instance Methods
payment_profiles_supported?()
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 35 def payment_profiles_supported? true end
subscriber_capture(money, authorization, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 59 def subscriber_capture(money, authorization, options = {}) requires!(options, :order_id, :user_reference) post = {} add_invoice(post, options) add_reference(post, authorization) add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_capture', money, post) end
subscriber_create(money, creditcard, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 99 def subscriber_create(money, creditcard, options = {}) requires!(options, :user_reference) post = {} add_creditcard(post, creditcard, options) add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_create', money, post) end
subscriber_credit(money, identification, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 81 def subscriber_credit(money, identification, options = {}) post = {} add_invoice(post, options) add_reference(post, identification) add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_credit', money, post) end
subscriber_destroy(money, options)
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 116 def subscriber_destroy(money, options) post = {} add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_destroy', money, post) end
subscriber_purchase(money, creditcard, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 49 def subscriber_purchase(money, creditcard, options = {}) requires!(options, :credit_card_reference, :user_reference) post = {} add_invoice(post, options) add_creditcard(post, creditcard, options) add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_purchase', money, post) end
subscriber_refund(money, authorization, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 90 def subscriber_refund(money, authorization, options = {}) post = {} add_invoice(post, options) add_reference(post, authorization) add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_refund', money, post) end
subscriber_update(money, creditcard, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 108 def subscriber_update(money, creditcard, options = {}) post = {} add_creditcard(post, creditcard, options) add_user_reference(post, options) add_amount(post, money, options) commit('subscriber_update', money, post) end
subscriber_void(money, authorization, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 69 def subscriber_void(money, authorization, options = {}) requires!(options, :order_id, :user_reference) post = {} add_invoice(post, options) add_reference(post, authorization) add_user_reference(post, options) add_amount(post, money, options) post[:porteur] = '000000000000000' post[:dateval] = '0000' commit('subscriber_void', money, post) end
Private Instance Methods
add_creditcard(post, creditcard, options = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 125 def add_creditcard(post, creditcard, options = {}) post[:porteur] = options[:credit_card_reference] || creditcard.number post[:dateval] = expdate(creditcard) post[:cvv] = creditcard.verification_value if creditcard.verification_value? end
add_user_reference(post, options)
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 131 def add_user_reference(post, options) post[:refabonne] = options[:user_reference] end
already_existing_customer_profile?(response)
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 143 def already_existing_customer_profile?(response) ALREADY_EXISTING_PROFILE_CODES.include?(response[:codereponse]) end
fraud_review?(response)
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 135 def fraud_review?(response) FRAUD_CODES.include?(response[:codereponse]) end
post_data(action, parameters = {})
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 147 def post_data(action, parameters = {}) parameters.update( version: API_VERSION, type: TRANSACTIONS[action.to_sym], dateq: Time.now.strftime('%d%m%Y%H%M%S'), numquestion: unique_id(parameters[:order_id]), site: @options[:login].to_s[0, 7], rang: @options[:rang] || @options[:login].to_s[7..-1], cle: @options[:password], pays: '', archivage: parameters[:reference] ) parameters.collect { |key, value| "#{key.to_s.upcase}=#{CGI.escape(value.to_s)}" }.join('&') end
unknown_customer_profile?(response)
click to toggle source
# File lib/activemerchant_paybox_direct_plus.rb, line 139 def unknown_customer_profile?(response) UNKNOWN_PROFILE_CODES.include?(response[:codereponse]) end