Module: ActiveMerchant::Billing::PayflowCommonAPI
- Included in:
- PayflowExpressGateway, PayflowGateway
- Defined in:
- lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb
Constant Summary collapse
- XMLNS =
'http://www.paypal.com/XMLPay'
- CARD_MAPPING =
{ visa: 'Visa', master: 'MasterCard', discover: 'Discover', american_express: 'Amex', jcb: 'JCB', diners_club: 'DinersClub' }
- TRANSACTIONS =
{ purchase: 'Sale', authorization: 'Authorization', capture: 'Capture', void: 'Void', credit: 'Credit' }
- CVV_CODE =
{ 'Match' => 'M', 'No Match' => 'N', 'Service Not Available' => 'U', 'Service not Requested' => 'P' }
Class Method Summary collapse
Instance Method Summary collapse
- #capture(money, authorization, options = {}) ⇒ Object
- #initialize(options = {}) ⇒ Object
- #void(authorization, options = {}) ⇒ Object
Class Method Details
.included(base) ⇒ Object
5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 |
# File 'lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb', line 5 def self.included(base) base.default_currency = 'USD' base.class_attribute :partner # Set the default partner to PayPal base.partner = 'PayPal' base.supported_countries = %w[US CA NZ AU] base.class_attribute :timeout base.timeout = 60 base.test_url = 'https://pilot-payflowpro.paypal.com' base.live_url = 'https://payflowpro.paypal.com' # Enable safe retry of failed connections # Payflow is safe to retry because retried transactions use the same # X-VPS-Request-ID header. If a transaction is detected as a duplicate # only the original transaction data will be used by Payflow, and the # subsequent Responses will have a :duplicate parameter set in the params # hash. base.retry_safe = true # Send Payflow requests to PayPal directly by activating the NVP protocol. # Valid XMLPay documents may have issues being parsed correctly by # Payflow but will be accepted by PayPal if a PAYPAL-NVP request header # is declared. base.class_attribute :use_paypal_nvp base.use_paypal_nvp = false end |
Instance Method Details
#capture(money, authorization, options = {}) ⇒ Object
70 71 72 73 |
# File 'lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb', line 70 def capture(money, , = {}) request = build_reference_request(:capture, money, , ) commit(request, ) end |
#initialize(options = {}) ⇒ Object
63 64 65 66 67 68 |
# File 'lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb', line 63 def initialize( = {}) requires!(, :login, :password) [:partner] = partner if [:partner].blank? super end |
#void(authorization, options = {}) ⇒ Object
75 76 77 78 |
# File 'lib/active_merchant/billing/gateways/payflow/payflow_common_api.rb', line 75 def void(, = {}) request = build_reference_request(:void, nil, , ) commit(request, ) end |